黃 維,王超越
(1.武漢職業(yè)技術(shù)學(xué)院,湖北 武漢 430074;2.武漢理工大學(xué),湖北 武漢 430070)
機(jī)器視覺系統(tǒng)是實(shí)現(xiàn)機(jī)器人智能化的基礎(chǔ),雙目視覺作為機(jī)器視覺的重要研究方向,通過視差獲取物體的空間坐標(biāo),實(shí)現(xiàn)物體三維位置的測量[1-2]。基于視覺技術(shù)的機(jī)器人系統(tǒng)可以在復(fù)雜的環(huán)境中做出自主決策,并完成特定的目標(biāo)識別和空間定位任務(wù),在工業(yè)生產(chǎn)、自主巡視等領(lǐng)域應(yīng)用廣泛。
目前,國內(nèi)外關(guān)于雙目視覺定位技術(shù)已有較多的研究成果。在文獻(xiàn)[3]中,提出了一種將圖像二分法和orb特征相結(jié)合的機(jī)器人的雙目定位方法。通過圖像二分法去除無效區(qū)域,采用orb算法進(jìn)行匹配,最后,利用RANSAC算法消除誤匹配點(diǎn)。實(shí)驗(yàn)結(jié)果表明,所提方法具有效率高和準(zhǔn)確度高的優(yōu)點(diǎn)。在文獻(xiàn)[4]中,提出了一種基于SIFT算法的雙目立體測量系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,該方法提不僅提高了匹配的精度,還提高了匹配效率。在文獻(xiàn)[5]中,提出了一種將隨機(jī)蕨算法和二值特征描述子相結(jié)合的雙目視覺目標(biāo)定位方法。在粗匹配階段,采用隨機(jī)蕨算法對圖像進(jìn)行識別。在精細(xì)匹配階段,根據(jù)圖像梯度信息建立二值特征描述子。實(shí)驗(yàn)結(jié)果表明,該方法可以將誤差控制在7mm之內(nèi)。在文獻(xiàn)[6]中,提出了一種將高速魯棒特征和自適應(yīng)閾值相結(jié)合的定位算法。通過高速魯棒特征提取特征向量,通過自適應(yīng)閾值完成匹配。實(shí)驗(yàn)結(jié)果表明,該算法具有效率高、精度高等優(yōu)點(diǎn),有一定的實(shí)際價值。但上述方法在實(shí)際應(yīng)用中無法適應(yīng)實(shí)時性較高的場合,需要進(jìn)一步提高適應(yīng)性。
在此基礎(chǔ)上,提出了一種結(jié)合SIFT算法和Harris角點(diǎn)算法的汽車零部件圖像特征點(diǎn)提取方法。通過閾值自適應(yīng)方法對特征點(diǎn)進(jìn)行匹配,通過改進(jìn)RANSAC 算法則消除誤匹配點(diǎn)。仿真驗(yàn)證了該方法的優(yōu)越性。
雙目視覺是根據(jù)人眼的成像原理對物體進(jìn)行感知的技術(shù),主要目的是獲取空間物體的三維信息,在機(jī)器視覺的研究中發(fā)揮著非常重要的作用,通過分析左右相機(jī)的多個二維圖像進(jìn)行信息獲取[7]。雙目視覺的實(shí)現(xiàn)流程,如圖1所示。

圖1 立體視覺流程Fig.1 Stereo Vision Process
(1)圖像采集通過雙目相機(jī)完成。(2)相機(jī)標(biāo)定完成相機(jī)參數(shù)校準(zhǔn)[8]。(3)圖像預(yù)處理是對圖像進(jìn)行增強(qiáng)的過程。(4)特征點(diǎn)提取就是提取圖像的點(diǎn)特征,方便后續(xù)對整個圖像的分析。(5)立體匹配是使用相關(guān)算法對兩幅圖像進(jìn)行立體匹配[9]。(6)深度信息獲取是通過視差,并結(jié)合相應(yīng)的校準(zhǔn)結(jié)果來計算物體的深度信息。
SIFT 由David Lowe 于1999 年提出,并于2004 年進(jìn)行了完善,用于檢測和描述圖像局部特征。
SIFT算法具有尺度、旋轉(zhuǎn)和光照不變性。二維圖像的尺度空間L(x,y,σ)[10],如式(1)所示。
將高斯差分算子(Difference of Gaussian,DOG)用于極值檢測[11],如式(2)所示。
式中:k—相鄰尺度空間的倍數(shù)。
使用差分近似代替微分[12],如式(3)所示。
可以得到[13]如式(4)所示。
DOG中的極值點(diǎn)就是關(guān)鍵點(diǎn),SIFT特征點(diǎn)優(yōu)勢明顯,但是特征點(diǎn)數(shù)目過大,分揀機(jī)器人的實(shí)時處理性能不足,引入角點(diǎn)算法對其進(jìn)行優(yōu)化[14]。
如果一個點(diǎn)的行和列的曲率高于圖像其他點(diǎn)的曲率,則該點(diǎn)是重要特征點(diǎn)。
算法原理:圖像窗口平移[u,v],產(chǎn)生灰度變化E(u,v)[15],如式(5)所示。
式中:w(x,y)—窗口函數(shù);
I(x,y)、I(x+u,y+u)—原始和平移后的圖像灰度。
如果E(u),v較大,則對應(yīng)窗口內(nèi)有角點(diǎn)存在。式(5)的泰勒展開式[16],如式(6)所示。
式(5)變換為[17]式(7)所示。
對于局部微小的移動量[u,v],可以近似地得到[18],如式(8)所示。
設(shè)實(shí)對稱矩陣M的兩個特征值:λ1、λ2,Harris角點(diǎn)響應(yīng)函數(shù)R[19],如式(9)所示。
式中:detM=λ1λ2;traceM=λ1+λ2。
通過特征點(diǎn)的粗、精提取可以計算SIFT選擇關(guān)鍵點(diǎn)的R值,以確定關(guān)鍵點(diǎn)是否為角點(diǎn)。該方法一方面可以利用SIFT特征點(diǎn)來保持旋轉(zhuǎn)和尺度的穩(wěn)定性,另一方面將一些不穩(wěn)定點(diǎn)去除,提高后續(xù)算法的效率。
通過閾值自適應(yīng)方法對提取后的特征點(diǎn)進(jìn)行匹配,步驟如下:
(1)通過式(10)所示獲得特征點(diǎn)比值結(jié)合。
(2)根據(jù)特征點(diǎn)比值進(jìn)行排序,去除前后各10%數(shù)據(jù),剩余80%數(shù)據(jù)取平均值作為閾值。
(3)根據(jù)閾值對特征點(diǎn)進(jìn)行匹配,得到匹配點(diǎn)對集合。
匹配過程中存在一些誤匹配點(diǎn),會導(dǎo)致分揀機(jī)器人定位產(chǎn)生較大的偏差,影響預(yù)警效果,所以需要去除誤匹配點(diǎn)。
由于實(shí)際生產(chǎn)等問題,匹配過程肯定會有誤匹配點(diǎn)存在,影響后續(xù)的識別,需要對誤匹配點(diǎn)進(jìn)行去除。
RANSAC 作為一種魯棒估計算法,用于誤匹配點(diǎn)清除[21]。RANSAC算法根據(jù)初始值將數(shù)據(jù)點(diǎn)分為內(nèi)部點(diǎn)和外部點(diǎn),然后執(zhí)行迭代計算。但RANSAC算法也存在迭代不穩(wěn)定和復(fù)雜度高等問題。引入特征向量夾角余弦值來評估相似度。如式(11)所示:
式中:p、q—特征點(diǎn)對應(yīng)的特征向量;
n—向量維數(shù)。
根據(jù)余弦值分布情況設(shè)定閾值,根據(jù)閾值消除誤匹配點(diǎn)。
該算法的過程如下:
(1)隨機(jī)從數(shù)據(jù)集N中選擇匹配點(diǎn)對數(shù)據(jù),并將其記錄記為(xi,yi)和(,);
(2)根據(jù)式(12)計算方法計算矩陣H,并將其記為模型N。
(3)根據(jù)向量余弦對特征點(diǎn)進(jìn)行約束,如果值大于設(shè)置閾值,則將其定義為內(nèi)部點(diǎn)ii,否則,將其剔除。
(4)如果內(nèi)部點(diǎn)元素的數(shù)量大于內(nèi)部點(diǎn)最優(yōu)集合Ibest,則更新Ibest=I。
(5)如果迭代次數(shù)超過設(shè)定值,則退出。
該實(shí)驗(yàn)著重于汽車零部件圖像的雙目立體匹配,為了驗(yàn)證文中方法的優(yōu)越性,將其與優(yōu)化前進(jìn)行對比分析。實(shí)驗(yàn)計算機(jī)為華為計算機(jī),實(shí)驗(yàn)仿真平臺為matlab 2018a。相機(jī)是mv-em120m∕C,光源是mv-rl-v環(huán)形光源,機(jī)械臂是ABB.IRB120 6自由度機(jī)械臂,機(jī)器人分揀工件為汽車零部件。
在實(shí)驗(yàn)中,選擇了兩個場景進(jìn)行匹配。(一)模擬汽車零件工廠的復(fù)雜環(huán)境,將汽車零件隨機(jī)放置在生產(chǎn)線上以構(gòu)建復(fù)雜的背景環(huán)境。(二)選擇較為復(fù)雜的零部件。
在這兩個場景中進(jìn)行視覺捕捉,提取SIFT特征點(diǎn),然后結(jié)合Harris提取特征點(diǎn)以進(jìn)行雙目立體匹配。不同場景特征點(diǎn)提取實(shí)驗(yàn)結(jié)果,如圖2、圖3所示。分析了兩個場景下的特征點(diǎn)提取,如表1所示。

表1 特征點(diǎn)提取數(shù)Tab.1 Feature Point Extraction Number

圖2 場景1特征點(diǎn)提取Fig.2 Scene 1 Feature Point Extraction

圖3 場景2特征點(diǎn)提取Fig.3 Scene 2 Feature Point Extraction
由圖2、圖3和表1可以看出,文中方法在特征點(diǎn)數(shù)提取中優(yōu)于SIFT算法,具有更優(yōu)的性能。這是因?yàn)楸疚姆椒▽IFT算法和Harris角點(diǎn)算法相結(jié)合用于汽車零件圖像特征點(diǎn)提取,提高了SIFT算法的執(zhí)行效率。
通過結(jié)合SIFT算法和Harris方法用于特征點(diǎn)提取,通過閾值自適應(yīng)方法對圖像進(jìn)行立體匹配,通過改進(jìn)RANSAC 算法對誤匹配點(diǎn)進(jìn)行消除,完成分揀機(jī)器人立體匹配。場景1和場景2的匹配效果如圖4所示。

圖4 不同場景匹配效果Fig.4 Matching Effects for Different Scenes
由圖4不同場下的匹配效果可以看出,齒輪和汽車水泵應(yīng)用本文方法都具有較好的識別效果。齒輪在粗匹配階段有132對匹配點(diǎn),檢測耗時135.42ms,經(jīng)過本文改進(jìn)RANSAC去除誤匹配點(diǎn),剩余33對匹配點(diǎn),檢測耗時60.32ms。
汽車水泵在粗匹配階段有21對匹配點(diǎn),檢測耗時79.67ms,經(jīng)過本文改進(jìn)RANSAC去除誤匹配點(diǎn),剩余11對匹配點(diǎn),檢測耗時19.39ms。結(jié)果表明,本文融合閾值自適應(yīng)方法與改進(jìn)RANSAC算法,可以實(shí)現(xiàn)汽車零件在多種環(huán)境下的立體匹配。
為了使分揀機(jī)器人可以更加高效和準(zhǔn)確率的分揀,需要獲取零件詳細(xì)信息。在兩種場景下,通過測量零件表面與相機(jī)間的距離,進(jìn)行誤差分析。匹配特征點(diǎn)的距離,如表2所示。

表2 匹配特征點(diǎn)距離Tab.2 Matching Feature Point Distance
從表2可以看出,計算值和測量值較為接近,最大誤差僅為1.21mm,符合分揀機(jī)器人的精度要求。
這是因?yàn)閳鼍? 中汽車齒輪在傳送帶上的位置不同,且特征點(diǎn)的位置也不同,計算和測量深度略有不同。場景2 中汽車水泵結(jié)構(gòu)不是平坦的,也不是與相機(jī)表面完全平行,因此計算深度和測量深度略有不同。
將SIFT 算法和Harris 角點(diǎn)算法相結(jié)合,提取汽車零部件圖像的特征點(diǎn)。利用閾值自適應(yīng)方法對高對比度的特征點(diǎn)進(jìn)行匹配,改進(jìn)的RANSAC 算法則用于消除誤匹配點(diǎn)。
結(jié)果表明,該算法具有效率高、精度高等優(yōu)點(diǎn),實(shí)際測量值與計算之間的最大誤差為1.21mm,符合分揀機(jī)器人的精度要求。但也存在一些問題和不足,例如,僅研究了匹配方法,而未對目標(biāo)跟蹤算法進(jìn)行研究,這些問題和缺點(diǎn)將通過后續(xù)研究不斷改進(jìn)和完善。