雖然雙攝手機已經在市場上普及,其所帶來的人像模式、多倍變焦也成為了不少智能手機的「標配」,但仍然有廠商依然堅持用一個攝像頭的配置。
比如以軟件著稱的 Google,從 Pixel 手機的初代到今天的 Pixel 3 / 3XL,在往今的兩年時間里(初代 Pixel 于 2016 年發布),他們仍堅持采用單攝配置。
有意思的是,Pixel 不但是 DxOMark 榜單前列的常客,夜景表現長期吊打各旗艦, 而且還帶來了比雙攝出品更優秀的人像模式出品。
這些其實都是要歸功于軟件算法和 AI 神經網絡。昨天,Google 就在他們的 Google AI Blog 上解析了 Pixel 3「人像模式」(Portrait Mode)的算法原理。實際上,他們在這套算法上下了不少功夫。
Google 的算法原理
如果你對 Google 的相機算法陌生,不妨先來了解一下 Pixel 2 的人像算法原理。
去年,Google 通過 AI(神經網絡)算法,讓 Pixel 2 / 2XL 在僅一顆攝像頭的硬件條件下,拍出能與雙攝手機媲美的人像背景虛化照片。
▲ 圖片來自:Google
通過去年 Google公布的這組對比圖,我們能快速區分出左邊的 HDR+ 樣張和右邊 Portrait Mode「人像模式」下的樣張在背景虛化上的不同。
正如你所見那樣,在「人像模式」下,人像后的背景被進行了軟件虛化處理,與正常 HDR+ 對比看上去視覺沖擊更強,同時也避免了背景對拍攝主體的視覺干擾。
拍攝一張 HDR+ 照片
根據 Google 去年在 AI Blog 的介紹,Pixel 2 的相機會先拍攝一組 HDR+ 照片,通過多幀合成,從而提升最終成片的動態范圍、細節保留、高光表現。
通過下面這組 HDR+ 的對比圖,我們能看到該功能在開啟前后的區別(注意右上角遠景曝光及地板線條細節)。
▲ 左:HDR+ 前;右:HDR+ 后 圖片來自:Google
分割遠近景
如果你想拍攝一張「人像模式」照片,那么在得到一張 HDR+ 成片后,相機會使用 TensorFlow 的 AI 神經網絡將人物像素點、物體的像素點、遠近物的像素點篩選出來。
Google 在 AI Blog 給出的這組對比圖能看到更直觀的展示效果:
左邊是 HDR+ 拍攝的原圖,右邊黑色部分是 AI 識別出來的背景部分,白色部分是被識別出來的主體人物輪廓(包括人物五官細節以及在該輪廓內的物體)。
有意思的是,從最終成片中我們能看到,桌上的餅干在 AI 識別下是屬于「非人」部分,但最終這部分沒有被虛化。這是因為系統除了將主體和背景識別出來以外,還識別出了主體周邊的物體,因此 AI 最終沒有將人物下方的物體虛化。因為這部分雖然不屬于對焦主體,屬于近景,但是這種效果還不是最完美的。
得到深度優化圖并合成最終成片
雖然去年的 Pixel 2 和今年的 Pixel 3 系列都沒有配置雙攝像頭,但 Google 似乎一直都不是以硬件取勝的公司,他們更擅長于用軟件和算法去解決問題。
▲ 圖片來自:Google
盡管沒有硬件上的雙攝,但 Pixel 的相機都配備了 PDAF 雙核相位對焦技術,Google 便可以通過像素點劃分將一顆攝像頭「一分為二」:
鏡頭左側拍攝到的畫面會和右側的畫面約有 1mm 的不同視覺間距,如果是在縱向拍攝下,鏡頭則是分為上下兩部分排列。
在拍攝后,系統會并排兩側鏡頭拍攝到的像素。通過 Google 自家的 Jump Assembler 算法去得出立體演算的深度優化圖,利用雙向求解器將深度圖轉變成高解析度。
▲ 圖 1 、2 為上半部分、下半部分相機拍攝,圖 3 動圖為前面兩圖區別 圖片來自:Google
上圖左邊是通過 PDAF 拍攝并演算得到的深度圖,白色部分越深,代表與鏡頭距離越近;右邊是決定像素模糊程度,黑色部分為「不需模糊」范圍,紅色部分為「需模糊范圍」,通過紅色的深淺,系統會自動判斷出背景虛化的力度。
▲ 最終效果圖
最后系統會將第 2 步驟分割出的背景圖和第 3 步驟得出的深度圖合并。在 AI 物體的判別下,系統能估算出近景的餅干和瓷盤到對焦(人物)主體的距離,并進行虛化。最終得到了比步驟 2 的初級處理更全面和自然的人像照片。
對比步驟 2 和步驟 3 最終的效果圖,你能看到位于近景的餅干也被適當虛化了。通過軟件算法,我們能將虛化范圍「捏造」成任何形狀。
Google 是怎樣訓練神經網絡的?
了解了 Pixel 2 的人像模式原理,那么 Pixel 3 的優化就不難理解了。
通過軟件算法,相機系統可大致估算出對焦主體和背景的距離,并對遠景進行虛化。但在手持拍攝時,手機難免會出現輕微的抖動,因而影響到最終虛化效果。正是如此,此前有不少用戶在 Pixel 2 系列上遇到了景深識別錯誤的問題。
據 Google AI Blog 的介紹,基于神經網絡學習的特性,在 Pixel 3 上,Google 正通過增加對 AI 系統的識別提示和訓練 AI 神經網絡的算法,去修復「人像模式」中的識別誤差問題。
例如,通過像素點數量去判斷物體與鏡頭的遠近距離,得出給 AI 更精準的距離判斷結果;或者通過對焦點內外的清晰情況,給 AI 提供散焦提示。
Franken Phone」是 Google 用于訓練由 TensorFlow 編寫的神經網絡系統的裝置,這套裝置由 5 臺 Pixel 3 和 WiFi 組成。
在測試時,Google 會用 Franken Phone 里的 5 臺手機在不同的角度同時拍攝,最終得出一張由多個角度、和立體算法合成的動態深度圖。從而達到模擬拍攝動態、在復雜場景下訓練神經網絡精準識別出人物(近景)和背景(遠景)的目的。
▲ 圖一為 Google Franken Phone。圖片來自:Google
當然,如果您對 Google 這套算法感興趣,也可以自己動手去親自研究他們。Google AI Blog表示,在使用 Google Camera App 6.1 版本的「人像模式」拍攝后,通過 Google Photos 能查看照片的深度圖了。
或者,您也可以通過第三方軟件提取深度圖,去看看在 AI 神經網絡優化下識別方式。
-
智能手機
+關注
關注
66文章
18612瀏覽量
183328 -
Google
+關注
關注
5文章
1788瀏覽量
58757 -
神經網絡
+關注
關注
42文章
4811瀏覽量
103052
原文標題:通過 AI 自學習,Google 讓 Pixel 3 的人像模式更優秀
文章出處:【微信號:worldofai,微信公眾號:worldofai】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論