李 攀,華艷秋,李火生
(上海工程技術大學 高等職業(yè)技術學院,上海200437)
深度圖實時提取系統(tǒng)中后處理的設計與實現(xiàn)
李 攀,華艷秋,李火生
(上海工程技術大學 高等職業(yè)技術學院,上海200437)
基于硬件的深度圖實時提取系統(tǒng)可實現(xiàn)深度圖的實時提取,但由于硬件結構的局限性不能像軟件那樣實現(xiàn)較復雜的匹配算法,會產(chǎn)生較多誤匹配。在深度圖實時提取系統(tǒng)上設計和實現(xiàn)深度圖后處理功能,先對視差結果進行匹配唯一性檢測,再根據(jù)需要針對左右視圖對應的視差結果分別設計兩種左右一致性檢測方案,最后利用正確的深度值進行空洞填充。實驗表明該設計和實現(xiàn)的后處理功能可與深度圖的提取在同一系統(tǒng)上實時地進行,并能得到質量較好的深度圖。
深度圖;后處理;視差;FPGA
現(xiàn)階段MVD(視頻+深度)模式已成為3DTV系統(tǒng)中立體視頻采集的研究熱點[1],深度圖的提取效率影響著整個3DTV系統(tǒng)的執(zhí)行效率,深度圖的質量也直接決定著3DTV顯示端的繪制效果,因此深度信息的提取效率和質量對于3DTV系統(tǒng)而言是至關重要的。
一些對深度提取有實時要求的場合,深度圖的提取一般通過局部的立體匹配算法得到[2],實現(xiàn)平臺通常選用FPGA等硬件[3-6]。但是由于硬件結構的特性不能像軟件那樣實現(xiàn)較復雜的立體匹配算法,同時局部立體匹配算法也存在自身的局限,如對弱紋理區(qū)域、重復紋理以及噪聲等處理效果不好,因此會有較多的誤匹配產(chǎn)生[7]。針對上述問題,本文在基于FPGA的深度圖實時提取系統(tǒng)基礎上設計深度圖后處理功能,對得到的初始深度圖進行誤匹配修正和空洞填充,以模塊化的方式加入深度圖實時提取系統(tǒng)并在FPGA平臺上實現(xiàn),可有效提高深度圖的提取質量。
首先對基于FPGA的深度圖實時提取系統(tǒng)從結構上進行說明,如圖1所示,該系統(tǒng)主要應用于3DTV系統(tǒng)中雙視或多視視頻的實時深度提取。1為雙目SDI高清攝像機;2為FPGA開發(fā)平臺,是算法的實現(xiàn)平臺,通過2路SDI接口與雙目攝相機經(jīng)過校正的兩路視頻連接,通過6 PCIE接口與后端編碼服務器連接;3為3DTV系統(tǒng)中的編碼端,將提取的深度圖實時地進行編碼;4為FPGA開發(fā)平臺上的FPGA芯片,是該系統(tǒng)的核心器件,在FPGA芯片上進行SDI協(xié)議解析、立體匹配、匹配唯一性檢測、左右一致性檢測、深度圖空洞填充等;將提取出來并經(jīng)過后處理的深度圖通過5 DDR2緩存后,再穩(wěn)定地由PCIE接口輸入3DTV系統(tǒng)中的編碼服務器。
在FPGA內對經(jīng)SDI協(xié)議解析后的視頻數(shù)據(jù)進行深度提取和后處理。圖1中A為深度提取模塊,包括Census區(qū)域變換、匹配代價累積、WTA最優(yōu)選擇等步驟;B為誤匹配檢測及后處理模塊,包括匹配唯一性檢測、左右一致性檢測、深度圖空洞填充等步驟。
在深度圖實時提取系統(tǒng)中,經(jīng)提取得到每一像素對應的視差值之后,為提高深度圖質量,須對深度圖進行后處理,本節(jié)著重說明深度圖后處理的設計和實現(xiàn)過程。
2.1 匹配唯一性檢測
在立體匹配過程中,建立匹配代價測度準則之后,通過WTA算法得到視差值。但在WTA過程中可能有多個待匹配點的匹配代價接近最小匹配代價值,使視差結果不穩(wěn)定??梢酝ㄟ^匹配代價最小值檢測來克服這個問題,具體表達式如式(1)所示
圖1 深度圖實時提取系統(tǒng)結構示意圖
式中:th是預設門限,可根據(jù)經(jīng)驗設定,一般取值1.2~1.5,在本設計中,將th門限值設定為1.33;val0是視差搜索范圍中待匹配點中的匹配代價次小值;val1是匹配代價最小值。當滿足上述公式時,即匹配代價次小值與最小值相差大于一定程度時,表明視差結果滿足匹配唯一性檢測,視此次最小代價選擇結果為準確值,將該點作為穩(wěn)定點。若不滿足式(1),則將此點劃為不穩(wěn)定點進行處理。
硬件實現(xiàn)小數(shù)和除法的計算是比較復雜的,可以利用加法器和比較器替代這些操作,達到同樣的效果,具體RTL級框圖如圖2所示。圖中COMP4X和COMP3X分別表示要進行式(1)比較的最小值和次小值。對于COMP4X先將其向左移位2 bit,相當于將最小值乘以4;對于COMP3X將其向左移位1 bit,再加COMP3X本身,相當于將次小值乘以3;最后通過小于等于比較器將兩個相乘后的結果進行比較,若結果COMPOUT為1,說明這2個檢測值能使門限th=1.33時的式(1)成立,反之則不成立。
圖2 匹配唯一性檢測中比較模塊的RTL示意圖
2.2 左右一致性檢測
左右一致性檢測是基于匹配可逆假設的,該假設具體內容是:當左視圖為參考圖時,在右視圖尋找到匹配點,以右視圖上找到的匹配點作為參考點,反過來也一定能在左視圖上尋找到匹配點,且該匹配點與參考點是重合的。這種檢測方法也稱為交叉檢測法,左右一致性準則要求分別以左、右視圖為基準獲得的所有像素匹配點對中,只有兩次結果互為對應匹配關系時才是有效的匹配點對,這種檢測對于遮擋區(qū)域具有較高的檢測率。一致性準則可以表示為
式中:dLR表示以左視圖為基準的視差;dRL表示以右視圖為基準的視差。將不滿足該假設的點標記為不可靠點??紤]到亞像素精度的缺失,在硬件實現(xiàn)過程中允許以左右視圖為基準的視差值存在一個像素的偏差,若偏差大于一個像素則被視為無效視差。
值得注意的一點是立體匹配之后以右視圖為參考的視差結果會滯后右視圖原像素64個時鐘周期,因為同一物體像素點在左視圖偏右,在右視圖偏左,對右視圖任一像素點進行視差計算時須寄存一個視差范圍(本系統(tǒng)視差范圍為64)的時鐘來等待左視圖的對應像素點,這樣才能在同一時鐘下進行立體匹配。欲通過左右一致性模塊得到左視圖的視差圖,須在左右一致性檢測模塊之前對左視圖結果添加64時鐘延遲模塊,具體原因可通過圖3的時序操作過程來解釋。
圖3 左右一致性檢測求取左視圖視差的時序過程
如果對左視圖視差添加了64時鐘延遲模塊,則進入左右一致性檢測模塊的兩路視差結果同步對齊,同一物體對應的點會規(guī)則地在左視圖偏右,在右視圖偏左,同一物體所應對的點出現(xiàn)在右視圖中的時刻會早于左視圖,具體間隔為視差范圍內1~64時鐘周期不等。這就要求對右視圖的視差結果利用64個移位寄存器存儲,這樣當左視圖某一點的視差為n時,可以比較右視圖視差第n個移位寄存器在此時鐘時刻值是否在±1的偏差范圍之內,進而判斷該像素點的視差是否符合檢測。上述存儲和比較過程如圖3所示,該圖展示了在某一點3種可能的視差值下通過左右一致性檢測的例子,由此可類推所有可能的視差值下的檢測過程,以及不能通過左右一致性檢測的情況。在橫軸任一時刻T0,對于左視圖上的某一點,假設其對應視差值可能有3種:當視差值是5時,通過移位寄存器對右視圖視差值寄存,此時寄存器R5應等于5,同理對于第二、第三種假設,R10應等于10,R32應等于32。這是3種假設都滿足左右一致性檢測的情況,如果寄存器Rn≠n±1(n=1~64),則說明左視圖該像素點的視差值不能滿足左右一致性檢測。
事實上,如果左視圖不經(jīng)過延遲64個時鐘,即左右視圖匹配結果直接進入左右一致性檢測模塊,右視圖視差實際上滯后于左視圖64個時鐘,圖3所示通過先前時刻右視圖視差值的緩存值和當前時刻左視圖的視差值做比較的方案將不再適用。左右一致性檢測只能按圖4所示得到右視圖的視差。
圖4 左右一致性檢測求取右視圖視差的時序過程
在右視圖視差中,當視差值是30時,它對應于T0~64時刻的右視圖點a所對應的視差,在正確的情況下左視圖中點a右移30個像素處的點對應的視差應該同為30,那么該值將經(jīng)過35次移位寄存,在T0時刻R35=30。同理對于第二、第三種假設,R10應等于55,R3應等于62。這是3種假設都滿足左右一致性檢測的情況,如果寄存器Rn≠(64+1-n±1),則說明右視圖該像素點的視差值不能滿足左右一致性檢測。
2.3 空洞填充
左右一致性檢測可濾除大量的誤匹配點,尤其是由于遮擋引起的誤匹配,可增強深度提取結果的準確性和魯棒性,但是會不可避免地造成深度圖上遮擋位置的較大面積空洞,將這些遮擋處存在空洞的深度圖用于虛擬視的繪制必然會引起物體邊緣出現(xiàn)裂紋。
由此必須對提取出來的深度圖進行空洞填充,深度圖上的空洞大多是由左右一致性檢測過程中濾除的誤匹配造成的,而這些誤匹配通常是由遮擋引起的,因為被遮擋的點沒有有效的信息參與匹配,因此空洞的位置通常都是背景點,所以可以利用背景點的深度值對空洞進行填充。
2.2 節(jié)提供了進行左右一致性檢測的兩種結構,第一種結構可得到左視圖對應視差,由該視差圖轉換的深度圖的空洞在物體右側,而背景點的深度值又會在空洞的右側。因視頻流中視圖像素自左向右依次出現(xiàn),只能存儲已知的數(shù)據(jù)去填充未來數(shù)據(jù),而不能用未來的數(shù)據(jù)填充現(xiàn)在的數(shù)據(jù),所以不能用空洞右側的背景深度值填充空洞。第二種結構得到右視圖對應視差圖,可直接存儲經(jīng)過左右一致性檢測的點的深度值,當出現(xiàn)空洞時將存儲的值予以替代即可,這也是本文設計圖4所示左右一致性檢測方案的原因所在。
本節(jié)將對深度圖實時提取系統(tǒng)及后處理從深度圖提取效果以及硬件資源占用兩個方面展開分析。
3.1 深度圖提取結果
以1 920×1 080的分辨率對圖5a場景進行拍攝,提取所得深度圖如圖5b所示。
該系統(tǒng)利用基于非參數(shù)區(qū)域變換的立體匹配算法實現(xiàn)立體匹配[8],從圖可知,雖然局部的立體匹配效果比不上全局立體匹配算法,但在室內環(huán)境中椅子、地板等場景中較顯著的物體都得到了質量較好的深度圖,且非參數(shù)變換的立體匹配對于噪聲和光照不均都有較好的魯棒性。實現(xiàn)了深度圖提取后處理與提取在同一系統(tǒng)上實時進行,具有較好的現(xiàn)實應用意義。
圖5 深度提取結果
3.2 資源占用
本文設計系統(tǒng)所采用的FPGA主芯片為Altera Arria IIGX260,芯片內部大量的資源對于存儲和高速并行運算都是很有優(yōu)勢的。當添加了深度提取及后處理算法之后,聯(lián)同外圍SDI解析、DDR2緩存、PCIE傳輸?shù)饶K,其主要內部資源數(shù)如表1所示。
表1 深度提取和后處理程序適配后FPGA資源占用情況
從上表可以看出,本文的設計經(jīng)實現(xiàn)后具有合理的資源占用率。雖然高分辨率視頻的深度圖后處理需要占用更多的硬件資源,但通過合理的設計,靈活運用面積與速度互換思想,在保證系統(tǒng)實時運行的前提下,可將資源的占用率有效地控制在合理的范圍內。
[1]姜吉祥,屈玉福.雙目視覺立體匹配算法對比研究[C]//全國射線數(shù)字成像與CT新技術研討會論文集.綿陽:中國體視學學會,2012:39-49.
[2]王建偉,滕國偉,李賀建,等.一種高分辨率深度圖實時提取算法與硬件實現(xiàn)[J].電視技術,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]張廣軍.機器視覺[M].北京:科學出版社,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ī)學圖像處理、嵌入式技術;
?? 雯
2013-12-04
【本文獻信息】李攀,華艷秋,李火生.深度圖實時提取系統(tǒng)中后處理的設計與實現(xiàn)[J].電視技術,2014,38(23).
華艷秋(1982—),女,碩士,研究方向為信號處理、醫(yī)學圖像處理、嵌入式技術;
李火生(1987—),碩士,研究方向為信號處理、醫(yī)學圖像處理、嵌入式技術。