西安科技大學(xué) 劉 森 厙向陽
?
一種改進(jìn)雙目視覺立體匹配算法
西安科技大學(xué)劉森厙向陽
【摘要】獲取同一場景的立體圖像對是實現(xiàn)雙目立體成像的關(guān)鍵問題。針對傳統(tǒng)的固定窗口圖像區(qū)域匹配算法復(fù)雜度高的問題,提出一種改進(jìn)的基于區(qū)域增長的立體匹配算法—基于線增長的立體匹配算法。仿真實驗表明,該算法在滿足實驗需求的情況下提高了匹配速度。
【關(guān)鍵詞】立體視覺;立體匹配;匹配算法
雙目立體視覺是機(jī)器視覺的重要形式之一。立體匹配是雙目面立體視覺中最重要也是最復(fù)雜的部分[1]。然而,由于匹配的不確定性,立體匹配問題始終沒有統(tǒng)一的解決方案。雙目立體匹配主要是通過匹配算法從立體圖像對中找出匹配點并得到視差圖,然后利用三角幾何關(guān)系計算空間中物點的深度信息,從而生成深度圖[2]。
目前較為常用的立體匹配算法是基于區(qū)域的匹配算法,基于區(qū)域增長的立體匹配算法對紋理信息比較豐富的圖像有比較好的效果[3-4],但是也存在著運算量較大,執(zhí)行速度較慢,確定極線方程的計算過程過于復(fù)雜和算法復(fù)雜度較高等問題。
為了能降低雙目立體匹配算法的復(fù)雜度,同時保證匹配的可靠性。本文針對傳統(tǒng)的基于區(qū)域增長算法復(fù)雜度高的問題,給出了一種基于線增長的立體匹配算法。仿真實驗表明所給算法具有良好的可靠性和很好的時效性。
立體圖像對的立體匹配算法在執(zhí)行過程中對部分像素點重復(fù)計算,造成該算法復(fù)雜度較高。由于立體圖像只在行的方向上有偏差,為了減少其算法的復(fù)雜度,只需在行方向上進(jìn)行區(qū)域增長。因此,只用查找根點的下一個鄰接點來進(jìn)行區(qū)域增長,如圖1所示。將算法中只在行方向上進(jìn)行區(qū)域增長稱為線增長。
圖1 線增長方式
改進(jìn)后的算法步驟如下:
Step1.根點選擇。在不屬于任何一個增長區(qū)域的行中選擇一個像素點,然后通過誤差量計算公式:
求該點誤差量。
如果誤差量不大于VLG(Lin Growing Threshold),將該點設(shè)為根點,將其誤差設(shè)為區(qū)域誤差。
Step2.計算根點在行方向上的右相鄰點與根點的誤差量。如果誤差量等于或小于VLG,將該點劃分到該區(qū)域。否則,標(biāo)記該點;
Step3.將歸入該區(qū)域的點設(shè)為新的根點,轉(zhuǎn)Step2,直到該次區(qū)域生長完成。
Step4.判斷所有像素點是否已計算,如果還有點沒有計算,轉(zhuǎn)Step1,否則,算法結(jié)束。
在立體匹配過程中存在一些噪音,這些噪音使得立體匹配的可靠性大幅度降低,為了提高立體匹配的可靠性,運用平均誤差機(jī)制過濾不可靠的視差估計值。
將雙目立體圖像對作差之后得到的圖像就是兩幅圖像之間的不同部分,然后進(jìn)行二值化操作得到視差圖d,視差圖d的誤差值Ed表達(dá)式為:
視差圖d的可靠度的平均值Rd定義為:
其中,Ne為預(yù)先設(shè)定的誤差值。Sd是誤差量為Ne的像素點個數(shù)。
對在物體邊界的點來說,它很可能被圖像中的錯誤對象掩蓋。這樣的視差圖就會包含了一些不可靠的信息,這些不可靠的差異信息可以從不能忽視的高誤差量Ed得到。為了增加所得視差圖d的可靠性,采用式(4)過濾掉一些在d中的不可靠差異信息,經(jīng)過過濾的視差圖d0可表示為:
經(jīng)過過濾不可靠信息后的視差圖d0的誤差值設(shè)為,則有:
采用過濾掉不可靠差異信息的d0比d更加可靠。式(5)中,設(shè)置了針對Ne的差異信息來代表沒有被判斷的區(qū)域,包含Ne區(qū)域的Ed的值在計算Rd時被排除在外。Ve用來判斷誤差量的閾值是否可靠,為了自動定義Ve,我們采用以下方法:
在式(6)中,a代表采用濾波方法所得到可靠值的偏差系數(shù)。降低a的值會使d更加可靠。但是由于忽略圖像中更多的差異點,所以說在降低a的同時會損壞視差圖。
為了驗證本文算法的有效性,以心臟模型的立體圖像對(圖2)進(jìn)行仿真實驗并對實驗結(jié)果進(jìn)行比對。編程環(huán)境:MATLAB 7.0,硬件環(huán)境:Pentinum(R) Dual-Core CPU T4400,內(nèi)存2G的計算機(jī)上使用MATLAB 7.0對原有算法和改進(jìn)算法進(jìn)行實現(xiàn)。數(shù)據(jù)來源:項目組前期工作數(shù)據(jù)。
圖2 左右立體圖像對
通過在實驗中進(jìn)行參數(shù)設(shè)置,分別得出了在不同算法和在相同算法的不同參數(shù)下立體匹配的可靠性和時間的數(shù)據(jù)。
圖3中橫軸1、2分別代表的是基于區(qū)域的匹配結(jié)果和基于行增長匹配所得結(jié)果(VLG=180)的匹配可靠性。
圖3 可靠性比較
圖4中橫軸1、2分別代表的是基于區(qū)域的匹配算法和基于線增長匹配算法(VLG=180)在實現(xiàn)過程中所消耗的時間。
實驗結(jié)果表明基于區(qū)域匹配算法的可靠性相對比較好,但是其時間消耗最大,超過了7.24s。當(dāng)VLG=180時,本文算法可靠度相比基于區(qū)域匹配算法和基于點的匹配算法有所下降,但是完全滿足實驗需求,該算法突出特性在于它的時間消耗相比傳統(tǒng)區(qū)域增長算法大幅下降,只有不到2.18s,降低了三倍。
基于線增長的匹配算法在滿足可靠性要求的情況下將時間消耗大幅度降低,達(dá)到了實驗的期望數(shù)據(jù)。
圖4 時間消耗(單位:s)
本文對基于區(qū)域的立體匹配算法做了詳細(xì)分析,發(fā)現(xiàn)傳統(tǒng)的區(qū)域增長匹配算法的復(fù)雜度較高,最后通過將待匹配圖像中的某幾行像素設(shè)定為一個執(zhí)行區(qū)域(即線增長中的“線”)依次進(jìn)行立體匹配,實驗結(jié)果表明,在能夠滿足需求的匹配可靠性的前提下我們的算法復(fù)雜大幅縮小,取得了滿意的效果。
參考文獻(xiàn)
[1]趙亮亮.雙目立體視覺中的圖像匹配技術(shù)研究[D].南京航空航天大學(xué),2007.
[2]何仁杰.雙目立體視覺區(qū)域局部匹配算法的改進(jìn)及其實現(xiàn)[J].現(xiàn)代電子技術(shù),2009(12):68-70.
[3]張輝,張麗艷.面向三維點云測量的雙目立體匹配算法[J].南京航空航天大學(xué)學(xué)報,2009,41(5):588-594.
[4]陳登,白洪歡.Census立體匹配算法的DSP實現(xiàn)[J].科技通報2008.6:860-865
[5]徐奕,周軍,周源華.立體視覺匹配技術(shù)[J].計算機(jī)工程與應(yīng)用,2003,39(15):388-392.
劉森,男,碩士,主要研究領(lǐng)域為計算機(jī)圖形學(xué)、圖像處理。
厙向陽,男,教授,主要研究領(lǐng)域為大數(shù)據(jù)和機(jī)器學(xué)習(xí)。
作者簡介:
通訊作者: