2d的公式_用深度学习实现 2D 到 3D 的转换
隨著 5G 時代的到來,VR 端應用呈爆發式增長,3D 內容作為構建 VR 生態的主力輸出一直深受廣大用戶的追捧和喜愛。針對目前 3D 內容過少,質量不高、生產昂貴等現狀,愛奇藝作為國內領先的互聯網視頻媒體,自然首當其沖,以真實世界的 3D 內容為基礎,研究2D 轉 3D 技術,實現更優質的 VR 端的 3D 內容生態的構建,滿足更多用戶的日常需求。
相對于 2D 內容,優質的 3D 內容有輸出符合真實景深關系的能力,讓用戶在觀看時具有更好的觀影體驗。下面我們從技術的角度,介紹愛奇藝如何賦予2D內容真實的景深關系,實現 2D 內容到 3D 內容的轉換。
面臨的挑戰
目前 2D 轉 3D 技術主要問題是轉制成本太高,不能大面積使用,如使用一般的策略很難適用多種場景的真實 3D 視差關系,這很容易讓用戶感到不適。
綜合以上原因,我們考慮采用深度學習方法,通過對大量 3D 電影(side-by-side 的雙目介質)真實視差的學習與建模,完成單目視圖到雙目視圖的轉換。
以下是 2D 轉 3D 技術面臨的幾個挑戰:
- 數據集質量
- 幀間抖動
- 3D 效果的評價指標難以量化
模型原型思路
通過對大量用戶的調研發現,除去特效場景刺激眼球外,3D 介質的 3D 感知越符合真實世界越受用戶喜愛,因此在模型構建上必須符合真實世界的 3D 觀感——雙目視覺
圖1雙目相機成像與視差原理
如 圖 1 左 所示,兩個相機拍攝同一場景生成的圖像會存在差異,這種差異叫視差,其產于與真實的三維空間。視差不能通過平移消除,同時離相機近的物體視差偏移較大,反之越小。
人的左右眼就如同圖中的左右相機一樣,分別獲取對應圖像后,通過大腦合成處理這種差異,從而獲取真實世界的 3D 感知,通過 圖 1 右 可得出視差與相機焦距和軸間距間的關系:
公式(1)
其中為物體距離相機的深度,為三維映射到二維的圖像平面,為相機焦距,為兩個相機間的距離軸間距,和分別為物體在左右不同相機中成像的坐標,因此可知左右圖對應像素和的視差。
同時,考慮到轉制的對象為 2D 介質,因此,通過單目深度估計合成新視點的算法原型誕生:通過 公式(1) 可知,假設有一個函數那么就有:
公式(2)
通過 公式(2) 可知,只需要將 圖1左 作為訓練輸入, 圖1 右 作為參考,即可建立深度學習模型,通過大量雙目圖片對訓練估計出函數 。這樣就可在已知相機參數 ( , ) 的前提下獲取對應的深度值 ,完成單目深度估計的任務。
通過 公式(1) 與 公式(2) 可以發現,深度與視差成反比,因此深度估計和視差估計的方法可以互用。Deep3D[1] 雖然通過視差概率估計實現2D到3D介質的轉換,但固定視差的設定,難以適應不同分辨率2D介質輸入;
方法[2]沒有充分利用雙目信息作指導,景深不夠細; monodepth[3] 在方法[2]的基礎上,充分利用了雙目信息進行對抗指導,學習到更多深度細節;
SfmLearner[4] 這類方法引入幀間時序信息,結構較復雜,運行速度慢。因此通過實現及適用性考慮最終我們選擇以 monodepth 為 baseline,其框架結構如 圖2 所示:
圖2 monodepth 框架圖
通過 圖2 框架可以看出,該框架在訓練過程充分利用雙目的有效信息作指導,同時測試過程也只需要單目圖片進行輸入,所以非常適合用于 2D 轉 3D 技術的框架。
模型演變
解決相機問題
在 Baseline 模型的基礎上,如果直接使用混合的 3D 電影數據集進行訓練,模型將無法收斂或預測不穩定,一個最主要的問題是不同電影使用不同相機參數的攝像機進行拍攝,即使兩個非常相似的電影場景,在不同的兩部電影中也會有不同的景深分布,表現在模型訓練中即為不同的視差值。
與此同時,不同電影的后處理方式,以及會聚相機的引入,會進一步增加建模的難度。在分析相似案例的處理方法中,我們發現可以通過引入條件變分自編碼器(CVAE),在訓練過程中,把每一組訓練集(左右視圖)通過網絡提取其相機參數等信息,并作為后驗信息通過 AdaIN[5] 的形式引入到單目(左視圖)視差圖預測中,同時參考[6]中的“雙輪訓練”,保證了測試時隨機采樣相機參數分布的正確性。
解決抖動問題
在解決數據集問題后,進行連續幀預測時,發現存在預測不穩定及抖動的問題。在解決視頻生成過程(尤其是連續幀深度圖預測)的抖動問題中,目前最為常見的方案包含基于幀間 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 模塊,用以引入后驗相機參數信息。最終,在解決相機參數導致數據集問題的同時,模型能夠得到穩定且連續的視差圖輸出。
解決“空洞”填補問題
由于新視角的生成,會使部分原本被遮擋的區域在新視角中顯露出來,這些信息僅從左視圖中是無法獲取的,即使通過前后幀的光流信息也很難還原。在生成新視角的后處理過程中,我們參考[11]的模型框架設計,通過視差圖來指導獲取產生的“空洞”區域,通過圖像修補技術解決新視角的“空洞”問題。
3D 效果測評 由于拍攝條件不同會導致 3D 效果不同,所以在 2D 轉 3D 效果測評中,我們用大量人力對預測的視差圖和成片在 VR 中的 3D 效果進行綜合性的評測。視差圖估計如圖4:
圖4 各種場景下的單目視差估計
應用擴展
不僅如此,視差圖的預測也能轉化為相對深度值,被應用到其他方面,例如 3D 海報。3D 海報是一張 2D 圖片加上其深度關系圖,通過一系列的新視點渲染,得到一組動態的,人能感知的立體影像。 如圖5與圖6所示:
圖5 復仇者聯盟3D海報
圖6 劍干將莫邪3D海報
References
[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.
總結
以上是生活随笔為你收集整理的2d的公式_用深度学习实现 2D 到 3D 的转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: boot spring test 文档_
- 下一篇: 按钮 小程序 弹出菜单_公众号怎么关联小