李 攀,華艷秋,李火生
(上海工程技術(shù)大學(xué) 高等職業(yè)技術(shù)學(xué)院,上海200437)
深度圖實時提取系統(tǒng)中后處理的設(shè)計與實現(xiàn)
李 攀,華艷秋,李火生
(上海工程技術(shù)大學(xué) 高等職業(yè)技術(shù)學(xué)院,上海200437)
基于硬件的深度圖實時提取系統(tǒng)可實現(xiàn)深度圖的實時提取,但由于硬件結(jié)構(gòu)的局限性不能像軟件那樣實現(xiàn)較復(fù)雜的匹配算法,會產(chǎn)生較多誤匹配。在深度圖實時提取系統(tǒng)上設(shè)計和實現(xiàn)深度圖后處理功能,先對視差結(jié)果進(jìn)行匹配唯一性檢測,再根據(jù)需要針對左右視圖對應(yīng)的視差結(jié)果分別設(shè)計兩種左右一致性檢測方案,最后利用正確的深度值進(jìn)行空洞填充。實驗表明該設(shè)計和實現(xiàn)的后處理功能可與深度圖的提取在同一系統(tǒng)上實時地進(jìn)行,并能得到質(zhì)量較好的深度圖。
深度圖;后處理;視差;FPGA
現(xiàn)階段MVD(視頻+深度)模式已成為3DTV系統(tǒng)中立體視頻采集的研究熱點[1],深度圖的提取效率影響著整個3DTV系統(tǒng)的執(zhí)行效率,深度圖的質(zhì)量也直接決定著3DTV顯示端的繪制效果,因此深度信息的提取效率和質(zhì)量對于3DTV系統(tǒng)而言是至關(guān)重要的。
一些對深度提取有實時要求的場合,深度圖的提取一般通過局部的立體匹配算法得到[2],實現(xiàn)平臺通常選用FPGA等硬件[3-6]。但是由于硬件結(jié)構(gòu)的特性不能像軟件那樣實現(xiàn)較復(fù)雜的立體匹配算法,同時局部立體匹配算法也存在自身的局限,如對弱紋理區(qū)域、重復(fù)紋理以及噪聲等處理效果不好,因此會有較多的誤匹配產(chǎn)生[7]。針對上述問題,本文在基于FPGA的深度圖實時提取系統(tǒng)基礎(chǔ)上設(shè)計深度圖后處理功能,對得到的初始深度圖進(jìn)行誤匹配修正和空洞填充,以模塊化的方式加入深度圖實時提取系統(tǒng)并在FPGA平臺上實現(xiàn),可有效提高深度圖的提取質(zhì)量。
首先對基于FPGA的深度圖實時提取系統(tǒng)從結(jié)構(gòu)上進(jìn)行說明,如圖1所示,該系統(tǒng)主要應(yīng)用于3DTV系統(tǒng)中雙視或多視視頻的實時深度提取。1為雙目SDI高清攝像機(jī);2為FPGA開發(fā)平臺,是算法的實現(xiàn)平臺,通過2路SDI接口與雙目攝相機(jī)經(jīng)過校正的兩路視頻連接,通過6 PCIE接口與后端編碼服務(wù)器連接;3為3DTV系統(tǒng)中的編碼端,將提取的深度圖實時地進(jìn)行編碼;4為FPGA開發(fā)平臺上的FPGA芯片,是該系統(tǒng)的核心器件,在FPGA芯片上進(jìn)行SDI協(xié)議解析、立體匹配、匹配唯一性檢測、左右一致性檢測、深度圖空洞填充等;將提取出來并經(jīng)過后處理的深度圖通過5 DDR2緩存后,再穩(wěn)定地由PCIE接口輸入3DTV系統(tǒng)中的編碼服務(wù)器。
在FPGA內(nèi)對經(jīng)SDI協(xié)議解析后的視頻數(shù)據(jù)進(jìn)行深度提取和后處理。圖1中A為深度提取模塊,包括Census區(qū)域變換、匹配代價累積、WTA最優(yōu)選擇等步驟;B為誤匹配檢測及后處理模塊,包括匹配唯一性檢測、左右一致性檢測、深度圖空洞填充等步驟。
在深度圖實時提取系統(tǒng)中,經(jīng)提取得到每一像素對應(yīng)的視差值之后,為提高深度圖質(zhì)量,須對深度圖進(jìn)行后處理,本節(jié)著重說明深度圖后處理的設(shè)計和實現(xiàn)過程。
2.1 匹配唯一性檢測
在立體匹配過程中,建立匹配代價測度準(zhǔn)則之后,通過WTA算法得到視差值。但在WTA過程中可能有多個待匹配點的匹配代價接近最小匹配代價值,使視差結(jié)果不穩(wěn)定??梢酝ㄟ^匹配代價最小值檢測來克服這個問題,具體表達(dá)式如式(1)所示
圖1 深度圖實時提取系統(tǒng)結(jié)構(gòu)示意圖
式中:th是預(yù)設(shè)門限,可根據(jù)經(jīng)驗設(shè)定,一般取值1.2~1.5,在本設(shè)計中,將th門限值設(shè)定為1.33;val0是視差搜索范圍中待匹配點中的匹配代價次小值;val1是匹配代價最小值。當(dāng)滿足上述公式時,即匹配代價次小值與最小值相差大于一定程度時,表明視差結(jié)果滿足匹配唯一性檢測,視此次最小代價選擇結(jié)果為準(zhǔn)確值,將該點作為穩(wěn)定點。若不滿足式(1),則將此點劃為不穩(wěn)定點進(jìn)行處理。
硬件實現(xiàn)小數(shù)和除法的計算是比較復(fù)雜的,可以利用加法器和比較器替代這些操作,達(dá)到同樣的效果,具體RTL級框圖如圖2所示。圖中COMP4X和COMP3X分別表示要進(jìn)行式(1)比較的最小值和次小值。對于COMP4X先將其向左移位2 bit,相當(dāng)于將最小值乘以4;對于COMP3X將其向左移位1 bit,再加COMP3X本身,相當(dāng)于將次小值乘以3;最后通過小于等于比較器將兩個相乘后的結(jié)果進(jìn)行比較,若結(jié)果COMPOUT為1,說明這2個檢測值能使門限th=1.33時的式(1)成立,反之則不成立。
圖2 匹配唯一性檢測中比較模塊的RTL示意圖
2.2 左右一致性檢測
左右一致性檢測是基于匹配可逆假設(shè)的,該假設(shè)具體內(nèi)容是:當(dāng)左視圖為參考圖時,在右視圖尋找到匹配點,以右視圖上找到的匹配點作為參考點,反過來也一定能在左視圖上尋找到匹配點,且該匹配點與參考點是重合的。這種檢測方法也稱為交叉檢測法,左右一致性準(zhǔn)則要求分別以左、右視圖為基準(zhǔn)獲得的所有像素匹配點對中,只有兩次結(jié)果互為對應(yīng)匹配關(guān)系時才是有效的匹配點對,這種檢測對于遮擋區(qū)域具有較高的檢測率。一致性準(zhǔn)則可以表示為
式中:dLR表示以左視圖為基準(zhǔn)的視差;dRL表示以右視圖為基準(zhǔn)的視差。將不滿足該假設(shè)的點標(biāo)記為不可靠點。考慮到亞像素精度的缺失,在硬件實現(xiàn)過程中允許以左右視圖為基準(zhǔn)的視差值存在一個像素的偏差,若偏差大于一個像素則被視為無效視差。
值得注意的一點是立體匹配之后以右視圖為參考的視差結(jié)果會滯后右視圖原像素64個時鐘周期,因為同一物體像素點在左視圖偏右,在右視圖偏左,對右視圖任一像素點進(jìn)行視差計算時須寄存一個視差范圍(本系統(tǒng)視差范圍為64)的時鐘來等待左視圖的對應(yīng)像素點,這樣才能在同一時鐘下進(jìn)行立體匹配。欲通過左右一致性模塊得到左視圖的視差圖,須在左右一致性檢測模塊之前對左視圖結(jié)果添加64時鐘延遲模塊,具體原因可通過圖3的時序操作過程來解釋。
圖3 左右一致性檢測求取左視圖視差的時序過程
如果對左視圖視差添加了64時鐘延遲模塊,則進(jìn)入左右一致性檢測模塊的兩路視差結(jié)果同步對齊,同一物體對應(yīng)的點會規(guī)則地在左視圖偏右,在右視圖偏左,同一物體所應(yīng)對的點出現(xiàn)在右視圖中的時刻會早于左視圖,具體間隔為視差范圍內(nèi)1~64時鐘周期不等。這就要求對右視圖的視差結(jié)果利用64個移位寄存器存儲,這樣當(dāng)左視圖某一點的視差為n時,可以比較右視圖視差第n個移位寄存器在此時鐘時刻值是否在±1的偏差范圍之內(nèi),進(jìn)而判斷該像素點的視差是否符合檢測。上述存儲和比較過程如圖3所示,該圖展示了在某一點3種可能的視差值下通過左右一致性檢測的例子,由此可類推所有可能的視差值下的檢測過程,以及不能通過左右一致性檢測的情況。在橫軸任一時刻T0,對于左視圖上的某一點,假設(shè)其對應(yīng)視差值可能有3種:當(dāng)視差值是5時,通過移位寄存器對右視圖視差值寄存,此時寄存器R5應(yīng)等于5,同理對于第二、第三種假設(shè),R10應(yīng)等于10,R32應(yīng)等于32。這是3種假設(shè)都滿足左右一致性檢測的情況,如果寄存器Rn≠n±1(n=1~64),則說明左視圖該像素點的視差值不能滿足左右一致性檢測。
事實上,如果左視圖不經(jīng)過延遲64個時鐘,即左右視圖匹配結(jié)果直接進(jìn)入左右一致性檢測模塊,右視圖視差實際上滯后于左視圖64個時鐘,圖3所示通過先前時刻右視圖視差值的緩存值和當(dāng)前時刻左視圖的視差值做比較的方案將不再適用。左右一致性檢測只能按圖4所示得到右視圖的視差。
圖4 左右一致性檢測求取右視圖視差的時序過程
在右視圖視差中,當(dāng)視差值是30時,它對應(yīng)于T0~64時刻的右視圖點a所對應(yīng)的視差,在正確的情況下左視圖中點a右移30個像素處的點對應(yīng)的視差應(yīng)該同為30,那么該值將經(jīng)過35次移位寄存,在T0時刻R35=30。同理對于第二、第三種假設(shè),R10應(yīng)等于55,R3應(yīng)等于62。這是3種假設(shè)都滿足左右一致性檢測的情況,如果寄存器Rn≠(64+1-n±1),則說明右視圖該像素點的視差值不能滿足左右一致性檢測。
2.3 空洞填充
左右一致性檢測可濾除大量的誤匹配點,尤其是由于遮擋引起的誤匹配,可增強(qiáng)深度提取結(jié)果的準(zhǔn)確性和魯棒性,但是會不可避免地造成深度圖上遮擋位置的較大面積空洞,將這些遮擋處存在空洞的深度圖用于虛擬視的繪制必然會引起物體邊緣出現(xiàn)裂紋。
由此必須對提取出來的深度圖進(jìn)行空洞填充,深度圖上的空洞大多是由左右一致性檢測過程中濾除的誤匹配造成的,而這些誤匹配通常是由遮擋引起的,因為被遮擋的點沒有有效的信息參與匹配,因此空洞的位置通常都是背景點,所以可以利用背景點的深度值對空洞進(jìn)行填充。
2.2 節(jié)提供了進(jìn)行左右一致性檢測的兩種結(jié)構(gòu),第一種結(jié)構(gòu)可得到左視圖對應(yīng)視差,由該視差圖轉(zhuǎn)換的深度圖的空洞在物體右側(cè),而背景點的深度值又會在空洞的右側(cè)。因視頻流中視圖像素自左向右依次出現(xiàn),只能存儲已知的數(shù)據(jù)去填充未來數(shù)據(jù),而不能用未來的數(shù)據(jù)填充現(xiàn)在的數(shù)據(jù),所以不能用空洞右側(cè)的背景深度值填充空洞。第二種結(jié)構(gòu)得到右視圖對應(yīng)視差圖,可直接存儲經(jīng)過左右一致性檢測的點的深度值,當(dāng)出現(xiàn)空洞時將存儲的值予以替代即可,這也是本文設(shè)計圖4所示左右一致性檢測方案的原因所在。
本節(jié)將對深度圖實時提取系統(tǒng)及后處理從深度圖提取效果以及硬件資源占用兩個方面展開分析。
3.1 深度圖提取結(jié)果
以1 920×1 080的分辨率對圖5a場景進(jìn)行拍攝,提取所得深度圖如圖5b所示。
該系統(tǒng)利用基于非參數(shù)區(qū)域變換的立體匹配算法實現(xiàn)立體匹配[8],從圖可知,雖然局部的立體匹配效果比不上全局立體匹配算法,但在室內(nèi)環(huán)境中椅子、地板等場景中較顯著的物體都得到了質(zhì)量較好的深度圖,且非參數(shù)變換的立體匹配對于噪聲和光照不均都有較好的魯棒性。實現(xiàn)了深度圖提取后處理與提取在同一系統(tǒng)上實時進(jìn)行,具有較好的現(xiàn)實應(yīng)用意義。
圖5 深度提取結(jié)果
3.2 資源占用
本文設(shè)計系統(tǒng)所采用的FPGA主芯片為Altera Arria IIGX260,芯片內(nèi)部大量的資源對于存儲和高速并行運(yùn)算都是很有優(yōu)勢的。當(dāng)添加了深度提取及后處理算法之后,聯(lián)同外圍SDI解析、DDR2緩存、PCIE傳輸?shù)饶K,其主要內(nèi)部資源數(shù)如表1所示。
表1 深度提取和后處理程序適配后FPGA資源占用情況
從上表可以看出,本文的設(shè)計經(jīng)實現(xiàn)后具有合理的資源占用率。雖然高分辨率視頻的深度圖后處理需要占用更多的硬件資源,但通過合理的設(shè)計,靈活運(yùn)用面積與速度互換思想,在保證系統(tǒng)實時運(yùn)行的前提下,可將資源的占用率有效地控制在合理的范圍內(nèi)。
[1]姜吉祥,屈玉福.雙目視覺立體匹配算法對比研究[C]//全國射線數(shù)字成像與CT新技術(shù)研討會論文集.綿陽:中國體視學(xué)學(xué)會,2012:39-49.
[2]王建偉,滕國偉,李賀建,等.一種高分辨率深度圖實時提取算法與硬件實現(xiàn)[J].電視技術(shù),2012,36(23):21-24.
[3]AMBROSCH K,HUMENBERGER M,KUBINGERW,et al.Hardware implementation of an SAD based stereo vision algorithm[C]//Proc. Conference on Computer Vision and Pattern Recognition Workshops. Minneapolis:[s.n.],2007:1-6.
[4]CHEN L,JIA Y.A parallel reconfigurable architecture for real-time stereo vision[C]//Proc.International Conference on Embedded Software and Systems.Hanzhou:[s.n.],2009:32-39.
[5]LONGFIELD J,STEPHEN C,MARK L.A parameterized stereo vision core for FPGAs[C]//Proc.IEEE Symposium on Field Programmable Custom Computing Machines.Napa:IEEE Press,2009:263-266.
[6]JIN S,CHO J,PHAM X,et al.FPGA design and implementation of a real-time stereo vision system[J].IEEE Trans.Circuits and Systems for Video Technology,2010,20(1):15-26.
[7]張廣軍.機(jī)器視覺[M].北京:科學(xué)出版社,2005.
[8]HE R,YU M,YANG Y,et al.Comparison of the depth quantification method in terms of coding and synthesizing capacity in 3DTV system[C]//Proc.ICSP 2008.Beijing:IEEE Press,2008:1279-1282.
Post-processing Design and Im plementation in Real-time Depth M ap Extraction System
LIPan,HUA Yanqiu,LIHuosheng
(College of Vocational Technology,Shanghai University of Engineering Science,Shanghai200437,China)
Real-time depthmap extraction system based on hardware can extract depthmap in real time,but it can not implement complicated algorithm as software because of the the limitation of hardware structure,and this results in more wrong stereomatching.Depthmap post processing function is designed in real-time depthmap extraction system in this paper.Aftermatching costunique test,left-rightand right-left consistency check solutions are implemented respectively,and the cavities in depthmaps can be filled by right depth values on the basis of right-left consistency check solution.Experiments have shown that depth map post-processing and extraction function can be implemented in the same system in real-time,and depth maps are of better quality.
depth map;post-processing;disparity;FPGA
TP391.9
A
李 攀(1987—),碩士,研究方向為信號處理、醫(yī)學(xué)圖像處理、嵌入式技術(shù);
?? 雯
2013-12-04
【本文獻(xiàn)信息】李攀,華艷秋,李火生.深度圖實時提取系統(tǒng)中后處理的設(shè)計與實現(xiàn)[J].電視技術(shù),2014,38(23).
華艷秋(1982—),女,碩士,研究方向為信號處理、醫(yī)學(xué)圖像處理、嵌入式技術(shù);
李火生(1987—),碩士,研究方向為信號處理、醫(yī)學(xué)圖像處理、嵌入式技術(shù)。