單攝像頭的Pixel 2,憑什麼在拍照上碾壓iPhone 8和Note 8?
Google親兒子Pixel 2系列一經發布,拍照效果的好評就已鋪天蓋地。這款手機在DxOMark手機拍照評分榜上碾壓iPhone 8和Galaxy Note 8,拿下這個榜單的史上最高分:98分。
拍照真的有這麼好?說Pixel 2系列拍照很「好」,主要體現在以下兩點:
一是雖然沒有時下流行的雙攝像頭,卻可以實現背景虛化的人像模式;
二是憑藉HDR+,在弱光或者光線強弱差異明顯的情況下也能還原出豐富的細節。
關於人像模式背後的機器學習,Google今天在官方博客上發文詳解,另外還宣布了一點與HDR+相關的小驚喜。
單攝如何搞定背景虛化
和iPhone等對手一樣,背景虛化應用在「人像模式」的拍照中。吶,下面這張圖就很直觀了。
沒有經過人像模式處理(左)、經過處理後(右)的同一張HDR+照片
Pixel 2上的人像模式到底是如何加工圖片的?這還得分四步走。
第一步:生成HDR+圖片
人像模式的效果,其實是通過處理一張清晰的圖片而來。
谷歌使用了計算攝影技術HDR+提升圖片拍攝的質量,幾乎所有的Nexus/Pixel手機都自帶這個功能。
HDR+技術通過拍攝一系列曝光不足的圖片,調整和平衡細節,減少陰影中的噪點。在保持局部對比度、合理減少整體對比度的同時,還增加了這些區域里的陰影。
所以即使在昏暗的燈光下,此階段最終生成的圖片仍是一幅動態範圍高、噪點低、細節清晰的圖片。
通過調整和平衡細節來減少噪音,其實在天文攝影技術中已經應用了很多年了,但Pixel 2系列的實現方式不太一樣。因為照片是在手機上拍攝的,因此需更加小心避免移動時產生的重影。下面就是一個用HDR+捕捉到的高動態範圍場景。
應用了HDR+技術(右)和沒有應用(左)圖像對比,兩圖均為Pixel 2拍攝。HDR+避免了天空處的過度曝光,並且增加了拱廊中的暗部細節
第二步:基於機器學習的前後景分割
得到一張清晰的HDR+圖像後,下一步需要確定照片中哪些像素屬於前景、哪些屬於背景。
看似簡單的一個步驟實際非常棘手,因為它與電影中的色鍵技術(chroma keying)不同,我們無法推測照片中的背景是什麼顏色。在這種情況下,機器學習技術就派上了用場。
研究人員用TensorFlow訓練了一個神經網路,負責分辨照片中的哪些像素屬於人物。這個卷積神經網路(CNN)帶有跳躍式傳遞機制(skip connection),讓信息在卷積神經網路處理的早期和後期階段之間輕鬆傳輸。在早期階段,卷積神經網路推理顏色、邊緣等簡單特徵,而在後期階段,卷積神經網路推理面貌和身體部位等複雜特徵。
這種結合至關重要,卷積神經網路不僅需要推斷照片中是否有人,還需要準確識別哪些像素屬於這個人。
在此之前,這個卷積神經網路已經接受過近百萬人照片數據的訓練,研究人員甚至讓它識別圖像中的帽子和太陽鏡等物件。
左圖為HDR+處理的照片,右圖為神經網路輸出的圖像,其中分出了圖像的前景和背景
欣慰的是,卷積神經網路清楚地區分了女主人公的頭髮和茶杯的邊緣,將之與背景區分開。如果在此基礎上將背景進行模糊處理,就可以得到以下效果:
合成的淺景深圖像
圖像中特別需要注意的有幾點。
首先,雖然背景包含了不同景深的物體,但模糊的程度是一致的。其次,如果用單反來拍,圖中的盤子和餅乾比較靠近鏡頭,也會出現模糊的效果。而Google的卷積神經網路雖然知道餅乾不是人像的一部分,但是因為它在人像下方,也不能認作是背景的一部分。Google團隊對這種情況進行了特別處理,讓這部分像素保持相對清晰。可惜這種處理有時候就不太對,比如說這張照片中,盤子和餅乾相關的像素就應該更模糊一點。
第三步:從雙像素到深度映射
Pixel 2非雙攝手機,但也能拍出帶景深的圖片,因為它裡面添加了一種叫Phase-Detect Auto-Focus (PDAF)的像素技術,也可以稱為雙像素自動對焦(dual-pixel autofocus)。它的原理很容易理解。
想像一下,如果強行將手機的後置攝像頭的鏡頭分成兩半,那麼鏡頭左側的視角和右側略有不同。雖然這兩種視角相差不足1毫米(大概鏡頭直徑),但這細微的不同足以計算出立體程度,並生成深度映射。
這相當於將圖像感測器晶元上的每個像素分割成兩個較小的並排像素,並分別從晶元上讀取它們。
舉個例子吧,下圖中分別為上部分(左)和下部分(右)捕捉的圖片效果。
考驗眼力的時刻到了
單肉眼確實很難將這兩張圖片分開,從最右邊的放大圖能看到細小的差別。
目前,PDAF技術已經應用在很多手機攝像頭和單反相機中,在錄製視頻時幫助使用者更快聚焦。在Pixel 2中,該技術被用於計算深度映射。
具體地說,研究人員用左側和右側圖像作為立體演算法的輸入,類似於Google處理360°全景視頻所用的Jump Assembler。這種演算法首先執行基於子像素的精確定位,生成低解析度深度圖,然後使用雙邊求解器將其插入到高解析度中。
由於Pixel 2相機拍攝的左右視圖非常相近,所以得到的深度信息不準確,尤其是在光線較暗的情況下,圖像的噪點很多。為了減少噪點,提高深度精度,研究人員將左右兩部分圖像進行了調整和平衡,之後再應用於立體演算法中。
左:用上下兩部分圖像計算深度映射。右:黑色表示無需模糊,紅色越亮就表示越需模糊,底部藍色表示焦點平面前的特徵
第四步:拼合處理,形成完整圖像
經過了前面幾步後,就可以將模糊分隔與深度映射結合起來了,它們共同決定了HDR+圖片中需要對哪些像素進行模糊處理。
我們希望圖像中的人像(上圖淺色區域)清晰,背景(深色區域)按照比例模糊。上圖中紅色區域顯示了每個像素的模糊程度。
模糊的概念理解起來很容易,每個像素都被替換為一個顏色相同但大小不同的半透明disk。如果這些disk像之前描述的那樣按深度排序,得到近似於真實的光學模糊效果,也就是所謂的景深。
結合HDR圖像、模糊分隔和深度映射生成的最終淺景深圖像
推薦閱讀:
※如何評價 iPhone X 的 Face ID?
※iPhone 5c 不會再推出後續產品了嗎?
※iphone系列原裝電池鑒別科普,你又知道多少?
TAG:iPhone |