周 晴,吉 峰,白瑞林
ZHOU Qing1,JI Feng2,BAI Ruilin1
1.江南大學 輕工過程先進控制教育部重點實驗室,信息與控制實驗教學中心,江蘇 無錫 214122
2.無錫信捷電氣股份有限公司,江蘇 無錫 214072
1.Key Laboratory of Advanced Process Control for Light Industry(Ministry of Education),Information and Control Experiment Teaching Center,Jiangnan University,Wuxi,Jiangsu 214122,China
2.Xinje Electronic Co.,Ltd,Wuxi,Jiangsu 214072,China
機器視覺定位技術(shù)[1]具有非接觸,速度快,穩(wěn)定性好,精度高,抗干擾能力強,易于維護等突出優(yōu)點,廣泛應(yīng)用于工業(yè)缺陷檢測、工件定位、產(chǎn)品分揀、機器人視覺引導(dǎo)技術(shù)、軍事航天等領(lǐng)域中。
L.Gottesfeld[2]等人基于模板與圖像之間差值的絕對值的總和或者所有差值的平方和(SAD或SSD)提出了基于灰度的圖像匹配算法,基于灰度的模板匹配,算法耗時多,不適于快速匹配定位;Lowe[3]、H.Bay[4]等提出了基元特征點的匹配算法,算法匹配精度高,但是無法滿足實時性的要求;Steger等[5]提出一種以邊緣為特征的匹配方法;倪健等[6]采用一種以邊緣的方向向量為相似度量的匹配方法,該方法對遮擋、混亂等情況有比較好的魯棒性,但算法耗時相對較多。G.Borgefors等[7]提出了一種基于模板邊緣與圖像邊緣之間的距離的方法來匹配定位,為基于幾何基元本身的匹配提供了匹配依據(jù)。Chen等[8]提出了一種將模板物體與搜索圖像中的輪廓線分割為線段,然后匹配特殊線段的方法來實現(xiàn)匹配定位,然而分割方法沒有涉及到圓弧。此外,還有諸多實例利用Hausdorff距離[9-10]、LOG算子[11]、局部不變量[12]等特征,并采用遺傳算法、PSO算法[13]等方法來實現(xiàn)匹配定位。
基于上述分析,本文提出了一種基于圓弧基元的工件實時定位與匹配方法。通過遞歸算法將邊緣輪廓多邊形近似,通過基元的合并將輪廓分割為線段和圓弧基元。以最長圓弧基元計算模板的剛性變換,通過計算測試圖像幾何基元與變換后的模板中對應(yīng)的幾何基元之間的距離來實現(xiàn)匹配定位。試驗表明,該算法對于單目標或者多目標,目標是否被遮擋,是否具有復(fù)雜的背景等情況下都能快速準確地定位出目標。
基于圓弧基元的工件實時定位與匹配方法的整體過程的系統(tǒng)方案如圖1所示。
圖1 模板匹配示意圖
離線過程制作模板,將工件的輪廓分割為線段基元和圓弧基元,計算得到它們的幾何參數(shù),并確定模板的位姿以及各基元之間的關(guān)系。在線匹配過程,將實測圖像中以相同的算法求得幾何基元。匹配算法如圖2所示,通過最長圓弧基元的粗定位,以及各基元的角度、相對距離來實現(xiàn)匹配定位。
圖2 在線匹配算法
基于圓弧基元的工件實時定位與匹配方法,離線模板制作過程,采用背光照射,使用智能相機采集圖像,手動截取工件所在的區(qū)域為ROI區(qū)域。對ROI區(qū)域處理進行Otsu法二值化,提取單像素邊緣輪廓,并跟蹤邊緣輪廓。通過多邊形擬合以及合并相鄰基元,將邊緣輪廓分割成線段基元和圓弧基元,并確定模板方向以及各基元之間的關(guān)系。
圖像的輪廓跟蹤,即邊界跟蹤[14],即在ROI區(qū)域的邊界像素依次檢測并記錄下來。將輪廓點坐標存入序列數(shù)組 Pi=(ri,ci),i=1,2,…,n 。為了正確跟蹤8-連通域(如圖3所示)邊界單像素寬度目標的邊界,設(shè)初始方向dir=5,按8-連通域的順序搜索邊界點,當搜索到邊界點之后需要更新搜索的起始方向dir,若當前的dir為斜角方向,則dir=(dir+6)%8(其中%表示取余數(shù)),否則,dir=(dir+7)%8。如圖4中,p2的搜索起始方向為2。
圖3 8連通域示意圖
圖4 跟蹤方向示意圖
輪廓的所有邊緣點表示為:Pi=(ri,ci),i=1,2,…,n,算法將輪廓用一個多邊形近似表示。在邊緣輪廓上確定一個控制點集:pij,j=1,2,…,m,m≤n,此子集可以非常好地描述該輪廓[15]。
在最大距離位置的輪廓點處,將當前線段分為兩條線段。重復(fù)上述步驟,直到所有線段滿足最大距離約束條件,即得到輪廓的多邊形近似。
多邊形近似方法僅將輪廓分割為線段,而在應(yīng)該是圓弧基元處,多邊形近似的結(jié)果將圓弧基元分割為多段線段基元。因此需要檢查彼此相鄰的線段,判斷是否可以用圓弧來近似這個基元。
將輪廓邊緣分割為線段基元和圓弧基元,首先判斷當前基元屬于線段基元還是圓弧基元,本文通過基元長度作為一個判斷,若基元長度大于閾值T1(人工設(shè)置),則其為線段基元,不需要合并,使用最小二乘直線擬合算法求得它的幾何參數(shù)。若小于閾值T1,則合并與它相鄰的基元,使用最小二乘圓弧擬合算法求得幾何參數(shù)。
(1)直線擬合
式(1)、(2)計算得到了線段基元的參數(shù) k,b。
(2)圓弧擬合和合并
取相鄰基元,與當前基元合并,得到的新基元使用最小二圓弧乘擬合,求得半徑R′,若兩個半徑大小很接近,則合并這兩個基元為一個圓弧基元,取下一個基元重復(fù)上述判斷。
在離線創(chuàng)建模板的過程中,需要記錄模板中各基元的相關(guān)信息以用于匹配定位。模板位姿用于計算剛性變換角度,圓弧圓心到各基元的距離是用于匹配定位的判據(jù)。
(1)模板位姿
在模板基元中按基元的長度,找到最長圓弧基元,得到圓弧的圓心O(x1,y1),將圓心位置作為模板的位置。
圓心O(x1,y1)與最長圓弧對應(yīng)的弦的中點 M(x2,y2),通過這兩點來確定模板的方向θ,與X軸的夾角表示,θ即表示模板的方向。
(2)圓弧圓心到模板各基元的距離
如圖5所示,給出了一個分割邊緣輪廓為線段基元和圓弧基元的例子。圖5(a)為采集到的灰度圖像,圖5(b)為經(jīng)過迭代多邊形近似算法將輪廓分割為線段形式,從圖中可知,一段圓弧基元被分割成4段線段基元,圖5(c)為經(jīng)過圓弧擬合與合并步驟,4段線段擬合合并為一段圓弧基元,圖5(d)顯示了該段輪廓的分割結(jié)果,由3段線段基元和1段圓弧基元組成。
圖5 模板示意圖
基于圓弧基元的工件實時定位與匹配方法,在線匹配過程,首先對實測圖像采用同離線過程相同的方法,將邊緣輪廓分割為線段基元和圓弧基元;接著利用最長圓弧基元,確定實測圖像中的潛在匹配點,并計算模板與實測圖的剛性變換,基于這個剛性變換,通過計算實測圖像中幾何基元與變換后的模板中的幾何基元之間的距離來匹配剩余基元。
表1 算法檢測結(jié)果
(1)剛性變換角度
實測圖中滿足條件的圓弧基元,擬合得到它的圓心O′(x3,y3),以及圓弧對應(yīng)的弦的中點 M′(x4,y4)。計算實測圖中潛在目標的角度θ′,計算方法如下:
通過與模板的比對,計算剛性變換角度Δθ=θ′-θ。
(2)模板的剛性變換
已經(jīng)計算得到模板圖像與實測圖像的剛性變換角度Δθ,對于模板中的其他基元需要變換基元的角度。計算公式為:α=θ0+Δθ;其中θ0表示模板圖像中基元的角度。
在實測圖像的邊緣輪廓中,輪廓被分割為線段基元和圓弧基元,逐基元檢查是否有滿足基元角度為α的基元;若滿足角度條件,則檢查該基元相對于實測圖像中圓弧圓心的距離,如公式(3)所示。
在模板中的對應(yīng)基元到模板圓弧圓心的距離d,兩者之差在閾值范圍(一般為5個像素點)之內(nèi),說明當前基元匹配模板中基元。若超出閾值,則當前基元不匹配。
針對各種類型工件圖像進行仿真試驗,算法滿足工業(yè)現(xiàn)場實時、準確的要求。下面以一組圖像為例,算法的運行環(huán)境為Intel Pentium?CPU E6700 3.2 GHz/2 GB內(nèi)存。
算法使用的模板圖像為圖5(d),待檢測的圖像如圖6所示,對應(yīng)的檢測結(jié)果如圖7所示。
圖6 待檢測圖像
圖7 匹配結(jié)果
如圖6(a)所示,具有單個目標,且目標背景復(fù)雜,有干擾物體,如圖7(a)顯示,本文提出的算法檢測到了模板中的3個線段基元和1個圓弧基元,該算法能夠準確定位出工件的位置以及相對模板的旋轉(zhuǎn)角度;如圖6(b)所示,具有多個目標,且目標的部分被遮擋,還具有無關(guān)物體的干擾等外界影響,本文提出的算法能夠準確定位出實測圖像中的2個目標,如圖7(b)所示,其中一個目標的一個線段基元被部分遮擋,該算法能準確定位出未被遮擋的部分。如圖6(c)所示,在圖6(a)的基礎(chǔ)上加上高斯噪聲,如圖7(c)顯示,本文提出的算法依然能檢測到模板中的3個線段基元和1個圓弧基元。算法測試的結(jié)果如表1所示,并與文獻[6]提出的方法進行比較,匹配過程所用時間沒有包括邊緣跟蹤耗時。
本文提出了一種具有圓弧幾何基元的實時定位與匹配方法,在模板圖像中,提取圖像的輪廓邊緣并進行多邊形近似,并分割成線段或者圓弧基元,擬合出它們的幾何參數(shù),通過最長的圓弧確定模板的位姿。在實測圖像中,通過檢查最長的圓弧,得到潛在匹配位置,減少了搜索次數(shù);以模板圖像與實測圖像中基元之間的距離來匹配定位對應(yīng)的基元。通過大量對比分析,本文方法不僅匹配定位準確,而且時間較少,在實時應(yīng)用方面具有較大的意義。
[1]Steger C,Ulrich M,Wiedemann C.機器視覺算法與應(yīng)用[M].楊少榮,吳迪靖,段德山,譯.北京:清華大學出版社,2008:238-345.
[2]Brown L G.A survery of image registration techniques[J].ACM Computing Surveys,2004,24(4):325-367.
[3]Lowe D G.Distinctive image features from scale invariant keypoints[J].International Journal of Computer Vsion,2004,60(2):91-110.
[4]Bay H,Ess A,Tuytelaars T,et al.Surf:Speeded up robust features[J].Computer Vision and Image Understanding,2008,110(3):346-359.
[5]Steger C.Similarity measures for occlusion,clutter,and illumination invariant object recognition[C]//Radig B,F(xiàn)lorczyk S.Proc of Pattern Recognition,23rd DAGM-Symposium,2001:148-154.
[6]倪健,白瑞林,李英,等.采用輪廓向量特征的嵌入式圖像匹配方法[EB/OL].(2012-10-11).http://www.cnki.net/kcms/detail/11.2127.TP.20121011.1019.023.html.
[7]Borgefors G.Hierarchical chamfer matching:a parametric edge matching algorithm[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1988,10(6):849-865.
[8]Chen J M,Ventura J A.Segmentation of planar curves into circular arcs and line segments[J].Image and Vision Computing,1996,14(1):71-83.
[9]張文景,許曉鳴,蘇鍵鋒,等.基于Hausdorff距離的2D形狀匹配改進算法[J].中國圖象圖形學報,2000,5(2):106-109.
[10]王紅濤,傅衛(wèi)平,康業(yè)娜,等.工件圖像識別的邊緣匹配方法研究[J].儀器儀表學報,2008,29(5):986-991.
[11]王民鋼,王超,樊英平,等.基于LOG算子的小信息量圖像匹配算法[J].計算機工程與應(yīng)用,2012,48(29):191-195.
[12]吳文歡,李騫,江澤濤,等.基于局部不變特征的圖像匹配算法[J].計算機工程與應(yīng)用,2012,48(14):168-170.
[13]Liu X,Jiang W,Xie J,et al.An image template matching method using particle swarm optimization[C]//PACIIA’09,2009:83-86.
[14]劉相濱,鄒北冀,孫家廣.基于邊界跟蹤的快速歐式距離變換算法[J].計算機學報,2006,29(2):317-323.
[15]Ramer U.An iterative procedure for the polygonal approximation of plane curves[J].Computer Vision Graphics and Image Processing,1972,1(3):244-256.