概述 在機器視覺檢測過程中,需要夾具對每一個被檢測零件進行定位,保證光源照射到零件,讓相機能拍攝到被照射的零件,使位置傳感器能夠在同一位置進行觸發,防止零件發生晃動或旋轉。當每一個所要檢測的零件到達檢測區域時,視覺系統就對它進行檢測。但是在很多情況下,即使夾具特別精確,也不能保證不發生位置變化,零件不可能總是準確定位在期望的位置,即零件不能重復地關于攝像機定位,如圖1所示。 --- 在很多情況下,這種未對準情況可以通過使用相關的測量方法進行補償。例如,在Sherlock軟件中可以得到零件的長度,方法是使用線感興趣區域(peek)找到所要測量的端點,然后使用距離公式計算兩個端點之間的距離。這樣,測量值將保持恒定,即使零件移動了一點位置,只要它沒有移動很遠,它的一個端點沒有移出相應的線區域即可。 然而在某些情況下,需要絕對對準。如果使用理想模板,或者要測量一個小零件,不考慮零件位置的正常變化,過度擴大感興趣區域,將不太可能保證魯棒性。在這些情況下,利用機器視覺軟件sherlock的定位點(landmark)就很容易解決零件不能對準的問題。 零件對準的工作過程 當被檢測零件不在最初訓練的位置時,Sherlock的零件對準功能依靠定位點自動找到所要檢測的位置。所有點的讀數都可以在讀數編輯對話框中標記為定位點。通過指令返回定位點標記的點的位置,然后根據定位點的位置對所要處理的感興趣區域進行自動定位。 ● 零件只發生移動時的對準 當所檢測的零件只發生X方向或Y方向的移動時,只需要一個定位點進行定位就可以實現自動對準,操作過程如下。 (1)首先在所拍攝的合格零件圖像上選定一個點作為定位點,如利用矩形感興趣區域的SmartSearch分析算法對零件的某一特征部分進行訓練,將該特征的最佳點(best point)作為定位點。 (2)將矩形感興趣區域的范圍拉大,使所檢測零件上與所訓練的特征相應的特征部分總在該感興趣區域范圍內。 (3)對需要檢測的區域進行訓練,添加相應的程序。 (4)運行所做的檢測程序,當零件位置發生移動時,所要檢測部位的感興趣區域就會根據定位點,自動精確地找到所要檢測部位進行檢測。 在圖2中,將十字架作為訓練的模板,十字架的中心作為定位點,需要檢測的位置為梳狀齒。當零件發生移動時,感興趣區域B可以自動找到所要檢測的位置。 ● 零件既發生移動又有旋轉時的對準 當被檢測零件相對與訓練模板在位置上既有X、Y方向移動,又發生旋轉時,一個定位點就不能找到所要檢測的位置。在Sherlock中使用兩個定位點就能實現自動對準。其中,一個定位點計算移動的信息,另一個計算旋轉的信息。操作過程如下。 1)在所拍攝的合格零件圖像上選定兩個可以被可靠定位的特征點作為定位點進行訓練。 2)訓練完成后,分別將兩個特征點的感興趣區域拉大,使每一個特征點都在自己的感興趣區域范圍內。 3)對需要檢測的區域進行訓練,添加相應的程序。 4)運行檢測程序,當零件位置既發生移動,又發生旋轉時,所要檢測部位的感興趣區域就會根據定位點,自動精確地找到所要檢測部位進行檢測。 零件位置發生旋轉時,也可以使用三個定位點實現對準,假定第一點相對于零件來說是一個固定點,隨后的兩點只被用來計算旋轉信息。記錄下點之間的原始角度,找出運行時的新角度,通過新角度和原始角度之間的比較,計算出旋轉距離,從而實現零件對準。 ● 使用Smart Search360的結果來實現零件對準 Sherlock軟件中的分析算法Smart Search360是一個模式識別的分析算法,該算法可識別旋轉的物體,也可以實現零部件對準。Smart Search360的返回結果中有一個最佳點和一個最佳角度。使用點的轉換函數Formula—Align把該點和該角度轉換成兩個定位點,從而實現零件對準。 |