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