想要提高拍照效果,想必對于多數(shù)手機(jī)廠商而言,給手機(jī)塞進(jìn)更多的攝像頭似乎成了當(dāng)前主流做法,例如“普通攝像頭+景深攝像頭”、“黑白+彩色攝像頭”、“廣角+長焦攝像頭”……不過,偏偏有這么一家企業(yè)反其道而行,從發(fā)布 Pixel 系列以來,就一直堅持單攝像頭,并強(qiáng)調(diào)在相機(jī)成像算法上的提升。
不久前的一篇《勝過 iPhone XS?Google Pixel 的“夜視功能”是怎樣煉成的》文章中,我們介紹了 Google 新款手機(jī) Pixel3 系列的夜景拍攝功能(Night Sight)。果然,讀者們對于如何利用機(jī)器學(xué)習(xí)解決弱光條件下的拍攝難點(diǎn)持有很大興趣。近日,Google Pixel3 在相機(jī)算法的升級路上越戰(zhàn)越勇,對“人像模型”(Portrait Mode)拍攝功能進(jìn)行了大幅升級。相比上一代的 Pixel2,Pixel3 的人像模式可為用戶提供專業(yè)的外景圖像拍攝,并通過模糊背景來加強(qiáng)主體對象的清晰度。
去年,Google 團(tuán)隊描述了相位檢測自動對焦(PDAF)的技術(shù),該技術(shù)使用了傳統(tǒng)的非學(xué)習(xí)立體算法,并通過單個攝像頭計算景深。如今,在最新推出的 Pixel 上,Google 將采用機(jī)器學(xué)習(xí)改進(jìn)景深捕捉,以獲取更好的人像效果。
如上圖所示,上一代的人像模式主要通過神經(jīng)網(wǎng)絡(luò)決定人與背景成像像素,并使用從 PDAF 導(dǎo)出的景深信息來增強(qiáng)這兩層人物的分割掩碼(segmentationmask)。這意味著能夠?qū)崿F(xiàn)相應(yīng)的背景虛化效果,更接近于專業(yè)相機(jī)的效果。
PDAF 通過捕捉場景的兩個略微不同的視角進(jìn)行工作,如下圖所示。在兩個視角之間翻轉(zhuǎn),我們看到人是靜止的,而背景是水平移動的,這種效果成為視差(parallax)。因為視差是點(diǎn)距相機(jī)的距離與兩個視點(diǎn)之間距離的函數(shù),我們可以通過將一個視角中的每個點(diǎn)與另一個視角中的對應(yīng)點(diǎn)進(jìn)行匹配來估計景深。
圖注:左、中的兩個 PDAF 圖像看起來非常相似,但在右圖中,可以看到它們之間的視差
不過,通過立體算法在 PDAF 中找到這些對應(yīng)關(guān)系極具挑戰(zhàn)性,因為場景中的點(diǎn)幾乎不在視圖之間移動。此外,所有的立體聲技術(shù)都存在孔徑問題(Aperture Problem)。也就是說,機(jī)器通過小光圈觀察場景,無法找到與立體基線平行的線的對應(yīng)關(guān)系,即連接兩個攝像頭的線。換言之,當(dāng)觀察上圖中的水平線(或縱向拍攝的垂直線)時,一個視角相對于另一個視角的任意可能的位移都看起來大致相同。結(jié)果,在上一代的人像模式中,以上提到的所有因素都有可能導(dǎo)致景深捕捉錯誤,產(chǎn)生令人不快的虛假圖像。
如何改善景深捕捉?
Pixel3 采用的人像模式,通過利用立體算法產(chǎn)生的視差來修復(fù)這些誤差。例如,遠(yuǎn)離焦距平面的點(diǎn)看起來不如較近的點(diǎn)那么清晰銳利,利用了“背景離焦”模式。此外,即使在平面屏幕上觀看圖像,也能通過物體的大致大小準(zhǔn)確判斷物體有多遠(yuǎn),利用了“語義”模式。
如果構(gòu)建一種能將以上不同的模式組合起來的算法是非常困難的,但我們可以通過機(jī)器學(xué)習(xí)進(jìn)行構(gòu)建,并更好地利用 PDAF 的“視差”。具體來講,訓(xùn)練一個用 TensorFlow 編寫的卷積神經(jīng)網(wǎng)絡(luò),可以將 PDAF 作為輸入并進(jìn)行景深預(yù)測。這種新式改進(jìn)的基于機(jī)器學(xué)習(xí)的景深捕捉方法被應(yīng)用在了 Pixel3 的人像模式中。
圖注:CNN 將 PDAF 圖像作為輸入,并輸出景深圖像。該網(wǎng)絡(luò)使用“編碼-解碼”架構(gòu)
如何訓(xùn)練神經(jīng)網(wǎng)絡(luò)?
為了訓(xùn)練網(wǎng)絡(luò),開發(fā)人員需要大量的 PDFA 圖像和對應(yīng)的高質(zhì)量景深圖,并且保證訓(xùn)練數(shù)據(jù)與用戶使用智能手機(jī)拍攝的照片內(nèi)容類似。為了實現(xiàn)這一目標(biāo),我們構(gòu)建了自己的定制“Frankenphone”裝備,其中包括五臺 Pixel3 手機(jī),以及基于 WiFi 的解決方案,使其能夠同時捕捉來自所有手機(jī)的圖片(在~2 毫秒的容差范圍內(nèi))。通過這個設(shè)備,我們使用來自運(yùn)動和多視圖立體的結(jié)構(gòu)從照片計算出高質(zhì)量的景深。
圖注:左:用于收集訓(xùn)練數(shù)據(jù)的自定義裝備;中:一個捕獲五個圖像翻轉(zhuǎn)的示例;右:真實景深,低保真點(diǎn)
該裝備收集的數(shù)據(jù)適用于訓(xùn)練網(wǎng)絡(luò),主要基于以下五點(diǎn)因素:
五個視點(diǎn)確保在多個方向上存在視差,因此不存在孔徑問題;
攝像頭的位置要確保圖像中的某一點(diǎn)在至少一張圖像中是可見的,并一一對應(yīng);
基線,即相機(jī)之間的距離要比 PDAF 的基線大得多,從而產(chǎn)生更準(zhǔn)確的景深捕捉;
攝像頭同步確保可以計算上述動態(tài)場景的景深;
該裝備具有便捷性,確保可捕捉野外照片,模擬用戶使用智能手機(jī)拍攝的情況。
然而,即使從該裝備捕獲的數(shù)據(jù)是理想狀態(tài),預(yù)測場景中物體的絕對深度仍然極具挑戰(zhàn)性,因為取決于鏡頭特性、焦距等因素,給定的 PDAF 對可以對應(yīng)一系列不同的景深圖像。為了解釋這一點(diǎn),我們改為捕捉場景中物體的相對景深,這足以產(chǎn)生令人滿意的人像模式結(jié)果。
值得一提的是,這個基于機(jī)器學(xué)習(xí)模式的景深捕捉模型目前主要應(yīng)用于 Pixel3 手機(jī)上。此外,通過使用 TensorFlow Lite 用于在移動和嵌入式設(shè)備上運(yùn)行機(jī)器學(xué)習(xí)模型的跨平臺解決方案,可以將得到的景深信息與分割掩碼神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)合。
看到這里,不知道習(xí)慣了使用 iOS 系統(tǒng)手機(jī)的你,是不是正蠢蠢欲動回歸在性能、價位日益提升的 Android 手機(jī)呢?
據(jù)最新消息稱,Google 決定開放自己的相機(jī)算法授權(quán)給其他 Android 品牌使用,此前 Google 就開源了 Pixel2 系列的相機(jī)虛化算法。歡迎留言。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4717瀏覽量
100010 -
攝像頭
+關(guān)注
關(guān)注
59文章
4752瀏覽量
94394 -
AI算法
+關(guān)注
關(guān)注
0文章
242瀏覽量
12179
原文標(biāo)題:三攝正普及,四攝在路上?谷歌逆天AI算法,只做單攝虛化
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論