付傲威,趙 敏,羅 令,邢 妍,鄧 歡,王瓊?cè)A*
(1. 四川大學(xué) 電子信息學(xué)院,四川 成都 610065;2. 北京航空航天大學(xué) 儀器科學(xué)與光電工程學(xué)院, 北京 100191)
近年來,顯示技術(shù)越來越重要,人們已經(jīng)不再滿足于傳統(tǒng)的2D(Two-dimensional,二維)顯示,對于3D(Three-dimensional,三維)顯示的需求越來越迫切。裸眼3D顯示無需借助眼鏡或頭盔等輔助設(shè)備即可重建出3D圖像,引起了諸多研究人員的關(guān)注[1-5]。自由立體顯示作為裸眼3D顯示技術(shù)的一種,能夠得到清晰的3D效果。自由立體顯示需要獲取3D圖像,傳統(tǒng)3D獲取方法利用相機陣列對真實的目標(biāo)場景進行拍攝,得到不同角度的視差信息,但存在成本過高以及標(biāo)定、傳輸及存儲困難的問題。當(dāng)目標(biāo)場景為虛擬場景時,可在3D建模軟件中搭建相機陣列進行3D獲取,但存在渲染時間過長和難以實現(xiàn)3D實時獲取等問題[6-7]。利用深度圖像繪制(Depth Image Based Rendering,DIBR)技術(shù)合成虛擬視點圖像的方法具有成本低和繪制速度快等諸多優(yōu)勢,被認(rèn)為是一種有效的3D獲取方法[8-9]?;贒IBR的虛擬視點圖像生成利用參考視點的紋理圖像和深度圖像,通過3D Warping變換獲得特定位置的虛擬視點圖像[8]。然而上述兩種方法都受到深度圖像精度和場景遮擋區(qū)域的影響,導(dǎo)致生成的虛擬視點圖像存在明顯的空洞和偽影,影響了自由立體圖像的合成質(zhì)量和自由立體顯示效果。
深度卷積神經(jīng)網(wǎng)絡(luò)(Deep convolutional neural networks,DCNN)是一種新興的圖像生成和修復(fù)技術(shù),該技術(shù)通過對樣本圖像的學(xué)習(xí),可以實現(xiàn)圖像超分辨率重建、圖像去噪和圖像修復(fù)[10-12]。Pathak提出基于語義的深度卷積神經(jīng)網(wǎng)絡(luò),通過學(xué)習(xí)圖像特征,生成圖像缺失部分的預(yù)測圖,最終實現(xiàn)缺失圖像的修復(fù)。該方法能夠修復(fù)大面積圖像空洞,但紋理信息失真嚴(yán)重,需要大量的樣本圖像對網(wǎng)絡(luò)進行訓(xùn)練,訓(xùn)練成本高、耗時長[13]。Yang提出一種多尺度卷積神經(jīng)網(wǎng)絡(luò),通過對圖像特征和紋理特征進行學(xué)習(xí),實現(xiàn)了高分辨率的圖像修復(fù)。該方法能夠還原圖像紋理,但圖像部分內(nèi)容修復(fù)不全,需要大量訓(xùn)練集[14]。
本文提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的虛擬視點合成方法。該方法給定一個隨機初始化神經(jīng)網(wǎng)絡(luò)作為虛擬視點圖像先驗,經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不斷迭代對生成的虛擬視點圖像進行修復(fù),能夠有效去除虛擬視點圖像的空洞和偽影,得到高質(zhì)量的虛擬視點圖像。該方法無需大量訓(xùn)練集,且耗時較短。合成的多幅虛擬視點圖像可交織生成自由立體圖像,用于自由立體顯示。實驗結(jié)果表明,所提方法能夠有效提升虛擬視點圖像的質(zhì)量,應(yīng)用在自由立體顯示裝置上,具有良好的自由立體顯示效果。
圖1 所提方法的流程圖Fig.1 Principle of the proposed method
本文所提的基于深度卷積神經(jīng)網(wǎng)絡(luò)的虛擬視點合成方法的流程如圖1所示,該方法包括3個過程:(1)虛擬視點圖像生成過程:輸入?yún)⒖家朁c紋理圖像和深度圖像,進行3D Warping變換,得到多幅虛擬視點圖像;(2) 虛擬視點圖像修復(fù)過程:利用深度卷積神經(jīng)網(wǎng)絡(luò)對生成的虛擬視點圖像進行修復(fù),得到無空洞和偽影的虛擬視點圖像;(3) 自由立體圖像合成過程:利用像素映射算法,將修復(fù)后的虛擬視點圖像交織成自由立體圖像,用于自由立體顯示。
DIBR虛擬視點圖像生成是通過3D Warping變換生成目標(biāo)視點視差圖像的過程,其原理如圖2所示。3D Warping變換包括兩個步驟:(1)利用已知的深度信息,將參考視點紋理圖像反向投影到3D空間中;(2)將3D空間點重投影到虛擬成像平面,得到對應(yīng)的虛擬視點圖像。
參考視點圖像的反向投影和重投影過程表示為:
(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為參考視點圖像平面的像素齊次坐標(biāo),Kr,Rr,tr分別表示參考視點對應(yīng)攝像機的內(nèi)部矩陣、旋轉(zhuǎn)矩陣及平移矩陣。Kv,Rv,tv分別表示虛擬視點對應(yīng)攝像機的內(nèi)部矩陣、旋轉(zhuǎn)矩陣及平移矩陣,d(u,v)表示(u,v)位置對應(yīng)的深度值,(l,m,n)T表示虛擬視點位置,對參考視點紋理圖像執(zhí)行反向投影和重投影兩個操作,即可生成目標(biāo)位置的虛擬視點圖像。
圖2 基于DIBR的虛擬視點圖像生成原理示意圖Fig.2 Schematic diagram of the virtual viewpoint image generation based on DIBR
受深度圖像精度和場景遮擋區(qū)域的影響,利用DIBR技術(shù)生成的虛擬視點圖像存在明顯的空洞和偽影。因此,需要對虛擬視點圖像進行修復(fù),去除空洞和偽影。所提方法利用一個隨機初始化的卷積神經(jīng)網(wǎng)絡(luò)作為圖像先驗,基于虛擬視點圖像和任務(wù)依賴的觀測模型,通過不斷迭代使模型參數(shù)逼近最大似然,最終輸出修復(fù)后的虛擬視點圖像[10]。隨機初始化卷積神經(jīng)網(wǎng)絡(luò)作為圖像先驗,通過迭代修復(fù)虛擬視點圖像,無需大量的訓(xùn)練圖像,因此大大節(jié)省了資源和時間。
所提方法從隨機分布中采樣虛擬視點圖像數(shù)據(jù),并基于該數(shù)據(jù)分布限制受損觀測樣本分布,從而對虛擬視點圖像進行修復(fù)。圖像修復(fù)任務(wù)可以被認(rèn)為是能量最小化問題,表示為:
(3)
其中E(x;x0)是一個任務(wù)依賴的數(shù)據(jù)項,x*表示修復(fù)后的虛擬視點圖像,x表示網(wǎng)絡(luò)輸出,x0為未修復(fù)的虛擬視點圖像,R(x)是一個正則化項,用來抓取虛擬視點圖像的通用先驗。所提方法采用卷積神經(jīng)網(wǎng)絡(luò)來代替R(x),卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)化表征形式為:x=fθ(z),x∈R3×H×E,z∈RC×H×W,其中z為編碼張量,θ為網(wǎng)絡(luò)參數(shù)。
(4)
其值選取如下:
(5)
圖3 虛擬視點圖像的修復(fù)過程示意圖Fig.3 Schematic diagram of virtual viewpoint image inpainting
在隨機初始化卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,給定一個隨機權(quán)重θ0,采用隨機梯度下降算法訓(xùn)練,經(jīng)過多次迭代,得到最優(yōu)參數(shù)θ*,使生成的虛擬視點圖像不斷逼近初始的虛擬視點圖像,最終獲得修復(fù)后的虛擬視點圖像。
采用的卷積神經(jīng)網(wǎng)絡(luò)為編解碼的網(wǎng)絡(luò)結(jié)構(gòu),編碼過程包括卷積、下采樣、批量標(biāo)準(zhǔn)化以及修正線性單元激活過程,對生成的虛擬視點圖像特定進行學(xué)習(xí)。解碼過程包括批量標(biāo)準(zhǔn)化、卷積、修正線性單元激活和上采樣過程,最終輸出修復(fù)后的虛擬視點圖像。虛擬視點圖像的修復(fù)過程如圖3所示,其中di表示第i次迭代的編碼過程,ui表示第i次迭代的解碼過程,si表示第i次迭代的殘差連接過程,將di層輸出和ui層輸入連接在一起,實現(xiàn)跳躍式傳遞。經(jīng)過一次編解碼過程,完成一次迭代,多次迭代,最終輸出修復(fù)后的虛擬視點圖像。
自由立體圖像由多幅修復(fù)后的虛擬視點圖像的像素按照視點矢量渲染算法映射生成[7]。合成的自由立體圖像的子像素按照虛擬視點圖像的視點順序連續(xù)分布,自由立體圖像的像素結(jié)構(gòu)如圖4所示,可以看出[15],每幅虛擬視點圖像像素已填充到單個柱透鏡單元覆蓋的全部子像素位置。
圖4 自由立體圖像與虛擬視點的關(guān)系示意圖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。由細(xì)節(jié)放大圖可以看出,受場景遮擋關(guān)系的影響,生成的虛擬視點圖像中,人物和圖像邊緣存在明顯的黑洞,背景區(qū)域存在大量細(xì)微的黑洞。由于視點1和8與參考視點5距離最遠(yuǎn),其對應(yīng)生成的虛擬視點圖像黑洞區(qū)域最大。將生成的8幅虛擬視點圖像分別輸入深度卷積神經(jīng)網(wǎng)絡(luò),對虛擬視點圖像進行不斷迭代,每50次迭代輸出一幅對應(yīng)的虛擬視點圖像,迭代過程如圖6所示。由圖中可以看出,當(dāng)?shù)螖?shù)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 未修復(fù)和修復(fù)后的虛擬視點圖像。(a)未修復(fù)的虛擬視點圖像;(b)修復(fù)后的虛擬視點圖像。Fig.7 Unrepaired and restored virtual viewpoint images. (a) Unrepaired virtual viewpoint images; (b) Restored virtual viewpoint images.
圖8 本文所提方法與傳統(tǒng)方法修復(fù)的虛擬視點圖像PSNR對比圖Fig.8 Comparison of PSNR of virtual viewpoint images inpainting by the proposed method and traditional method
8幅未修復(fù)和修復(fù)后的虛擬視點圖像如圖7所示。圖7(a)為利用3D Warping變換直接生成的虛擬視點圖像,圖7(b)為經(jīng)過深度卷積神經(jīng)網(wǎng)絡(luò)修復(fù)后的虛擬視點圖像。由圖7(a)和7(b)的細(xì)節(jié)放大圖對比可以看出,修復(fù)后的1和8視點圖像的空洞區(qū)域得到了很好的修復(fù),同時背景區(qū)域中小的空洞也得到了填充。
為驗證所提方法的有效性,將修復(fù)后的虛擬視點圖像與傳統(tǒng)像素填充方法修復(fù)后的虛擬視點圖像進行了對比。不同虛擬視點個數(shù)下,兩種方法的PSNR(峰值信噪比)值對比結(jié)果如圖8所示。本文所提方法中,修復(fù)后的虛擬視點圖像的PSNR均值為25.6,而傳統(tǒng)像素填充方法修復(fù)后的虛擬視點圖像的PSNR均值為22.5之間。由實驗結(jié)果可知,所提方法對虛擬視點圖像的修復(fù)效果優(yōu)于傳統(tǒng)方法。
實驗采用視點矢量渲染算法,將修復(fù)后的8幅虛擬視點圖像合成為分辨率3 840×2 160的自由立體圖像,并在斜率為0.181 8的8視點自由立體顯示器上進行顯示,不同視角的再現(xiàn)3D圖像如圖9所示。可以看出,隨著視角從左向右進行移動,芭蕾舞者手部與墻上貼圖之間的距離逐漸增大。實驗結(jié)果表明,所提方法生成的虛擬視點圖像應(yīng)用在自由立體顯示器上,具有較好的3D顯示效果。
圖9 不同視角的再現(xiàn)3D圖像。(a)左視角;(b)正視角;(c)右視角。Fig.9 Reconstructed 3D images with different views.(a) Left view; (b) Positive view; (c) Right view.
本文提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的虛擬視點生成方法。該方法采用深度卷積神經(jīng)網(wǎng)絡(luò)對虛擬視點圖像的空洞和偽影進行修復(fù),并將修復(fù)后的虛擬視點圖像通過視點矢量渲染算法合成自由立體圖像,應(yīng)用在自由立體顯示器上,實現(xiàn)了較好的3D顯示效果。實驗結(jié)果表明,所提方法生成的虛擬視點圖像質(zhì)量相比傳統(tǒng)方法有明顯提升。