機(jī)器視覺軟件sherlock在生產(chǎn)線零件對(duì)準(zhǔn)方面的應(yīng)用
1 概述
在機(jī)器視覺檢測(cè)過程中,通常需要通過夾具來對(duì)每一個(gè)檢測(cè)的零件進(jìn)行定位,以保證光源照射到零件而讓相機(jī)能拍攝到被照射的零件,從而使位置傳感器能夠在同一位置進(jìn)行觸發(fā),防止零件發(fā)生晃動(dòng)或旋轉(zhuǎn)。每一個(gè)所要檢測(cè)的零件到達(dá)檢測(cè)區(qū)域時(shí),視覺系統(tǒng)都要對(duì)它進(jìn)行檢測(cè)。但是在很多情況下,即使夾具特別精確,也不能保證零件位置不發(fā)生變化。因?yàn)榱慵豢赡芸偸菧?zhǔn)確的定位在期望的位置,即零件不能重復(fù)地關(guān)于攝像機(jī)定位。
在很多情況下,這種未對(duì)準(zhǔn)可以使用相關(guān)測(cè)量方法進(jìn)行補(bǔ)償。例如,在Sherlock軟件中可以得到零件的長(zhǎng)度,方法是使用線peek找到所要測(cè)量的端點(diǎn),然后使用距離公式計(jì)算兩個(gè)端點(diǎn)之間的距離。這樣,測(cè)量值就將保持恒定。只要它的一個(gè)端點(diǎn)沒有移出相應(yīng)的線區(qū)域即可。
然而,一些情況下則需要絕對(duì)對(duì)準(zhǔn)。此時(shí)如果使用理想模板,或者測(cè)量的是一個(gè)小零件,若還不考慮零件位置的正常變化,那么過度擴(kuò)大感興趣區(qū)域就不太可能保證魯棒性。在這些情況下,利用機(jī)器視覺軟件sherlock的landmark就很容易解決零件不能對(duì)準(zhǔn)的問題。
2 零件對(duì)準(zhǔn)工作過程
當(dāng)檢測(cè)的零件不在最初訓(xùn)練的位置時(shí),Sherlock的零件對(duì)準(zhǔn)功能依靠Landmarks可自動(dòng)找到所要檢測(cè)的位置。所有點(diǎn)的讀數(shù)都可以在讀數(shù)編輯對(duì)話框中標(biāo)記為Landmark。通過指令返回Landmarks標(biāo)記點(diǎn)的位置后,便可根據(jù)landmarks的位置對(duì)所要處理的peek進(jìn)行自動(dòng)定位。
2.1 零件只發(fā)生移動(dòng)時(shí)的對(duì)準(zhǔn)
當(dāng)所檢測(cè)的零件只發(fā)生X方向或Y方向的移動(dòng)時(shí),只需要一個(gè)landmark點(diǎn)進(jìn)行定位就可以實(shí)現(xiàn)自動(dòng)對(duì)準(zhǔn)。其操作過程如下:
(1)首先在所拍攝的合格零件圖像上選定一個(gè)點(diǎn)作為定位點(diǎn)(landmark),如利用矩形peek的Smart-Search分析算法對(duì)零件的某一特征部分進(jìn)行訓(xùn)練,并將該特征的best point作為定位點(diǎn)(landmark)。
(2)將矩形peek的范圍拉大,使所檢測(cè)的零件中與所訓(xùn)練的特征相應(yīng)的特征部分總在該peek范圍內(nèi)。
(3)對(duì)需要檢測(cè)的區(qū)域進(jìn)行訓(xùn)練,并添加相應(yīng)的程序。
(4)運(yùn)行檢測(cè)程序,當(dāng)零件位置發(fā)生移動(dòng)時(shí),所要檢測(cè)部位的peek就會(huì)根據(jù)landmark點(diǎn)自動(dòng)精確的找到所要檢測(cè)的部位,并進(jìn)行檢測(cè)。
圖1中,將十字架作為訓(xùn)練模板,十字架的中心作為landmark,需要檢測(cè)的位置為梳狀齒。當(dāng)零件發(fā)生移動(dòng)時(shí),peek B可以自動(dòng)找到所要檢測(cè)的位置。
2.2 零件既發(fā)生移動(dòng)又有旋轉(zhuǎn)時(shí)的對(duì)準(zhǔn)
當(dāng)檢測(cè)的零件相對(duì)于訓(xùn)練模板在位置上既有X、Y方向移動(dòng),又發(fā)生了旋轉(zhuǎn)時(shí),用一個(gè)landmark就不能找到所要檢測(cè)的位置。此時(shí)可在sherlock中使用兩個(gè)landmarks來實(shí)現(xiàn)自動(dòng)對(duì)準(zhǔn)。其中一個(gè)land-mark計(jì)算移動(dòng)的信息,另一個(gè)計(jì)算旋轉(zhuǎn)的信息。其操作過程如下:
(1) 在所拍攝的合格零件圖像上選定兩個(gè)可以被可靠定位的特征點(diǎn)作為定位點(diǎn)(landmarks)進(jìn)行訓(xùn)練。
(2) 訓(xùn)練完成后分別將兩個(gè)特征點(diǎn)的peek拉大,以使每一個(gè)特征點(diǎn)都在自己的peek范圍內(nèi)。
(3) 對(duì)需要檢測(cè)的區(qū)域進(jìn)行訓(xùn)練,并添加相應(yīng)的程序。
(4) 運(yùn)行檢測(cè)程序,當(dāng)零件位置既發(fā)生移動(dòng),又發(fā)生旋轉(zhuǎn)時(shí),所要檢測(cè)部位的peek就會(huì)根據(jù)land-mark點(diǎn)自動(dòng)精確的找到所要檢測(cè)的部位并進(jìn)行檢測(cè)。
零件位置發(fā)生旋轉(zhuǎn)時(shí),也可以使用三個(gè)land-marks實(shí)現(xiàn)對(duì)準(zhǔn),假定第一點(diǎn)相對(duì)于零件來說是一個(gè)固定點(diǎn),隨后的兩點(diǎn)只被用來計(jì)算旋轉(zhuǎn)信息。那么,記錄下點(diǎn)之間的原始角度,再找出運(yùn)行時(shí)的新角度,然后通過新角度和原始角度之間的比較計(jì)算出旋轉(zhuǎn)距離,就可以實(shí)現(xiàn)零件對(duì)準(zhǔn)。
2.3 使用Smart Search360的結(jié)果來實(shí)現(xiàn)零件對(duì)準(zhǔn)
sherlock軟件中的分析算法Smart Search360是一個(gè)模式識(shí)別的分析算法,該算法不但可以識(shí)別旋轉(zhuǎn)的物體,也可以實(shí)現(xiàn)零、部件對(duì)準(zhǔn)。Smart Search360的返回結(jié)果中有一個(gè)最佳點(diǎn)和一個(gè)最佳角度。使用點(diǎn)的轉(zhuǎn)換函數(shù)Formula―Align把該點(diǎn)和該角度轉(zhuǎn)換成兩個(gè)landmarks,就可以實(shí)現(xiàn)零件對(duì)準(zhǔn)。
評(píng)論