付傲威,趙 敏,羅 令,邢 妍,鄧 歡,王瓊華*
(1. 四川大學 電子信息學院,四川 成都 610065;2. 北京航空航天大學 儀器科學與光電工程學院, 北京 100191)
近年來,顯示技術越來越重要,人們已經不再滿足于傳統的2D(Two-dimensional,二維)顯示,對于3D(Three-dimensional,三維)顯示的需求越來越迫切。裸眼3D顯示無需借助眼鏡或頭盔等輔助設備即可重建出3D圖像,引起了諸多研究人員的關注[1-5]。自由立體顯示作為裸眼3D顯示技術的一種,能夠得到清晰的3D效果。自由立體顯示需要獲取3D圖像,傳統3D獲取方法利用相機陣列對真實的目標場景進行拍攝,得到不同角度的視差信息,但存在成本過高以及標定、傳輸及存儲困難的問題。當目標場景為虛擬場景時,可在3D建模軟件中搭建相機陣列進行3D獲取,但存在渲染時間過長和難以實現3D實時獲取等問題[6-7]。利用深度圖像繪制(Depth Image Based Rendering,DIBR)技術合成虛擬視點圖像的方法具有成本低和繪制速度快等諸多優勢,被認為是一種有效的3D獲取方法[8-9]。基于DIBR的虛擬視點圖像生成利用參考視點的紋理圖像和深度圖像,通過3D Warping變換獲得特定位置的虛擬視點圖像[8]。然而上述兩種方法都受到深度圖像精度和場景遮擋區域的影響,導致生成的虛擬視點圖像存在明顯的空洞和偽影,影響了自由立體圖像的合成質量和自由立體顯示效果。
深度卷積神經網絡(Deep convolutional neural networks,DCNN)是一種新興的圖像生成和修復技術,該技術通過對樣本圖像的學習,可以實現圖像超分辨率重建、圖像去噪和圖像修復[10-12]。Pathak提出基于語義的深度卷積神經網絡,通過學習圖像特征,生成圖像缺失部分的預測圖,最終實現缺失圖像的修復。該方法能夠修復大面積圖像空洞,但紋理信息失真嚴重,需要大量的樣本圖像對網絡進行訓練,訓練成本高、耗時長[13]。Yang提出一種多尺度卷積神經網絡,通過對圖像特征和紋理特征進行學習,實現了高分辨率的圖像修復。該方法能夠還原圖像紋理,但圖像部分內容修復不全,需要大量訓練集[14]。
本文提出了一種基于深度卷積神經網絡的虛擬視點合成方法。該方法給定一個隨機初始化神經網絡作為虛擬視點圖像先驗,經過卷積神經網絡結構不斷迭代對生成的虛擬視點圖像進行修復,能夠有效去除虛擬視點圖像的空洞和偽影,得到高質量的虛擬視點圖像。該方法無需大量訓練集,且耗時較短。合成的多幅虛擬視點圖像可交織生成自由立體圖像,用于自由立體顯示。實驗結果表明,所提方法能夠有效提升虛擬視點圖像的質量,應用在自由立體顯示裝置上,具有良好的自由立體顯示效果。

圖1 所提方法的流程圖Fig.1 Principle of the proposed method
本文所提的基于深度卷積神經網絡的虛擬視點合成方法的流程如圖1所示,該方法包括3個過程:(1)虛擬視點圖像生成過程:輸入參考視點紋理圖像和深度圖像,進行3D Warping變換,得到多幅虛擬視點圖像;(2) 虛擬視點圖像修復過程:利用深度卷積神經網絡對生成的虛擬視點圖像進行修復,得到無空洞和偽影的虛擬視點圖像;(3) 自由立體圖像合成過程:利用像素映射算法,將修復后的虛擬視點圖像交織成自由立體圖像,用于自由立體顯示。
DIBR虛擬視點圖像生成是通過3D Warping變換生成目標視點視差圖像的過程,其原理如圖2所示。3D Warping變換包括兩個步驟:(1)利用已知的深度信息,將參考視點紋理圖像反向投影到3D空間中;(2)將3D空間點重投影到虛擬成像平面,得到對應的虛擬視點圖像。
參考視點圖像的反向投影和重投影過程表示為:
(x,y,z)T=RrKr-1(u,v,1)Td(u,v)+tr,
(1)
(l,m,n)T=KvRv-1{(x,y,z)T-tv},
(2)
其中,(x,y,z)表示三維空間點,(u,v, 1)T為參考視點圖像平面的像素齊次坐標,Kr,Rr,tr分別表示參考視點對應攝像機的內部矩陣、旋轉矩陣及平移矩陣。Kv,Rv,tv分別表示虛擬視點對應攝像機的內部矩陣、旋轉矩陣及平移矩陣,d(u,v)表示(u,v)位置對應的深度值,(l,m,n)T表示虛擬視點位置,對參考視點紋理圖像執行反向投影和重投影兩個操作,即可生成目標位置的虛擬視點圖像。

圖2 基于DIBR的虛擬視點圖像生成原理示意圖Fig.2 Schematic diagram of the virtual viewpoint image generation based on DIBR
受深度圖像精度和場景遮擋區域的影響,利用DIBR技術生成的虛擬視點圖像存在明顯的空洞和偽影。因此,需要對虛擬視點圖像進行修復,去除空洞和偽影。所提方法利用一個隨機初始化的卷積神經網絡作為圖像先驗,基于虛擬視點圖像和任務依賴的觀測模型,通過不斷迭代使模型參數逼近最大似然,最終輸出修復后的虛擬視點圖像[10]。隨機初始化卷積神經網絡作為圖像先驗,通過迭代修復虛擬視點圖像,無需大量的訓練圖像,因此大大節省了資源和時間。
所提方法從隨機分布中采樣虛擬視點圖像數據,并基于該數據分布限制受損觀測樣本分布,從而對虛擬視點圖像進行修復。圖像修復任務可以被認為是能量最小化問題,表示為:

(3)
其中E(x;x0)是一個任務依賴的數據項,x*表示修復后的虛擬視點圖像,x表示網絡輸出,x0為未修復的虛擬視點圖像,R(x)是一個正則化項,用來抓取虛擬視點圖像的通用先驗。所提方法采用卷積神經網絡來代替R(x),卷積神經網絡的參數化表征形式為:x=fθ(z),x∈R3×H×E,z∈RC×H×W,其中z為編碼張量,θ為網絡參數。

(4)
其值選取如下:

(5)

圖3 虛擬視點圖像的修復過程示意圖Fig.3 Schematic diagram of virtual viewpoint image inpainting
在隨機初始化卷積神經網絡的基礎上,給定一個隨機權重θ0,采用隨機梯度下降算法訓練,經過多次迭代,得到最優參數θ*,使生成的虛擬視點圖像不斷逼近初始的虛擬視點圖像,最終獲得修復后的虛擬視點圖像。
采用的卷積神經網絡為編解碼的網絡結構,編碼過程包括卷積、下采樣、批量標準化以及修正線性單元激活過程,對生成的虛擬視點圖像特定進行學習。解碼過程包括批量標準化、卷積、修正線性單元激活和上采樣過程,最終輸出修復后的虛擬視點圖像。虛擬視點圖像的修復過程如圖3所示,其中di表示第i次迭代的編碼過程,ui表示第i次迭代的解碼過程,si表示第i次迭代的殘差連接過程,將di層輸出和ui層輸入連接在一起,實現跳躍式傳遞。經過一次編解碼過程,完成一次迭代,多次迭代,最終輸出修復后的虛擬視點圖像。
自由立體圖像由多幅修復后的虛擬視點圖像的像素按照視點矢量渲染算法映射生成[7]。合成的自由立體圖像的子像素按照虛擬視點圖像的視點順序連續分布,自由立體圖像的像素結構如圖4所示,可以看出[15],每幅虛擬視點圖像像素已填充到單個柱透鏡單元覆蓋的全部子像素位置。

圖4 自由立體圖像與虛擬視點的關系示意圖Fig.4 Schematic diagram of the relationship between autostereoscopic image and virtual view
實驗采用微軟亞洲研究院提供的“Ballet”圖像集中一個視點的紋理圖像和深度圖像進行測試,虛擬視點圖像生成過程如圖5所示。
圖5(a)和圖5(b)分別為參考視點的紋理圖像和深度圖像,圖5(c)為合成的8幅虛擬視點圖像,每幅圖像的分辨率為1 024×768。由細節放大圖可以看出,受場景遮擋關系的影響,生成的虛擬視點圖像中,人物和圖像邊緣存在明顯的黑洞,背景區域存在大量細微的黑洞。由于視點1和8與參考視點5距離最遠,其對應生成的虛擬視點圖像黑洞區域最大。將生成的8幅虛擬視點圖像分別輸入深度卷積神經網絡,對虛擬視點圖像進行不斷迭代,每50次迭代輸出一幅對應的虛擬視點圖像,迭代過程如圖6所示。由圖中可以看出,當迭代次數n=400次時,虛擬視點圖像的空洞和偽影得到了很好的去除。

圖5 參考視點和虛擬視點圖像。(a)參考視點紋理圖像;(b)參考視點深度圖像;(c)虛擬視點圖像。Fig.5 Reference view and virtual viewpoint images.(a) Reference view texture image; (b) Reference view depth image; (c) 8 virtual view images.

圖6 迭代過程輸出的虛擬視點圖像Fig.6 Output virtual viewpoint images during iteration process

圖7 未修復和修復后的虛擬視點圖像。(a)未修復的虛擬視點圖像;(b)修復后的虛擬視點圖像。Fig.7 Unrepaired and restored virtual viewpoint images. (a) Unrepaired virtual viewpoint images; (b) Restored virtual viewpoint images.

圖8 本文所提方法與傳統方法修復的虛擬視點圖像PSNR對比圖Fig.8 Comparison of PSNR of virtual viewpoint images inpainting by the proposed method and traditional method
8幅未修復和修復后的虛擬視點圖像如圖7所示。圖7(a)為利用3D Warping變換直接生成的虛擬視點圖像,圖7(b)為經過深度卷積神經網絡修復后的虛擬視點圖像。由圖7(a)和7(b)的細節放大圖對比可以看出,修復后的1和8視點圖像的空洞區域得到了很好的修復,同時背景區域中小的空洞也得到了填充。
為驗證所提方法的有效性,將修復后的虛擬視點圖像與傳統像素填充方法修復后的虛擬視點圖像進行了對比。不同虛擬視點個數下,兩種方法的PSNR(峰值信噪比)值對比結果如圖8所示。本文所提方法中,修復后的虛擬視點圖像的PSNR均值為25.6,而傳統像素填充方法修復后的虛擬視點圖像的PSNR均值為22.5之間。由實驗結果可知,所提方法對虛擬視點圖像的修復效果優于傳統方法。
實驗采用視點矢量渲染算法,將修復后的8幅虛擬視點圖像合成為分辨率3 840×2 160的自由立體圖像,并在斜率為0.181 8的8視點自由立體顯示器上進行顯示,不同視角的再現3D圖像如圖9所示。可以看出,隨著視角從左向右進行移動,芭蕾舞者手部與墻上貼圖之間的距離逐漸增大。實驗結果表明,所提方法生成的虛擬視點圖像應用在自由立體顯示器上,具有較好的3D顯示效果。

圖9 不同視角的再現3D圖像。(a)左視角;(b)正視角;(c)右視角。Fig.9 Reconstructed 3D images with different views.(a) Left view; (b) Positive view; (c) Right view.
本文提出了一種基于深度卷積神經網絡的虛擬視點生成方法。該方法采用深度卷積神經網絡對虛擬視點圖像的空洞和偽影進行修復,并將修復后的虛擬視點圖像通過視點矢量渲染算法合成自由立體圖像,應用在自由立體顯示器上,實現了較好的3D顯示效果。實驗結果表明,所提方法生成的虛擬視點圖像質量相比傳統方法有明顯提升。