張博文,周 洋,殷海兵
杭州電子科技大學 通信工程學院,杭州310018
相較于二維平面多媒體服務(wù),三維(Three-Dimension,3D)立體多媒體服務(wù)能給觀眾帶來身臨其鏡的真實感,極大地引起用戶的關(guān)注。近幾年來,裸眼立體視頻、虛擬現(xiàn)實等3D 多媒體服務(wù)已走入家庭。3D 多媒體技術(shù)是人類通過左眼和右眼分別獲得具有視差信息的左右視點場景信息,并在大腦中相互融合得到具有立體感的三維信息。在3D 視頻技術(shù)中,人們利用雙目攝像機分別對同一場景進行拍攝,然后再依靠計算機視覺技術(shù)獲得立體視頻圖像。但如何依靠計算機視覺技術(shù)獲得更高質(zhì)量的3D視頻圖像是研究者的主要目標。
在3D視頻中,自由視點視頻(Free-Viewpoint Video,F(xiàn)VV)技術(shù)是一個非常重要的發(fā)展方向,該視頻格式是由視頻信息加深度信息組成。在解碼端通過虛擬視點繪制技術(shù)合成不同視角的視頻圖像,可廣泛應(yīng)用于虛擬現(xiàn)實和3D視頻信號處理過程中。為了能夠獲取任意視點條件下所能觀察到的圖像,最原始的方法是在不同視點處均設(shè)置攝像機采集圖像。然而無論使用多少部攝像機同時對某個事物進行攝錄,最終都無法獲取任意視點所觀察的圖像。但依靠視點合成技術(shù)可以根據(jù)已拍攝的圖像近似繪制出未知視點處的圖像,從而極大地減少了拍攝相機的布置數(shù)。然而當前繪制技術(shù)會產(chǎn)生空洞、偽影、偏移等缺陷,嚴重影響了用戶體驗質(zhì)量。
虛擬視點繪制方法根據(jù)實現(xiàn)手段和輔助工具可劃分為基于模型繪制(Model Based Rendering,MBR)、基于幾何圖形繪制(Graph Based Rendering,GBR)和基于圖像繪制(Image Based Rendering,IBR)三種方法。而基于深度圖像繪制(Depth Image Based Rendering,DIBR)是一種基于參考視點的紋理圖和其相應(yīng)的深度圖,通過3D 映射方程繪制虛擬視點圖像的合成方法[1-2]。由于繪制速度快,復雜度比一般繪制方法低,因此被廣泛用于自由視點視頻合成過程中。DIBR的基本流程如圖1所示。
圖1 虛擬視點合成簡要流程圖
DIBR 過程可以描述為:首先把一個或多個參考視點圖像逆向投影到世界坐標系中; 然后重新投影到虛擬視點平面,并通過圖像融合得到目標視點的虛擬視圖,再經(jīng)過后處理得到目標視點圖像。DIBR 技術(shù)核心步驟為三維圖像變換(3D Image Warping,3D-warping),該方法通過三維變換方程將參考圖像像素點映射到目標視圖中,從而形成和參考圖像相對應(yīng)的目標視圖[1,3]。
圖2所示為3D-warping的坐標關(guān)系圖。在圖2中可以看到3D-warping 過程將世界坐標(O-Wx,Wy,Wz)、攝像機坐標(Cam-Xc,Yc,Zc)、圖像平面坐標(x,y)和像素坐標(u,v)之間的關(guān)系連接,四種坐標系呈逐層關(guān)聯(lián)。圖像坐標系是像素坐標系在圖像平面上經(jīng)過平移得到。
圖2 3D-warping坐標關(guān)系圖
假設(shè)圖像像素點p 坐標為(u,v),內(nèi)參矩陣為C ,fx和fy分別為像素水平方向和像素豎直方向上的焦距,(u0,v0)為主點的實際位置,其中:
相機外參矩陣M 如公式(2)所示,矩陣R 表示相機在空間中的旋轉(zhuǎn)矩陣,向量T 表示相機在空間中的平移向量,px、py、pz分別表示攝像機在空間坐標中在x、y、z 方向上的平移量。
其中:
假設(shè)原視點的圖像坐標、相機內(nèi)參矩陣、空間旋轉(zhuǎn)矩陣和平移向量分別為p1、C1、R1和T1,目標視點的圖像坐標、相機內(nèi)參矩陣、空間旋轉(zhuǎn)矩陣和平移向量分別為p2、C2、R2和T2,世界坐標為W ,空間像素點p1和p2的深度值為Z1和Z2。從p1經(jīng)過運算得到p2的過程如公式(3)所示:
其中,攝像機坐標系(Xc,Yc,Zc)和世界坐標系(Wx,Wy,Wz)進行轉(zhuǎn)換如公式(4)所示,該轉(zhuǎn)換過程本質(zhì)上表示坐標軸經(jīng)過三維旋轉(zhuǎn)和平移的過程。
針對3D-warping帶來的不足之處,一些研究者針對繪制方程提出改進方法。Zhu等人[1]提出的方法中將左視圖為主要視圖進行正向3D-warping繪制圖像,右視圖為輔助視圖進行反向3D-warping 將繪制圖像的未賦值區(qū)域填充。郭秋紅等人[4]提出在3D-warping 過程中加入坐標調(diào)整系數(shù)以提高虛擬視點繪制質(zhì)量。該研究表明在繪制方程中加入可調(diào)節(jié)因子可以減少繪制過程中產(chǎn)生的問題,同時能提高繪制圖像質(zhì)量。
在虛擬視點圖像合成過程中會產(chǎn)生重疊、偽影和空洞等繪制缺陷,研究者針對虛擬視點繪制過程產(chǎn)生的重疊、偽影和空洞問題提出許多解決方法以提升繪制圖像質(zhì)量。
下面將對這些問題逐一進行分析。
在虛擬視點繪制過程中,由于深度圖中的深度值不是連續(xù)分布,導致3D-warping過程中前景區(qū)域的圖像和背景區(qū)域的圖像產(chǎn)生不同距離的位移,導致前景和背景的遮擋關(guān)系發(fā)生改變,目標視點視圖上同一個坐標位置會出現(xiàn)多個投影過來的像素點;然而,一個坐標位置只能選擇一個像素點進行投影,所以當多個像素點投影過來時,先投影的像素可能會被后來的像素覆蓋,這就產(chǎn)生了繪制過程中的重疊現(xiàn)象[3,5],如圖3(a)中所示。此外,深度圖中錯誤的深度信息也會導致繪制過程中背景區(qū)域覆蓋前景區(qū)域圖像,削去部分前景圖像[6]。
圖3 虛擬視點繪制產(chǎn)生的問題
目前解決重疊問題最常用的方法是Z-buffer 方法。該方法將投射到同一個位置的所有像素按對應(yīng)的深度值由小到大排列,選取深度值最小的像素點投射至虛擬視點處,這樣能方便地解決重復賦值的問題。梁海濤等人[7]對DIBR方法提出了一種新的改進方法以自適應(yīng)一投四算法和Z-buffer算法處理裂縫和像素重疊問題。該方法將前景區(qū)域的邊緣進行劃分,然后將前景灰度值和背景灰度值之間形成梯度過渡,直到背景邊緣像素差值小于某個閾值為止。李英等人[8]采用基于Z-buffer的正向映射方法合成目標視點的彩色圖和深度圖。婁達平等人[9]提出將像素位置附近的映射像素點做統(tǒng)計,并選擇深度值最小的像素點進行映射。
在深度圖的采集過程中,距離鏡頭比較近的點所獲得的深度值越大,根據(jù)這一特性最好在深度圖進行3Dwarping 的過程中設(shè)置深度值判斷條件,若已投影位置有深度值更小的像素投射,則將該像素進行覆蓋。該方法可避免背景像素將前景像素遮擋導致前景區(qū)域部分消失的現(xiàn)象。
在圖像繪制后的效果圖中,合成的虛擬視點圖像背景區(qū)域往往會出現(xiàn)前景物體的邊緣輪廓,這種現(xiàn)象被稱作圖像偽影,又被稱為虛假邊緣[6,10],它表現(xiàn)為落在背景上的前景輪廓狀紋理。DIBR所選取的彩色圖像和深度圖像邊緣并非完全相同,由于深度圖與彩色圖邊緣存在差異,彩色圖像在前景和背景交界處存在平滑的過渡,而在深度圖中邊緣處存在明顯的突變,導致前景邊緣像素映射在背景區(qū)域形成偽影[5,11],如圖3(b)所示。
研究者提出過許多去除圖像偽影的方法。Li等人[5]提出這種現(xiàn)象是由于前后背景區(qū)域的深度不連續(xù)導致,因此可以通過深度圖預處理減少偽影產(chǎn)生,或者使用色彩校正方法將前景與背景之間的顏色差異。楊婕等人[12]采用了形態(tài)學膨脹空洞的邊緣檢測方法,該方法將前景像素中邊緣區(qū)域進行檢測,將可能映射至背景區(qū)域的像素也視作空洞進行處理。王等人[13]在視覺認知角度針對圖像去霧的效果提出了一種邊緣約束的快速求解方法,該方法可以有效抑制圖像處理中的偽輪廓效應(yīng)。
偽影區(qū)域的產(chǎn)生本質(zhì)上是前景像素被繪制到背景像素區(qū)域?qū)е隆T?D-warping過程中,一些前景像素被投射至空洞區(qū)域內(nèi),在視覺上形成島狀分布。島嶼狀的投射像素可通過對空洞區(qū)域進行擴散,以消去產(chǎn)生的島狀投射像素區(qū)域,以免在空洞填充的過程內(nèi)造成影響。
在填充因遮擋產(chǎn)生的空洞區(qū)域時為了防止前景區(qū)域的像素參與計算,通過從背景區(qū)域向前景區(qū)域進行擴散的填充方法可以避免前景像素和背景像素同時參與填充過程,減少偽影區(qū)域的產(chǎn)生。而卷積神經(jīng)網(wǎng)絡(luò)運用于偽影去除的方法也被使用。Li 等人[14]提出一種魯棒性較高的圖像偽影去除網(wǎng)絡(luò),這種單一模型方法通過圖像的全局特征有效去除圖像中的偽影區(qū)域。Li 等人[15]根據(jù)DIBR的圖像以及所擁有的參考視點圖像通過卷積神經(jīng)網(wǎng)絡(luò)進行端對端的空洞去除方法,將DIBR 圖像中的偽影進行去除得到質(zhì)量更高的繪制圖像。
由于前景和背景部分發(fā)生重疊,導致在虛擬視點繪制后前景部分發(fā)生偏移,而前景部分和背景部分移動距離的不同導致原先屬于前景的像素區(qū)域轉(zhuǎn)變?yōu)楸尘皡^(qū)域,但投影時并沒有新像素對這些區(qū)域進行賦值;此外再加上由于深度值不連續(xù),新產(chǎn)生的背景部分無法根據(jù)原有的深度值重新進行賦值,使得原先不可見的區(qū)域變成可見區(qū)域,從而產(chǎn)生了空洞[16-17],空洞問題如圖3(c)所示。此外,在DIBR 合成后由于所求像素并非整數(shù)而需進行四舍五入取整處理,導致某些像素點位置沒有賦值進而形成裂縫狀空洞[6,16]。如何解決空洞問題是虛擬視點繪制過程圖像質(zhì)量提升的核心。
空洞處理的方法可根據(jù)是否直接對缺陷區(qū)域進行處理分為兩類:直接操作的方法例如空洞等進行填補;間接操作的方法如提升參考圖像質(zhì)量;縮小空洞或減少空洞數(shù)量。
2.3.1 空洞填補
空洞填補可以理解為根據(jù)已知信息將圖像中缺失信息進行填補,以達到和完整部分在視覺效果上協(xié)調(diào)的操作。該方法相當于人類在空洞部分進行繪畫操作,將未完成的圖像部分繪畫以填補完整,因此空洞填補方法是絕大多數(shù)研究者選擇的方法。根據(jù)所使用數(shù)據(jù)來源空洞填補方法可分為背景重建、圖像補全和其他圖像填充方法。
(1)背景重建
背景重建方法是運用各種數(shù)據(jù)模型對圖像背景部分進行重建,最后將前景部分填充背景圖像中合成虛擬視點圖像。Rahaman等人[10]利用高斯混合模型(Gaussian Mixture Model,GMM)來分離前景部分和背景部分,通過來自相應(yīng)GMM 模型和變形圖像的像素強度的自適應(yīng)加權(quán)平均值進行修復,通過該模型合成的圖像可以互相將各自的空洞進行遮擋,從而達到填充空洞的目的。Xi 等人[16]提出一種基于時空紋理合成的基于深度圖像的DIBR 方法,該方法通過提取輸入視頻信息中背景部分的畫面,保持原始序列的靜止場景的子畫面,采用有用的結(jié)構(gòu)信息來恢復虛擬視圖圖像中缺少的部分。Zhu 等人[18]發(fā)現(xiàn)GMM 對于往復運動的序列性能較差,因此提出了一種改進的基于GMM 的方法以避免前景像素被誤分類為背景像素,并使用深度信息來調(diào)整GMM中的學習率。
(2)圖像補全
圖像補全(Image-Inpainting)是填充圖像空洞的重要方法之一。該方法根據(jù)圖像自身或源于圖像庫的信息來補全待修復圖像的缺失區(qū)域,使得修復后的圖像看起來非常自然,難以和未受損的圖像區(qū)分開。目前Inpainting算法發(fā)展非常成熟。
Inpainting方法可以分為基于樣本方法和基于模型方法,基于樣本的方法占大多數(shù)。此類方法通過對圖像樣本的采樣區(qū)域圖像進行分析并且找到與被填補區(qū)域最佳的匹配區(qū)域,最終進行修復。有研究者利用紋理相似度進行圖像空洞填補,Zhu 等人[19]提出對空洞周圍的像素進行識別,并使用識別出的孔周圍未遮擋的背景信息以及遮擋的背景信息進行孔填充。Voronin等人[20]在Image-Inpainting算法中進行邊緣重構(gòu)的方法,該算法基于三次樣條構(gòu)建復合曲線的圖像,可恢復圖像的對象邊界。Cho等人[21]將背景區(qū)域先于前景區(qū)域進行填充,同時將與背景相關(guān)的數(shù)據(jù)填充在邊界區(qū)域以減少偽影。Kim等人[22]提出一種可靠標簽傳播方法,相鄰視圖和前一幀中使用的可靠標簽傳播到要填充的目標圖像。
在Inpainting方法中,Criminisi等人[23]提出了經(jīng)典的等照度線驅(qū)動的優(yōu)先權(quán)計算方法。該算法首先對輸入圖像進行邊緣和空洞檢測,然后標記空洞區(qū)域并篩選空洞邊緣像素。接著計算邊緣像素的優(yōu)先級。下一步根據(jù)優(yōu)先級依次填充邊緣像素,填充過程將根據(jù)匹配塊搜索到最佳匹配區(qū)域進行。一輪結(jié)束后,重新空洞邊緣檢測,進行下一輪的填充,直至填充完畢全部空洞為止[23]。
Criminisi 算法是根據(jù)空洞圖像中的完好區(qū)域進行搜索并得到最佳的匹配像素進行填充的方法。但是這種方法只考慮圖像相鄰像素的一致性并未考慮圖像序列之間的關(guān)聯(lián),因此可能導致修復后的圖像產(chǎn)生令人感到不舒適的斑塊。
國內(nèi)外研究者針對Criminisi 算法的不足之處提出很多改進方法,特別是針對該算法中優(yōu)先級計算方式改進以及搜索區(qū)域算法提升做出許多貢獻。陶兆勝等人[24]發(fā)現(xiàn)圖像紋理會很大程度影響繪制效果,因此提出利用圖像修復點的邊緣分辨因子,即所在處法線兩側(cè)兩區(qū)域的平均值之差進行繪制。Cheng等人[25]將優(yōu)先項的計算公式中置信項進行指數(shù)運算,減少置信項權(quán)重,增加數(shù)據(jù)項的權(quán)重,以減少在繪制過程中置信項產(chǎn)生的繪制錯誤。Wang等人[26]提出了一種非直接Criminisi方法,該方法根據(jù)圖像像素的校準參數(shù)確定圖像繪制的方向,然后根據(jù)以最小RGB之和為參考標準的匹配塊進行空洞填充。
在改進方法中,增加深度信息可以減少前景部分的錯誤擴散,同時提升深度圖的邊緣繪制質(zhì)量。Zhu 等人[18]將最大深度值和像素深度值之差的平均值與置信項和數(shù)據(jù)項進行線性相加得到新的優(yōu)先級計算方式。Ramírez等人[27]提出的深度正則項將深度信息與原先彩色信息進行結(jié)合,提出利用深度信息值改變邊緣像素的填充順序。Reel 等人[28]提出將深度值引入優(yōu)先級的計算中作為權(quán)重,將歸一化的深度值和原先的權(quán)重公式進行相乘,以減少匹配塊在前景和背景之間修復產(chǎn)生的錯誤。Buyssens 等人[29]在空洞填補的過程中利用深度信息作為引導,解決深度圖像和彩色圖像產(chǎn)生的遮擋空洞問題。
以Criminisi 算法為基礎(chǔ)的圖像補全方法是通過不斷進行迭代完成填充的過程,然而Criminisi每次填充的空洞個數(shù)較少,因此迭代次數(shù)較高,導致運行時間過長。因此在未來的發(fā)展中,新的填充方法應(yīng)考慮減少迭代次數(shù)和運行時間。
(3)利用其他圖像填充
填充空洞不僅可以運用空洞圖像自身進行填充,利用其他視點圖像或者是用前后幀圖像進行空洞填充也是有效的。傳統(tǒng)的DIBR 方法會產(chǎn)生大量的空洞,但很多填充方法不能實現(xiàn)全局一致或獲取可信的內(nèi)容。Luo等人[30]針對該問題提出一種用于視圖合成的深度引導全局優(yōu)化的孔填充方法。并通過迭代時空近似最近鄰(ANN)搜索和視頻重建步驟來實現(xiàn)全局優(yōu)化。他還提出一種用于孔填充的前景去除方法,該方法在3D-warping之前利用深度圖像生成背景視頻及其深度圖,用于消除合成視頻中的漏洞,可充分消除虛擬視圖中的模糊效果以及偽影。Bokov等人[31]將現(xiàn)有的視頻修復算法擴展到RGB-D視頻,并引入了一個多層框架,該框架可以正確填充三個或多個具有不同深度的對象的交叉點附近的遮擋區(qū)域。Purica等人[32]提出一種利用了多視圖視頻序列中的時間和視圖間相關(guān)性的視圖合成方法,該方法從兩個不同的時刻獲得合成幀的時間預測。同時也提出了一種考慮深度的子像素變形技術(shù),該技術(shù)可用于真實視圖的變形以及運動補償。
2.3.2 提升參考圖像質(zhì)量
參考圖像質(zhì)量的好壞將直接導致虛擬視點繪制的圖像的質(zhì)量的優(yōu)劣。提升參考圖像和深度圖像質(zhì)量最普遍的操作是進行濾波去噪。提升參考深度圖像或彩色圖像的質(zhì)量可以對3D-warping的繪制質(zhì)量產(chǎn)生影響,深度圖平滑處理可以減少前景區(qū)域被繪制至背景區(qū)域的可能性。
Zhu 等人[1]提出對深度圖的局部進行邊緣提取,利用異或運算的卷積算子和原圖像之差來提取深度圖像的邊緣,并將邊緣部分的突變像素重新進行賦值,使深度圖邊緣平滑。李等人[8]在視點合成過程前對深度圖利用加權(quán)模式濾波器對估計的深度圖像進行濾波處理。Luo等人[33]提出一種快速的用于視圖合成的基于馬爾科夫鏈的快速孔填充方法,該方法被公式化為能量最小化問題,并通過循環(huán)傳播解決。潘云峰等人[34]提出了一種對繪制后深度圖像進行優(yōu)化處理的方法,該方法利用最小均方逼近多項式濾波和加權(quán)模式濾波方法將繪制后深度圖像進行優(yōu)化處理。
2.3.3 減少空洞,提升繪制效率
3D-warping后的圖像通常包含大量的空洞,如果直接進行空洞填充,時間復雜度和空間復雜度會非常高。通過一些處理方法將空洞縮小或者完全遮擋可以降低運算的復雜度。Li等人[35]提出在DIBR過程中利用多個參考視點進行繪制,其中除左右視點進行視點合成外,再加入新的右視圖對包含空洞圖像進行進一步繪制,將空洞部分進行進一步縮小。并充分利用除兩個視圖之外的其他相鄰互補視圖,可緩解目標虛擬視圖中出現(xiàn)孔的問題。并提出使用孔的相鄰背景像素來估計孔的背景深度值,根據(jù)相鄰的被遮擋的背景像素來估算孔的背景深度值。
Thatte等人[36]提出需要通過判斷缺失區(qū)域產(chǎn)生的原因,進而了解應(yīng)捕獲和存儲哪些有利位置來最大程度地減少合成新穎視圖中的遮擋孔,并提出了一種可預測視點平移的統(tǒng)計模型推測合成圖像中丟失數(shù)據(jù)的可能性。Sun等人[37]提出兩個參考視點圖像可以互相掩蓋進行空洞填充的方法,并采用對引起人注意程度較高的空洞進行外推修復,這種方法比簡單的強度擴展效果更好,同時能避免前景和背景的模糊。K?ppel等人[38]描述了一種新穎的混合紋理合成方法,該方法以創(chuàng)新的方式結(jié)合了基于補丁的新方法和新穎的快速參數(shù)紋理合成方法,以計算出遮擋的圖像區(qū)域。Yin 等人[39]提出基于梯度方向模板并將其應(yīng)用于填充左遮擋區(qū)域,并且針對空洞處于像素不同方向選取不同的周邊像素進行填充。
2.3.4 利用卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)空洞填充
隨著深度學習技術(shù)的不斷發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)早已投入圖像質(zhì)量提升以及圖像空洞的填補領(lǐng)域。Kang等人[40]提出了一種在沒有參考圖像的情況下完全依賴卷積神經(jīng)網(wǎng)絡(luò)進行虛擬視點繪制的方法。該方法不需要提前設(shè)置參數(shù),可以在無參考圖像的情況下進行預測空洞填充區(qū)域。Xiong[41]加入邊緣提取網(wǎng)絡(luò)將殘缺圖像的邊緣進行補全,并根據(jù)補全的邊緣圖像利用卷積神經(jīng)網(wǎng)絡(luò)將空洞區(qū)域填充。
利用卷積神經(jīng)網(wǎng)絡(luò)進行圖像空洞區(qū)域的填充方法已經(jīng)被研究者知曉。Yu 等人[42]提出一種根據(jù)最新圖像修復的模型所構(gòu)建的生成圖像修復網(wǎng)絡(luò)。該網(wǎng)絡(luò)通過粗略的像素區(qū)域估計和精細的預測網(wǎng)絡(luò)將空洞區(qū)域填充,得到和原圖像相匹配的效果。Liu 等人[43]使用局部卷積網(wǎng)絡(luò)進行圖像的空洞區(qū)域填充,該方法相比較全局網(wǎng)絡(luò)可以減少繪制產(chǎn)生的顏色差異和模糊效果。
通過卷積神經(jīng)網(wǎng)絡(luò)的方法不僅新穎,還可以增加機器的自動識別程度,減少人工對繪制前參數(shù)的干擾問題,同時減少運行的時間復雜度,但圖像數(shù)據(jù)庫的選取對于該算法的運行結(jié)果非常關(guān)鍵。隨著人工智能技術(shù)和卷積神經(jīng)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,使用卷積神經(jīng)網(wǎng)絡(luò)的方法將成為未來主要的研究方向之一。
虛擬視點繪制技術(shù)可以合成出其他視點圖像,極大地減少了3D多媒體服務(wù)中多視點視頻的視點數(shù)據(jù)采集量,進而能有效降低3D數(shù)據(jù)傳輸數(shù)據(jù)量,節(jié)省傳輸帶寬的能耗,是計算機圖形學和多媒體通信領(lǐng)域的共性關(guān)鍵技術(shù)。未來虛擬視點合成技術(shù)的質(zhì)量提升研究可以從以下方面展開探索:
(1)如何在3D-warping的投射方程中加入自適應(yīng)可調(diào)因子,以減少繪制過程中產(chǎn)生的幾何圖形畸變。
(2)針對繪制后圖像進行的優(yōu)化處理,如何在先前幀圖像中高效地獲取空洞的匹配區(qū)域,選擇復雜度低的空洞填充方法進行填充。
(3)如何將深度學習方法應(yīng)用于虛擬圖像繪制過程中的深度圖像預處理、合成圖像前景和背景獲取、空洞填充中,提升合成圖像質(zhì)量。