單鏡頭手機也能拍景深照!GOOGLE 闡述 PIXEL 2 成像原理

            <![CDATA[<table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://4.bp.blogspot.com/-9poxarlfrJ8/WiNe-hRQ7kI/AAAAAAAA3p0/8coScya8b-4X1af1qT8xxVliFg6vyjdZACLcBGAs/s1600/37074927884_e93b8a79c2_c.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="361" data-original-width="800" height="288" src="https://4.bp.blogspot.com/-9poxarlfrJ8/WiNe-hRQ7kI/AAAAAAAA3p0/8coScya8b-4X1af1qT8xxVliFg6vyjdZACLcBGAs/s640/37074927884_e93b8a79c2_c.jpg" width="640" /></a></td></tr><tr><td style="text-align: center;">Google 用單鏡頭手機就能拍出景深效果<br /><br /></td></tr></tbody></table><span style="color: #333333; font-family: &quot;lato&quot; , &quot;helvetica&quot; , &quot;arial&quot; , sans-serif; font-size: 16px;">Google 於 10 月 4 日發表了新一代的 Google 手機 Pixel 2 跟 Pixel 2 XL,效能、免費空間的那些就別提了!在目前手機最被看重的拍照功能,Pixel 2 跟 Pixel 2 XL 用單鏡頭就能做出跟雙鏡頭手機一樣的景深功能,還獲得 DxO Mark 的高度評價,到底怎麼辦到的?Google 在自家部落格上闡述了原理。</span><br /><span style="color: #333333; font-family: &quot;lato&quot; , &quot;helvetica&quot; , &quot;arial&quot; , sans-serif; font-size: 16px;"></span><br /><a name='more'></a><br /><div style="border: 0px; box-sizing: border-box; color: #333333; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 27px; outline: 0px; padding: 0px; text-size-adjust: auto; vertical-align: baseline;">首先 Google 闡述了雙鏡頭相機的景深運算原理(雙眼視差,Binocular disparity),主要是透過兩個鏡頭間的距離差,所構成的些微成像差異,在軟體比對差異點後,透過三角測量原理算出目標點與鏡頭的距離,這個方式跟人類眼睛用來判別深度資訊的原理相同,但這在單鏡頭手機上是辦不到的。</div><table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://2.bp.blogspot.com/-Ce92bWlLQt0/WiNe_5MDl2I/AAAAAAAA3qM/t4K0du-rIPwhLkBekskvJQpIxC_RErvdgCEwYBhgL/s1600/37752778662_5275009ccb_o.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="398" data-original-width="220" height="640" src="https://2.bp.blogspot.com/-Ce92bWlLQt0/WiNe_5MDl2I/AAAAAAAA3qM/t4K0du-rIPwhLkBekskvJQpIxC_RErvdgCEwYBhgL/s640/37752778662_5275009ccb_o.png" width="352" /></a></td></tr><tr><td style="text-align: center;">雙眼視差深度判定原理示意圖1,翻攝自wikipedia</td></tr></tbody></table><table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://2.bp.blogspot.com/-Tn-c9BuTAbk/WiNe_1RtkFI/AAAAAAAA3qM/TwJByw1tI-0YdF6aUFpWXSiZkE7QbRG2gCEwYBhgL/s1600/37752778612_1c2ba73bb1_o.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="427" data-original-width="220" height="640" src="https://2.bp.blogspot.com/-Tn-c9BuTAbk/WiNe_1RtkFI/AAAAAAAA3qM/TwJByw1tI-0YdF6aUFpWXSiZkE7QbRG2gCEwYBhgL/s640/37752778612_1c2ba73bb1_o.png" width="328" /></a></td></tr><tr><td style="text-align: center;">雙眼視差深度判定原理示意圖2,翻攝自wikipedia</td></tr></tbody></table><div style="border: 0px; box-sizing: border-box; color: #333333; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 27px; outline: 0px; padding: 0px; text-size-adjust: auto; vertical-align: baseline;"><br />所以 Pixel 2 跟 Pixel 2 XL 怎麼做呢?主要透過幾個步驟:</div><div style="border: 0px; box-sizing: border-box; color: #333333; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 27px; outline: 0px; padding: 0px; text-size-adjust: auto; vertical-align: baseline;"><strong style="border: 0px; box-sizing: border-box; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">1.產生 HDR+ 影像</strong></div><div style="border: 0px; box-sizing: border-box; color: #333333; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 27px; outline: 0px; padding: 0px; text-size-adjust: auto; vertical-align: baseline;">首先透過快速拍攝多張增加曝光度低照片的方式,避免高光處細節遺失,接著用軟體處理提升局部陰影處的對比,並且進行降噪處理,以產生具有高動態範圍、低雜訊與清晰細節的影像,足夠讓接下來的程序進行處理。</div><div style="border: 0px; box-sizing: border-box; color: #333333; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 27px; outline: 0px; padding: 0px; text-size-adjust: auto; vertical-align: baseline;"><strong style="border: 0px; box-sizing: border-box; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">2.分割前景背景</strong></div><div style="border: 0px; box-sizing: border-box; color: #333333; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 27px; outline: 0px; padding: 0px; text-size-adjust: auto; vertical-align: baseline;">在處理完 HDR+ 後,就開始決定照片中何者為需要清晰的前景以及何者是可以模糊的背景,因為單鏡頭手機並沒有深度資訊,所以 Google 在這部分是透過機器學習的方式,來辨別影像中哪些像素是人物,哪些像素是背景。</div><div style="border: 0px; box-sizing: border-box; color: #333333; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 27px; outline: 0px; padding: 0px; text-size-adjust: auto; vertical-align: baseline;">Google 表示,他們已經訓練出一個用 TensorFlow 編寫的卷積神經網路來進行判別,透過近百萬人照片的訓練,來過濾出哪些是人物所擁有的高級特徵,哪些是人類所沒有的單純顏色線條,這也代表以後只要是可運用 TensorFlow Lite 的手機,即便只搭載單鏡頭設置,也能具有如雙鏡頭手機般的景深拍攝效果。</div><table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://2.bp.blogspot.com/-K8l6BUxoWMY/WiNe-sp-dgI/AAAAAAAA3qM/tAwWVh_2mMI2rFmAnpAFRwnNXvgO081DACEwYBhgL/s1600/37074927564_91d3c34efc_c.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="510" data-original-width="800" height="406" src="https://2.bp.blogspot.com/-K8l6BUxoWMY/WiNe-sp-dgI/AAAAAAAA3qM/tAwWVh_2mMI2rFmAnpAFRwnNXvgO081DACEwYBhgL/s640/37074927564_91d3c34efc_c.jpg" width="640" /></a></td></tr><tr><td style="text-align: center;">右側圖可看出主體(人物)與背景的分離結果,翻攝自 Google Blog,Photo by Sam Kweskin</td></tr></tbody></table><div style="border: 0px; box-sizing: border-box; color: #333333; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 27px; outline: 0px; padding: 0px; text-size-adjust: auto; vertical-align: baseline;"><br />不過 Google 也承認這種運算法,離真正單眼相機拍攝出來的景深效果還是有差異,比如說背景模糊的程度是一致的,不會因為距離遠近而有所變化,另外主體(人物)前方較靠近的物體,也可能會被判別是主體的一部分而不被模糊處理。而倘若是比較稀有的主題或裝扮,也可能神經網路從沒辨識過,也不會將它視為人物進行處理。</div><div style="border: 0px; box-sizing: border-box; color: #333333; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 27px; outline: 0px; padding: 0px; text-size-adjust: auto; vertical-align: baseline;"><strong style="border: 0px; box-sizing: border-box; font-family: inherit; font-style: inherit; margi

n: 0px; outline: 0px; padding: 0px; vertical-align: baseline;”>3.透過雙像素技術算出深度

為了彌補第2點,Google 在 Pixel 2 跟 Pixel 2 XL 手機上,還運用了雙像素這個硬體配置來加強,原本雙像素感光元件主要的運用,是用來加速對焦速度,也就是所謂的 PDAF(雙像素自動對焦),但 Google 運用這個硬體設計,採取畫面中的綠色像素,進行如雙鏡頭手機般的成像差異比對,來算出深度判定資訊,用來決定背景區域中各物件的模糊程度,這也讓 Pixel 2 跟 Pixel 2 XL 即便不是拍攝人物,也能夠拍攝淺景深影片。
DualPixel 感光元件單元成像原理,翻攝自 Google Blog,Figure by Markus Kohlpaintner
運用 Dual Pixel 拍出的差異像素照片,翻攝自 Google Blog
不過因為利用雙像素技術的光學限制,所以 Pixel 2 跟 Pixel 2 XL 在拍攝非人物的淺景深相片時,距離需要保持在 1 公尺內,另外也不能拍攝 10 公分以內的近距,這點跟雙鏡頭手機很不一樣。
關閉人像模式拍攝的花朵(左)與開啟人像模式拍攝的花朵(右)比較,翻攝自 Google Blog ,Photo by Marc Levoy

4.結合步驟 2 與步驟 3 運算成果
最後就是將步驟 2 的分割效果與步驟 3 的深度資訊加以結合,算出一張具有清晰主體與模糊背景的淺景深照片。
未開啟人像模式(左)與開啟人像模式(右)的比較,翻攝自 Google Blog, Photo by Matt Jones
不過 Google 也提供了一些拍攝景深照片的要點,可以在人像模式中拍出更好的效果

1.靠近被拍者,盡量填滿畫面內容 

2.團拍時最好每個人離手機鏡頭的距離都一樣(除非有人想成為模糊背景) 

3.主體跟背景間最好有段距離(而且不要是單純單色背景) 

4.取下太陽眼鏡、不要戴帽子

]]>

(Visited 4 times, 1 visits today)