機器之心報導
參與:蛋醬
在深度學習技術的加持下,每一張平面圖像都能轉換為效果驚豔的3D圖像?我突然有一個大膽的想法……
相比於 2D 內容,能產生身臨其境感的 3D 內容仿佛總是會更吸引人。
自從 3D 電影誕生以來,人們從未停止過立體影像的追求。隨著近年來 5G 技術的落地,VR 行業也將迎來新的突破,眾多遊戲玩家和電影觀賞者也會因此獲得更加新奇的視覺體驗。但 VR 場景裡 3D 內容的缺乏一直是行業內的一個痛點。
以 3D 電影製作為例,在現階段,每一部 3D 電影的後期製作都需要投入巨大的資金和人力成本,這些現實條件嚴重阻礙了 3D 內容的豐富發展。
最近,來自愛奇藝的團隊介紹了一種 3D 內容轉換的 AI 模型,可通過深度學習技術將 2D 內容快速、批量、全自動地轉製成 3D 內容。在減少 3D 內容製作成本的同時,為用戶提供更多高質量的立體化影像。
對於任何電影畫面來說,都能夠轉化為 3D 場景:
也可以用來製作立體動態貓片:
這樣的效果是如何實現的呢?
模型框架解析
想要把 2D 內容轉換為「真假難辨」的 3D 內容,前提是要了解真實人眼的 3D 感知:「為什麼在人眼中,世界是立體的?」
對於 3D 介質來說,越是符合真實世界中人眼的 3D 感知,就會越受到用戶的喜愛。因此在模型構建上必須符合真實世界的 3D 觀感——雙目視覺。
圖 1:雙目相機成像與視差原理。
如圖 1 左所示,兩個相機拍攝同一場景生成的圖像會存在差異,這種差異叫「視差」。視差不能通過平移消除,一個物體離相機越近,視差偏移就越大,反之則越小。
人的左右眼就如同圖中的左右相機。在雙眼分別獲取對應圖像後,通過大腦合成處理這種差異,從而獲取真實世界的 3D 感知,視差與相機焦距和軸間距間的關係如通過圖 1 右所示:
以上為公式(1),其中 z 為物體距離相機的深度,x 為三維映射到二維的圖像平面,f 為相機焦距,b 為兩個相機間的距離軸間距,x_l 和 x_r 分別為物體在左右不同相機中成像的坐標,因此可知左右圖對應像素 x_l 和 x_r 的視差。
同時,考慮到轉制的對象為 2D 介質,因此,通過單目深度估計合成新視點的算法原型誕生:通過公式 (1) 可知,假設有一個函數
那麼就有:
公式(2)。
通過公式(2)可知,只需要將 圖 1 左 作為訓練輸入,圖 1 右 作為參考,即可建立深度學習模型,通過大量雙目圖片對訓練估計出函數。這樣就可在已知相機參數 (,) 的前提下獲取對應的深度值,完成單目深度估計的任務。
通過公式(1)與公式(2)可以發現,深度與視差成反比,因此深度估計和視差估計的方法可以互用。
在項目實踐過程中,團隊嘗試了非常多的關於新視角生成的方案,包括經典的 Deep3D、基於生成網絡、基於中間視差圖等視角生成方案等等,最終確定了更便於引入 3D 電影數據的 Monodetph 無監督訓練作為我們的 baseline 方案。
在項目實踐過程中,團隊對比考慮了以下幾種 3D 視覺生成方案,但每一種方法都會存在自身的缺陷:
Junyuan Xie 等人提出的 Deep3D 雖然通過視差概率估計實現 2D 到 3D 介質的轉換,但固定視差的設定,難以適應不同解析度 2D 介質輸入;Ravi Garg 等人 2016 年提出的方法沒有充分利用雙目信息作指導,景深不夠細;Clement Godard 等人提出的 monodepth 在 Ravi Garg 等人的方法基礎上,充分利用了雙目信息進行對抗指導,學習到更多深度細節;Tinghui Zhou 等人提出的 SfmLearner 方法引入幀間時序信息,結構較複雜,運行速度慢。基於實現及適用性考慮,研究者最終確定了更便於引入 3D 電影數據的 Monodepth 為 Baseline,其框架結構如圖 2 所示:
圖 2:monodepth 框架圖。
通過 圖 2 框架可以看出,該框架在訓練過程充分利用雙目的有效信息作指導,同時測試過程也只需要單目圖片進行輸入,所以非常適合用於 2D 轉 3D 技術的框架。
各種問題的解決
但在研發過程中,仍然存在一系列非常影響最終效果的問題,比如不同相機參數的模型預測、幀間抖動、物體邊緣,以及背景存在模糊流動區域、物體空洞等,都是非常大的技術難題。
愛奇藝團隊也分享了他們在技術落地應用過程中,工程難題的解決方案:
解決相機問題
在 Baseline 模型的基礎上,如果直接使用混合的 3D 電影數據集進行訓練,模型將無法收斂或預測不穩定,一個最主要的問題是不同電影使用不同相機參數的攝像機進行拍攝,即使兩個非常相似的電影場景,在不同的兩部電影中也會有不同的景深分布,表現在模型訓練中即為不同的視差值。
與此同時,不同電影的後處理方式,以及會聚相機的引入,會進一步增加建模的難度。在分析相似案例的處理方法中,研究者發現可以通過引入條件變分自編碼器(CVAE),在訓練過程中把每一組訓練集(左右視圖)通過網絡提取其相機參數等信息,並作為後驗信息通過 AdaIN 的形式引入到單目(左視圖)視差圖預測中,同時參考《Toward Multimodal Image-to-Image Translation》中的「雙輪訓練」,保證了測試時隨機採樣相機參數分布的正確性。
解決抖動問題
在解決數據集問題後,進行連續幀預測時,研究者發現存在預測不穩定及抖動的問題。
目前,在解決視頻生成過程(尤其是連續幀深度圖預測)抖動問題的方案中,最為常見的方案包含基於幀間 ConvLSTM 的 [7] 和 [8] 和基於光流的 [9] 和 [10]。
其中,[8] 在不同尺度的編碼和解碼的過程中均加入 ConvLSTM,隱式的利用時間域上特徵的相關性來穩定的預測深度圖,而 [7] 則僅在網絡輸出的最後一層引入 ConvLSTM。
引入 ConvLSTM 的方法雖然思路簡單,但在 2D 轉 3D 模型中卻不適用,[8] 使用了較多的 ConvLSTM,使得訓練較為複雜,不易收斂,[7] 由於電影分鏡鏡頭種類多變,單一 ConvLSTM 預測時易累計誤差,使得預測變差。
圖 3:vid2vid 結構圖。
研究者提出的 2D 轉 3D 模型採用了類似於 [10] 的模型結構,如圖 3 所示,將左側上支路改為輸入三幀左視圖(t,t-1,t-2),左側下支路改為輸入前兩幀預測視差圖(t-1,t-2),右上支路為輸出當前幀所預測的視差圖,右下支路改為輸出前一幀預測視差圖到當前幀預測視差圖的光流圖(t-1→t)及其 valid mask 圖,最終結合右側上下兩支路結果合成當前幀視差圖。
其中,在中間高維特徵合併處引入上文提及的 CVAE 模塊,用以引入後驗相機參數信息。最終,在解決相機參數導致數據集問題的同時,模型能夠得到穩定且連續的視差圖輸出。
解決「空洞」填補問題
新視角的生成會使部分原本被遮擋的區域在新視角中顯露出來,這些信息僅從左視圖中是無法獲取的,即使通過前後幀的光流信息也很難還原,因此會形成一些空洞。
圖源:CVPR 2020 論文《3D Photography using Context-aware Layered Depth Inpainting》,地址:https://arxiv.org/pdf/2004.04727.pdf。
在生成新視角的後處理過程中,研究人員參考了 ICCV 2019 的一篇圖像修復論文中提到的模型框架設計,通過視差圖來指導獲取產生的「空洞」區域,通過圖像修補技術解決新視角的「空洞」問題。
3D 效果測評由於拍攝條件不同會導致 3D 效果不同,所以在 2D 轉 3D 效果測評中,研究者用大量人力對預測的視差圖和成片在 VR 中的 3D 效果進行綜合性的評測。視差圖估計如圖 4:
圖 4:各種場景下的單目視差估計。
上文所展示的 3D 海報就是這一技術的直接應用場景,比如下圖這一張就是在 2D 海報的基礎上加上其深度關係圖,通過一系列的新視點渲染,即可得到一組動態的、人能感知的立體影像。
《復仇者聯盟 4》3D 海報。
此外,模型效果的評測也是難點之一。評價 3D 效果的呈現好與壞,很多時候是一個主觀問題。在模型多次迭代的過程中,模型轉制後影片收到效果評價並不統一,所以很難去衡量模型迭代該朝著哪個方向走。最終,經過長時間的探索以及與其他部門的磨合,團隊從零搭建了一套詳細且較為科學的 3D 影片效果評價體系,從更統計、科學的角度來評價模型效果,這在後期模型優化的過程起到了非常重要的指導作用。
2D 轉 3D 的未來想像
目前,利用該技術轉制的 3D 海報內容已經在部分用戶的愛奇藝 APP 端進行灰度測試,隨後將在各終端的 APP 中呈現。
3D 海報 Demo:《流浪地球》。
除了 3D 海報的展示形式之外,愛奇藝 VR 頻道也已經上線了《四海鯨騎》、《靈域》、《萬古仙穹》等多部轉制 3D 劇集。未來該模型也會應用在更多的內容上,讓用戶獲得更好的觀影體驗。
參考文獻:
[1]Xie J, Girshick R, Farhadi A. Deep3d: Fully automatic 2d-to-3d video conversionwith deep convolutional neural networks[C]//European Conference on ComputerVision. Springer, Cham, 2016: 842-857.
[2]Garg R, BG V K, Carneiro G, et al. Unsupervised cnn for single view depthestimation: Geometry to the rescue[C]//European Conference on Computer Vision.Springer, Cham, 2016: 740-756.
[3] Godard C, Mac Aodha O, Brostow G J. Unsupervisedmonocular depth estimation with left-right consistency[C]//Proceedings of theIEEE Conference on Computer Vision and Pattern Recognition. 2017: 270-279.
[4] Zhou T, Brown M, Snavely N, et al. Unsupervised learningof depth and ego-motion from video[C]//Proceedings of the IEEE Conference onComputer Vision and Pattern Recognition. 2017: 1851-1858.
[5] Huang X, Belongie S. Arbitrary style transfer inreal-time with adaptive instance normalization[C]//Proceedings of the IEEEInternational Conference on Computer Vision. 2017: 1501-1510.
[6] Zhu J Y, Zhang R, Pathak D, et al. Toward multimodal image-to-imagetranslation[C]//Advances in neural information processing systems. 2017:465-476.
[7] Zhang H, Shen C, Li Y, et al. Exploitingtemporal consistency for real-time video depth estimation[C]//Proceedings ofthe IEEE International Conference on Computer Vision. 2019: 1725-1734.
[8] Tananaev D, Zhou H, Ummenhofer B, et al. TemporallyConsistent Depth Estimation in Videos with RecurrentArchitectures[C]//Proceedings of the European Conference on Computer Vision(ECCV). 2018: 0-0.
[9] Lin J, Gan C, Han S. Tsm: Temporal shift module forefficient video understanding[C]//Proceedings of the IEEE InternationalConference on Computer Vision. 2019: 7083-7093.
[10] Wang T C, Liu M Y, Zhu J Y, et al. Video-to-videosynthesis[J]. arXiv preprint arXiv:1808.06601, 2018.
[11]Yu J, Lin Z, Yang J, et al. Free-form imageinpainting with gated convolution[C]//Proceedings of the IEEE InternationalConference on Computer Vision. 2019: 4471-4480.
參考連結:https://mp.weixin.qq.com/s/CpK0b5buUvG_HqF3mGzUyg