基于邊緣和像素類型標記的立體匹配算法
蘇志斌,鄒芳菊,呂朝輝
(中國傳媒大學自動化系,北京100024)
摘要:提出一種基于邊緣圖像特征和像素類型標記的立體匹配算法,利用邊緣信息及視差在邊緣和非邊緣區域的分布特征,指導有效初始視差在掃描線方向的傳遞。并且根據標記值對部分不可靠的像素點進行反向賦值和邊緣內中值濾波處理,達到視差精化目的。實驗證明這種方法對于整體視差范圍不太大的遠距離圖像,能夠獲得較為精確的稠密視差圖。
關鍵詞:邊緣;像素類型標記;視差;立體匹配
中圖分類號:TP751文獻標識碼:A
收稿日期:2015-02-15
基金項目:“十二五”國家科技支撐計劃重大項目“演出呈現關鍵技術研發與應用示范(項目編號:2012BAH38F00)”資助
作者簡介:蘇志斌(1987-),女(漢族),新疆烏魯木齊人,中國傳媒大學在讀博士. E-mail: seedszb@cuc.edu.cn
Stereo Matching Based on Edge Feature and Pixel Labels
SU Zhi-bin,ZOU Fang-ju,LV Chao-hui
(Department of Automation,Communication University of China,Beijing 100024,China)
Abstract:This paper proposed a new stereo matching algorithm which used the edge feature and pixel labels to obtain the dense disparity map. The edge information and distribution of disparity around the edge area and non-edge area could provide effective guidance for the delivery of reliable original disparity through the label of each pixel designed in our method. After disparity optimization for the whole pixels along the scanline,the areas with special pixel labels were refined in opposite direction or in certain non-edge regions. Experiment results demonstrate the accuracy of our method for the disparity map generated by stereo images captured in a long distance.
Keywords:edge;pixel labels;disparity;stereo matching
1引言
在基于雙目立體視覺的圖像信息采集和視頻處理中,立體匹配是其中的熱門研究方向之一。通過立體匹配獲得的稠密視差圖有助于分析采集處理中的技術問題,當精度達到一定要求后,還能夠結合單眼二維圖像進行原始場景的還原。然而對于自然圖像,受到噪聲、低紋理、重復紋理及遮擋等多方面因素的影響,獲得高精度的稠密視差圖像依然是一個非常困難的問題[1]。現有的立體匹配算法主要有兩個分支:基于局部的立體匹配算法和基于全局的立體匹配算法。經典的局部匹配算法有自適應權重(Adaptive Weight),基于Census或AD-census組合的匹配度量方法等;經典的全局算法有動態規劃(Dynamic Programming,DP),圖割(Graph Cut,GC)和置信度傳播(Belief Propagation,BP)等[2]。全局匹配算法是從早期的局部匹配算法發展而成,一定程度上依賴局部匹配算法對初始值的準確估計,兩種算法在性能上各具優劣。然而基于局部匹配的算
法由于模型結構簡單,對每個像素的獨立運算可以通過并行優化加速等特點,更適于實時的處理[3],是立體匹配算法中一個重要的研究內容。
邊緣圖像是一類重要的底層特征,然而在現有的局部立體匹配算法中,基于邊緣圖像特征的研究相對較少。本文提出一種基于邊緣圖像特征和像素類型標記的立體匹配算法,充分利用邊緣信息及視差在邊緣和非邊緣區域的分布特征,指導有效視差在掃描線方向的傳遞。
2算法流程及實現
本章節主要闡述算法各部分的主要內容。圖 1給出的是算法的主要流程。整個算法的核心思想是基于像元的局部匹配方法,具體分為4個部分:1)生成以左眼圖像為基準的初始化視差圖和可信度圖;2)以左眼為基準圖像,生成邊緣點圖;3)在局部像素范圍內,根據鄰域像素類型標記和邊緣點特征,綜合基準圖像的初始化視差圖和標記值進行單個像素的視差優化,并賦予優化后像素點的標記值。4)行內和區域內視差結果精化。
考慮到處理時間和準確率的平衡,初始視差圖的獲取采用固定窗口的經典局部匹配算法。為了獲得盡可能多的初始準確點,采用文獻[4]的方法構造結合SAD度量和census度量的魯棒性較強的相似性測度代價函數CSAD-Census,如公式(1)、(2)所示。

圖1 基于邊緣和像素類型標記的立體匹配算法流程圖
CSAD-Census=ρ(CSAD(p,d),λSAD)
+ρ(Ccensus(p,d)λcensus)
(1)
(2)
通過函數ρ的加入,能夠將代價函數取值的范圍控制在0和1之間,同時避免了過大的偏差,有助于尋找最佳初始匹配點。
可信度在本文的算法中僅作為像素類型在標記過程中的參考因素,并不是唯一指導可靠像素傳遞的因子,因此選用實現簡單,適用性和準確度較高的PKR準則,并根據文獻[3]的方法計算像素的可信度conf(x,y),當像素可信度超過閾值時,認為是可信點。
左眼基準圖像采用基于canny的算子檢測圖像邊緣。canny算法是目前公認的性能優良的算法,能夠有效地提取較弱的邊緣,有助于理解圖像構成和分割預判發生視差跳變的區域。為獲得足夠數量的邊緣點,本文對左眼圖像的RGB通道分別提取邊緣并合成邊緣圖像。
原始邊緣圖像中的單個邊緣檢測值無法直接體現其方向,但是可以通過邊緣像素點鄰域內其他值的分布總和來區分,因此本文提出一種在鄰域給定區域內判斷邊緣邏輯值分布情況的算法來獲得邊緣點的方向特征。邊緣方向的判斷分兩步進行:
(1)判斷左右類/上下類邊緣:在以x,y為中心的3×3十字范圍內,若左右兩側像素邊緣邏輯值均為0,而上下兩側像素邏輯值均為1時,當前邊緣點為左右類邊緣點;反之則為上下類邊緣點。當遇到上下左右的邊緣點邏輯值都為1的特殊情況時,認為當前點屬于左右類邊緣點。
(2)在(1)的基礎上,繼續預判該邊緣屬于左側/右側邊緣點或上方/下方邊緣點。以左/右邊緣點的判定為例,比較當前點同左側像素點的色彩差值,若小于或等于給定色彩閾值,則判定該點屬于左側邊緣,用Ⅰ類邊緣點表示;若大于色彩閾值,則判斷改點屬于右側邊緣,用Ⅱ類邊緣點表示。對上下類邊緣點的判定類似,區別是比較當前點同上方像素點的色差值。
在視差傳遞的過程中,邊緣點同視差傳遞的關系規定如下:
根據邊緣點圖對像素類型的劃分,將整個視差圖像的特征區分為邊緣視差點和非邊緣視差點。下表 1給出了具體像素類型的標記方法。

表1 像素類型標記方法
在標記像素的實現過程中,為了簡化對像素類型的判斷,我們將類型特征值賦予經過優化運算后的可信值中,每個點的可信度值在經過視差優化后便不具備其他作用,查詢鄰域像素類型時直接讀取該點的可信圖值即可。標記值的大小主要用于區分各類像素點,實際可以取0-255之間的任意值。
根據邊緣圖獲得像素類型及具體標記方法之后,優化算法的主要任務就是沿著從上到下,從左到右的掃描線方向對每個像素點進行逐點的初始視差優化。對于每個待優化像素點,提取其邊緣信息,視差信息和可信度信息,并且檢查其鄰域內左方的(x-1,y)點和上方的(x,y-1)點的可信圖值(此時為像素類型標記值)和視差值。下文中用disp(x,y)表示x,y點的視差值,常數DISM表示跳變閾值,這里為一個視差像素所代表的等級數。整個像素優化的過程中應遵循如下原則:
(1)當前點標記值非104或非102時,當前點視差同左側及上側相比不應發生大的跳變,若超過跳變閾值DISM,則直接將左側或上側的視差值賦予當前點。
(2)若(1)的情況下發生當前點同左側或上側像素視差在DISM范圍內的變化,接受當前點視差的條件是:在3*3鄰域內滿足變化方向和視差跳變范圍小于等于DISM的點數超過一定閾值。該閾值視當前點的可信度而定,可信點的跳變點數閾值小于非可信點的閾值。
(3)當前點為非邊緣點,同時左側和上方像素點的標記值都為42時,當前點的變化視差可以是增大的方向,也可以是減小的方向。而當左側和上側的標記值為22時,變化視差只允許向減小的方向進行。
(4)當前點為非邊緣點,左側同上方的標記值為103或101時,若當前點可信,disp(x,y)可直接用于鄰域視差值比較;若當前點不可信,取當前點右側鄰域內的視差均值作為當前點的視差值,再分別同上方和左側像素點比較視差值。若當前點的視差值大于左側及上側,認為是非遮擋點,在傳遞過程中以42作為標記值。若當前視差值小于等于左側及上側,則認為是可能發生遮擋的點,傳遞過程中以22作為標記值。
(5)當前點為非邊緣點,而左側或上側為邊緣點,需要進行同邊緣點方向相關的梯度檢測,判斷是否存在小范圍內邊緣缺失的情況,并進行補邊。
(6)對于圖像左邊界處的點,由于受到邊界對象截取后圖像不完整匹配的影響,即使使用鄰域信息也未必能獲取正確的視差值,對于這些點先按照(3)中左側和上方像素點的標記值都為42的方式在令視差不發生大波動的條件下傳遞,再將像素類型標記為11。在遇到邊緣或上方有可信度等于42的點后,標記值為11的像素點停止視差傳遞。為保證準確性,被標記為11的點需要通過反向填充的方式處理。
根據標記原則,像素類型值為11和22的點是不可靠的非邊緣點,考慮到每一個像素點的視差優化同時受到來自左側和上方兩部分像素點的影響,選擇在每行的精化運算結束后,對本行中類型值為11和22的點進行反向填值,即將右側經過優化后更加可靠的視差傳遞給左側視差波動較大的點。
上述的反向賦值完成了水平掃描線方向的視差精化,而垂直方向的視差可以通過邊緣內中值濾波來進行處理。邊緣內中值濾波的基本思想是以標記值為22的邊緣內點為中心,形成左右上下寬度不大于BLOCK的濾波窗口,并且從中心起遇到標記值大于100或標記值為11或42的點停止,如圖 2所示。

圖2 邊緣內中值濾波窗口示意圖
進行邊緣內中值濾波的過程中,需要注意以下3點:
1)中值濾波包括不規則窗口區域內的所有點。為區分經過濾波處理的點,將整個窗口內的標記值由22更改為23。在下一輪中值濾波時,將標記值為22和23的點均列入新窗口內的中值濾波序列中,然而結果僅對標記值為22的點進行重賦值。
2)在邊緣數量較多的區域,邊緣內中值濾波代價較準確度而言意義不大。因此在確定濾波窗口時加入額外的約束條件,即對于以(x,y)為中心的點,當且僅當水平方兩側寬度不大于BLOCK的濾波窗口內均為非邊緣點時,進行邊緣內中值濾波,否則將跳過當前點向右側和下方繼續尋找。
3)當視差范圍超過一定程度,同時圖像中含有大量連續變化的視差時(例如存在斜面,曲面等),邊緣內中值濾波的平滑作用可能會使準確率降低。此時,應考慮使用尺寸較小的濾波窗口。
3實驗結果及分析
本文算法實驗硬件環境為Inter(R)core處理器,CPU主頻為2.4GHz,操作系統windows 7,編程工具Visual Studio 2008。算法的有效性通過Middleburry網站提供的立體圖像庫中的經典圖像進行驗證。圖3為其中代表性的圖像對之一Tsukuba的匹配算法驗證結果。其中涉及的主要參數為:λSAD=10,λcensus=1,DISM=1,BLOCK=10。計算初始視差值的過程中,SAD窗口大小為3×3,census窗口大小為5×5。
從Tsukuba的驗證結果可以看出,在攜帶邊緣特征的像素類型標記指導下,算法在保證視差準確率的同時,還能夠形成平滑效果,同時在一定程度上還原邊緣的位置。然而受到初始邊緣檢測的影響,在一些邊緣缺失區域,若左右兩側的視差值相差正好同設置的跳變閾值DISM相等,則很難通過優化算法中的補邊處理還原這部分的邊緣。若要改變這一情況,需要優化邊緣提取算法,或結合其他基于像素色彩特征的方法將邊緣更準確地提取出來。
表 2給出的是本文算法同其他算法在Middleburry網站上的測試結果和排名。其中nonocc表示非遮擋區域視差錯誤點率,all表示整體誤點率,disc表示視差不連續區域的誤點率。對比Tsukuba的結果顯示,在整體視差精度上,本文算法優于傳統的DP算法和GC算法;在非遮擋區域,本文算法優于全局DP算法和局部的RTCensus算法,略低于GC算法。然而對于Venus而言,本文算法雖然優于DP算法,卻在準確率上低于GC等其他全局和局部算法。這是因為Venus圖像含有大量的斜面,表現為連續變化的視差,而本文算法處理的是一個像素精度的初始匹配結果,乘以尺度系數后精度有所下降。

(a) (b) (c)

(d) (e) (f) 圖3 tsukuba圖像立體匹配結果 (a.經過基于邊緣和像素類型標記的初始視差優化的匹配結果;b.經過視差初始化后得到的像素類型標記圖;c.經過視差精化后得到的最終結果圖,最終結果進行了5*5的中值濾波處理;d.視差真值圖;e.和真值相比的誤差圖;f.和真值相比的符號誤差圖)

表2 同其他算法的主要結果比較
注:Error Threshold = 1。
4結論
本文算法整體上屬于基于像元的局部立體匹配方法,但不同于傳統的基于顏色、可信度傳遞及一致性檢測的匹配算法,本文提出了一種基于邊緣和類型標記的立體匹配算法,算法復雜度較低,且對于大面積的非邊緣區域,在沒有進行平面或曲面擬合的情況下,依靠標記值的傳遞原則,能保留一定的視差漸變過程,同時滿足精度的需求。從仿真結果分析,該算法適用于視差整體范圍較小的遠距離場景。此外,通過像素類型標記,能夠在原始邊緣圖像的基礎上,結合對應的視差信息進一步獲得封閉的圖像邊緣,有助于對圖像區域的提取、分析和其他處理。但是,由于算法對視差優化和精化的過程受到邊緣圖像的制約,視差對象的邊緣提取的越準確,越有利于視差的匹配優化;反之當邊緣不足時,會較大程度地影響匹配結果。為滿足算法的適用性和準確性,還需要進一步研究像素類型標記值在視差傳遞中的判定和約束方法。本文算法所還原的視差在尺度放大前為一個像素精度,對于連續變化的平面或曲面,還需要研究亞像素精度的視差優化方法。
參考文獻
[1]李治江,馮謹強,曹文冬,曹麗琴,楊萍. 基于邊緣特征和可信度的立體匹配算法[J]. 包裝工程,2014,35(23):47-51.
[2]Sun X,Mei X,Zhou M,et al. Stereo matching with reliable disparity propagation[C].3D Imaging,Modeling,Processing,Visualization and Transmission (3DIMPVT),2011 International Conference on,2011:132-139.
[3]施陳博. 快速圖像配準和高精度立體匹配算法研究[D].北京:清華大學,2011.
[4]Mei X,Sun X,Zhou M,et al. On building an accurate stereo matching system on graphics hardware[C].Computer Vision Workshops (ICCV Workshops),2011 IEEE International Conference on,2011:467-474.
[5]Hu X,Mordohai P. Evaluation of stereo confidence indoors and outdoors[C].Computer Vision and Pattern Recognition (CVPR),2010 IEEE Conference on,2010:1466-1473.
[6]Humenberger,Martin,et al. A fast stereo matching algorithm suitable for embedded real-time systems[J]. Computer Vision and Image Understanding,2010,114(11):1180-1202.
[7]Boykov Y,Veksler O,Zabih R. Fast approximate energy minimization via graph cuts[J]. Pattern Analysis and Machine Intelligence,IEEE Transactions on,2001,23(11):1222-1239.
[8]Scharstein D,Szeliski R. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[J]. International journal of computer vision,2002,47(1-3):7-42.
(責任編輯:王謙)
