機器視覺(jué)軟件 sherlock 在零件對準方面的應用
概述
在機器視覺(jué)檢測過(guò)程中,需要夾具對每一個(gè)被檢測零件進(jìn)行定位,保證光源照射到零件,讓相機能拍攝到被照射的零件,使位置傳感器能夠在同一位置進(jìn)行觸發(fā),防止零件發(fā)生晃動(dòng)或旋轉。當每一個(gè)所要檢測的零件到達檢測區域時(shí),視覺(jué)系統就對它進(jìn)行檢測。但是在很多情況下,即使夾具特別精確,也不能保證不發(fā)生位置變化,零件不可能總是準確定位在期望的位置,即零件不能重復地關(guān)于攝像機定位,如圖1所示。

在很多情況下,這種未對準情況可以通過(guò)使用相關(guān)的測量方法進(jìn)行補償。例如,在sherlock軟件中可以得到零件的長(cháng)度,方法是使用線(xiàn)感興趣區域(peek)找到所要測量的端點(diǎn),然后使用距離公式計算兩個(gè)端點(diǎn)之間的距離。這樣,測量值將保持恒定,即使零件移動(dòng)了一點(diǎn)位置,只要它沒(méi)有移動(dòng)很遠,它的一個(gè)端點(diǎn)沒(méi)有移出相應的線(xiàn)區域即可。
然而在某些情況下,需要絕對對準。如果使用理想模板,或者要測量一個(gè)小零件,不考慮零件位置的正常變化,過(guò)度擴大感興趣區域,將不太可能保證魯棒性。在這些情況下,利用機器視覺(jué)軟件sherlock的定位點(diǎn)(landmark)就很容易解決零件不能對準的問(wèn)題。
零件對準的工作過(guò)程
當被檢測零件不在最初訓練的位置時(shí),sherlock的零件對準功能依靠定位點(diǎn)自動(dòng)找到所要檢測的位置。所有點(diǎn)的讀數都可以在讀數編輯對話(huà)框中標記為定位點(diǎn)。通過(guò)指令返回定位點(diǎn)標記的點(diǎn)的位置,然后根據定位點(diǎn)的位置對所要處理的感興趣區域進(jìn)行自動(dòng)定位。
● 零件只發(fā)生移動(dòng)時(shí)的對準

當所檢測的零件只發(fā)生x方向或y方向的移動(dòng)時(shí),只需要一個(gè)定位點(diǎn)進(jìn)行定位就可以實(shí)現自動(dòng)對準,操作過(guò)程如下。
(1)首先在所拍攝的合格零件圖像上選定一個(gè)點(diǎn)作為定位點(diǎn),如利用矩形感興趣區域的smartsearch分析算法對零件的某一特征部分進(jìn)行訓練,將該特征的最佳點(diǎn)(best
point)作為定位點(diǎn)。
(2)將矩形感興趣區域的范圍拉大,使所檢測零件上與所訓練的特征相應的特征部分總在該感興趣區域范圍內。
(3)對需要檢測的區域進(jìn)行訓練,添加相應的程序。
(4)運行所做的檢測程序,當零件位置發(fā)生移動(dòng)時(shí),所要檢測部位的感興趣區域就會(huì )根據定位點(diǎn),自動(dòng)精確地找到所要檢測部位進(jìn)行檢測。
在圖2中,將十字架作為訓練的模板,十字架的中心作為定位點(diǎn),需要檢測的位置為梳狀齒。當零件發(fā)生移動(dòng)時(shí),感興趣區域b可以自動(dòng)找到所要檢測的位置。
● 零件既發(fā)生移動(dòng)又有旋轉時(shí)的對準

當被檢測零件相對與訓練模板在位置上既有x、y方向移動(dòng),又發(fā)生旋轉時(shí),一個(gè)定位點(diǎn)就不能找到所要檢測的位置。在sherlock中使用兩個(gè)定位點(diǎn)就能實(shí)現自動(dòng)對準。其中,一個(gè)定位點(diǎn)計算移動(dòng)的信息,另一個(gè)計算旋轉的信息。操作過(guò)程如下。
(1)在所拍攝的合格零件圖像上選定兩個(gè)可以被可靠定位的特征點(diǎn)作為定位點(diǎn)進(jìn)行訓練。
(2)訓練完成后,分別將兩個(gè)特征點(diǎn)的感興趣區域拉大,使每一個(gè)特征點(diǎn)都在自己的感興趣區域范圍內。
(3)對需要檢測的區域進(jìn)行訓練,添加相應的程序。
(4)運行檢測程序,當零件位置既發(fā)生移動(dòng),又發(fā)生旋轉時(shí),所要檢測部位的感興趣區域就會(huì )根據定位點(diǎn),自動(dòng)精確地找到所要檢測部位進(jìn)行檢測。
零件位置發(fā)生旋轉時(shí),也可以使用三個(gè)定位點(diǎn)實(shí)現對準,假定第一點(diǎn)相對于零件來(lái)說(shuō)是一個(gè)固定點(diǎn),隨后的兩點(diǎn)只被用來(lái)計算旋轉信息。記錄下點(diǎn)之間的原始角度,找出運行時(shí)的新角度,通過(guò)新角度和原始角度之間的比較,計算出旋轉距離,從而實(shí)現零件對準。
● 使用smart search360的結果來(lái)實(shí)現零件對準
sherlock軟件中的分析算法smart search360是一個(gè)模式識別的分析算法,該算法可識別旋轉的物體,也可以實(shí)現零部件對準。smart
search360的返回結果中有一個(gè)最佳點(diǎn)和一個(gè)最佳角度。使用點(diǎn)的轉換函數formula—align把該點(diǎn)和該角度轉換成兩個(gè)定位點(diǎn),從而實(shí)現零件對準。
評論