,
(華南理工大學(xué) 機(jī)械與汽車工程學(xué)院,廣州 510640)
隨著當(dāng)今工業(yè)自動化和智能化的不斷發(fā)展,工業(yè)機(jī)器人在生產(chǎn)中的地位得到了前所未有的重視。機(jī)器視覺定位作為機(jī)器人相關(guān)技術(shù)的一個重要的分支,其準(zhǔn)確度的提高成為了研究人員努力的目標(biāo)和方向。
雙目立體測量技術(shù)是基于計算機(jī)視覺基礎(chǔ)發(fā)展起來的一項重要的非接觸式三維測量技術(shù),因其結(jié)構(gòu)簡單,測量范圍較大以及較高的測量精度,在生產(chǎn)生活中得到了廣泛的應(yīng)用[1-4],成為機(jī)器視覺定位中的一種常用方法。在雙目視覺測量系統(tǒng)中,圖像匹配過程是對圖像特征點的提取和特征點之間的對應(yīng)過程,匹配的結(jié)果對后續(xù)的處理至關(guān)重要,直接影響了雙目視覺測量系統(tǒng)的準(zhǔn)確性,因此受到了廣泛的關(guān)注。SURF(speeded-up robust features)算法是Bay[5]等人在SIFT[6](scale-invariant feature transform)特征檢測算法的基礎(chǔ)上提出的改進(jìn)算法,不僅保持了SIFT算法的檢測精度,而且縮短了算法的運(yùn)行時間。由于SURF算法本身缺陷,進(jìn)行特征點匹配時容易產(chǎn)生特征點對的誤匹配,因此許多研究學(xué)者也在這方面進(jìn)行了大量工作。Maresca[7]等將NNDR策略加入經(jīng)典SURF算法中,提高了匹配精度,不過在去除誤匹配的同時也去除大量正確匹配;陳潔[8]等采用基于極線約束幾何模型的RANSAC算法剔除經(jīng)典SURF算法的誤匹配,不過由于RANSAC算法對樣本進(jìn)行隨機(jī)抽樣,造成算法實時性較差;韓峰[9]等將基于極線約束的RANSAC改進(jìn)匹配算法運(yùn)用到雙目視覺測量中,提高了經(jīng)典SURF算法雙目立體視覺測量精度。
在上述研究基礎(chǔ)上,提出一種改進(jìn)SURF算法的圖像匹配方法,通過兩次匹配點篩選提高匹配精度,并將改進(jìn)算法與雙目視覺測量模型相結(jié)合,完成目標(biāo)定位測距。通過實驗證明,改進(jìn)方法在準(zhǔn)確性和實時性上均有較好表現(xiàn),應(yīng)用改進(jìn)SURF算法的雙目視覺測量系統(tǒng)也可達(dá)到較高定位測量精度。
雙目視覺測量是通過雙目相機(jī)采集目標(biāo)圖像對,獲取目標(biāo)點三維坐標(biāo)的測量方法[10]。模仿人眼的雙目結(jié)構(gòu),根據(jù)采集目標(biāo)圖像對計算目標(biāo)點在左、右圖像上的視差(disparity)計算空間目標(biāo)點的三維信息。圖1為雙目立體視覺測量原理圖,其中Ol-xlylzl為左相機(jī)坐標(biāo)系,Or-xryrzr為右相機(jī)坐標(biāo)系。
對于空間任意一點P點,在左相機(jī)成像平面的投影點為Pl,在右相機(jī)成像平面的投影點為Pr(Pl與Pr互為對應(yīng)點)。
圖1 雙目立體視覺測量原理
通過匹配Pl和Pr的對應(yīng)關(guān)系,根據(jù)雙目視覺測量系統(tǒng)的定位原理,即式(1)可計算出空間點P在左相機(jī)坐標(biāo)系的空間三維坐標(biāo)。
(1)
式(1)中,B為左、右相機(jī)坐標(biāo)系在水平方向距離,即雙目視覺測量系統(tǒng)的基線距;f為左右相機(jī)的鏡頭焦距參數(shù);cx、cx’分別是左右相機(jī)圖像中心在光心水平方向上的偏移;cy為左相機(jī)的成像平面中心在光心垂直方向上的偏移量;X、Y、Z分別是P點在左相機(jī)坐標(biāo)系下的三維坐標(biāo),x、y分別是P點在左圖像平面的坐標(biāo),d為P點的視差值。其中,基線距B、鏡頭焦距f,cx、cx’以及cy等參數(shù)可通過相機(jī)內(nèi)、外標(biāo)定獲取[11-12]。
經(jīng)典SURF算法是在圖像尺度空間上對局部特征點檢測和描述方法,其特征提取結(jié)果不受圖像旋轉(zhuǎn)、縮放等因素的影響,具有仿射不變性。經(jīng)典SURF算法一般包括特征檢測,主方向確定,特征描述以及特征匹配等4個步驟。
1)特征檢測:SURF算法對圖像特征點進(jìn)行特征檢測時,利用Hessian矩陣對圖像像素點進(jìn)行判別式求解。針對像素點f(x,y),其Hessian矩陣如式(2)所示,根據(jù)判定結(jié)果取值將像素點進(jìn)行分類。當(dāng)Hessian矩陣判別式取得局部最值時,即判定當(dāng)前像素點為極值點,由此定位圖像特征點位置。
(2)
2)主方向確定:以(1)中確定的特征點為圓心,根據(jù)圓心特征點的尺度值S,生成半徑為6 S的圓形域。在圓形域內(nèi),以60°扇形作為掃描區(qū)間,統(tǒng)計掃描區(qū)間內(nèi)所有像素點水平Harr小波特征和垂直Harr小波特征總和。旋轉(zhuǎn)掃描區(qū)間,特征點的主方向即為掃描得到最長的方向向量。
3)特征描述:在2)中特征點的主方向確定后,以特征點為中心,沿著特征點主方向建立一個4×4的矩形區(qū)域塊。矩形區(qū)域中每個子區(qū)域統(tǒng)計25個像素相對于主方向上的水平和垂直Harr小波特征,分別記做dx和dy。通過對Harr小波特征加權(quán),得到水平方向和垂直方向上加權(quán)小波響應(yīng)值和響應(yīng)值絕對值,并分別記做∑dx,∑|dx|,∑dy,∑|dy|,每個子區(qū)域形成的4維向量記為V:
V={∑dx,∑|dx|,∑dy,∑|dy|}
(3)
由于存在4×4個子區(qū)域,因此對每個特征點形成64維的特征描述向量。
采用經(jīng)典SURF圖像匹配算法后可以得到大量特征點和匹配點集,不過由于經(jīng)典SURF算法自身缺陷以及圖像遮擋、背景混亂等原因,匹配點集中會出現(xiàn)較多誤匹配點對。在雙目視覺測量系統(tǒng)中,若圖像匹配過程出現(xiàn)大量誤匹配,則會導(dǎo)致視差計算錯誤,從而影響最終的三維重建精度[13]。
本文的改進(jìn)算法是在經(jīng)典SURF圖像匹配算法特征點檢測及特征向量描述的基礎(chǔ)上,首先采用雙向特征向量匹配策略對經(jīng)典SURF算法得到的匹配點集進(jìn)行初始過濾,接下來采用PROSAC算法根據(jù)極線約束模型對初始過濾后的匹配點集進(jìn)行二次篩選,得到最終的優(yōu)質(zhì)匹配集合,算法流程如圖2所示。
圖2 改進(jìn)圖像匹配算法流程圖
由于經(jīng)典SURF算法特征匹配過程是單向的,即只在圖像2特征點中尋找圖像1中特征點的匹配點,因此匹配點集中會出現(xiàn)較多誤匹配點對。對于經(jīng)典SURF算法的缺陷,采用雙向特征向量匹配策略,對圖像1和圖像2的特征向量進(jìn)行雙向匹配,并對特征向量匹配結(jié)果添加一定約束,提高匹配點集的正確率。
首先通過經(jīng)典SURF圖像匹配算法,獲取圖像1特征向量與圖像2特征向量的最近鄰距離d1與次近鄰距離d2,設(shè)置閾值R。若d1與d2的比值小于閾值R,則認(rèn)為此對匹配點是正確的匹配點對,結(jié)果存入點集A1中。
接下來調(diào)整匹配順序,通過經(jīng)典SURF圖像匹配算法得到圖像2中特征點在圖像1中的匹配點,計算圖像2中特征向量與圖像1中特征向量的最近鄰距離d1′與次近鄰距離d2′。若d1′與d2′的比值小于R,則將結(jié)果存入點集A2中。
最后將點集A1與點集A2取交集,則得到了雙向特征向量初始過濾后的匹配集A,即:
A=A1∩A2
(4)
經(jīng)過實驗驗證,當(dāng)閾值R取值0.4~0.6時,能獲得較好誤匹配過濾效果。
PROSAC(Progressive Sample Consensus)算法是由Ondrej Chum[14]等提出的RANSAC(Random Sample Consensus)算法的改進(jìn)算法。
PROSAC算法和RANSAC算法的目的都是從數(shù)據(jù)集合中將異常數(shù)據(jù)篩選出來。RANSAC算法思路是隨機(jī)抽樣選取樣本來擬合具體的幾何約束模型,滿足幾何約束模型的樣本稱為內(nèi)點,根據(jù)樣本擬合情況調(diào)整幾何約束模型參數(shù),往復(fù)循環(huán),直到從數(shù)據(jù)集中篩選中最多內(nèi)點;PROSAC算法是在RANSAC算法的基礎(chǔ)上,對樣本擬合順序做了改進(jìn)。首先對數(shù)據(jù)集內(nèi)樣本按照某種標(biāo)準(zhǔn)進(jìn)行排序,排序靠前的樣本可能是正確模型的內(nèi)點,根據(jù)內(nèi)點樣本確定的模型參數(shù)越好,幾何約束模型調(diào)整幅度也越小。因此對于內(nèi)點概率高的數(shù)據(jù)集,采用PROSAC算法無論是在魯棒性還是在時間效率上都要優(yōu)于采用RANSAC算法。
由于最初的匹配點集經(jīng)過了雙向特征向量匹配步驟的初次篩選,點集內(nèi)的樣本是內(nèi)點的概率很高,因此非常適合采用PROSAC算法。
本文采用的PROSAC算法是基于極線約束模型,采用基本矩陣作為參數(shù)模型,其原理如圖3所示。
圖3 極線約束原理圖
圖3中,P為空間中一點,分別在左、右相機(jī)成像平面上的成像點為Pl和Pr??臻g點P和左右相機(jī)光心Ol和Or三點構(gòu)成的平面稱為極平面,Ol和Or的連線與成像平面的交點el和er稱為極點,極平面與左右成像平面的交線l1(plel)和l2(prer)都為極線。
由圖3可知,根據(jù)雙目視覺系統(tǒng)圖像采集特點,無論P(yáng)點位置如何改變,其在左成像平面的點Pl一定會通過極線l1,右成像平面的點Pr一定會通過極線l2,所以Pl的對應(yīng)點一定在l2上,Pr的對應(yīng)點一定在l1上,這種約束關(guān)系就是極線約束。通過基礎(chǔ)矩陣F可以將像點Pl和Pr的坐標(biāo)關(guān)系表示出來,即為:
(5)
現(xiàn)將采用PROSAC算法剔除誤匹配點對步驟總結(jié)如下:
(a)根據(jù)經(jīng)典SURF特征描述距離,對點集A中的匹配點對進(jìn)行排序;
(b) 根據(jù)取樣次數(shù)t確定假設(shè)生成集的大小n,即認(rèn)為內(nèi)點在前n中;
(c)從前n中隨機(jī)抽取7個數(shù)據(jù),和第n個數(shù)據(jù)組成計算樣本,根據(jù)8點法計算基礎(chǔ)矩陣;
(d) 對每個基礎(chǔ)矩陣F,計算每對匹配點到各自極線的距離平方和記為D,設(shè)定閾值T,將符合D (e)對步驟(b)~(d)進(jìn)行循環(huán),若符合終止條件,則結(jié)束循環(huán),根據(jù)所對應(yīng)的基礎(chǔ)矩陣,剔除誤差較大匹配點。 出現(xiàn)以下情況,則算法循環(huán)終止: (a)當(dāng)最大內(nèi)點在樣本中比例達(dá)到或超過設(shè)定的閾值時,則算法循環(huán)終止; (b)當(dāng)M次采樣次數(shù)后樣本中內(nèi)點數(shù)量不再增加,則算法循環(huán)終止; (c)當(dāng)N次采樣次數(shù)后,內(nèi)點的增加沒有減少模型的誤差和,則算法循環(huán)終止。 為了驗證前述改進(jìn)算法的準(zhǔn)確性和采用該算法的雙目視覺測量精度,下面進(jìn)行具體的實驗測試。 搭建的實驗平臺如圖4所示。圖像采集設(shè)備采用兩個MicroVision工業(yè)攝像頭組成雙目視覺系統(tǒng),相機(jī)分辨率1280×960,幀率15 fps;平面標(biāo)定板采用高精度棋盤格型金屬平面標(biāo)定板,格邊長30 mm×30 mm,打印精度為±0.01 mm;視覺軟件為自主開發(fā),開發(fā)環(huán)境Visual Studio,開發(fā)語言為C++;軟件運(yùn)行環(huán)境為Windows7操作系統(tǒng)的計算機(jī),采用Intel(R) Core i3 3210 M CPU @ 2.5 GHz,4 GB內(nèi)存。 圖4 雙目視覺測量實驗平臺 為了檢驗本文改進(jìn)圖像匹配算法,使用雙目視覺系統(tǒng)采集的圖像對經(jīng)典SURF圖像匹配算法、文獻(xiàn)[9]改進(jìn)算法和本文改進(jìn)算法進(jìn)行驗證和比較,其匹配結(jié)果如圖5和表1所示。 圖5 圖像立體匹配結(jié)果 表1 3種算法匹配結(jié)果對比 由圖5和表1所示,經(jīng)典SURF得到最多的匹配點對,誤匹配現(xiàn)象也非常明顯,匹配正確率不高。文獻(xiàn)[9]采用了RANSAC算法對經(jīng)典SURF匹配點集進(jìn)行了篩選,提高了匹配正確率;本文改進(jìn)算法由于采用了雙向特征向量匹配以及PROSAC算法,因此獲得的匹配點對數(shù)量較經(jīng)典SURF算法和文獻(xiàn)14算法少,不過由于經(jīng)過了兩次匹配點集的篩選,因此沒有出現(xiàn)誤匹配的現(xiàn)象,匹配正確率達(dá)到100%。匹配時間上,由于本文改進(jìn)算法和文獻(xiàn)[9]改進(jìn)算法都是在經(jīng)典SURF特征檢測和匹配結(jié)果上進(jìn)行改進(jìn),因此算法運(yùn)行時間都高于經(jīng)典SURF算法,不過本文改進(jìn)算法相較文獻(xiàn)[9]改進(jìn)算法,在匹配效果近似的情況下,在算法的運(yùn)行時間上有了明顯的提升,能夠更好地滿足實時性的需求。 為了驗證本文改進(jìn)圖像匹配算法在雙目視覺測量中的測量精度,基于搭建的實驗平臺進(jìn)行目標(biāo)測量實驗。 首先采用張氏平面標(biāo)定法[12]對雙目相機(jī)單目和立體標(biāo)定,求取基線距B、鏡頭焦距f,cx、cx’以及cy等雙目系統(tǒng)內(nèi)、外參數(shù)。 固定雙目相機(jī)及測量目標(biāo)物體,采集測量目標(biāo)左、右圖像,并分別采用經(jīng)典SURF算法、文獻(xiàn)[9]改進(jìn)算法和本文改進(jìn)算法對左、右圖像進(jìn)行圖像匹配。根據(jù)匹配結(jié)果統(tǒng)計所有特征點的圖像坐標(biāo),并計算其對應(yīng)特征點的視差值。 通過式(1)計算圖像特征點在左相機(jī)坐標(biāo)系下的三維坐標(biāo)值,對所有特征點深度方向測量距離求取平均值,即可估計為目標(biāo)物體空間距離,實現(xiàn)對目標(biāo)物體的深度距離測量。比較3種圖像匹配方法測量結(jié)果,并和實際距離相比較,分析采用不同匹配算法的雙目視覺測量精度。 移動測量目標(biāo)物體,在不同位置進(jìn)行對比實驗,并將測量值與實際值進(jìn)行比較,所得實驗結(jié)果如表2所示。 由表2數(shù)據(jù)可知,在實測距離500~1 000 mm測距范圍內(nèi),運(yùn)用本文改進(jìn)算法相較于采用經(jīng)典SURF算法和文獻(xiàn)[9]改進(jìn)算法,雙目測量定位結(jié)果更準(zhǔn)確,而且隨著實測距離的增加,本文改進(jìn)算法的測量精度優(yōu)勢更為明顯。 定位結(jié)果誤差經(jīng)分析,主要有以下幾個來源: 1)相機(jī)標(biāo)定過程產(chǎn)生的誤差對深度信息的計算產(chǎn)生影響; 2)圖像處理的過程中,提取的特征點的圖像坐標(biāo)精度不夠,對視差計算結(jié)果造成影響。 3)采用特征點坐標(biāo)平均值來估計目標(biāo)物體空間坐標(biāo)存在一定誤差。 針對雙目立體測量中所使用的圖像匹配算法精度不高的問題,提出了一種基于SURF算法的改進(jìn)圖像匹配方法。該方法首先采用經(jīng)典SURF算法獲取特征點和特征向量;接下來采用雙向特征向量匹配原則剔除誤匹配點對;最后采用基于極線約束的PROSAC算法對匹配點集進(jìn)行篩選。同時對經(jīng)典SURF算法、文獻(xiàn)[9]算法和本文改進(jìn)算法進(jìn)行了圖像匹配對比實驗,結(jié)果表明本文改進(jìn)SURF圖像匹配算法具有更高的匹配準(zhǔn)確性和較好的算法實時性?;诖罱ǖ碾p目視覺測量實驗平臺進(jìn)行測量定位實驗,采用本文改進(jìn)算法可實現(xiàn)更準(zhǔn)確的目標(biāo)測量定位,具有一定工程運(yùn)用價值。4 實驗及結(jié)果分析
4.1 實驗平臺
4.2 圖像立體匹配實驗
4.3 雙目視覺測量定位實驗
5 結(jié)束語