Categories
程式開發

用深度學習實現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技術面臨的幾個挑戰:

  • 數據集質量
  1. 3D介質中包含大量不符合真實視差關係的雙目視圖
  2. 受相機參數的影響,同類場景的視差在不同的 3D 介質中不統一
  • 幀間抖動
  1. 場景多樣化,需要保證視差預測的連續性與準確性
  2. 重構視圖的遮擋區域空洞的填補
  • 3D 效果的評價指標難以量化
  1. 同類場景具有不同的並且滿足真實世界的視差關係
  2. 3D 效果依靠人工評價,過於主觀

模型原型思路

通過對大量用戶的調研發現,除去特效場景刺激眼球外,3D 介質的 3D 感知越符合真實世界越受用戶喜愛,因此在模型構建上必須符合真實世界的 3D 觀感——雙目視覺

用深度學習實現2D到3D的轉換 1

圖1雙目相機成像與視差原理

圖 1 左 所示,兩個相機拍攝同一場景生成的圖像會存在差異,這種差異叫視差,其產於與真實的三維空間。視差不能通過平移消除,同時離相機近的物體視差偏移較大,反之越小。

人的左右眼就如同圖中的左右相機一樣,分別獲取對應圖像後,通過大腦合成處理這種差異,從而獲取真實世界的 3D 感知,通過 圖 1 右 可得出視差與相機焦距和軸間距間的關係:

用深度學習實現2D到3D的轉換 2

公式(1)

其中$z$ 為物體距離相機的深度,$x$ 為三維映射到二維的圖像平面,$f$ 為相機焦距,$b$ 為兩個相機間的距離軸間距,$x_l$ 和$x_r $ 分別為物體在左右不同相機中成像的坐標,因此可知左右圖對應像素$x_l$ 和$x_r$ 的視差$d(disparity)=x_l-x_r$。

同時,考慮到轉制的對象為2D介質,因此,通過單目深度估計合成新視點的算法原型誕生:通過 公式(1) 可知,假設有一個函數 $F(I_r)=d$ 那麼就有:

用深度學習實現2D到3D的轉換 3

公式(2)

通過 _公式(2) _可知,只需要將 圖1左 作為訓練輸入,圖1右 作為參考,即可建立深度學習模型,通過大量雙目圖片對訓練估計出函數𝐹。這樣就可在已知相機參數(𝑏,𝑓)的前提下獲取對應的深度值𝑧,完成單目深度估計的任務。

通過 公式(1)公式(2) 可以發現,深度與視差成反比,因此深度估計和視差估計的方法可以互用。 Deep3D[1]雖然通過視差概率估計實現2D到3D介質的轉換,但固定視差的設定,難以適應不同分辨率2D介質輸入;

方法[2]沒有充分利用雙目信息作指導,景深不夠細;monodepth[3]在方法[2]的基礎上,充分利用了雙目信息進行對抗指導,學習到更多深度細節;

SfmLearner[4]這類方法引入幀間時序信息,結構較複雜,運行速度慢。因此通過實現及適用性考慮最終我們選擇以monodepth為baseline,其框架結構如 圖2 所示:

用深度學習實現2D到3D的轉換 4

圖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預測時易累計誤差,使得預測變差。

用深度學習實現2D到3D的轉換 5

圖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:

用深度學習實現2D到3D的轉換 6

圖4 各種場景下的單目視差估計

應用擴展

不僅如此,視差圖的預測也能轉化為相對深度值,被應用到其他方面,例如3D海報。 3D海報是一張2D圖片加上其深度關係圖,通過一系列的新視點渲染,得到一組動態的,人能感知的立體影像。如圖5與圖6所示:

用深度學習實現2D到3D的轉換 7

圖5 復仇者聯盟3D海報

用深度學習實現2D到3D的轉換 8

圖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 Con​​ference 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 Con​​ference 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.

本文轉載自公眾號愛奇藝技術產品團隊(ID:iQIYI-TP)。

原文鏈接

https://mp.weixin.qq.com/s?__biz=MzI0MjczMjM2NA==&mid=2247486805&idx=1&sn=9cfa31a04f24b576e01cf74e9bd7fc8a&chksm=e9769176de011860984c7b64223843c8ed6e5b5a862af4f2d2434657608f5b39b7b513d33fb9&scene=27#wechat_redirect