王湘?zhèn)?,莫秋云,粟定華,陳澤章,李軍
(1.桂林電子科技大學(xué)機(jī)電工程學(xué)院,廣西桂林 541004;2.中橡集團(tuán)曙光橡膠工業(yè)研究設(shè)計(jì)院,廣西桂林 541004;3.桂林科技創(chuàng)業(yè)服務(wù)中心,廣西桂林 541004)
在實(shí)現(xiàn)基于雙目視覺(jué)的機(jī)械手對(duì)輪胎測(cè)溫點(diǎn)進(jìn)行測(cè)溫的過(guò)程中,圖像匹配精度和速度是關(guān)鍵。目前常采用基于外極線約束[1-2]的區(qū)域相關(guān)匹配[3]算法來(lái)確定兩個(gè)對(duì)應(yīng)點(diǎn)間的匹配。但是該算法要求對(duì)極線上每一個(gè)點(diǎn)都進(jìn)行區(qū)域相關(guān)匹配計(jì)算,計(jì)算量大、耗時(shí)并且匹配準(zhǔn)確度不高。針對(duì)此問(wèn)題,提出一種將像素點(diǎn)之間灰度值比較與區(qū)域匹配相結(jié)合的改進(jìn)算法。由于兩圖片上對(duì)應(yīng)點(diǎn)之間灰度值相近,該算法先將目標(biāo)點(diǎn)與對(duì)應(yīng)極線上各像素點(diǎn)依次進(jìn)行點(diǎn)灰度比較,排除與目標(biāo)點(diǎn)灰度差別較大的像素點(diǎn),然后對(duì)與目標(biāo)點(diǎn)灰度值相差較小的像素點(diǎn)進(jìn)行區(qū)域灰度相關(guān)匹配計(jì)算,以減少區(qū)域灰度相關(guān)計(jì)算量,降低誤匹配率,獲得較為準(zhǔn)確的目標(biāo)點(diǎn)的左右圖像坐標(biāo),從而比較準(zhǔn)確地獲取其三維坐標(biāo),提高機(jī)械手的定位精度。
如圖1所示,將雙目立體視覺(jué)所涉及的兩個(gè)視平面分別稱為左視平面和右視平面,分別記為PL和PR。每個(gè)攝像機(jī)都有一個(gè)獨(dú)立的光心,分別為OL和OR。過(guò)光心OL和OR的連線稱為光心線,也稱基線?;€與視平面的交點(diǎn)稱為該視平面的外極點(diǎn)??臻g某點(diǎn)P與基線所確定的平面稱為外極平面。
對(duì)于給定的左圖像平面上的一點(diǎn)PL,它所對(duì)應(yīng)的空間點(diǎn)P一定處在該點(diǎn)與左光心點(diǎn)OL的連線上。這條連線與右光心點(diǎn)OR確定了一個(gè)外極線平面,該平面與右視平面相交于一條直線PReR,這條直線被稱為左圖像上PL點(diǎn)的外極線。容易知道,對(duì)于左圖像上的一點(diǎn)PL,其在右圖像上的匹配點(diǎn)PR一定在外極線上,這就是外極線約束。這個(gè)約束很大程度上減少了待驗(yàn)證的可能匹配點(diǎn)對(duì)的數(shù)量,即把一個(gè)點(diǎn)在另外一幅圖像上可能的匹配點(diǎn)的分布從二維平面降到了一維的線上,極大地減小了搜索匹配點(diǎn)的范圍,并且減少了誤匹配。這就是立體視覺(jué)中最基本的約束。
圖1 一般放置的雙目視覺(jué)中的極線和極平面
圖1所示為一般放置的雙目視覺(jué)模型,如果使用極線約束原則進(jìn)行匹配,則每求一個(gè)目標(biāo)點(diǎn)都需要計(jì)算外極線方程,然后根據(jù)極線斜率的不同方向來(lái)確定步進(jìn)方向,這個(gè)過(guò)程需要大量的計(jì)算,極大地影響了程序的運(yùn)行效率,不能滿足機(jī)械手測(cè)溫實(shí)時(shí)性的要求。
如圖2所示,該雙目視覺(jué)模型在理想狀態(tài)下平行放置[4]。該模型中兩個(gè)攝像機(jī)C1和C2僅在x軸方向上有一平移b,即左右攝像機(jī)光心分別作為左右攝像機(jī)坐標(biāo)系的原點(diǎn)OL和OR,以光心的連線方向作為它們x軸的方向,光心之間的距離為b,兩個(gè)攝像機(jī)的光軸互相平行。
其中OLOR為CL和CR坐標(biāo)系的x軸,POLOR平面與兩個(gè)圖像平面IL和IR的交線分別為EL和ER,因?yàn)閮蓚€(gè)圖像平面位于同一平面,所以EL和ER為該平面上的同一直線。同時(shí),圖像平面平行于x軸,故EL、ER與x軸平行。PL與PR分別為OLP與IL、OLP與IR的交點(diǎn),故PL與PR分別在EL和ER上。
圖2 平行結(jié)構(gòu)的雙目視覺(jué)系統(tǒng)
平行放置的雙目視覺(jué)模塊避免了一般放置的雙目視覺(jué)模型外極線求解計(jì)算量大的缺點(diǎn),同時(shí)簡(jiǎn)化了后續(xù)三維求距的計(jì)算量。但是平行放置的雙目視覺(jué)模塊是理想的模型,在實(shí)際情況下基本無(wú)法讓兩個(gè)攝像機(jī)的光軸保持平行??赏ㄟ^(guò)數(shù)學(xué)校正,對(duì)圖片進(jìn)行校正[5],使兩臺(tái)攝像機(jī)的光軸變?yōu)槠叫械?,即得到行?duì)準(zhǔn)的圖像對(duì)。
因此,通過(guò)比較兩種雙目視覺(jué)模型極線求取的方法,文中選取利用水平極線約束來(lái)進(jìn)行區(qū)域匹配。
如圖3所示,設(shè)Image1和Image2分別為已校正好的左右兩幅圖像,在左圖像中選中一目標(biāo)點(diǎn)p,以p為中心的某一領(lǐng)域作為模板T,大小為M×M。從立體圖像對(duì)中大致觀察圖像對(duì)的視差范圍[6],設(shè)最大的視差dmax,只需沿目標(biāo)點(diǎn)p的同一水平掃描線,在 (i+dmax,j)至 (i-dmax,j)范圍內(nèi)進(jìn)行搜索。匹配時(shí)模板圖疊放在匹配圖像上平移,模板圖覆蓋下第k個(gè)搜索子圖為Sk。匹配時(shí)通過(guò)計(jì)算相關(guān)函數(shù)來(lái)找到與模板圖盡可能相似的搜索子圖以及它的坐標(biāo)位置。若模板圖T和搜索子圖Sk完全一致,則T和Sk之差為零。
圖3 基于水平極線的區(qū)域匹配
一般來(lái)說(shuō)通過(guò)相關(guān)函數(shù)來(lái)確定最佳匹配點(diǎn),應(yīng)用中可以用相似性測(cè)度函數(shù)[7-8]來(lái)衡量T和Sk的相似程度:
展開得:
當(dāng)D(i,j)最小時(shí),T和Sk達(dá)到最佳匹配。
該算法中,基準(zhǔn)圖沿平行線每移動(dòng)一個(gè)像素,模板都需要做一次區(qū)域灰度相關(guān)計(jì)算,其中除了匹配點(diǎn)計(jì)算以外都是在非匹配點(diǎn)上做無(wú)用功,而且受光照等條件影響極有可能存在區(qū)域相似程度更高的非匹配點(diǎn)而造成誤匹配。該算法不能滿足機(jī)械手快速準(zhǔn)確定位的要求,因此,文中提出對(duì)基于水平極線的區(qū)域匹配算法的改進(jìn),如第3.2節(jié)。
針對(duì)上述區(qū)域匹配算法存在的問(wèn)題,提出一種將像素點(diǎn)灰度值比較與區(qū)域相關(guān)匹配相結(jié)合的改進(jìn)算法。由于點(diǎn)基元灰度值計(jì)算量遠(yuǎn)遠(yuǎn)小于區(qū)域灰度相關(guān)計(jì)算量,因此先將目標(biāo)點(diǎn)與極線上各像素點(diǎn)進(jìn)行點(diǎn)灰度值比較后再判定是否進(jìn)行區(qū)域匹配,即相當(dāng)于對(duì)像素點(diǎn)進(jìn)行一次刷選后再區(qū)域相關(guān)匹配,這樣可減少區(qū)域匹配計(jì)算次數(shù)以及減小誤匹配的概率,具體方法如下:
(1)利用點(diǎn)基元灰度值比較排除極線上一部分非匹配點(diǎn),以減少不必要的區(qū)域灰度匹配相關(guān)計(jì)算量。由于受光照等條件影響,左右兩張圖片上對(duì)應(yīng)點(diǎn)之間的灰度值一般不會(huì)相等,但其值不會(huì)相差很大,會(huì)保持在一定范圍內(nèi)。若極線上一像素點(diǎn)與目標(biāo)點(diǎn)之間灰度值相差很大,則該點(diǎn)必定不會(huì)是匹配點(diǎn),故沒(méi)有進(jìn)行區(qū)域匹配的必要。因此,設(shè)定閥值α(一般很小,可以根據(jù)需要做調(diào)整),取目標(biāo)點(diǎn)p依次沿 (i+dmax,j)至 (i-dmax,j)上的像素點(diǎn)進(jìn)行點(diǎn)灰度值比較。
(2)若兩像素點(diǎn)灰度值之差大于閥值α,則該點(diǎn)必定不是匹配點(diǎn),因此不進(jìn)行區(qū)域灰度相關(guān)匹配,直接進(jìn)入對(duì)下一像素點(diǎn)的灰度值比較。
(3)若兩像素點(diǎn)灰度值之差小于閥值α,則進(jìn)行區(qū)域相關(guān)匹配計(jì)算,保存D(i,j)的值,再進(jìn)入下一像素點(diǎn)的灰度值比較。
(4)比較所有記錄下來(lái)的D(i,j)的值,取D(i,j)值最小的子圖Si,j的中心點(diǎn)為最佳匹配點(diǎn)。
依據(jù)上述原理,采用C++6.0編程對(duì)上述方法進(jìn)行驗(yàn)證,設(shè)定初始閥值α=10,最大視差dmax=100。用鼠標(biāo)在圖4中框選輪胎上記號(hào)點(diǎn),然后沿水平極線去尋找對(duì)應(yīng)匹配點(diǎn),兩種算法的匹配結(jié)果分別如圖5和圖6所示。為了進(jìn)一步證明該方法的有效性,把記錄下的8個(gè)目標(biāo)點(diǎn)與兩種算法所求出的對(duì)應(yīng)匹配點(diǎn)的灰度值作對(duì)比,如表1所示;并且將兩種算法的區(qū)域灰度相關(guān)計(jì)算次數(shù)做比較,如表2所示。
圖4 左視圖
圖5 原算法匹配結(jié)果
圖6 改進(jìn)算法匹配結(jié)果
表1 對(duì)應(yīng)點(diǎn)灰度值對(duì)比結(jié)果
表2 區(qū)域灰度相關(guān)計(jì)算次數(shù)對(duì)比結(jié)果
從以上結(jié)果可知:
(1)對(duì)于僅利用區(qū)域匹配的算法,如圖5所示,匹配結(jié)果不是很準(zhǔn)確,點(diǎn)3、5、7都出現(xiàn)了誤匹配;從表1可以看出,圖5中的點(diǎn)3、5、7與其對(duì)應(yīng)目標(biāo)點(diǎn)灰度值相差很大;并且該算法計(jì)算量非常大,目標(biāo)點(diǎn)與沿極線上每一點(diǎn)都進(jìn)行了一次區(qū)域灰度相關(guān)計(jì)算,如表2所示。
(2)改進(jìn)算法能將極線上與目標(biāo)點(diǎn)灰度值相差較大的點(diǎn)進(jìn)行排除,提高匹配準(zhǔn)確度,如圖6所示;從表2可知,該算法大大減少了區(qū)域灰度相關(guān)計(jì)算次數(shù),從而節(jié)省了大量的計(jì)算時(shí)間。
通過(guò)大量的實(shí)驗(yàn)驗(yàn)證,可以得到以下結(jié)論:采用先將目標(biāo)點(diǎn)與極線各像素點(diǎn)進(jìn)行點(diǎn)灰度比較后再進(jìn)行區(qū)域匹配的算法,可以有效減少僅采用沿極線進(jìn)行區(qū)域匹配的匹配誤差,提高匹配精度,同時(shí)減少計(jì)算量。
[1]韓偉,鄭江濱,李秀秀.基于外極線的快速精確立體匹配算法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(1):51-53.
[2]鄧志燕,陳熾坤.利用外極線約束的圖像匹配新算法[J].工程圖學(xué)學(xué)報(bào),2009(5):104-107.
[3]ZHOU J,XU Y,YU W R.Phase Matching with Multiresolution Wavelet Transform[C]//Proc SPIE,2002:82-91.
[4]富巍,劉美俊.排爆機(jī)器人的研究與開發(fā)[M].北京:電子工業(yè)出版社,2010:68-88.
[5]劉金鑫.雙目視覺(jué)的攝像機(jī)標(biāo)定與立體匹配技術(shù)研究[D].廣州:廣東工業(yè)大學(xué),2011.
[6]曾吉勇,蘇顯渝.濃密視差圖的快速提?。跩].光學(xué)技術(shù),2004,30(1):40-43.
[7]段湘斌.基于灰度圖像的匹配算法改進(jìn)[D].長(zhǎng)沙:中南大學(xué),2012.
[8]馮宇平,趙文倉(cāng).基于局部灰度值編碼的圖像匹配[J].青島科技大學(xué)學(xué)報(bào):自然科學(xué)版,2011,32(4):435-440.