相片
Google 今日在台舉辦 Pixel 手機相機技術解密說明會,邀請 Google 傑出工程師,深度說明 Pixel 手機到底應用了哪些技術,讓單鏡頭手機就能達到出色的 HDR+、具備景深的人像模式、高解析變焦以及夜視模式。 近年來,手機上的相機功能朝向多鏡頭發展,剛開始廠商加入景深鏡頭來量測景深資訊,進而讓手機可以拍出出背景模糊的景深照片,接著陸陸續續有廠商加入長焦鏡頭,讓使用者可以一鍵切換拍攝高倍變焦的照片,同時也可以應用長焦鏡和廣角鏡的視差演算出景深資訊拍出景深照片。不只多鏡頭配置,包含為手機加入更高的像素、更大的光圈或是放入深度感測器等,都是手機廠商在相機技術進步所做的努力。 除了硬體上的進化之外,越來越多手機強調「軟體」功能,用手機行銷的語言來說,就是在手機上加入了 AI 場景辨識功能,運用演算法讓手機可以疊圖演算出更好看的照片,或是用機器學習技術取代傳統的演算法,來提升拍攝時的準確度。 對 Google 來說,Pixel 手機上的相機功能,就是大量應用軟體和機器學習優勢所發展出來的成果。
▲ 此次主講人:Marc Levoy,Google 傑出工程師、史丹佛大學電腦科學榮譽退休教授。
HDR+ 解密:利用多張低曝光照片合成
Pixel 手機上的 HDR+ 是許多人愛用的功能,在高反差的環境下(例如逆光)HDR+ 比起一般 HDR 照片可以有更好的亮暗部平衡,畫面細節和畫質看起來也更出色。 一般 HDR 的典型做法是拍攝不同曝光時間的照片,把曝光時間短(通常是看起來比較暗的照片)的影像的亮部細節和曝光時間長(通常是看起來比較亮的照片)的影像的暗部細節結合,呈現出最終影像,這樣的做法雖然可行,不過當相機晃動(例如手持的情況下)或物件移動時,每個影像的曝光程度不同、雜訊也不同,因此 Google 不採用這樣的方式來做出 HDR 效果,取而代之的,就是 HDR+。
▲ 一般 HDR 採用包圍曝光(Exposure Bracketing),拍攝不同曝光程度的影像來合成最終照片。
Google Pixel 手機用的 HDR+ 做法是,在相同的曝光下連拍多張影像,且這些影像會避免亮部過度曝光(也就是會拍攝比較暗的照片),接著再合成這些低亮度的照片變成最終影像。
▲ HDR+ 是連續拍攝多張相同曝光值的影像來合成。
在處理多張疊圖時,由於是在相同曝光程度下連拍的影像,因此影像相似度較高,更容易校準,手機會計算信號雜訊比(Signal-to-noise ratio)和連拍幀數,並減少陰暗處的雜訊,接著再採用色調映射(Tonemap)增強畫面上的陰影,降低亮部,過程中可能會犧牲掉整體的色調和對比度,不過局部的對比表現會比較好,最終就呈現出 Google 手機拍攝出來的 HDR+ 樣貌。
▲ 最終呈現出來的結果暗部可以有效提亮。
▲ 左為無 HDR+,右為開啟 HDR+。
肖像模式解密:機器學習辨識人物、雙像素預估深度圖 肖像模式(或稱人像模式、景深模式)是目前大多數智慧型手機都具備的拍攝功能,大部分的人像模式是採用合成淺景深的方式來達到背景模糊的效果,做法是利用雙鏡頭相機在相近的焦點像拍攝兩個影下,接著再利用立體匹配演算法來計算出影像的深度圖,有了影像深度資訊之後,選擇其中一個平面保持清晰銳利,其他地方處理成模糊的樣子,呈現出背景模糊的景深照片。 不過 Pixel 手機只配置了單鏡頭,該怎麼達到景深效果呢? 在 Google Pixel 2 上的做法是這樣的,先利用 Google 機器學習技術辨識出畫面中的人物之後,再利用卷積神經網路,精確分割人物的邊緣;背景的部分則是利用主鏡頭的雙像素特性來分辨背景深度,接著再根據人物和背景的距離按照比例模糊化,呈現出類似專業相機拍出來的景深效果。
▲ 左圖為原始照片,先利用機器學習技術像中間圖片一樣辨識出人物之後,再利用卷積神經網路使用數學計算中的邊緣感知雙邊求解器(Edge-aware Bilateral Solver)讓人物邊緣更細緻化,分割更銳利。
▲ 利用雙像素感光元件上像素些微的位差來算出畫面中的景深資訊,就會得到類似這樣的深度圖。
▲ 最後合成第一次分割出來的人物、計算出來的深度圖,按照比例來模糊背景。
雖說 Google 可以模擬出類似單眼相機的景深效果,不過實際上還是和單眼相機的景深呈現不太一樣,原因在於,專業相機是利用光學成像自然的呈現焦點之外的景物,景物會隨著焦點距離的長短而呈現不同的模糊程度,不過 Pixel 手機為了讓一般人都能拍出景深照片,因此特別擴展焦點距離,讓使用者更容易簡單的成功拍出景深照片。
▲ 左為單眼相機的景深程度變化,右為 Pixel 手機景深程度變化。
來到 Google Pixel 3 之後,Google 進一步運用特殊的相機拍攝上萬張照片,透過機器學習中的 Ground Truth 來訓練雙像素更好產生深度圖,因此 Pixel 3 上的肖像模式表現比上一代又更進步些。 高解析變焦:單鏡頭也能拍出長焦照片 不只可以利用單鏡頭就拍出景深照片,Pixel 3 也加入高解析變焦功能,透過多張影像疊合,讓單鏡頭縮放後拍出來的照片清晰度和搭載 2x 光學變焦鏡頭的智慧型手機一樣清晰。 做法是這樣的,切換到高解析變焦模式後,手機會連續拍攝多張照片,透過微小的手震以及連續拍攝讓手機可以得到更多顏色資訊,進而重建出更多色彩訊息。 相片
▲ 當相機同時拍攝了四幀畫面(四橫排),第二幀水平移動 1 像素,可以看到綠色像素已被補滿,紅藍像素也收集到先前的兩倍資訊,第三幀垂直移動 1 像素,紅藍像素收集到更多色彩資訊,第四幀則是水平跟垂直都位移 1 個像素,組合所有畫面之後,可以發現相較於第一幀照片,原本缺的顏色資訊被補滿,就可以得到更清晰的拍攝效果。 那如果手機固定在腳架上,不會產生手震時此功能該如何運作呢?很簡單,只要開啟 OIS 製造鏡頭「搖晃」效果就可以模擬手震來補齊顏色資訊,由於 OIS 搖晃幅度很小,因此也不會干擾正常照片。 視相片
▲ 左為一般模式拍攝,右為開啟高解析變焦功能。
夜視模式:連續拍攝多張照片合成 Google Pixel 最強大的拍攝功能非夜視模式莫屬,幾乎可以將夜晚拍成白天一般明亮,到底是怎麼做到的呢? 簡單來說,按一下快門之後,手機出現倒數環,在倒數時間內高速連拍多張照片(最多 15 張),接著再透過演算法調整成像清晰度、白平衡,讓影像呈現出最終清晰的樣子。 要怎麼決定夜視模式要拍攝幾秒才能得到清晰的照片呢?手機的判斷方式是這樣的,當手機手震程度越高,或是拍攝物體在移動的話,手機就會縮短拍攝時間,不過這情況下畫質會比較不清晰,不過在拍攝靜止物體時,曝光時間就會拉長,照片清晰度也會隨之提升。若使用 Pixel 3 拍攝的話,會結合高解析變焦功能來達到更清晰的夜景照,如果是使用 Pixel 1、Pixel 2、Pixel 3a 拍照的話,則是會結合 HDR+ 功能來拍出清楚的夜景照。 在夜晚拍攝遇到最大的困難就是,要如何還原物體真實的色彩,Google 的做法是「參考古典畫的特徵」。 Google 發現古典畫作時常利用黑色環繞場景,並會將陰影投射成黑色,加上高對比度的特性,呈現出在暗處卻很明亮的感覺。
透過同樣的概念,Google 會以演算法進行色調映射(Tonemap),讓夜景照片還原出真實色彩。 (出自T客邦) |