吳葉蘭,楊 飛,劉 陽,謝 濤
(1.北京工商大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,北京100048;2.北京理工大學(xué) 車輛與機(jī)械工程學(xué)院,北京100081)
隨著微機(jī)電系統(tǒng)的發(fā)展[1],微小型產(chǎn)品以其輕巧便攜、節(jié)省空間和能源等特點(diǎn)逐步得到人們的重視,與之相關(guān)的微裝配技術(shù)得到了極大發(fā)展。顯微視覺系統(tǒng)是微裝配技術(shù)中的重要組成部分,為裝配過程提供非接觸的底層反饋信息。目前,顯微視覺的主要研究方向集中在自動(dòng)聚焦算法、深度信息獲取以及視覺系統(tǒng)標(biāo)定等方面[2,3],裝配過程中的目標(biāo)識(shí)別與跟蹤技術(shù)很少涉及,由于在微裝配過程中存在上料、下料、零部件搬移、定位等環(huán)節(jié),將目標(biāo)跟蹤技術(shù)引入顯微視覺領(lǐng)域具有重要意義。
由于微裝配的零部件通常為剛性體,對(duì)剛性目標(biāo)的跟蹤算法常采用基于區(qū)域的跟蹤和基于特征的跟蹤。基于區(qū)域跟蹤的典型算法是模板匹配[4],該方法是通過圖像分割或人工方式得到包含目標(biāo)的模板,根據(jù)對(duì)相關(guān)性的計(jì)算實(shí)現(xiàn)目標(biāo)跟蹤。該算法在無遮擋條件下跟蹤精度高,跟蹤穩(wěn)定,但在求解匹配點(diǎn)時(shí)需要遍歷整張圖片,計(jì)算量大?;谔卣鞯母櫵惴ㄊ怯媚繕?biāo)的局部特征來描述目標(biāo),通過跟蹤目標(biāo)的局部特征來實(shí)現(xiàn)目標(biāo)跟蹤,包括特征提取和特征匹配兩方面:特征提取是得到目標(biāo)的描述,用特征集合表達(dá),常用的特征包括顏色、邊緣、光流、紋理等;特征匹配是對(duì)每幀間的目標(biāo)進(jìn)行匹配以實(shí)現(xiàn)目標(biāo)跟蹤,常用的匹配方法有基于灰度、幾何、紋理及顏色等特征的匹配跟蹤。基于特征的跟蹤算法受目標(biāo)平移、旋轉(zhuǎn)及姿態(tài)變化的影響較小,當(dāng)目標(biāo)被部分遮擋時(shí)也能實(shí)現(xiàn)跟蹤任務(wù);其算法難點(diǎn)是確定幀間的特征對(duì)應(yīng)關(guān)系,對(duì)圖像模糊和噪聲也比較敏感。
在微裝配過程中,顯微視覺視場范圍是有限的,一個(gè)微小移動(dòng)就可能使零件脫離視場,同時(shí)由于顯微鏡頭的景深較小,工作距離的變化會(huì)導(dǎo)致跟蹤過程中目標(biāo)零件成像出現(xiàn)不同程度的模糊情況,給跟蹤帶來困難。另外,顯微視覺圖像往往具有較大的分辨率,龐大的數(shù)據(jù)量也很難保證系統(tǒng)的實(shí)時(shí)性。
本文提出一種基于SIFT 特征點(diǎn)的模板匹配和Kalman預(yù)測相結(jié)合的跟蹤算法,該方法采用Kalman 預(yù)測,在局部范圍內(nèi)實(shí)現(xiàn)對(duì)目標(biāo)零件的模板匹配,利用SIFT 特征對(duì)模板匹配的結(jié)果進(jìn)行校正和更新,并通過反饋位置信息使負(fù)載相機(jī)的云臺(tái)作出調(diào)整,從而使零件始終處于相機(jī)視場范圍內(nèi)。
本系統(tǒng)由顯微視覺圖像采集、圖像處理、云臺(tái)控制和平移臺(tái)控制四個(gè)子系統(tǒng)組成,如圖1 所示。
圖1 系統(tǒng)框架圖Fig 1 System frame diagram
顯微視覺圖像采集子系統(tǒng)通過CCD 相機(jī)和鏡頭獲得零件顯微圖像,通過USB 接口傳送給圖像處理子系統(tǒng)進(jìn)行實(shí)時(shí)處理;圖像處理子系統(tǒng)實(shí)現(xiàn)圖像預(yù)處理、目標(biāo)跟蹤、位置預(yù)測等相關(guān)的數(shù)據(jù)分析;云臺(tái)控制子系統(tǒng)通過串口獲得圖像處理子系統(tǒng)傳來的運(yùn)動(dòng)參數(shù),控制云臺(tái)的轉(zhuǎn)動(dòng),保證目標(biāo)落在CCD 相機(jī)視野范圍內(nèi);平移臺(tái)子系統(tǒng)帶動(dòng)零件實(shí)現(xiàn)往復(fù)平移運(yùn)動(dòng)。
模板匹配就是在圖像搜索區(qū)域中尋找與模板圖像相關(guān)程度最大的位置,將相關(guān)度最大的點(diǎn)做為最佳匹配點(diǎn),并記錄該點(diǎn)坐標(biāo)。對(duì)大小為M×N 的圖像f(x,y)和大小為W×H 的模板圖像T(x,y),當(dāng)模板圖像T(x,y)在搜索圖像f(x,y)上逐點(diǎn)移動(dòng)時(shí),可以利用式(1)來計(jì)算兩者的相關(guān)程度,R(x,y)為相關(guān)函數(shù),表示模板和搜索子圖的匹配程度,當(dāng)R(x,y)取得最大值或大于某個(gè)閾值時(shí),表示在搜索圖像f(x,y)中找到了匹配目標(biāo)
式中 x∈[0,M-W],y∈[0,N-H]。得到的匹配點(diǎn)坐標(biāo)同時(shí)作為Kalman 濾波器的觀測值坐標(biāo),用于對(duì)下一幀目標(biāo)出現(xiàn)范圍的預(yù)測。
Kalman 波器[5]是一個(gè)對(duì)動(dòng)態(tài)系統(tǒng)的狀態(tài)序列進(jìn)行線性最優(yōu)估計(jì)的算法,采用Kalman 濾波器可以實(shí)現(xiàn)對(duì)目標(biāo)運(yùn)動(dòng)參數(shù)的估計(jì),將全局搜索問題轉(zhuǎn)化為局部搜索,縮小了搜索范圍和搜索時(shí)間。具體實(shí)現(xiàn)為:建立系統(tǒng)的狀態(tài)方程(2)和觀測方程(3)
式中 Xk為系統(tǒng)狀態(tài)向量,Zk為系統(tǒng)測量向量,A 為狀態(tài)傳遞矩陣,H 為測量矩陣,Wk和Vk分別為正態(tài)分布的過程噪聲和測量噪聲,方差分別為Q 和R。由建立的系統(tǒng)狀態(tài)空間模型,利用前一時(shí)刻的信息預(yù)測系統(tǒng)的現(xiàn)有狀態(tài),得到對(duì)現(xiàn)在時(shí)刻的預(yù)測結(jié)果,再由現(xiàn)在狀態(tài)的測量值對(duì)前一時(shí)刻的模型進(jìn)行校正,即Kalman 濾波過程分為了預(yù)測和校正兩個(gè)環(huán)節(jié)。
時(shí)間更新預(yù)估計(jì)的兩個(gè)公式
狀態(tài)校正更新的三個(gè)公式
其中,P(k|k)為X(k|k)對(duì)應(yīng)的協(xié)方差,KG 為Kalman增益,X(k|k)為k 狀態(tài)下最優(yōu)的估算值,X(k|k-1)為利用上一狀態(tài)的預(yù)測結(jié)果,I 為單位矩陣。Kalman 濾波器就是用前面兩個(gè)時(shí)間更新方程獲得先驗(yàn)估計(jì),再由后面三個(gè)狀態(tài)更新方程對(duì)先驗(yàn)估計(jì)進(jìn)行校正以獲得最優(yōu)估計(jì)。在本系統(tǒng)的目標(biāo)跟蹤中,選擇的系統(tǒng)狀態(tài)變量為Xk=[Sx,Sy,Vx,Vy],分別表示目標(biāo)在x 和y 方向的位置、速度,觀測變量為Zk=[Sx,Sy]T。
SIFT(scale-invariant feature transform)算子是一種圖像的局部特征描述子,具有尺度、旋轉(zhuǎn)、平移不變性,而且對(duì)光照變化、仿射變換和噪聲也保持一定程度的穩(wěn)定性[6,7]。
2.3.1 SIFT 特征點(diǎn)的提取
SIFT 算子在高斯差分尺度空間(difference-of-Gaussian,DOG)內(nèi)檢測極值點(diǎn),提取位置、尺度和旋轉(zhuǎn)不變量。SIFT算子的主要步驟為:檢測尺度空間極值點(diǎn),精確定位極值點(diǎn)并得到關(guān)鍵點(diǎn)的位置和尺度,確定關(guān)鍵點(diǎn)的方向參數(shù);生成關(guān)鍵點(diǎn)描述子。
尺度空間的生成由DOG 算子實(shí)現(xiàn),DOG 算子是將兩個(gè)不同尺度的高斯核差分后與圖像做卷積得到的,公式為
其中,I(x,y)為輸入圖像,L 為圖像的尺度空間;k 用來區(qū)分不同的尺度;G(x,y,σ)為二維高斯函數(shù),如下式
其中,σ 代表高斯正態(tài)分布的均方差,即尺度空間因子。
為了高效提取SIFT 特征點(diǎn),通過降采樣的方法,逐層構(gòu)建高斯差分金字塔,比較相鄰尺度和相鄰位置的采樣點(diǎn)得到特征點(diǎn),根據(jù)特征點(diǎn)鄰域像素的梯度方向分布特性為特征點(diǎn)確定方向信息,得到包含位置信息、尺度和方向的128 維SIFT 特征特征向量。特征點(diǎn)模值m(x,y)和方向θ(x,y)可以由式(11)、式(12)得到
2.3.2 SIFT 點(diǎn)匹配
SIFT 特征點(diǎn)匹配采用兩幅圖像中SIFT 特征點(diǎn)的歐氏距離作為相似性判定度量,由于圖像采集過程中兩幀間隔非常短,跟蹤目標(biāo)位移小,可以認(rèn)為具有最小歐氏距離的兩個(gè)SIFT 為一對(duì)匹配點(diǎn)。匹配過程中,考慮到計(jì)算時(shí)間對(duì)系統(tǒng)整體實(shí)時(shí)性的影響,在實(shí)際匹配中常采用BBF(bestbin-first)[8]搜索算法來減少計(jì)算時(shí)間。為減少誤匹配問題,可計(jì)算匹配點(diǎn)最鄰近距離和次鄰近距離之比,高于閾值T,則為可接受的匹配點(diǎn)對(duì);否則,放棄。
本文根據(jù)微小型零件類剛性物體尺寸小、不變形的特點(diǎn),提出一種模板匹配、SIFT 特征提取和Kalman 濾波預(yù)測相融合的跟蹤算法,其流程如圖2 所示。
圖2 跟蹤系統(tǒng)流程圖Fig 2 Tracking system flow chart
具體步驟為:
1)提取初始幀中的運(yùn)動(dòng)目標(biāo)及其外接矩,并將其外接矩設(shè)為初始的跟蹤模板。
2)根據(jù)上一幀目標(biāo)是否丟失來確定當(dāng)前幀圖像處理范圍:如果上一幀跟蹤結(jié)果精確,將在局部范圍內(nèi)匹配目標(biāo);如果上一幀目標(biāo)跟丟,則會(huì)在全局范圍內(nèi)匹配目標(biāo)。
3)局部范圍的圖像匹配:將上一個(gè)跟蹤框的中心坐標(biāo)代入Kalman 濾波器,預(yù)測目標(biāo)在下一幀中出現(xiàn)的位置,在該局部范圍內(nèi)對(duì)圖像進(jìn)行模板匹配并計(jì)算匹配系數(shù)R,選取匹配系數(shù)最大的點(diǎn)為最佳匹配點(diǎn),并將Rmax與給定的閾值T1進(jìn)行比較。如果Rmax>T1,表示匹配結(jié)果正確,但由于預(yù)測誤差和匹配誤差的存在,會(huì)導(dǎo)致模板中心偏離目標(biāo),為獲取精確的跟蹤結(jié)果,應(yīng)提取局部區(qū)域的SIFT 特征點(diǎn)進(jìn)行匹配,用SIFT 匹配結(jié)果來校正當(dāng)前幀的模板中心值,如果Rmax<T1,表示目標(biāo)圖像和模板圖像沒有匹配成功,需要更新模板,模板更新的策略是:如果匹配成功的SIFT 特征點(diǎn)數(shù)目大于N,根據(jù)SIFT 特征點(diǎn)集中在目標(biāo)邊緣的特點(diǎn),選擇匹配點(diǎn)的外接矩作為新的跟蹤模板以實(shí)現(xiàn)跟蹤;如果匹配成功的SIFT 特征點(diǎn)數(shù)目小于N,表明目標(biāo)丟失,轉(zhuǎn)入第4 步在全局范圍內(nèi)搜索目標(biāo)。
4)全局范圍的圖像匹配:當(dāng)目標(biāo)在局部范圍內(nèi)丟失時(shí),則在全局范圍內(nèi)采用模板匹配法實(shí)現(xiàn)跟蹤。
本系統(tǒng)中,由于存在角度因素,鏡頭到跟蹤目標(biāo)的工作距離會(huì)隨位移臺(tái)的移動(dòng)而變化,且顯微鏡頭的景深淺會(huì)導(dǎo)致跟蹤過程中目標(biāo)零件成像出現(xiàn)模糊的情況。傳統(tǒng)的模板匹配對(duì)圖像要求較高,成像清晰程度和光照變化都會(huì)影響匹配結(jié)果。圖3 是跟蹤結(jié)果圖,圖3(a)是在光線充足和聚焦清晰的情況下對(duì)跟蹤目標(biāo)進(jìn)行SIFT 特征點(diǎn)提取和匹配,圖中白色十字為配上的SIFT 特征點(diǎn),在該條件下SIFT 特征點(diǎn)較多;圖3(b)是在位移臺(tái)移動(dòng)較大距離后對(duì)零件跟蹤的結(jié)果,可以看出由于失焦和光照不足零件已經(jīng)出現(xiàn)了一定程度的模糊,但仍有匹配的SIFT 點(diǎn)。圖3(c),(d)是模板匹配分別在失焦和光照不足的條件下對(duì)零件的跟蹤圖,從圖中可看出:當(dāng)實(shí)驗(yàn)條件惡化時(shí)跟蹤結(jié)果均失敗。
圖3 跟蹤效果對(duì)比圖Fig 3 Comparison chart of tracking effect
不難看出,相比于傳統(tǒng)的模板匹配法,本文提出的跟蹤方法跟蹤精度高,適應(yīng)性強(qiáng)。
算法的處理時(shí)間直接影響著系統(tǒng)的實(shí)時(shí)性。由于初始模板尺寸的大小直接影響著整體系統(tǒng)的處理時(shí)間,尺寸越大處理時(shí)間越長,系統(tǒng)的實(shí)時(shí)性越差。根據(jù)跟蹤零件目標(biāo)的大小,設(shè)置的模板尺寸為15 pixel×15 pixel,不同算法所需的處理時(shí)間如表1 所示。
表1 算法處理時(shí)間Tab 1 Time of algorithm processing
本文提出的算法雖比局部模板匹配法處理時(shí)間略有增大,但在保證系統(tǒng)實(shí)時(shí)性的同時(shí)增加了系統(tǒng)的魯棒性。
經(jīng)過大量實(shí)驗(yàn)表明:本文提出算法在保證跟蹤的準(zhǔn)確性和實(shí)時(shí)性的前提下,可以完成對(duì)微小型零件的跟蹤。
本文設(shè)計(jì)了一種基于微裝配過程的顯微視覺跟蹤系統(tǒng),將CCD 相機(jī)、顯微鏡頭和電控云臺(tái)相結(jié)合實(shí)現(xiàn)在微裝配過程中對(duì)微小型零件的跟蹤。提出一種針對(duì)顯微視場的融合SIFT 特征提取、模板匹配和Kalman 預(yù)測的跟蹤算法,通過將前一幀跟蹤結(jié)果轉(zhuǎn)換為Kalman 濾波的參數(shù)對(duì)當(dāng)前幀目標(biāo)可能出現(xiàn)的范圍進(jìn)行預(yù)測,在預(yù)測范圍內(nèi)用SIFT 特征點(diǎn)對(duì)匹配結(jié)果進(jìn)行校正和模板更新。實(shí)驗(yàn)結(jié)果表明:該系統(tǒng)實(shí)現(xiàn)了在顯微視場下對(duì)微小型零件的跟蹤,提出的算法能滿足系統(tǒng)的實(shí)時(shí)性并對(duì)在跟蹤過程中由實(shí)驗(yàn)環(huán)境引起的光照變化、尺度模糊具有較好的適應(yīng)性。
[1] 孫立寧,陳立國,劉品寬,等.微操作機(jī)器人顯微視覺系統(tǒng)若干問題[J].光學(xué)精密工程,2002,10(2):171-175.
[2] 席文明,吳洪濤.微裝配技術(shù)的發(fā)展現(xiàn)狀[J].機(jī)械科學(xué)與技術(shù),2002,21(6):861-865.
[3] 沈 飛,徐 德,唐永建,等.微操作/微裝配中微力覺的測量與控制技術(shù)研究現(xiàn)狀綜述[J].自動(dòng)化學(xué)報(bào),2014,40(5):785-797.
[4] 張 娟,毛曉波,陳鐵軍.運(yùn)動(dòng)目標(biāo)跟蹤算法研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2009,26(12):4407-4410.
[5] Kalman R E.A new approach to linear filtering and prediction problems[J].Journal of basic Engineering,1960,82(1):35-45.
[6] Lowe D G.Object recognition from local scale-invariant features[C]∥Proceedings of 1999 the Seventh IEEE International Conference on Computer Vision,IEEE,1999:1150-1157.
[7] Lowe D G.Distinctive image features from scale-invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[8] Beis J S,Lowe D G.Shape indexing using approximate nearestneighbour search in high-dimensional spaces[C]∥Proceedings of 1997 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,IEEE,1997:1000-1006.