Google 新發布的 Pixel 2 是如何做到只用單攝還能實現虛化效果?
我來試答一下這個問題,僅拋磚引玉。嫌我啰嗦的請直接往下翻到正文部分。
首先我這裡忍不住要說一下,不要被國內一眾科技媒體忽悠(尤其自詡 XX 科技的自媒體們),國內一堆泛科技媒體說:大家快看 DxOMark 啊,他們給 Google Pixel 2 攝像頭評了史上最高分,拍照之王啊,Pixel 2 是單攝啊單攝,雙攝手機都沒用啊沒用!
我們來看一看評測機構 DxOMark 究竟是怎麼說的。這裡我還是要不厭其煩地說一說,DxOMark 針對 Mobile 類別的設備評分分成兩大項,分別是照片和視頻拍攝。
雖然 Google Pixel 2 的攝像頭綜合得分是 98 分,的確為目前最高分,但其照片部分的得分是 99 分,低於 Galaxy Note 8 的 100 分(iPhone 8 Plus 照片拍攝得分是 96 分)。需要承認,提升視頻拍攝素質也需要付出很大努力,Pixel 2 視頻拍攝得到 96 分的高分是絕無僅有的,但不能因此就認為 Pixel 2 是手機拍照之王。
不少媒體因此宣稱:你看 Pixel 2 得分碾壓 iPhone 8 Plus 和 Galaxy Note 8,而且 Pixel 2 模擬淺景深(虛化效果)也很優秀啊,做什麼雙攝?雙攝沒價值啊!但請仔細看一看上面再細分項目的得分:
- Google Pixel 2 在「Zoom(變焦)」項目的得分是 32 分,而 Galaxy Note 8 是 66 分,iPhone 8 Plus 是 51 分;
- Google Pixel 2 在「Bokeh(焦外)」項目的得分是 45 分,而 iPhone 8 Plus 是 55 分,Galaxy Note 8 則也是 45 分。
這兩項其實最能體現雙攝的價值(尤其是廣角+長焦雙攝方案的價值,當然實際上還有 Image Fusion 產生抑噪、HDR 的效果也是加成),為什麼有些人可以無視這些項目的存在,認為雙攝是沒有價值的?
我在先前編譯 DxOMark 的文章《雙攝像頭都是噱頭嗎?聊聊 iPhone 的雙攝 by DxOMark》中提到,雙攝的價值就在於進一步縮小小底設備和民用相機,在成像方面的差距——至少是照片第一眼觀感的差距(而早前小底設備之上,各種技術的應用都是為了讓成像表現更好,向相機靠攏)。因為小底成像設備對普通消費用戶而言,最大的短板有三個,一是以其圖像感測器的尺寸(以及光圈孔徑的實際大小)一般無法讓畫面形成像單反那樣的淺景深(或者叫「好」的虛化效果);二是鏡頭是定焦的,拍攝題材受限;三是暗光環境拍攝能力較差(也涉及寬容度提升)。
雙攝方案本質上是渴望讓這些問題得到緩解(雖然「解決」是很難了),而且是在保證手機不會太厚的基礎上——這也是手機當前不得以用雙攝來緩解問題的由來。比如暗光環境拍攝能力,實際上黑白+彩色圖像感測器雙攝方案是卓有成效的,且即便是廣角+長焦一類多攝方案,在某些廠商的 Image Fusion 演算法中,對圖像中央位置的解析力也有加成(見 Light L16 的方案)。至於緩解鏡頭定焦、無法產生「空間層次感」這兩個問題,這本來就是雙攝努力的方向。
而大部分人對於雙攝的指責,無非在於目前最好的單攝手機仍然比雙攝手機拍的照片更好(但實際上,單就照片拍攝來看,在 DxOMark 的評分中,Galaxy Note 8 才是最好的,這是台雙攝手機)。這不過是因為目前的雙攝方案還不夠成熟,以及很多不負責任的廠商濫用雙攝,造成雙攝魚目混珠的現狀罷了,更多可以看我上面編譯的這篇文章。
還有人覺得雙攝沒價值,因為他們認為變焦和虛化都沒必要;對這類人有兩點要說,第一可能你是絕世高手,所以只想用等效 28mm 的鏡頭拍照,一焦走天涯;第二,雙攝的價值很多時候不止是這兩點,如黑白+彩色圖像感測器雙攝,對寬容度也是有幫助的。雖然雙攝可能並不是緩解上述問題的唯一方案,但至少目前看來是行之有效,且可以不斷加強的方案。
有人覺得華為手機所用的黑白+彩色圖像感測器雙攝方案根本沒效果,那是因為用戶感知不到其中的效果,但它必然能夠產生一些效果,即便可能還並沒有如此顯著。且隨著圖像感測器製造商(如索尼、OV)、解決方案提供商(如 Corephotonics)都在做雙攝,甚至高通、MTK 已經把雙攝作為 ISP 集成演算法放在晶元方案中,雙攝絕對不是個簡單的市場營銷概念。
上面其實都是廢話,下面來從最淺的層面談談谷歌單攝模擬淺景深的方案。另外我還是要說一句,DxOMark 有特別在評測中提到,用 Google Pixel 2 來模擬虛化效果,穿幫的情況(Artifacts)不少見,如上圖所示。DxOMark 原話是這麼說的:
the Pixel 2 improves significantly over the Pixel, but that the background blur and bokeh are not as natural as that provided by the iPhone 8 Plus』s dual-camera system...
...The feature is susceptible to irregularities from frame to frame, however, with occasional artifacts along the edges of subjects. Indoor scenes can also display gradient artifacts. Here you can see the improvements over the original Google Pixel, but even the Pixel 2 version shows some depth-estimation artifacts behind the model, as well as in such high-frequency areas as the top left corner [1].
Pixel 2 在背景虛化和焦外成像上的表現相較 Pixel 有較大提升,但不如 iPhone 8 Plus 的雙攝系統那麼自然。其表現不穩定,室內場景也會出現過渡不自然。上圖可見 Pixel 2 對於模特背後的深度預估存在問題,左上角存在高頻區域(也就是指沒有虛化,或虛化很少)。
各位可能會疑惑,為什麼 Galaxy Note 8 在「焦外」這個項目上的得分也只有 45 分,原因很簡單:
Repeatability is also a bit hit and miss, and although the bokeh effect kicks in more often when shooting static subjects, we found the effect wasn』t applied on around a third of our portrait shots [2].
Galaxy Note 8 的人像模式也不夠穩定,「1/3 的人像都沒有應用上[虛化]效果」。這是典型的演算法失誤。
這在很多媒體嘴裡,怎麼就變成了虛化水平和 iPhone 之類的雙攝差不多了?請問那 10 分差距是擺著看看的嗎?
不好意思,有點激動了,廢話說太多了。如果你想知道 Google Pixel 2 何以在「變焦」和「焦外」兩項都明顯落後於 iPhone 8 Plus 的情況下,在照片拍攝匯總成績上依舊超越 iPhone 8 Plus 的,請看文末的總結。
以下正文:
首先咱來談談雙攝究竟是怎麼搞背景虛化的,還是忍不住想說,在 HTC One M8 時代,很多媒體說這款手機的第二顆攝像頭「用於記錄景深信息」,這個表述實在不知道是國內誰最先說出來的,即便是到現在還有很多科技媒體在沿用這種說法。實際上,一方面我們拍到的任何照片都有所謂的「景深」,只不過是深淺問題,國內許多科技媒體編輯都不懂什麼叫做「景深」,就在跟著忽悠。有興趣的可以參見我的另外一篇回答:歐陽洋蔥:用演算法合成的背景虛化效果與用大光圈鏡頭拍出的效果相比差距有多大,主要區別在哪裡?
另外,即便我將他們所謂的「記錄景深信息」理解為「記錄深度(depth)信息」,其實也有問題,至少那個時候還沒有能用某一顆攝像頭「記錄」下 depth 信息的黑科技(因為他們原話是第二顆攝像頭負責記錄景深信息)。雙攝都是依靠兩顆攝像頭視角差異來判斷被攝主體邊界,配合深度學習、識別拍攝對象之類的演算法,來大致推斷被攝畫面中對象的深度(或前後關係),在此基礎上構建 depth map,並對不同區域進行不同程度的虛化。所謂的 depth map,我借用 altek 的雙攝解決方案 PPT 宣傳頁 [3],形象地說,這個「深度地圖」構建起來是這樣的:
(這張圖其實是 altek 用於說明自家 Deform 修正方案的,這裡僅借用)
其實數碼多在評測 iPhone 7 Plus 的時候已經比較形象地解釋了雙攝究竟如何判斷被攝主體的邊界,把被攝主體從畫面中「摳」出來。就好比你的兩隻眼睛,如果單獨看世界,它們看到的東西是存在視角差異的,如下圖所示:
(圖片來自數碼多 [4],侵刪)
所以也並不是什麼有顆攝像頭「記錄」了「景深信息」,而是雙攝的視角差異。另外,從 iPhone 7 時代開始,蘋果就已經在成像中運用深度學習演算法了,臉部識別算是深度學習的一個小應用,並根據臉部識別來調整測光。而在 iPhone 8 Plus 之上,利用深度學習識別被攝物,還可以進一步來判斷被攝對象,以及進行虛化,所以實際上也不止是單純靠「視差」(視差這個詞可能不夠恰當)。
好了,有了這個基礎,下面我們來談談谷歌 Pixel 2 的單攝如何實現虛化,下面這部分資料也都來自國外媒體。
- 谷歌首先利用演算法來識別臉部,由此延伸出身體、頭髮,以及被攝對象的其餘部分;
- 這樣一來,Pixel 2 就知道究竟對焦要對哪裡了,以及哪些部分需要進行虛化;
- 谷歌表示,演算法訓練基於百萬張挑選的照片;
- Pixel 2 採用雙核像素(dual-pixel,亦有翻作雙像素),意即每個像素切分成兩個,左右兩部分 sensor 捕捉左右兩張照片,組合兩張照片來構建 depth map. [5]
說簡單點,手機攝像頭模擬虛化,都是由軟體演算法(AI 加成)確定我們究竟在拍什麼,然後將其與其餘部分剝離,並構建一張深度圖(depth map,就像前文展示的那樣,不僅要知道拍什麼,還要知道畫面中各部分的遠近)——這個深度圖實現的方法最主流的就是用雙攝(甚至多攝,要知道如果手機背後放 100 顆攝像頭,那這個 depth map 精度就可以非常高了)。這個過程中,物體識別也能幫助進行 depth map 的構建。
不過雙攝並不是唯一的方案,像 iPhone X 的 TrueDepth 攝像頭系統(也就是 Face ID 實現用到的那一整套感測器)來生成非常精準的深度圖——但這種技術的缺陷在於成本較高,而且距離受限,所以用在前置攝像頭上自拍還比較靠譜,但後置的話,應該要塞個 Kinect 了吧...
Pixel 2 在構建 depth map 的過程中沒有用上面兩種方案,既然咱有「dual pixel」,也就是每個像素其實都切分成了兩塊(這兩部分都位於同一個 micro lens 之下,一部分用於成像,一部分用於相位對焦),實際上這兩塊捕捉到的畫面由於位置差異,就存在些許相位差(parallax,類似於視角差異),谷歌就是利用這種相位差來構建 depth map,以及最終的虛化模擬。[6]
其實不難發現,這種方案的本質和雙攝是異曲同工的,只不過就一個像素兩部分的相位差,相較雙攝像頭的視差,其實際位差要小得多,所以對被攝物邊界的判斷實際上更有難度。不過谷歌在人工智慧方面向來有沉澱,所以深度學習能夠輔助這個過程。
(對 Dual Pixel 技術感興趣的同學可見 2013 年數碼多的文章[7],Dual Pixel 的主要作用在於實現全域相位對焦,當年對單反的價值在於主圖像感測器就能進行相位對焦,因為單反一直以來是靠專門的自動對焦感測器實現相位對焦的——而以往大部分單反的主圖像感測器的相位對焦僅限於某些區域。)
到這裡,我覺得已經粗略地把這個問題給說清楚了吧。如果有人願意補充具體的演算法細節,歡迎!這裡我只是做個搬運工,拋磚引玉而已;水平有限,不成體統,文字態度不夠端正請諒解,歡迎踩我。
這裡補充一下,上述資料均來自外媒,這些媒體的可信度平常都算比較高(包括 BGR、The Verge 等等也都是如此闡述的,連成像領域相對專業的 DPREVIEW 也這麼說:Google unveils Pixel 2 phones: Adds OIS, Dual Pixel powered Portrait Mode and more),但我沒有找到這種說法的谷歌官方出處,是否真的主要依靠這種「雙像素」來模擬虛化,貌似谷歌發布會上有提到?
其實我對此也持某種程度的懷疑態度,因為感覺這個相位差真的好懸,像 iPhone 的人像模式限定 2.5 米範圍之內就是因為即便雙攝的視差也很難在較遠距離之下判斷被攝物輪廓了(可能谷歌的 AI 比較牛逼吧,所以說有海量數據餵給機器學習很重要啊很重要)。
最後部分咱來談談 Google Pixel 2 為什麼在 DxOMark 評分機制中得高分,Pixel 2 拍照好是值得肯定的。其實我在《為什麼說 iPhone 8 Plus 是迄今拍照最好的智能手機?by DxOMark》一文中的開頭補充中已經提到了,Pixel 2 僅照片拍攝部分得分比 Galaxy Note 8 要低,而其最大的優勢在於非常牛逼的自動對焦表現(延遲極短,而且非常穩定,在手機裡面突破天際吧,如上圖),出色的寬容度表現(Note 8 在這塊相對遜色),極低照度(5 Lux)下的信噪比、解析力都比 iPhone 8 Plus 有優勢(但比 Note 8 略遜色,不過 Note 8 某些暗光環境下存在解析力損失);另外,貌似其閃光燈表現突破手機天際了(你看 Flash 那項拿了 88 分)。
但 Pixel 2 的缺陷我也說了,因為沒有採用雙攝,所以在變焦表現上明顯落後於另外兩款手機,虛化模擬則弱於 iPhone 8 Plus,淺景深模擬易穿幫;還有一點,光學素質略差(artifacts,這項主要是指鏡頭)。有興趣的還是去看 DxOMark 的原文吧,不要再聽國內的無良科技媒體造謠。
參考來源:
[1] Google Pixel 2 reviewed: Sets new record for overall smartphone camera quality - DxOMark
[2] Samsung Galaxy Note 8: The best smartphone for zoom - DxOMark
[3] Using dual cameras to realize DSLR image quality and performance in smart phone - Altek Corp.
[4] iPhone 7 Plus 雙攝像頭機制研究 - 數碼多
[5] Google"s new phones don"t have dual cameras... say what? - CNET
[6] The Google Pixel 2 / Pixel 2 XL"s single camera portrait mode is unlike any other: Here"s how it works - Firstpost
[7] 細說佳能 Dual Pixel CMOS AF 技術 - 數碼多
Pixel 2的感測器很可能是與HTC U11相同的Sony IMX362,使用雙像素自動對焦(DPAF)技術,可以在對焦階段逐像素輸出相位信息,輔以一定的圖像處理技術就能把圖像中合焦部分摳出來,焦外部分則加合適的濾鏡模擬鏡頭的虛化效果。屬於創造性使用現有硬體機能。附DPAF原理介紹:http://learn.usa.canon.com/resources/articles/2017/intro-to-dual-pixel-autofocus.shtml
https://www.gsmarena.com/samsungs_dual_pixel_tech_is_like_canons_dual_pixel_auto_focus-news-16805.php
更新,的確有人說了,在像素級的距離上也能實現測距,因而單憑感光元件測定距離然後演算法實現虛化已經成為可能,原理其實是很清晰的,只不過我沒想到如今的技術在如此小的距離上也能實現罷了。
對不起大家,是在下輸了。
以下原文不改,留著給你們打臉。
--
如果把單反這種基於焦平面距離的虛化叫做真虛化的話,那麼單攝手機只能是通過人工智慧摳圖實現的假虛化。
雙攝理論上可以計算出每個像素點離焦平面的距離從而依據焦平面距離來計算虛化,不過似乎目前用這種方法算的手機並不多,而且真虛化反而會被普通民眾認為效果不好。所以其實純粹為了虛化而上雙攝也並沒有太大意義,手機用單攝實現虛化很可能是最優選擇。
比如說,如果用單反85/1.4人像頭最大光圈對眼睛拍攝,清晰的焦平面非常薄大約只有兩毫米。頭髮是大概率被虛化的,然而普通民眾卻要求手機摳圖虛化時頭髮不虛,這反而是假虛化。雖然這樣的虛化更假,但它其實更符合廣大普通用戶的需求,因而其實沒必要因此而歧視配備單攝的手機。
要想驗證是不是真虛化,拍樹上的花就好了。櫻花樹上,整個畫面中不同位置的花可能都位於相同的焦平面,那麼用單反拍的時候,清晰的花會存在於整個畫面中分散的多處,雖然他們的畫面並未相連但依然要求清晰。而摳圖假虛化就只有對焦的那一兩朵花是清晰的。
焦平面是平行於相機底片的一個平面,焦平面上所有物體與相機底片平面的垂直距離相同。當你確定了對焦距離之後所有位於焦平面的物體應該都是清晰的,而離焦平面的距離決定了虛化程度,離焦平面距離越遠的物體就生成了半徑越大的彌散圓(虛化效果),這是單反虛化的原理,就是這樣。手機的單攝像頭無法計算出所有像素離焦平面的距離,因而不可能實現真實的虛化,只能根據對民眾喜好的猜測實現假虛化。
--
補充:有知友提出,這個cmos使用雙像素通過相位計算與焦平面的距離從而計算虛化,原理與雙攝類似。
理論上這是可能的,實際上我認為這像是個噱頭,對此表示懷疑,因為兩個像素之間的距離過近,遠遠小於兩個攝像頭之間的距離,也遠遠小於人眼之間的距離。從而,它所能檢測到的距離非常不精確,因此我不認為它可以正常的測算像素點與焦平面間距離。
當然,你可以反對我的觀點,不過最好是實際測試過再作結論,看這種手機能不能在畫面上有幾十朵花的情況下正常讓一個焦平面的花都清晰。如果做不到這一點,就只能是解釋為靠猜測進行摳圖。----我其實是希望手機攝像真能有這麼強的,歡迎來打臉。順便樓上這一堆說什麼純軟體的都可以歇會兒了
對比一下pixel1
切進lens blur模式 對焦右邊杯子當然這個技術也有局限,既然名字就是「肖像模式」,拍一些複雜場景就有問題了
關於這個技術索尼在2013年的xperia z1上已經實現了,原理是一次性拍兩張景深不一樣的照片合成一張最大800萬像素的照片,同時還可以設置背景虛化的程度和虛化的樣式。而且現在手機炒的比較火的ar,說白了索尼手機也是在2013年開始就一直是旗艦手機的標配,幾十種特效還自帶音樂
補充:置頂評論說的很有道理
本問題下一群沒有用過Nexus5以及之後的手機,或者Google camera的人強答啊.
上圖原理是這樣的,當你使用「lens blur」時,會要求你先拍第一張照片,然後將手機向上移動一段距離,此時程序會採集一系列照片,通過多張照片的相位差判斷前景和背景,實際上原理類似雙攝手機的人像虛化,只不過採集的照片更多,理論上效果會更好,但是實際上因為人手運動並不穩定,不像雙攝兩鏡頭相位差固定可以用固定的一套演算法,所以效果並不比雙攝手機表現得穩定
上一張效果圖 感謝喵喵的配合~雙核像素這個東西,是佳能最先搞出來的。5D4發布的時候,佳能宣布5D4可以支持一種叫做『雙核像素raw』的東西,其中一大亮點是『後期微調對焦點功能』。所以說雙核像素拍出來的raw文件里,確實是帶有虛化計算所需要的一部分深度信息的。
但是看過5D4那個功能演示的人都知道,雙核像素raw的對焦微調功能,只支持極其微小的一個距離。大概是怎樣的距離呢?佳能官方演示的時候,用的是人像大頭照,眼睫毛和眼珠子之間這麼一個距離……
所以說要想依靠像素本身的信息去計算整個照片的虛化,肯定是不可能的。由於雙核像素的『基線』實在太短,根本不足以像雙攝像頭那樣計算從無窮遠到對焦距離之間廣闊空間的depth map。但雙核像素有一個什麼優點呢?它對合焦平面附近的相位信息保存的很好!
通過這些信息,可以把合焦平面附近的主體識別出來,然後對剩餘的部分用摳圖的方法進行模擬虛化。
簡單的說,Pixel2每拍一張虛化模式的照片,都自動在後台放到一個類似佳能對焦微調的工具裡面,把微調滑塊從左拉到右,從右拉到左……然後識別出微調能夠明顯影響的那部分區域作為主體,然後對剩餘的部分再用傳統的識別摳圖的辦法進行虛化模擬。
這樣做的優點是省去了雙攝像頭的麻煩,但考慮到大多數時候人臉本身的深度範圍都遠遠超出了雙核像素系統的可調範圍,最後對頭髮等外圍輪廓的處理還是要以靠『猜』為主。
又因為這個攝像頭是廣角鏡頭,日常拍攝的時候帶到的東西肯定比iPhone的中焦要多,所以實際使用過程中觀察到的穿幫現象肯定也會多不少。可以說是一個不會很討喜的功能。
同時還有一個弊端,就是因為這種處理非常耗資源,所以pixel2的虛化模式無法像iPhone一樣實時預覽。估計費電也會比iPhone要嚴重一些……
上面什麼移動手機什麼的,拉風箱,都沒看發布會就答題了?
發布會上Google不是自己解釋了嗎?
「dual pixel」+「machine learning」
一個保證信息採集,還有一個選擇信息。
dual pixel不是什麼新技術。
但是,真的比雙攝好?我認為Google是想炫耀演算法罷了。(不過真的是很厲害的演算法,和過去的完全不同)
另外前置也能虛化,不過只說了人像。
所以:AI會P圖了。
索尼手機不是一直可以
直接反對最高票回答,沒有回答到點子上。
當然我這個也沒回答到點子上,本來之前評論最高票回答的,不知不覺突破1000字,評論不了。算了直接回答吧,天色太晚,下次補充補圖。以下原評論。
———————分割線————————總結單攝是演算法虛化,即算假虛化。給你節省2分鐘時間。不謝當然,雙攝是利用兩個定焦雙攝確定主體利用演算法摳圖,虛化背景,即變焦雙攝也是演算法,
所以也是假虛化。(? ̄ ?  ̄?)答主此回答離題,並沒有回答到問題點子上,此回答只能說告訴用戶怎麼分辨真假虛化。打50分
再總結
真虛化是根據真實場景還原而來假虛化是根據用戶喜好演算法調整我們看到的是真虛化嗎?不是。
我們大腦根據眼睛看到的真實場景,再經過大腦加工。呈現在我們以為我們所看到「眼中」我們看到的都是基於真虛化基礎上的,這就是為什麼現在很多3D遊戲比如GTA5開啟超清高幀率全特效,細節刻畫,包括光影都非常接近真實了,乍一看非常真實,但是過不了多久你就會發現畫面不對勁,但是又想不出來哪裡不真實,其實是細節太多沒有虛化,看著很累,我們人眼是不可能看到這麼多細節的。如果在此基礎上根據3D建模距離是加上一層虛化,那麼遊戲畫面上絕對能達到以假亂真的程度。這也是為有的日本動畫,比如京都的動畫,新海誠的電影明明2D平面你不仔細看真的會以為是真實畫面的原因,請自行搜索,建議搜《言葉之庭》從電車看窗外雨滴的場景,畫面看起來真的非常舒服。當然關於遊戲為什麼不加上一層虛化,原因簡單,要根據視角移動進行實時虛化演算法,運算量大,性能不夠。
另外單從虛化效果上來說,
有縱深漸變虛化,平面漸變虛化。整體局部虛化。縱深漸變虛化指主體與背景根據縱深距離實現不同程度的虛化效果,此乃真虛化,如單反,虛化效果最好最真實。平面漸變虛化指平面上根據與主體的距離實現不同程度的虛化效果。如現在手機後期修圖軟體,虛化效果一般,在一定場景下可以接近單反效果。整體局部虛化,簡單把主體扣出來,其他全部一起進行同一程度的虛化。效果極差,不如不虛。在這裡就要黑一下華為了,在某些場景下,虛化效果甚至比不上用後期修圖軟體。忽然發現Apple 在開啟人像模式那些關於距離光線的苛刻條件有多麼明智了,要拍就拍好,要麼就不拍。另外這次谷歌在背景虛化上走出了一條不一樣的道路。如果蘋果結合谷歌的做法,加上自身雙攝及演算法優化,相信以後人像模式將不僅僅只是人像模式了,挑戰單反也只是時間問題。在這裡打個賭,背景虛化在手機上將在兩到三年內有重大突破。
關於單攝虛化問題建議看另一位答主答案。再抖個機靈,其實單攝也是有虛化的(? ̄ ?  ̄?)只不過虛化非常淺,微距模式下拍個石頭也能獲得不錯的真實虛化效果。自行驗證。
以上純屬瞎扯,如有不對,不要來打我,因為你——打不到我o??????????????╮(?????)╭o??????????????這個問題說明了以下幾點:
國內廠商不管演算法不管硬體素質總之先給手機裝2個攝像頭的思路是完全正確的,不然賣不出去;
早幾年四核總比雙核快的忽悠思路依然有效;
為什麼前置兩千萬雙攝配合美顏相機這樣完全背道而馳的智障做法會堂而皇之得作為廣告宣傳;
養牛仔褲的那幫人從創造自己獨特的使用痕迹是怎麼最終變成牛仔褲不能洗的。
我試了一下Pixel 2的人像模式,很有意思。
儘管Google的Pixel 2/2 XL的相機只有一個後置攝像頭,這一個卻採用了雙像素(Dual-Pixel)技術,通過像素級的微小視差來產生深度圖,這個技術在2013年由佳能首創。雖然因為視差太過微小,深度圖會有很大的誤差,但是配合機器學習技術進行物體識別,也能將背景虛化處理。
前者是虛化處理前,後者是虛化處理後。我將對焦點設置在紙杯上,並且在差不多的距離立了一支筆。在虛化處理後,不出意外,紙杯背後的雜物全部模糊了。如果沒有深度圖,我的手和筆也應該是被模糊處理的,但是實際上我的手和筆尖都是清晰的。這說明了相機通過深度圖知道我的手和筆是在焦距上。Google在發布會上沒有騙我們 ,手機確實是採用了雙像素技術,要不然只有一個攝像頭怎麼輸出深度圖呢?再來看筆的中間,本來應該是在跟手和筆尖一樣在焦距上,卻被模糊處理了,這表示深度圖確實不夠精確,而且可能由於筆身特徵點不足,也沒法由視差算出筆身的深度。而且機器學習也沒有識別出這個筆身,我估計是因為筆在圖片中太長了,而機器學習演算法用了正方形的滑動窗口,因此能識別出筆尖,但是遇到筆身的時候,正方形的滑動窗口一片白,完全沒有特徵,所以識別失敗。
實際上原理和 @Gang4ter 說的基本上一樣。。。只不過他本人的解釋稍微有點問題。。這裡pixel 2實際上用的是支持 dual pixel autofocus (DPAF)的CMOS.(見截圖)
這裡說的dual pixel實際上是將傳統的一個像素改為兩個,即雙像素(為了方便起見,這倆像素我們下文分別叫做左像素和右像素)。
一次曝光之後,當左右像素在計算對焦的焦平面的時候分別傳輸圖像,也就是所有的左像素傳輸出一副圖像,所有的右像素傳輸出另一副圖像,這樣我們得到了兩幅圖像,其實相當於人的左右眼得到的圖。下圖中的phase可以粗略理解為圖像的移動。然後由於CMOS左右兩個像素之間的距離是已知的,那麼我們得到的這兩幅圖像的"拍攝位置"之間的距離也是已知的(就和使用Google camera的lens blur一樣,只不過一次曝光就能完成),所以演算法的確也很有可能是那個lens blur用的演算法,畢竟誰知道google有沒有再次改善呢(攤手)。
但是推測這樣的精度沒有雙攝高,畢竟這兩幅圖拍攝位置之間的距離比較小。另外,反對 @pansz 的"靠猜測"來摳圖的回答。。。
[1]https://store.google.com/product/pixel_2_specs(技術參數部分)[2]https://www.gsmarena.com/samsungs_dual_pixel_tech_is_like_canons_dual_pixel_auto_focus-news-16805.php這個問題讓Google的人來回答最合適了,不過估計他們有保密要求。我根據一些公開資料和自己的一些光學和圖像演算法方面的知識試著回答一下,不保證正確,歡迎指正。本文主要參考了Google 相機方面的首席科學家Marc Levoy的一篇博客和其他一些技術文檔。另外這裡只做技術分析,不評價DXO評分,雙攝是否必要之類的問題。最高贊那個答案並沒有直接回答題主的問題,反倒是扯了很多沒用的。
淺景深照片
根據光學原理,在成像時景深(depth of field)是和數值孔徑(Numerical Aperture)成負相關的,在其它參數(主要是焦距)固定的情況下,光圈(aperture)越大,景深越小。單反相機由於在成像時可以使用大光圈,處於焦平面及附近的物體在感測器上成的像對比度非常高(sharp),離焦平面越遠的物體越模糊(blur)。通過大光圈的方式獲取的淺景深照片因為可以突出主體,容易抓住人的注意力,在人像模式上被廣泛採用。下圖顯示了一張淺景深照片,在景深範圍內的物體是清晰的,離得越遠越模糊。
合成淺景深照片
前面介紹了景深的概念和淺景深照片的形成,這裡介紹一下淺景深照片的演算法合成。無論是iPhone的雙攝像頭,還是Pixel 2的dual pixel單攝像頭,亦或是其它單攝,其照片的淺景深效果都是通過演算法合成的,而不是手機攝像頭本身就能像單反一樣採集到光學的淺景深照片。這是因為手機相機的感測器和光圈太小,不作處理的情況下,所有深度的物體都是在景深內的,並沒有淺景深效果。
根據手機相機的結構不同,淺景深照片的演算法合成主要有兩種方式:
- 基於前後景語義分割
- 基於深度估計
Pixel 2 的背景虛化同時採用了背景分割和深度估計。
基於深度學習的背景分割
Google通過一定的數據集訓練了一個神經網路來實現前後景的分割。經過分割我們就知道哪些物體是我們希望清晰聚焦的主體,哪些物體是希望虛化掉的背景。我們知道在雙攝像頭出來之前很多手機相機也可以實現背景虛化,它們應該也是利用對焦數據加一些簡單的分割演算法來區分主體與背景,然後對背景不加區分的採用一樣的虛化。如果僅僅根據前後景分割結果進行虛化,得到的虛化照片不太自然。一是這裡缺乏深度數據,我們無法採用distance-dependent虛化,二是分割演算法不完美,前後景可能判斷錯。
基於dual pixel cmos的深度估計
- 基於立體視覺的深度圖估計。不同於雙攝像頭,Pixel 2的CMOS sensor在每一個微透鏡microlens後放置了兩個光電轉換單元photo detector。如果你了解光場相機,這種光學結構可以看成一種特殊的光場相機(當然雙攝也算光場相機的一種特例),一般的光場相機後有幾十或者上百個像素,而這裡只有兩個像素。這樣CMOS可以輸出兩幅raw圖,這兩幅圖是有視差(disparity)的。當然這裡的baseline距離並不是兩個像素之間的距離,微米的baseline是無法產生足夠的視差,大概可以認為左右像素各對應著exit pupil的左右各一半, baseline大概可以近似為aperture diameter/2,當然實際情況比這要複雜。這種結構相對雙攝的優勢是從一個CMOS就能輸出兩幅完全對齊的圖,可以免去複雜的calibration和rectification,缺點是baseline比雙攝要小,深度估計準確度不如雙攝。
- 深度圖細化(refinement)。第一步估計得到的深度圖比較粗略,可能出現由於無紋理信息導致的無法判斷深度的區域,邊緣的毛刺等等問題,Google利用了bilateral solver來做refinement。這個bilateral solver的作者就在Google,巧妙的設計使得其速度非常快,加上Google強大的工程能力,應該可以把其效果發揮到最大。經過這一步深度圖在平滑區域應該比較smooth,邊緣比較sharp。
背景虛化
最後一步是背景虛化。結合前後景分割結果和深度圖(問題:如何結合?我也不知道),對焦平面外的物體,根據距離採用不同程度的虛化,離焦平面近的虛化少,遠的虛化更多。這裡的虛化就是濾波,但是不一定是簡單的高斯濾波,可能會根據真實光圈的形狀(比如六邊形)和光學虛化效果來設計虛化核(blur kernel),使得虛化後的照片看起來更自然更有藝術感,這種效果叫Bokeh。
因為演算法難以完全模擬複雜的物理過程,手機的背景虛化效果還是無法PK單反,手機相機完全取代單反相機短期內還不現實。當然對於普通消費者,手機的效果已經足夠了,況且手機操作的簡單和攜帶的便利性遠勝單反,手機相機必定會成為更多非專業單反用戶的選擇。
參考:
- https://research.googleblog.com/2017/10/portrait-mode-on-pixel-2-and-pixel-2-xl.html
- Autofocus Systems Part IV
如果是這種虛化,大部分自動對焦的手機都可以吧
如果是類似雙攝那種的,不知道
我記得原理同雙攝是一樣的, 通過兩個鏡頭計算距離,而谷歌是用同一個感測器的不同部分的像素計算距離,效果自然沒有雙攝好,所以只能靠谷歌神演算法助攻了
其實無論是單攝還是雙攝,手機拍照的虛化都是演算法合成的,只是雙攝的虛化要做得比單攝好,因為雙攝可以計算景深,這對後面的演算法合成有很大的幫助。
我記得lumia1520.就可以啊先拍照後對焦
所有的手機拍出來的虛化照片都是P出來的,不是真的拍出來的虛化。(本回答略有不嚴謹)
手機攝像頭要求的是好看 不是真實
單攝用演算法做出來的只要複合人類審美,那就是好東西
虛化的審美物理解釋是,人對梯度對「變化」感興趣,對平滑不感興趣
所以突出主體的清晰,背景模糊,這樣可以達到更好的審美效果
從光學的意義來講,背景失焦和傅里葉低通濾波無差異
無論是一個攝像頭算景深,一個成像,還是只要一個用來成像+p圖,只要好看,二者是相等的
只是為了好看,其實這倆是沒有意義的
畢竟不是做機器視覺對吧哈哈
推薦閱讀:
※如何解讀 Google I/O 2017 的 Keynote?
※十年之後Ingress這個遊戲會發展成什麼樣子?
※Android 版 Chrome 瀏覽器為什麼遲遲不支持擴展程序?
※少林寺方丈釋永信為什麼造訪谷歌總部?
TAG:智能手機 | Android手機 | 谷歌Google | Android | GooglePixel |