王曉寧, 宋曉煒, 楊 蕾, 李夢(mèng)龍, 蔡文靜
(中原工學(xué)院 電子信息學(xué)院, 河南 鄭州 450007)
雙目視覺(jué)技術(shù)[1]的原理是利用不同方位的左右兩臺(tái)攝像機(jī)對(duì)同一場(chǎng)景目標(biāo)進(jìn)行拍攝,獲取兩幅二維數(shù)字圖像后,根據(jù)雙目視差原理在計(jì)算機(jī)中計(jì)算出該場(chǎng)景的三維數(shù)據(jù)信息[2],然后利用這些數(shù)據(jù)在計(jì)算機(jī)中呈現(xiàn)現(xiàn)實(shí)場(chǎng)景的三維幾何圖像。雙目視覺(jué)技術(shù)的核心是立體匹配[3],即獲取精確匹配點(diǎn)的過(guò)程。
基于特征的匹配主要是通過(guò)提取圖像上幾何形狀信息進(jìn)行的,特征提取的準(zhǔn)確與否決定匹配的精度,因此獲取穩(wěn)定的特征在圖像匹配中很有用[4]。近幾年張量理論發(fā)展迅速,張量處理圖像的優(yōu)勢(shì)在于對(duì)所處理數(shù)據(jù)多維性質(zhì)的良好表示。通過(guò)結(jié)構(gòu)張量能夠找到空間中每個(gè)點(diǎn)在其局部鄰域中的向量表示(該點(diǎn)的圍繞點(diǎn)存在一定的規(guī)則性),計(jì)算局部鄰域中所有點(diǎn)的梯度向量,使其方向更加接近這種向量表示[5]。為改善結(jié)構(gòu)張量的魯棒性,可以根據(jù)局部結(jié)構(gòu)進(jìn)行濾波,因?yàn)檫@種方向向量非常適合局部結(jié)構(gòu)。結(jié)構(gòu)張量在局部結(jié)構(gòu)的區(qū)域檢測(cè)能力方面表現(xiàn)更好,十分適合在圖像中尋找行人、汽車(chē)、路標(biāo)等特定圖形[6]。本文將亮度信息與結(jié)構(gòu)張量結(jié)合起來(lái),形成擴(kuò)展結(jié)構(gòu)張量,用于對(duì)交通路標(biāo)進(jìn)行匹配,并且將其與SURF(Speeded Up Robust Feature)匹配算法、PCA(Principal Components Analysis)匹配算法對(duì)比,研究擴(kuò)展結(jié)構(gòu)張量在雙目視覺(jué)立體匹配中的性能。
SURF匹配算法是在SIFT(Scale-invariant Feature Transform)算法基礎(chǔ)上提出來(lái)的,SURF算子不僅擁有SIFT算子所有的優(yōu)點(diǎn),而且能夠滿(mǎn)足圖像匹配的實(shí)時(shí)性要求[7]。
SURF匹配算法實(shí)現(xiàn)的過(guò)程為:首先進(jìn)行特征點(diǎn)檢測(cè),并計(jì)算圖像每個(gè)像素對(duì)應(yīng)Hessian矩陣行列式的值,對(duì)比后把行列式值的局部最大值定為興趣點(diǎn)位置(因?yàn)樵擖c(diǎn)的行列式值比周?chē)c(diǎn)都大,所以其周?chē)鷷?huì)更亮或者更暗);然后通過(guò)統(tǒng)計(jì)特征點(diǎn)鄰域內(nèi)的harr小波特征來(lái)確定特征點(diǎn)的主方向;最后,為了讓光照變換或者角度變換下的特征點(diǎn)都有一定的穩(wěn)定性,必須建立一個(gè)特征描述向量(這是關(guān)鍵的一步)。通過(guò)以上步驟就可以完成特征提取,進(jìn)而進(jìn)行匹配。
邊緣是圖像的常見(jiàn)特征,邊緣通常是圖像里某些位置灰度發(fā)生快速改變的像素之和,代表了圖像上改變最明顯的位置,它一般處在目標(biāo)、背景和區(qū)域之間。
PCA匹配算法屬于多變量的分析方法[8],經(jīng)常在大容量數(shù)據(jù)分析中使用。使用PCA匹配算法選取一些特征,使數(shù)據(jù)更加集中。為了減少數(shù)據(jù)量,可使用少量特征數(shù)據(jù)近似表達(dá)整個(gè)數(shù)據(jù)集。如果一些數(shù)據(jù)與大部分?jǐn)?shù)據(jù)都沒(méi)有共同的特征,則說(shuō)明這些數(shù)據(jù)并不能由主成分表示。采用主分量對(duì)大部分?jǐn)?shù)據(jù)如一幅圖像的灰度進(jìn)行表示,對(duì)應(yīng)的就是圖像中較大面積的灰度平滑位置,而剩余的像素點(diǎn)就是與上述區(qū)域不同的點(diǎn),即灰度產(chǎn)生變異的點(diǎn)(又叫邊緣點(diǎn))。因此,使用PCA匹配算法時(shí),通過(guò)主分量分析進(jìn)行殘差重構(gòu),能夠提取圖像的邊緣信息。
如果圖像是二維離散信號(hào),那么其相應(yīng)的結(jié)構(gòu)張量為:
(1)
雖然式(1)中有4個(gè)分量,但因?yàn)門(mén)xy=Tyx,所以實(shí)際上只有3個(gè)分量。因此,T是正對(duì)稱(chēng)矩陣。
結(jié)構(gòu)張量雖然提供了關(guān)于輸入圖像局部區(qū)域結(jié)構(gòu)的有價(jià)值信息[9],但雙目立體匹配還需要亮度信號(hào),所以可以將亮度與結(jié)構(gòu)張量結(jié)合起來(lái),組成非線性擴(kuò)展結(jié)構(gòu)張量(EST),即:
(2)
對(duì)于EST,雖然快速計(jì)算時(shí)也可用其他濾波器,但通常選擇各向異性擴(kuò)散濾波器作為其平均算子[10]。
若圖像為彩色圖像,則式(2)中UE可擴(kuò)展為:
(3)
由式(3)獲得的張量是對(duì)稱(chēng)的。如果張量UE是L維度的,那么有k個(gè)獨(dú)立分量,且:
(4)
例如,L=2,3,4,5,…,則可獲得k個(gè)(k=3,6,10,15…)獨(dú)立分量。
雙目立體視覺(jué)技術(shù)可以很好地模擬人的雙眼觀察,能夠?qū)θS空間進(jìn)行立體重塑。圖1所示為雙目平行攝像機(jī)的模型[11]。這個(gè)模型要求兩個(gè)攝像機(jī)光軸完全平行且高度一致,另外成像平面需要在同一平面上。
圖1 雙目平行攝像機(jī)模型
圖2所示為平行雙目攝像機(jī)的深度計(jì)算二維平面。兩攝像機(jī)光心Cl和Cr之間的距離為B(即基線距離),目標(biāo)點(diǎn)P在左右圖像上的成像點(diǎn)分別為Pl和Pr,攝像機(jī)焦距為f,視差d=xl-xr。
圖2 平行雙目攝像機(jī)的深度計(jì)算二維平面示意圖
根據(jù)三角關(guān)系可得:
(5)
式中:Z表示物體與攝像機(jī)的距離,也就是通常所說(shuō)的深度。通過(guò)攝像機(jī)標(biāo)定的參數(shù)可計(jì)算出深度。
本文根據(jù)文獻(xiàn)[12]進(jìn)行雙目攝像機(jī)的標(biāo)定[13]。實(shí)驗(yàn)在Matlab 2011a下的標(biāo)定工具箱中完成,所用的標(biāo)定板如圖3所示。為獲得好的標(biāo)定結(jié)果,一般采集10~20組標(biāo)定圖像。本文對(duì)雙目攝像機(jī)標(biāo)定時(shí),采集了15組大小為1 288×964(pixel)的圖像。
獲得標(biāo)定圖像后,讀取圖像,提取棋盤(pán)格上的角點(diǎn),獲取攝像機(jī)初值參數(shù),并進(jìn)行參數(shù)整體優(yōu)化和鏡頭畸變程度的計(jì)算,得到左右攝像機(jī)各自參數(shù)后,通過(guò)立體標(biāo)定構(gòu)建左右攝像機(jī)的位置關(guān)系(包括旋轉(zhuǎn)關(guān)系和平移關(guān)系)。雙目立體攝像機(jī)標(biāo)定實(shí)驗(yàn)參數(shù)如表1所示。
圖3 標(biāo)定板
表1 雙目立體攝像機(jī)標(biāo)定參數(shù)
根據(jù)標(biāo)定參數(shù)可計(jì)算出:B=211.5 mm,f=17.0 mm。
匹配實(shí)驗(yàn)選用道路上標(biāo)牌的圖像。為了解擴(kuò)展結(jié)構(gòu)張量匹配方法的匹配準(zhǔn)確性,選用了兩組路標(biāo)圖像進(jìn)行實(shí)驗(yàn)(一組是深度為4 824 mm處的禁止停車(chē)路標(biāo),另一組是深度為3 604 mm處的禁止鳴笛路標(biāo))。實(shí)驗(yàn)中分別對(duì)這兩組路標(biāo)圖像進(jìn)行SURF匹配、PCA匹配和擴(kuò)展結(jié)構(gòu)張量匹配,并比較它們的匹配精度。
第一組為禁止停車(chē)路標(biāo)的匹配實(shí)驗(yàn)(見(jiàn)圖4)。其深度真值為4 824 mm,由深度真值計(jì)算出的標(biāo)準(zhǔn)視差為12 pixel。根據(jù)標(biāo)準(zhǔn)視差可以得到匹配錯(cuò)點(diǎn)數(shù)。
(a) SURF匹配
(b) PCA匹配
(c) 擴(kuò)展結(jié)構(gòu)張量匹配圖4 禁止停車(chē)路標(biāo)的匹配實(shí)驗(yàn)圖例
通過(guò)第一組實(shí)驗(yàn),得到的總匹配點(diǎn)數(shù)和匹配錯(cuò)點(diǎn)數(shù)如表2所示。
表2 第一組匹配實(shí)驗(yàn)數(shù)據(jù)
第二組為禁止鳴笛路標(biāo)的匹配實(shí)驗(yàn)(見(jiàn)圖5)。其深度真值為3 604 mm,由深度真值計(jì)算出的標(biāo)準(zhǔn)視差為16 pixel。根據(jù)標(biāo)準(zhǔn)視差可以得到匹配錯(cuò)點(diǎn)數(shù)。
(a) SURF匹配
(b) PCA匹配
(c) 擴(kuò)展結(jié)構(gòu)張量匹配圖5 禁止鳴笛路標(biāo)的匹配實(shí)驗(yàn)圖例
通過(guò)第二組實(shí)驗(yàn),得到的總匹配點(diǎn)數(shù)和匹配錯(cuò)點(diǎn)數(shù)如表3所示。
表3 第二組匹配實(shí)驗(yàn)數(shù)據(jù)
對(duì)以上兩組實(shí)驗(yàn)數(shù)據(jù)進(jìn)行計(jì)算,可獲得錯(cuò)誤匹配點(diǎn)數(shù)占總匹配點(diǎn)數(shù)的比例(見(jiàn)圖6)。
圖6 3種匹配算法的誤差對(duì)比
從圖6可以看出,利用SURF匹配算法得到的誤匹配率很高,PCA匹配算法相對(duì)于SURF匹配算法來(lái)說(shuō)結(jié)果較好,但也存在較高的誤匹配率,擴(kuò)展結(jié)構(gòu)張量匹配算法與以上兩種算法相比能獲得較低的誤匹配率,在一定程度上保證了匹配的準(zhǔn)確性。
本文將亮度信息與結(jié)構(gòu)張量相結(jié)合,得到一種擴(kuò)展結(jié)構(gòu)張量的雙目視覺(jué)立體匹配算法。在雙目圖像的特征匹配過(guò)程中,針對(duì)SURF特征匹配的不準(zhǔn)確性以及PCA邊緣檢測(cè)后匹配的不足,該算法提高了特征匹配的精度。對(duì)兩組路標(biāo)的圖像進(jìn)行實(shí)驗(yàn),對(duì)比3種匹配算法可知,擴(kuò)展結(jié)構(gòu)張量的雙目視覺(jué)立體匹配算法更有效,誤匹配率有明顯降低,達(dá)到了預(yù)期匹配效果。
該算法在模式識(shí)別、立體導(dǎo)航等領(lǐng)域具有一定的應(yīng)用價(jià)值。