周 晴,吉 峰,白瑞林
ZHOU Qing1,JI Feng2,BAI Ruilin1
1.江南大學(xué) 輕工過(guò)程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,信息與控制實(shí)驗(yàn)教學(xué)中心,江蘇 無(wú)錫 214122
2.無(wú)錫信捷電氣股份有限公司,江蘇 無(wú)錫 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
機(jī)器視覺(jué)定位技術(shù)[1]具有非接觸,速度快,穩(wěn)定性好,精度高,抗干擾能力強(qiáng),易于維護(hù)等突出優(yōu)點(diǎn),廣泛應(yīng)用于工業(yè)缺陷檢測(cè)、工件定位、產(chǎn)品分揀、機(jī)器人視覺(jué)引導(dǎo)技術(shù)、軍事航天等領(lǐng)域中。
L.Gottesfeld[2]等人基于模板與圖像之間差值的絕對(duì)值的總和或者所有差值的平方和(SAD或SSD)提出了基于灰度的圖像匹配算法,基于灰度的模板匹配,算法耗時(shí)多,不適于快速匹配定位;Lowe[3]、H.Bay[4]等提出了基元特征點(diǎn)的匹配算法,算法匹配精度高,但是無(wú)法滿足實(shí)時(shí)性的要求;Steger等[5]提出一種以邊緣為特征的匹配方法;倪健等[6]采用一種以邊緣的方向向量為相似度量的匹配方法,該方法對(duì)遮擋、混亂等情況有比較好的魯棒性,但算法耗時(shí)相對(duì)較多。G.Borgefors等[7]提出了一種基于模板邊緣與圖像邊緣之間的距離的方法來(lái)匹配定位,為基于幾何基元本身的匹配提供了匹配依據(jù)。Chen等[8]提出了一種將模板物體與搜索圖像中的輪廓線分割為線段,然后匹配特殊線段的方法來(lái)實(shí)現(xiàn)匹配定位,然而分割方法沒(méi)有涉及到圓弧。此外,還有諸多實(shí)例利用Hausdorff距離[9-10]、LOG算子[11]、局部不變量[12]等特征,并采用遺傳算法、PSO算法[13]等方法來(lái)實(shí)現(xiàn)匹配定位。
基于上述分析,本文提出了一種基于圓弧基元的工件實(shí)時(shí)定位與匹配方法。通過(guò)遞歸算法將邊緣輪廓多邊形近似,通過(guò)基元的合并將輪廓分割為線段和圓弧基元。以最長(zhǎng)圓弧基元計(jì)算模板的剛性變換,通過(guò)計(jì)算測(cè)試圖像幾何基元與變換后的模板中對(duì)應(yīng)的幾何基元之間的距離來(lái)實(shí)現(xiàn)匹配定位。試驗(yàn)表明,該算法對(duì)于單目標(biāo)或者多目標(biāo),目標(biāo)是否被遮擋,是否具有復(fù)雜的背景等情況下都能快速準(zhǔn)確地定位出目標(biāo)。
基于圓弧基元的工件實(shí)時(shí)定位與匹配方法的整體過(guò)程的系統(tǒng)方案如圖1所示。
圖1 模板匹配示意圖
離線過(guò)程制作模板,將工件的輪廓分割為線段基元和圓弧基元,計(jì)算得到它們的幾何參數(shù),并確定模板的位姿以及各基元之間的關(guān)系。在線匹配過(guò)程,將實(shí)測(cè)圖像中以相同的算法求得幾何基元。匹配算法如圖2所示,通過(guò)最長(zhǎng)圓弧基元的粗定位,以及各基元的角度、相對(duì)距離來(lái)實(shí)現(xiàn)匹配定位。
圖2 在線匹配算法
基于圓弧基元的工件實(shí)時(shí)定位與匹配方法,離線模板制作過(guò)程,采用背光照射,使用智能相機(jī)采集圖像,手動(dòng)截取工件所在的區(qū)域?yàn)镽OI區(qū)域。對(duì)ROI區(qū)域處理進(jìn)行Otsu法二值化,提取單像素邊緣輪廓,并跟蹤邊緣輪廓。通過(guò)多邊形擬合以及合并相鄰基元,將邊緣輪廓分割成線段基元和圓弧基元,并確定模板方向以及各基元之間的關(guān)系。
圖像的輪廓跟蹤,即邊界跟蹤[14],即在ROI區(qū)域的邊界像素依次檢測(cè)并記錄下來(lái)。將輪廓點(diǎn)坐標(biāo)存入序列數(shù)組 Pi=(ri,ci),i=1,2,…,n 。為了正確跟蹤8-連通域(如圖3所示)邊界單像素寬度目標(biāo)的邊界,設(shè)初始方向dir=5,按8-連通域的順序搜索邊界點(diǎn),當(dāng)搜索到邊界點(diǎn)之后需要更新搜索的起始方向dir,若當(dāng)前的dir為斜角方向,則dir=(dir+6)%8(其中%表示取余數(shù)),否則,dir=(dir+7)%8。如圖4中,p2的搜索起始方向?yàn)?。
圖3 8連通域示意圖
圖4 跟蹤方向示意圖
輪廓的所有邊緣點(diǎn)表示為:Pi=(ri,ci),i=1,2,…,n,算法將輪廓用一個(gè)多邊形近似表示。在邊緣輪廓上確定一個(gè)控制點(diǎn)集:pij,j=1,2,…,m,m≤n,此子集可以非常好地描述該輪廓[15]。
在最大距離位置的輪廓點(diǎn)處,將當(dāng)前線段分為兩條線段。重復(fù)上述步驟,直到所有線段滿足最大距離約束條件,即得到輪廓的多邊形近似。
多邊形近似方法僅將輪廓分割為線段,而在應(yīng)該是圓弧基元處,多邊形近似的結(jié)果將圓弧基元分割為多段線段基元。因此需要檢查彼此相鄰的線段,判斷是否可以用圓弧來(lái)近似這個(gè)基元。
將輪廓邊緣分割為線段基元和圓弧基元,首先判斷當(dāng)前基元屬于線段基元還是圓弧基元,本文通過(guò)基元長(zhǎng)度作為一個(gè)判斷,若基元長(zhǎng)度大于閾值T1(人工設(shè)置),則其為線段基元,不需要合并,使用最小二乘直線擬合算法求得它的幾何參數(shù)。若小于閾值T1,則合并與它相鄰的基元,使用最小二乘圓弧擬合算法求得幾何參數(shù)。
(1)直線擬合
式(1)、(2)計(jì)算得到了線段基元的參數(shù) k,b。
(2)圓弧擬合和合并
取相鄰基元,與當(dāng)前基元合并,得到的新基元使用最小二圓弧乘擬合,求得半徑R′,若兩個(gè)半徑大小很接近,則合并這兩個(gè)基元為一個(gè)圓弧基元,取下一個(gè)基元重復(fù)上述判斷。
在離線創(chuàng)建模板的過(guò)程中,需要記錄模板中各基元的相關(guān)信息以用于匹配定位。模板位姿用于計(jì)算剛性變換角度,圓弧圓心到各基元的距離是用于匹配定位的判據(jù)。
(1)模板位姿
在模板基元中按基元的長(zhǎng)度,找到最長(zhǎng)圓弧基元,得到圓弧的圓心O(x1,y1),將圓心位置作為模板的位置。
圓心O(x1,y1)與最長(zhǎng)圓弧對(duì)應(yīng)的弦的中點(diǎn) M(x2,y2),通過(guò)這兩點(diǎn)來(lái)確定模板的方向θ,與X軸的夾角表示,θ即表示模板的方向。
(2)圓弧圓心到模板各基元的距離
如圖5所示,給出了一個(gè)分割邊緣輪廓為線段基元和圓弧基元的例子。圖5(a)為采集到的灰度圖像,圖5(b)為經(jīng)過(guò)迭代多邊形近似算法將輪廓分割為線段形式,從圖中可知,一段圓弧基元被分割成4段線段基元,圖5(c)為經(jīng)過(guò)圓弧擬合與合并步驟,4段線段擬合合并為一段圓弧基元,圖5(d)顯示了該段輪廓的分割結(jié)果,由3段線段基元和1段圓弧基元組成。
圖5 模板示意圖
基于圓弧基元的工件實(shí)時(shí)定位與匹配方法,在線匹配過(guò)程,首先對(duì)實(shí)測(cè)圖像采用同離線過(guò)程相同的方法,將邊緣輪廓分割為線段基元和圓弧基元;接著利用最長(zhǎng)圓弧基元,確定實(shí)測(cè)圖像中的潛在匹配點(diǎn),并計(jì)算模板與實(shí)測(cè)圖的剛性變換,基于這個(gè)剛性變換,通過(guò)計(jì)算實(shí)測(cè)圖像中幾何基元與變換后的模板中的幾何基元之間的距離來(lái)匹配剩余基元。
表1 算法檢測(cè)結(jié)果
(1)剛性變換角度
實(shí)測(cè)圖中滿足條件的圓弧基元,擬合得到它的圓心O′(x3,y3),以及圓弧對(duì)應(yīng)的弦的中點(diǎn) M′(x4,y4)。計(jì)算實(shí)測(cè)圖中潛在目標(biāo)的角度θ′,計(jì)算方法如下:
通過(guò)與模板的比對(duì),計(jì)算剛性變換角度Δθ=θ′-θ。
(2)模板的剛性變換
已經(jīng)計(jì)算得到模板圖像與實(shí)測(cè)圖像的剛性變換角度Δθ,對(duì)于模板中的其他基元需要變換基元的角度。計(jì)算公式為:α=θ0+Δθ;其中θ0表示模板圖像中基元的角度。
在實(shí)測(cè)圖像的邊緣輪廓中,輪廓被分割為線段基元和圓弧基元,逐基元檢查是否有滿足基元角度為α的基元;若滿足角度條件,則檢查該基元相對(duì)于實(shí)測(cè)圖像中圓弧圓心的距離,如公式(3)所示。
在模板中的對(duì)應(yīng)基元到模板圓弧圓心的距離d,兩者之差在閾值范圍(一般為5個(gè)像素點(diǎn))之內(nèi),說(shuō)明當(dāng)前基元匹配模板中基元。若超出閾值,則當(dāng)前基元不匹配。
針對(duì)各種類型工件圖像進(jìn)行仿真試驗(yàn),算法滿足工業(yè)現(xiàn)場(chǎng)實(shí)時(shí)、準(zhǔn)確的要求。下面以一組圖像為例,算法的運(yùn)行環(huán)境為Intel Pentium?CPU E6700 3.2 GHz/2 GB內(nèi)存。
算法使用的模板圖像為圖5(d),待檢測(cè)的圖像如圖6所示,對(duì)應(yīng)的檢測(cè)結(jié)果如圖7所示。
圖6 待檢測(cè)圖像
圖7 匹配結(jié)果
如圖6(a)所示,具有單個(gè)目標(biāo),且目標(biāo)背景復(fù)雜,有干擾物體,如圖7(a)顯示,本文提出的算法檢測(cè)到了模板中的3個(gè)線段基元和1個(gè)圓弧基元,該算法能夠準(zhǔn)確定位出工件的位置以及相對(duì)模板的旋轉(zhuǎn)角度;如圖6(b)所示,具有多個(gè)目標(biāo),且目標(biāo)的部分被遮擋,還具有無(wú)關(guān)物體的干擾等外界影響,本文提出的算法能夠準(zhǔn)確定位出實(shí)測(cè)圖像中的2個(gè)目標(biāo),如圖7(b)所示,其中一個(gè)目標(biāo)的一個(gè)線段基元被部分遮擋,該算法能準(zhǔn)確定位出未被遮擋的部分。如圖6(c)所示,在圖6(a)的基礎(chǔ)上加上高斯噪聲,如圖7(c)顯示,本文提出的算法依然能檢測(cè)到模板中的3個(gè)線段基元和1個(gè)圓弧基元。算法測(cè)試的結(jié)果如表1所示,并與文獻(xiàn)[6]提出的方法進(jìn)行比較,匹配過(guò)程所用時(shí)間沒(méi)有包括邊緣跟蹤耗時(shí)。
本文提出了一種具有圓弧幾何基元的實(shí)時(shí)定位與匹配方法,在模板圖像中,提取圖像的輪廓邊緣并進(jìn)行多邊形近似,并分割成線段或者圓弧基元,擬合出它們的幾何參數(shù),通過(guò)最長(zhǎng)的圓弧確定模板的位姿。在實(shí)測(cè)圖像中,通過(guò)檢查最長(zhǎng)的圓弧,得到潛在匹配位置,減少了搜索次數(shù);以模板圖像與實(shí)測(cè)圖像中基元之間的距離來(lái)匹配定位對(duì)應(yīng)的基元。通過(guò)大量對(duì)比分析,本文方法不僅匹配定位準(zhǔn)確,而且時(shí)間較少,在實(shí)時(shí)應(yīng)用方面具有較大的意義。
[1]Steger C,Ulrich M,Wiedemann C.機(jī)器視覺(jué)算法與應(yīng)用[M].楊少榮,吳迪靖,段德山,譯.北京:清華大學(xué)出版社,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ìn)算法[J].中國(guó)圖象圖形學(xué)報(bào),2000,5(2):106-109.
[10]王紅濤,傅衛(wèi)平,康業(yè)娜,等.工件圖像識(shí)別的邊緣匹配方法研究[J].儀器儀表學(xué)報(bào),2008,29(5):986-991.
[11]王民鋼,王超,樊英平,等.基于LOG算子的小信息量圖像匹配算法[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(29):191-195.
[12]吳文歡,李騫,江澤濤,等.基于局部不變特征的圖像匹配算法[J].計(jì)算機(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].計(jì)算機(jī)學(xué)報(bào),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.