Facebook F8講到的3D照片是怎麼一回事?

今年5月份Facebook F8大會上,公佈了一項3D照片的新功能,並有一段Demo展示,不知大家是否記得。近日,Facebook計算攝影團隊公佈了該功能相關論文,今天我們來看看它是怎麼實現的。

根據青亭網之前的報道,Facebook 3D照片可直接嵌入新聞流中,就像其它的傳統圖片一樣,而3D照片則可以通過左右傾斜手機實現3D視角的變化,這種格式的照片適合拍攝人物、動物、風景、全景等內容。

Facebook F8講到的3D照片是怎麼一回事?

從Demo來看,這種3D照片“看上去”包含一定的深度信息,並且在左右晃動時有著沉浸式的體驗,感覺像是一個小範圍的6DoF短片。

3D照片和我們常見的3D控件並不完全一樣,3D控件可以實現360度各個角度的觀看,而這種3D照片僅能實現單個角度以微小幅度查看周圍的場景。

據青亭網瞭解,3D照片是由位於西雅圖的Facebook計算攝影部門的科學家Johannes Kopf領導完成的,本次公佈的論文是由Kopf和倫敦大學學院的Peter Hedman合作完成的,他們還將於8月份舉行的SIGGRAPH(美國計算機圖形學和交互技術愛好者相關會議)上進行展示。

Kopf指出:“有趣的是,3D照片這項成果的研究初衷並不是用來提升和完善當前2D照片的不足,而是從如何讓VR內容創作變得更簡單的角度出發。”之所以做這個工具,那是因為Facebook上普通的網友並沒有構建3D模型或創建VR內容的工具和能力。

其中典型的例子是,360度全景圖片,雖然其可在VR中有很好的體驗,因為其可以看到各個角度圖像,但是它還不具備變革性。為此,Kopf決定為照片添加深度信息。

Facebook F8講到的3D照片是怎麼一回事?

我們瞭解到的第一版本,用戶可以通過移動相機來完成,然後通過仔細分析視差以及手機的動作,再以3D形式的進行場景重建。

與此同時,通過單個相機拍攝多張照片來推斷深度信息是需要CPU計算的過程,儘管這種方式能完成該任務,但由於時間較長,因此依舊比較落後。而且,當今主流手機幾乎都具備了雙攝像頭,那麼接下來他們就通過雙攝手機來完成3D照片的拍攝。

Facebook F8講到的3D照片是怎麼一回事?

我們知道,通過兩臺相機像個一段距離同時拍攝,無論拍攝對象處於精緻還是運動狀態,都可以捕捉到視差。得益於雙射手機中2個攝像頭距離非常小,因此這種深度數據的噪音也比較小,只需處理少量數據即可進行分析,也進一步降低了對硬件的高性能處理需求。

它的工作原理是,通過手機雙攝像頭分別拍攝一張照片,並且通過手機即可計算出圖像中的深度信息,對圖像中所有幀進行距離計算並重新編碼,結果看如下圖。

Facebook F8講到的3D照片是怎麼一回事?

a,iPhone 7+iOS算法計算的深度圖像;b,單張圖像急+CNN生成的深度地圖;c,結合動態(陀螺儀)數據的深度圖像

據悉,蘋果、三星、華為、谷歌幾家的手機中都有自己的方法來實現這種拍攝方式,儘管目前手機廠商往往將其應用於實現拍照背景虛化。

但隨之而來的問題是,用這種方法生成的深度圖像並不具備足夠的參考價值,主要體現在多張深度圖像信息的顏色代表的比例並不相同,例如2張圖片中都是紅色的區域,理論上應該距離等同,但實際上卻有較大的距離,因此拼接起來就非常痛苦。

Facebook F8講到的3D照片是怎麼一回事?

在這套系統中,用戶通過移動手機來拍攝多張圖片,系統每秒會拍攝一張圖像(實際上是2張照片和1張深度圖),然後再進行合成。

然後開發人員通過這套算法中加入了運動檢測功能(獲取陀螺儀數據),這些數據將聯合用於深度圖像拼接和形狀調整,並使其良好對齊的空間變化貼圖。

這不僅可以創建經多次曝光的平滑和相對準確的深度圖,而且速度相對很快,大約1秒即可生成,這就是他們將該功能稱為“即時3D攝影”的原因了。

接下來將多張照片拼接在一起,這也是全景圖片常見的處理方式,通過新的和改進的深度圖還可以加快處理速度,降低處理難度。

Facebook F8講到的3D照片是怎麼一回事?

因為每張圖片包含的深度信息不同,因此將這些數據整合器來非常困難。例如左側和中間的圖片中,往往會丟失一些圖像信息或者深度數據不正確等。而右邊則是Facebook的方法。

接下來將深度圖像轉化為3D網格,然後檢查網格是否有明顯的邊緣,例如前景中的欄杆是否遮擋了背景中的物體。之後沿著邊緣將不同“距離段”間的物體分隔開來,讓它們處於不同的浮層,並隨著視角變化而移動。

Facebook F8講到的3D照片是怎麼一回事?

雖然這種方法能夠有效的創建帶有3D效果的圖像,但是可能會問,如果是拍著人臉呢,這種沒有明顯分層的對象該怎麼處理呢?

為了解決這一問題,該團隊採用了卷積神經網絡圖像進行最後一步處理。這個過程有點像內容感知填充浮層,用計算機模擬對缺失的浮層進行補充,例如這附近是頭髮絲,那麼計算機就會將這一特性延續,也包括顏色、形狀等都會分析延續。由此一來,通過計算機算法的模擬填充,就可以在人臉等特殊場景下實現類似的3D環繞效果。

最終,用這種方法即可快速拍攝一個具有環繞效果的3D照片,它即可以在VR中觀看,又可以直接在網頁中瀏覽。

綜合來看,Facebook的這套方法在實際體驗中並不需要下載插件或學習新的操作方法,任何人都能快速拍攝3D照片,而且效果也還算理想,尤其是在手機新聞流中瀏覽,其會伴隨著手機的轉動而呈現立體版的效果。

據瞭解,該功能將於今年夏天推出。但是,本文中介紹的3D照片拍攝將侷限於雙攝手機,這也是目前為數不多的限制,好處是任何人(任何設備)都可以查看3D照片。

同時,該論文也講到了一個利用卷積神經網絡通過單攝像頭手機拍攝3D照片的可能性,但不如雙攝像頭手機效果好。如果對本論文感興趣,可在自行了解。

本文參考,TechCrunch,論文地址:http://visual.cs.ucl.ac.uk/pubs/instant3d/


分享到:


相關文章: