張玲 邰國欽 劉然 謝輝 許小艷
(1.重慶大學 通信工程學院,重慶400044;2.重慶大學 計算機學院,重慶400044)
基于深度圖像繪制(DIBR)技術(shù)是三維(3D)電視系統(tǒng)中的關(guān)鍵技術(shù),引起了越來越多研究機構(gòu)的關(guān)注[1-3].傳統(tǒng)的3D視頻信號傳輸時需要傳送左眼和右眼兩路視頻流,而基于DIBR技術(shù)的3D電視系統(tǒng)僅需要傳輸一路視頻流及對應的深度信息,從而可以減少傳輸帶寬[3-4].DIBR技術(shù)利用參考圖像及其對應的每個像素的深度信息來合成場景中虛擬視點視圖(稱為目標圖像),可以避免由傳統(tǒng)視圖生成方法所帶來的三維空間變換的計算復雜性[3].正因為如此,DIBR技術(shù)在3D電視立體圖像對生成中得到了廣泛應用.
然而,由于可見性變化、深度圖像中深度值的不連續(xù)及計算的不精確等原因,由DIBR技術(shù)生成的目標圖像中可能包含著兩種偽像:空洞和匹配誤差[5].空洞是由于深度圖像中深度值的不連續(xù)所引起的,而匹配誤差則是不符合順序匹配約束的像素點.偽像會嚴重降低立體圖像對的質(zhì)量,造成極不舒服的感覺,因此,如何去除偽像是DIBR技術(shù)中的一個重要問題.
研究者們已提出了很多處理立體匹配中空洞的方法[5-9].劉占偉等[10-11]提出了采用預處理深度圖像和圖像融合相結(jié)合的方法,即生成兩幅目標圖像進行融合填充空洞.駱凱等[12]提出了基于圖像修復的校正方法.然而,較少有人討論DIBR系統(tǒng)中匹配誤差的校正方法.文獻[6]雖然提出對DIBR合成的視圖進行匹配誤差校正,但沒有詳細闡述校正方法,也未對如何處理空洞點等情況進行詳細討論.文中提出了一種適用于DIBR的匹配誤差校正算法.該算法實現(xiàn)了匹配誤差的檢測與校正,并且與DIBR的三維圖像變換過程無關(guān),可以作為附加的匹配誤差校正算法應用于DIBR的后處理過程中.
定義 參考圖像中深度相似的物體表面上的像素點,在重投影到目標圖像后,仍將保持其在參考圖像中的相對順序.
設Il為參考圖像,Ir是通過DIBR技術(shù)由Il生成的目標圖像.Ol、Or分別對應兩幅圖像的成像中心,tx表示基線長度.世界坐標系XwYwZw的中心與Ol重合.pr(xr,p,yr,p),qr(xr,q,yr,q) 分別是目標圖像Ir上的深度相似的任意兩點,P(xw,yw,zw)、Q(x'w,y'w,z'w)分別為pr、qr投射到在空間中的對應點,其在參考圖像Il上的映射點分別為pl(xl,p,yl,p)、ql(xl,q,yl,q),對應的三維變換如圖1所示.如果像素點水平坐標之間滿足
則稱像素點pr、qr滿足順序匹配約束.
圖1 順序匹配約束說明圖Fig.1 Illustration of order matching constraint
順序匹配約束有許多優(yōu)良的性質(zhì).利用這些性質(zhì),可以簡化DIBR系統(tǒng)中的匹配誤差校正過程.
性質(zhì)1(順序匹配約束傳遞性) 設ur,j(ur,j,v)是目標圖像Ir第v行的非空洞點;ur,i(ur,i,v)是與ur,j的深度值相似且與ur,j最近的前一個非空洞點(ur,i<ur,j),并且ur,i與v行中前面具有相似深度值的任一非空洞點ur,x(ur,x,v) 都滿足順序匹配約束(ur,x<ur,i).如果ur,j與ur,i滿足順序匹配約束,那么ur,j與ur,x也滿足順序匹配約束,即順序匹配約束具有傳遞性.
性質(zhì)2(順序匹配約束存在性) 如圖2所示,設ur,j(ur,j,v)是目標圖像Ir第v行的非空洞點,它對應的視差值為d(ur,j,v),ur,j(ur,j,v) 在參考圖像Il中的對應匹配點為ul,j(ul,j,v);v行中ur,j前面的任意非空洞點ur,x(ur,x,v) 都滿足約束(ur,x<ur,j).現(xiàn)執(zhí)行如下操作:
(1)尋找與ur,j深度值相似且最近的前一個非空洞點ur,i(ur,i≤ur,j),ur,i在參考圖像Il中的對應匹配點為ul,i(ul,i,v);
(2) 檢測ur,i與ur,j是否滿足約束,如果滿足則停止;否則將ur,j的匹配點修正為ul,i,視差值修正為d(ur,j,v)=ur,j-ul,i,轉(zhuǎn)至步驟(1).
圖2 順序匹配約束存在性說明Fig.2 Illustration of the existence of order matching constraint
則有限次重復上述步驟之后,必存在某個非空洞點ur,y,使得ur,y與ur,j滿足約束.順序匹配約束的這一性質(zhì)稱之為順序匹配約束存在性.
證明 如圖2所示,設d1,d2,…,dn為所有可能的視差值,則ur,j當前的視差值為
設ur,i(ur,i,v)是與ur,j深度值相似且最近的前一個非空洞點,并且它們不滿足約束,即
則經(jīng)過步驟(2)后,ur,j的匹配點會被修正為ul,i,視差值修正為d'(ur,j,v)=ur,j-ul,i.
假設ur,x(ur,x,v)是與ur,j深度值相似且最近的前一個非空洞點,它與ur,j不滿足約束且ur,x(ur,x,v)的匹配點ul,x(ul,x,v)恰好為ul,j(ul,j,v),則有但這與式(2) 中ul,i>ul,j矛盾,因此如果ur,x與ur,j不滿足約束,ur,x的匹配點一定大于ul,j,從而ur,j的匹配點不可能被修正為前面循環(huán)時的匹配點,因此步驟(1)和(2)不會產(chǎn)生在兩個匹配點之間反復修正的情況,從而每次修正,ur,j的視差值都不相同.
假設重復步驟(1)和(2)n-1次之后,還沒有找到與ur,j滿足約束的一個非空洞點,設此時ur,j的視差值為d″(ur,j,v).由于已經(jīng)重復了n-1,根據(jù)每次修正ur,j的視差值都不相同的結(jié)論,此時ur,j的視差值已經(jīng)取遍了所有可能的n個視差值.當再重復步驟(1)時,會找到一個與ur,j的視差值d″(ur,j,v)相等且最近的前一個非空洞點ur,y(ur,y,v),如果ur,y與ur,j仍不滿足約束,則執(zhí)行步驟(2) 時一定會將d″(ur,j,v)修正到某個前面已經(jīng)出現(xiàn)過的視差值,這是因為只有n個不同的視差值.這樣就會與每次修正ur,j的視差值都不相同的結(jié)論矛盾,因此ur,y與ur,j滿足約束.證畢.
文中提出的零交叉(Zero-Cross Correction,ZCC)算法側(cè)重于校正前景中一個整體的對象中夾雜著一些背景像素的匹配誤差,其基本思想是:通過遍歷一行的像素點,找出連續(xù)不滿足約束的點所構(gòu)成的區(qū)域(匹配誤差區(qū)域),然后對于像素點小于等于5的匹配誤差區(qū)域,將區(qū)域內(nèi)所有點的匹配點都賦值成起始點的匹配點.在一行中,匹配誤差區(qū)域一般不會以連續(xù)超過5個像素點的形式出現(xiàn).如果出現(xiàn)連續(xù)5個像素都不滿足約束的情形,則認為當前像素處于前景和背景的邊界,不做校正.這種賦值方法是一種安全保守的方法.由于所有點的匹配點都相同,根據(jù)順序匹配約束的傳遞性,這些點顯然相互之間都滿足約束.
文中提出的零交叉校正算法完成目標圖像(右視圖)的匹配誤差檢測與校正功能,其中目標圖像是通過DIBR技術(shù)由一幅參考圖像(左視圖)及其深度圖像生成的.
輸入:參考圖像Il,目標圖像Ir(含有空洞)及其視差圖d,它們的分辨率都是Wi×Hi;
輸出:校正后的目標圖像I'r及視差圖d';
算法描述:
(1)如圖3所示,設us指示匹配誤差區(qū)域的起點,ue指示匹配誤差區(qū)域的終點.按行從左至右遍歷目標圖像Ir第v行中的點ur,j(ur,j,v).如果ur,j是空洞點,則讀取下一點,直到ur,j是非空洞點;
(2)讀取ur,j的下一點ur,j+1.若ur,j+1是空洞點,則將ur,j標識為匹配誤差區(qū)域的終點ue,轉(zhuǎn)步驟(3);否則,檢測ur,j和ur,j+1是否滿足約束.設ur,j和ur,j+1在參考圖像Il中的對應匹配點分別為ul,j(ul,j,v) 、ul,j+1(ul,j+1,v) ,則
其中d(·)表示視差圖d中相應點的視差值;如果ur,j和ur,j+1不滿足順序匹配約束
則將點ur,j標識為匹配誤差區(qū)域的起點us;從點ur,j下一個點繼續(xù)重復上述檢測,直到檢測到像素點ur,j+m+1匹配點的坐標不小于ul,j或ur,j+m+1為空洞點為止,將ur,j+m作為匹配誤差區(qū)域的終點ue,轉(zhuǎn)步驟(3);否則將搜索起點更新為ur,j+1,重復步驟(2);
(3)匹配誤差校正.如圖4所示,設ur,j是匹配誤差區(qū)域的起點us,ur,j+m是終點ue,如果m≤5,則將匹配誤差區(qū)域的所有點的匹配點ur,i修正為ul,j,視差值修正為d(ur,i,v)=ur,i-ul,j(ur,j<ui≤ur,j+m),將ur,j+m標識為新搜索起點,轉(zhuǎn)步驟(1);否則,將ur,j+m+1標識為新搜索起點,轉(zhuǎn)步驟(1);
圖3 匹配點計算Fig.3 Calculation of matching points
圖4 匹配誤差校正Fig.4 Correction of matching error
(4)如果處理完一行內(nèi)所有點,則轉(zhuǎn)到下一行,轉(zhuǎn)步驟(1);否則直接轉(zhuǎn)步驟(1).
(5)如果處理完目標圖像Ir內(nèi)所有行,則停止,否則轉(zhuǎn)步驟(4).
文中采用“Ballet”序列及其相應定標參數(shù)進行誤差校正實驗.“Ballet”序列的攝制方法參見文獻[7].圖5描述了匹配誤差對目標圖像的影響,其中圖5(a)為基線長度為30 cm時DIBR技術(shù)生成的目標圖像,記為Ir;圖5(b)是對圖5(a)的部分放大,突出了目標圖像中存在的匹配誤差.由圖5(b)可以看出,圖像中含有許多匹配誤差(白色斑點,黑色區(qū)域表示空洞,可以通過空洞填充算法來消除),嚴重降低了圖像的質(zhì)量.
圖5 匹配誤差對目標圖像的影響Fig.5 Influence of matching error on destination image
針對該實例,零交叉校正算法的校正流程如下:
(1)從每一行第一個像素點開始,執(zhí)行零交叉校正算法的步驟(1)和(2),由視差圖求得各像素點ur,j的對應匹配點ul,j,通過分析目標圖像像素點和參考圖像匹配點之間的映射關(guān)系,找出不滿足順序匹配約束的像素點,標記為交叉區(qū)域的起點us.
(2)從該起點繼續(xù)檢測,直到某像素點對應匹配點的橫坐標大于ul,j,將該像素點前一個非空洞像素點定義為交叉區(qū)域的終點,標記為ue.
(3)執(zhí)行零交叉校正算法步驟(3)來進行誤差校正.如果匹配誤差區(qū)域內(nèi)像素點的個數(shù)小于5,則將區(qū)域內(nèi)像素點的視差值修正為d(ur,i,v)=ur,i-ul,j,同時,將參考圖像ul,j處的像素值復制到區(qū)域內(nèi)的每個像素點處,完成對該交叉區(qū)域的校正.
圖6是校正后的“Ballet”虛擬視圖,比較圖5(b)和6(b)可以看出,該算法可以有效地去除目標圖像中的匹配誤差,提高目標圖像的整體質(zhì)量.
圖6 文中算法的校正結(jié)果Fig.6 Correction result of the proposed algorithm
文中提出了一種適用于DIBR系統(tǒng)的匹配誤差檢測與校正算法——零交叉校正算法.該算法的特點是:在順序匹配約束的基礎上,將匹配誤差區(qū)域內(nèi)所有點的匹配點都賦值成起始點的匹配點,從而達到匹配誤差校正的目的.將該算法應用于實例中,校正由DIBR產(chǎn)生的目標圖像中的匹配誤差.結(jié)果表明,文中算法可以有效地消除匹配誤差,提高圖像的質(zhì)量.但是,該算法的時間復雜度較高,筆者將針對此問題進行下一步的研究.
[1]Fehn C.Depth-image-based rendering(DIBR),compression and transmission for a new approach on 3D-TV[C]∥Stereoscopic Displays and Virtual Reality Systems XI.San Jose:SPIE,2004:93-104.
[2]Fehn C.A 3DTV approach using depth-image-based rendering(DIBR) [C]∥Proceedings of the Visualization,Imaging,and Image Processing.San Francisco:PCS-Tektronix,Inc,2003:482-487.
[3]Zhang Liang,Tam Wa James.Stereoscopic image generation based on depth images for 3D TV [J].IEEE Transactions on Broadcasting,2005,51(2):191-199.
[4]劉然,巫英堅,許小艷,等.一種用于DIBR的去隔行算法[J].計算機應用研究,2011,15(4):63-65,79.Liu Ran,Wu Ying-jian,Xu Xiao-yan,et al.De-interlacing algorithm for DIBR [J].Application Research of Computers,2011,15(4):63-65,79.
[5]賈波,章毓晉,林行剛.視差圖誤差檢測與校正的通用快速算法[J].清華大學學報:自然科學版,2000,40(1):28-31.Jia Bo,Zhang Yu-jin,Lin Xing-gang.General and fast algorithm for disparity error detection and correction[J].Journal of Tsinghua University:Science and Technology,2000,40(1):28-31.
[6]戴瓊海,徐秀兵.一種基于深度圖的快速圖像繪制方法:中國,CN101271583[P].2008-09-24.
[7]Mohan R,Medioni G.Stereo error detection,correction,and evaluation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1989,11(2):113-120.
[8]Zitnick C L,Kang S B,Uyttendaele M,et al.High-quality video view interpolation using a layered representation[C]∥ACM Siggraph and ACM Transactions on Graphics.Los Angeles:Association for Computing Machinery,2004:600-608.
[9]Lee Pei-jun,Effendi.Adaptive edge-oriented depth image smoothing approach for depth image based rendering[C]∥IEEE International Symposium on Broadband Multimedia Systems and Broadcasting 2010.Shanghai:IEEE Computer Society,2010:1-5.
[10]劉占偉,安平,劉蘇醒.基于DIBR和圖像融合的任意視點繪制[J].中國圖象圖形學報,2007,12(10):371-376.Liu Zhan-wei,An Ping,Liu Su-xing.Arbitrary view rendering based on DIBR and image mergence[J].Journal of Image and Graphics,2007,12(10):371-376.
[11]Liu Zhan-wei,An Ping,Liu Su-xing,et al.Arbitrary view generation based on DIBR[C]∥Proceedings of the International Symposium on Intelligent Signal Processing and Communication Systems.Xiamen:Institute of Electrical and Electronics Engineers Inc,2007:168-171.
[12]駱凱,李東曉,馮雅美,等.基于DIBR和圖像修復的任意視點繪制 [J].中國圖象圖形學報,2010,15(3):443-449.Luo Kai,Li Dong-xiao,F(xiàn)eng Ya-mei,et al.Arbitrary view generation based on DIBR and depth-aided image inpainting[J].Journal of Image and Graphics,2010,15(3):443-449.