什麼是計算攝影?從自拍照到黑洞

我色我攝 發佈 2020-06-04T10:34:48+00:00

諾基亞在2013年通過「 Refocus App」發布了Lumia 1020,三星Galaxy S5在2014年通過「 Selective Focus 」 做了同樣的事情。

「計算攝影」一詞如今已被大量使用,但它的確切含義是什麼?,特約撰稿人瓦西里·祖巴列夫(Vasily Zubarev)帶我們走了從現在到未來的旅程,解釋了當今的計算攝影技術,它的發展方向以及它將如何改變攝影的本質。


計算攝影:從自拍照到黑洞

今天無法想像智慧型手機的演示而不在相機旁跳舞。Google在黑暗中拍攝Pixel,華為像望遠鏡一樣變焦,三星將雷射雷達放進去,蘋果展示了新世界的最圓角。此處發生的非法創新水平。

另一方面,數碼單眼相機似乎已經死了一半。索尼每年都會為每個人騰出新的傳感器百萬像素大雨,而製造商則懶惰地更新次要版本號,並繼續從電影製片商那裡積lying大量現金。我的桌上放著價值3000美元的尼康,但旅行時卻帶了iPhone。為什麼?

今天無法想像智慧型手機的演示而不在相機旁跳舞。

我上網問了這個問題。在那裡,我看到了很多有關「算法」和「神經網絡」的爭論,儘管沒有人能解釋它們到底如何影響照片。記者大聲地從新聞稿中讀取了百萬像素的數量,博客作者通過取消裝箱來關閉Internet,而攝影迷們則以「對傳感器調色板的感覺」泛濫。啊,網際網路。您授予我們訪問所有信息的權限。愛你。

因此,我花了一半的時間獨自理解整個事情。我將盡力解釋我在本文中找到的所有內容,否則我會在一個月內忘記它。

什麼是計算攝影?

在包括Wikipedia在內的所有地方,您都可以得到如下定義:計算攝影是一種數字圖像捕獲和處理技術,使用數字計算而不是光學處理。除了胡說八道以外,一切都很好。官方定義的模糊性有點表明我們仍然不知道我們在做什麼。

史丹福大學教授兼計算機攝影先驅Marc Levoy(他也是Google Pixel相機許多創新的幕後人物)給出了另一個定義- 計算機成像技術增強或擴展了數字攝影的功能,其中輸出的是普通照片,但用傳統的相機不能拍攝。我更喜歡它,在本文中,我將遵循這個定義。

因此,智慧型手機應為一切負責。

因此,智慧型手機應為一切負責。智慧型手機別無選擇,只能賦予新型攝影攝影生命。

他們沒有嘈雜的傳感器和微小的慢鏡頭。根據所有物理定律,它們只會給我們帶來痛苦和折磨。他們做到了。直到一些開發人員弄清楚如何利用自己的優勢來克服這些缺點:快速電子快門,強大的處理器和軟體。

計算攝影領域的大多數重要研究都在2005-2015年完成,這在科學上算是昨天了。這意味著,現在,就在眼前和口袋裡,出現了前所未有的知識和技術新領域。

計算攝影不僅涉及自拍照的背景虛化。如果不使用計算攝影方法,就不會拍攝黑洞的最新照片。要使用標準望遠鏡拍攝此類照片,我們必須使其達到地球的大小。但是,通過組合地球球不同位置的八個射電望遠鏡的數據並編寫一些很酷的Python腳本,我們獲得了世界上第一張事件視界圖。

不過,它仍然對自拍照很有好處,請放心。

開始:數字處理

讓我們回到2010年。賈斯汀·比伯(Justin Bieber)發行了他的第一張專輯,而哈利法塔(Burj Khalifa)剛剛在杜拜開業,但由於我們的照片是嘈雜的2兆像素JPEG,我們甚至無法捕捉到這兩個偉大的宇宙事件。我們第一個不可抗拒的願望是通過使用「老式」預設來隱藏移動相機的一文不值。Instagram出來了。

數學和Instagram

隨著Instagram的發布,每個人都痴迷於過濾器。出於反向研究X-Pro II,Lo-Fi和Valencia的目的,當然,出於研究目的,我仍然記得它們包含三個組成部分:

  • 色彩設置(色相,飽和度,亮度,對比度,色階等)是簡單的係數,就像攝影師自古以來使用的任何預設一樣。
  • 色調映射是值的向量,每個值告訴我們「色調為128的紅色應轉換為色調240」。像這樣,它通常表示為單像素圖片。這是X-Pro II過濾器的示例。
  • 覆蓋層-半透明的圖片,上面有灰塵,紋理,小插圖以及可以從上方應用的所有其他東西,可以得到(完全不行)老電影的平淡效果。很少使用。

現代的過濾器與這三個過濾器相距不遠,但從數學角度來看卻變得有些複雜。隨著智慧型手機上的硬體著色器和OpenCL的出現,它們很快就在GPU下進行了重寫,並且被認為是非常酷的。當然,對於2012年。今天,任何孩子都可以在CSS上做同樣的事情,但是他仍然不會邀請女孩參加舞會。

但是,過濾器領域的進步並沒有因此而停止。例如,來自Dehanсer的傢伙正在使用非線性濾波器。他們說,他們使用了更多豪華,複雜的非線性變換,而不是差勁的色調映射,從而打開了更多的機會。

隨著Instagram的發布,每個人都痴迷於過濾器。

您可以使用非線性變換來做很多事情,但是它們非常複雜,我們人類卻非常愚蠢。一旦涉及到非線性變換,我們更喜歡採用數值方法或運行神經網絡來完成我們的工作。同樣的事情在這裡發生。

自動化和「傑作」按鈕的夢想

當每個人都習慣了濾鏡後,我們便開始將它們直接集成到我們的相機中。無論誰是第一個實施此功能的製造商,它都已被隱藏在歷史中,但只是了解一下,想想多久以前,在2011年發布的iOS 5.0中,我們已經有了一個用於Auto Enhancing Images的公共API 。只有史蒂夫·賈伯斯(Steve Jobs)知道它在向公眾開放之前已經使用了多長時間。

自動化通過打開照片編輯器來實現與我們所有人相同的功能-它固定了燈光和陰影,增加了亮度,消除了紅眼,並固定了臉部顏色。用戶甚至都不知道「大幅改進的相機」只是幾行新代碼的優點。

像素增強器中的ML增強。

如今,「傑作」按鈕的爭奪已轉移到機器學習領域。厭倦了使用音調映射,每個人都趕上了CNN和GAN的炒作火車,並開始強迫計算機為我們移動滑塊。換句話說,使用輸入圖像來確定一組最佳參數,這些參數將使給定圖像更接近對「良好攝影」的特定主觀理解。查看它在Pixelmator Pro和其他編輯器中的實現方式,這些編輯器以登錄頁面上列出的精美的「 ML」功能吸引您。如您所料,它並不總是能正常工作。但是,您始終可以使用下面的連結來獲取數據集,並訓練自己的網絡來擊敗這些傢伙。或不。

堆疊:移動相機成功的90%

真正的計算攝影始於堆疊-一種將多張照片彼此疊加的方法。智慧型手機在半秒內拍攝十幾張圖片並不是什麼大不了的事情。他們的相機中沒有慢速的機械部件:光圈是固定的,並且有一個電子快門來代替「活動窗簾」。處理器只是簡單地告訴傳感器它應該捕獲野生光子多少微秒,然後讀取結果。

從技術上講,電話可以以視頻速度拍攝照片,並且可以以照片解析度拍攝視頻,但是所有這些都減慢了總線和處理器的速度。因此,始終存在軟體限制。

堆放已經有一段時間了。甚至創始人的父親也都使用Photoshop 7.0的插件來收集一些瘋狂銳化的HDR照片或製作18000x600像素的全景圖,並且……沒人知道下一步該怎麼做。野性好。

現在,作為成年人,我們將其稱為「 epsilon攝影 」,這意味著更改相機參數之一(曝光,聚焦或位置)並將圖像放在一起以獲得無法一次拍攝的東西。儘管在實踐中,我們稱其為堆疊。如今,所有90%的移動相機創新都基於此。

有很多人不關心,但是對於了解整個移動攝影至關重要:現代的智慧型手機相機一打開相機就開始拍照。這是合乎邏輯的,因為它應該以某種方式在螢幕上顯示圖像。但是除此之外,它還會將高解析度圖像保存到其循環緩衝區中,並將它們再存儲幾秒鐘。不,不僅限於國家安全局。

當您點擊「拍攝照片」按鈕時,實際上已經拍攝了照片,並且相機正使用緩衝區中的最後一張照片。

如今,這就是任何移動相機的工作方式。至少是頂級的。緩衝不僅可以實現零快門滯後(攝影師乞求了這麼長時間),甚至可以實現負快門滯後。通過按下按鈕,智慧型手機可以瀏覽過去,從緩衝區中卸載5-10張最後的照片,並開始對其進行瘋狂地分析和組合。無需等到手機拍攝HDR或夜間模式的照片時,就讓我們簡單地從緩衝區中拾取它們,用戶甚至都不會意識到。

實際上,這就是在iPhone中實現Live Photo的方式,而HTC在2013年以一個奇怪的名字Zoe推出了它。

曝光堆疊:HDR和亮度控制

古老而熱門的話題是攝像頭傳感器是否能夠捕捉到我們眼睛可利用的整個亮度範圍。有人說不,因為眼睛最多可以看到25 個光圈,甚至頂部的全畫幅傳感器也可以伸展到最大14個。其他人稱這種比較是不正確的,因為我們的眼睛是由大腦輔助的。自動調整您的瞳孔並使用其神經網絡完善圖像。因此,眼睛的瞬時動態範圍實際上不超過10-14個光圈。太難。讓我們將這些糾紛留給科學家。

事實依然存在-在沒有HDR的情況下使用任何移動相機在明亮的天空上為朋友拍照,您會得到自然的天空和朋友的黑臉,或者自然的面孔,但是天空完全燒焦。

當您點擊「拍攝照片」按鈕時,實際上已經拍攝了照片,並且相機正使用緩衝區中的最後一張照片。

該解決方案是在很久以前找到的-使用HDR(高動態範圍)過程擴展亮度範圍。當我們無法立即獲得大範圍的亮度時,可以分三步(或更多步)完成。我們可以用不同的曝光率拍攝幾張照片-「正常」一張,更亮和更暗。然後,我們可以使用明亮的照片填充陰影點,並從黑暗的位置恢復曝光過度的點。

這裡需要做的最後一件事是解決自動包圍曝光的問題。我們將每張照片的曝光量偏移多遠,以免過度拍攝?但是,任何二年級的技術學生今天都可以使用某些Python庫來實現。

當相機內部的簡單算法檢測到您正在拍攝高對比度場景時,最新手機會自動打開HDR模式。有些像素(例如Google Pixel)使用不同的策略,將同一曝光的多個幀組合在一起(為了避免過度曝光場景的明亮部分而選擇),以減少噪點甚至增加細節。以後再說。

帶有包圍曝光的HDR的主要缺點是,在光線不足的情況下它的難以置信的無用性。即使在家用燈的照耀下,圖像也可能顯得太暗,以至於機器也無法將它們拉平並堆疊在一起。這是因為「最明亮」的曝光對於手持拍攝而言太長了,從而導致運動模糊。同時,較短的曝光時間只是無法收集到足夠的光線以產生不俗的照片。為了解決該問題,Google於2013年宣布了在Nexus智慧型手機中採用HDR的另一種方法。該技術使用了時間堆棧。

時間堆疊:長時間曝光和時間流逝

時間堆疊可讓您通過一系列短鏡頭獲得長時間曝光的效果。這種方法是由喜歡在夜空中拍攝星跡的傢伙率先開發的。即使使用三腳架,也無法通過一次打開快門兩個小時來拍攝此類照片。您必須事先計算所有設置,稍加晃動就會破壞整個鏡頭。因此,他們決定將過程分成幾分鐘,然後在Photoshop中將圖片堆疊在一起。

這些星形圖案始終由一系列照片粘合在一起。這樣可以更輕鬆地控制曝光。

因此,相機絕不會長時間曝光。我們通過組合幾張相同曝光量的連續鏡頭來模擬效果。對於智慧型手機攝影,這些鏡頭具有足夠短的曝光時間,可以手持清晰的鏡頭。智慧型手機已經有很多應用程式使用此技巧很長時間了,但是現在幾乎每個製造商都將其添加到標準相機工具中。

3次點擊即可對iPhone的實時照片進行長時間曝光。

讓我們回到Google及其夜間HDR。事實證明,使用時間堆疊可以在黑暗中創建不錯的合成圖像。這項技術首次出現在Nexus 5中,被稱為HDR +。該技術仍然非常受歡迎,甚至在最新的Pixel演示中也受到讚譽。

HDR +的工作原理非常簡單:一旦相機檢測到您正在黑暗中拍攝,它就會將最後8-15張RAW照片從緩衝區中取出並堆疊在一起。這樣,算法會收集有關鏡頭暗區的更多信息,以最大程度地減少噪音。從技術上講,減少了整個圖像的噪點,但是在陰影和中間色調方面,好處最為明顯。

想像一下:您不知道水豚的外觀,所以決定向五個人詢問。他們的故事大致相同,但每個故事都會提及任何獨特的細節,因此與只問一個人相比,您收集的信息更多。照片上的像素也會發生同樣的情況。更多信息-更清晰,更少噪音。

  • 連結: HDR +:Google相機應用中的弱光和高動態範圍攝影

將從同一點捕獲的圖像組合在一起,可以得到與上面的星星示例相同的假長時間曝光效果。總結了幾十張照片的曝光,而另一張照片上的錯誤被最小化。想像一下,要達到此目的,您必須猛擊DSLR中的快門幾次。

像素廣告,可美化HDR +和Night Sight。

但是HDR +不僅在弱光下工作。事實證明,從白天到晚上再到高對比度場景,時間堆疊-或更廣為人知的「連拍」技術也可以提高整個圖像的質量。簡而言之,捕獲的總光越多,最終結果的質量就越好。實際上,高對比度日光(或黃昏)場景的捕獲與夜間捕獲一樣面臨類似的挑戰:當您選擇曝光以防止明亮區域被削波時,較暗的部分由太少的光子組成,無法獲得清晰的結果。通過捕獲和合併多重曝光,可以減少整個圖像的噪點數量。這恰恰是所有Pixel手機一直在做的事情。沒錯,HDR +現在不再是一種模式,它是默認的攝像機捕獲模式。

只剩下一件事了,這是自動顏色轉換。通常可以使用傳統的白平衡算法對日光場景進行色彩校正,但是在黑暗中拍攝的照片通常會失去色彩平衡(偏黃或偏黃),因為很難判斷主要光源。這通常需要手動修復。在早期版本的HDR +中,此問題已通過簡單的自動調色修復程序(如Instagram過濾器)解決。後來,他們為救援人員帶來了神經網絡。

這就是Night Sight的誕生方式-Pixel 2、3和更高版本中的「夜間攝影」技術。描述說:「基於HDR +的機器學習技術使Night Sight發揮作用。」 實際上,這只是神經網絡和所有HDR +後處理步驟的名字。該神經網絡在Pixel相機拍攝的夜間照片的「之前」和「之後」數據集上進行了訓練,並經過手工校正以獲得令人愉悅的色彩。Google開發的「基於學習的白平衡」效果非常好,現在可用於在Pixel手機上為各種圖像正確著色,而不僅僅是夜間拍攝。

此外,Night Sight會計算鏡頭中物體的運動矢量,以選擇適當的曝光時間以產生不模糊的結果。以下是Marc Levoy撰寫的《 Night Sight》更深入研究的一些連結,以及Google宣布其HDR +數據集的連結,它公開了「使社區能夠集中精力比較結果……[]這種方法本質上比期望研究人員自己配置和運行競爭技術,或者如果代碼是專有的,則從頭開始實施它們,效率更高。」

運動疊加:全景,超變焦和噪點控制

Panorama一直是孩子們最喜歡的玩具。世界歷史上,除了香腸作者以外,沒有其他人對香腸照片感興趣。但是,儘管如此,還是值得一談的,因為這就是堆疊進入許多人生活的方式。

全景圖的第一個有用應用是製作超解析度照片。通過組合多個略有偏移的圖像,可以獲得比相機提供的解析度高得多的圖像。因此,您可以接收數百千兆像素解析度的照片,如果您需要將其列印為房屋大小的廣告牌,這將非常有用。

另一種更有趣的方法稱為像素移位。像奧林巴斯(Olympus)這樣的無反光鏡相機早在2015年就開始支持它,而松下(Panasonic)等相機的最新版本甚至提供了複雜的運動校正。

智慧型手機在這裡取得成功的原因很有趣。拍照時,手在顫抖。這個「問題」成為在智慧型手機上實現本機超解析度的基礎。

要了解其工作原理,我們需要記住任何相機傳感器的工作原理。每個像素(光電二極體)只能捕獲光的強度,即穿透的光子數。但是,像素無法測量顏色(波長)。為了獲得RGB圖像,我們不得不對其進行修改,並用一副彩色眼鏡網格覆蓋整個傳感器。它最流行的實現稱為拜耳濾波器,如今已在大多數傳感器中使用。

事實證明,傳感器的每個像素僅捕獲R,G或B分量,因為其餘的光子被拜耳濾波器無情地反射。丟失的分量是通過稍後平均附近像素來計算的。

與人眼類似,拜耳過濾器比其他過濾器具有更多的綠色細胞。因此,傳感器上的5000萬像素中,只有2500萬(!)會捕獲綠光,而1250萬將捕獲紅色,另外1250萬將捕獲藍色。每個像素未捕獲的剩餘顏色將通過比較相鄰像素的信息進行插值。這個過程是去Bayering或去馬賽克,並且是肥胖和滑稽的kudge保持一切。

實際上,每個傳感器都有其棘手的(當然)已獲得專利的去馬賽克算法,但是在本故事中,我們不在乎。

其他類型的傳感器(例如Foveon)並沒有那麼受歡迎。一些像華為這樣的稀有智慧型手機製造商雖然嘗試使用非拜耳濾波器來改善噪音和動態範圍,但取得了不同程度的成功。

多虧了拜耳過濾器,我們損失了一噸光子,尤其是在黑暗中。因此,我們提出了像素移動的想法-將傳感器上下左右移動一個像素以捕獲所有像素,並在每個像素處捕獲紅色,綠色和藍色信息。就像您可能認為的那樣,該照片似乎沒有大4倍,這只是意味著不再需要去馬賽克,因為所有顏色信息都在每個像素位置捕獲。

我們的握手使Pixel Shifting成為移動攝影的自然之選。這就是在最新版本的Google Pixel中實現的方式。在放大Pixel手機時會注意到它。這種縮放稱為超級解析度縮放(是的,我也喜歡苛刻的命名)。中國製造商已經將其複製到他們的手機中,儘管比原始版本差。

堆疊略微偏移的照片可以使我們收集有關每個像素的更多信息,以減少噪聲,銳化並提高解析度,而無需增加傳感器百萬像素的物理數量。Google的Pixel和其他一些現代的Android手機在縮放時會自動執行此操作,而用戶甚至沒有意識到。它是如此有效,以至於Google也可以在Pixel的Night Sight模式下使用它,而不管變焦如何,在任何情況下,它通常都比同類競爭對手產生更詳細的結果(與流行的看法相反,即使在白天也可以使用Night Sight)。

焦點堆疊:DoF和後期製作中的重新聚焦

該方法來自微距攝影,而景深一直是個問題。為了使整個對象保持聚焦,您必須拍攝幾張照片,來回移動焦點,然後在Photoshop中將它們組合成一張清晰的照片。風景攝影師經常使用相同的方法使前景和背景像鯊魚一樣清晰。

焦點堆積在宏中。景深太小,您不能一口氣拍攝它。

當然,它們全部遷移到了智慧型手機。不過,不要大肆宣傳。諾基亞在2013年通過「 Refocus App」發布了Lumia 1020,三星Galaxy S5在2014年通過「 Selective Focus 」 做了同樣的事情。兩者都使用相同的方法-他們迅速拍攝了3張照片:聚焦一張,聚焦向前和向後移動。然後,相機將圖像對齊,並允許您選擇其中之一,這是後期製作中引入的「真實」聚焦控制項。

沒有進一步的處理,因為即使是這個簡單的技巧也足以在Lytro和使用了合理重新聚焦的類似物的棺材上釘上另一個釘子。順便說一下,我們接下來將討論它們。

關鍵字: