張亞軍
(駐馬店職業技術學院,河南 駐馬店 463000)
微小零件在食品機械設備中決定了食品加工的質量,例如:飲料灌裝設備中的軌跡控制軸承零件保證生產線平穩,使得灌裝具有一致性[1]。
傳統的微小零件精確定位方法主要依靠人眼以及借助測審理工具找正。但依靠人眼無法連續穩定地進行精確測量[2];找正法雖借助測量工具,但由現場測量來確定零件的正確位置[3],效率低,僅僅適用于單件小批生產。近年來,也有不少學者對微小零件的精確定位方法進行了探究,陳向偉等[4]通過光學顯微鏡、CCD像機對小型塑料齒輪進行定位,其結果優于人工顯微鏡測量;Liu等[5]采用幾何約束關系法通過動態識別零件間的幾何關系,限制零件運動的自由度,沿受約束方向引導零件運動到定位裝配位置;謝煌生等[6]利用單目面陣CMOS機器視覺以及圖像金字塔的搜索策略和最小二乘法的優化方法,具有較好的實時性和識別率;張習文等[7]采用主動視覺方法利用控制相機的精確運動完成零件的定位,但定位過程中相機需要對零件的特征邊緣進行連續跟蹤,通過多幀圖像的拼接,效率較低,不適于多零件裝配的場合;Wang等[8]采用小波插值法來獲得圖像局部像素信息,并保存該局部規律性到內插圖像中,算法重復性好,運算時間短,但檢測精度較低,抗噪性能較差;Chao等[9]采用Bertrand曲面法利用圖像灰度擬合獲取亞像素邊緣位置進行定位,抗噪性能好,但曲面模型建立過程比較復雜,適用性不強;Deng等[10]研究表明,Zernike矩亞像素邊緣檢測算法的檢測精度與模板尺寸大小有關,模板尺寸越大檢測精度越高,同時檢測速度越慢。以上研究都是通過圖像比對獲取零件的信息,在獲取過程中沒有調焦或者粗略調焦,導致定位誤差比較大。
試驗擬采用調焦-Zernike矩算法(Focusing-zernike matrix,F-ZM),建立粗細調焦過程以及Zernike矩精確定位過程,并對微小零件進行定位分析。
1.1.1 微小零件精確定位調焦函數選擇 準確運用調焦函數對快速有效地實現微小零件精確定位至關重要,采用粗、精結合的調焦方法,其中粗調焦函數為基于Krisch邊緣檢測算子[11]。
(1)
式中:
i=0,1,…,7;
j=0,1,…,7;
K(i,j)——中心像素點(i,j)周圍8個鄰域的像素點灰度均值,取3個相鄰點均值與另5個相鄰點均值比較,差值較大的作為中心像素點(i,j)的梯度值;
AK——(i,j)點周圍8個鄰域點中的一個(K>7時,取其除以8之后的余數);
Q1、Q2——權重因子,一般取值Q1=0.78,Q2=0.36。
精調焦采用Sobel算子,評價函數為:
(2)
式中:
K′(i,j)——每個像素的灰度值;
*——卷積運算;
Krisch邊緣檢測算子的變化幅度平緩,與粗調時電機較大的移動步長相同,無需較高的精度,因此調節速度比較快;Sobel算子變化幅度比較尖銳,與精調時電機較小的移動步長相同,精度較高。
1.1.2 調焦窗口動態選擇 實時性是調焦的重要特征之一,采用動態調焦窗口可保證算法的運行時間降至最低[12]。首先以目標區域(m,k)為中心,向外擴展p個像素,從而獲得新的調焦窗口,其中新調焦窗口左邊界為L,L=mmin-p,mmin為目標區域左側最小值;R為新窗口右邊界,R=mmax+p,mmax為目標區域右側最大值;T新窗口上邊界,T=kmin-p,kmin為目標區域上側最小值;B為新窗口下邊界,B=kmax+p,kmax為目標區域下側最大值。則新窗口的像素總數P為:
P=(R-L)·(B-T)=(mmax-mmin+2p)·(kmax-kmin+2p)。
(3)
增設調焦窗口修正因子q修正因目標變化對調焦清晰度評價函數的影響:
q=1/(PInP),
(4)
式中:
1/P——獲取調焦窗口內調焦圖像的平均清晰度;
1/InP——調焦權重。
只有在1/P和1/InP同時具有最大值時才能夠獲得最佳調焦結果。
1.1.3 搜索焦點策略 為了克服經典爬山搜索算法的缺陷,在同一方向上采集3幀圖像,并將第3幀圖像與其前面相鄰的2幀圖像作為初始擬合點[13],對應的調焦評價函數值分別為K1、K2和K3,搜索評價函數的第一個“下坡點”,設閾值δ,文中設定δ=0.5,若K1≤K2≤K3≤δ,則此時在爬山階段,方向和步距不變;如果出現K1>K2且K2≤K3≤δ的結果,則說明在調焦過程中受到噪聲干擾,此時必須往該次搜索方向進行搜索;若δ>K1>K2>K3,說明此時位于爬山的下坡區域,如果該點是第一個“下坡點”,則以其前的兩點作為初始擬合點。
1.2.1 Zernike矩亞像素邊緣定位過程 由于微小零件定位精度要求高,像素級邊緣檢測定位不能滿足需求,應進一步提高邊緣定位精度,通過Zernike矩進行亞像素邊緣定位,能夠滿足精確定位需求[14-16]。設圖像f(x,y)的Zernike矩為:
(5)
式中:
Znm——n階m次Zernike矩;
建立圖像的理想階躍邊緣模型參數:k為階躍高度,h為背景灰度,l為圓心到邊緣的垂直距離,φ是l和x軸的夾角。如果將邊緣旋轉-φ,則邊緣與y軸平行,則:
(6)
式中:
f′(x,y)——圖像旋轉后的邊緣函數。
通過標準矩來歸一化圖像,則圖像的理想階躍邊緣模型的3個邊緣參數為:
(7)
式中:
Z——Zernike的未旋轉矩;
k——階躍幅度;
h——圖像背景灰度;
l——圓心到邊緣的垂直距離,mm。
(8)
式中:
(xs、ys)——以(x、y)為卷積窗口中心求得的亞像素坐標值;
(x、y)——單位圓的圓心坐標值;
φ——以(x、y)為卷積窗口中心求得的實際邊緣與x軸方向的夾角角度,°。
1.2.2 基于目標點歸一化的最大外接單位圓確定 找出定位零件的形狀質心O(xo,yo),再利用歐式距離找出零件上距離形狀質心O最遠的像素點B(xb,yb),半徑為:
(9)
把所有的目標點歸一化到單位圓內,這就使得得到的Zernike矩具有平移和尺度不變性。計算出零件圖像的0階0次幾何矩:
(10)
計算單位圓中n階m次的Zernike矩:
(11)
利用0階幾何矩歸一化Zernike矩:
(12)
最后在像素點(xs,ys)左、右各取一個最近的像素點(xs1,ys1)、(xs2,ys2)進行卷積,P1、P2是以點(xs1,ys1)、(xs2,ys2)為中心的卷積窗口矩陣,獲取點(xs1,ys1)、(xs2,ys2)的n階m次Zernike矩的差值:
(13)
式中:
N——Mnm模板的大??;
Mnm——Zernike矩的模板;
(i,j)——模板數。
文中要求Dnm<0.000 16即可滿足定位。
計算機配置為:內存8 GB,CPU為Intel i5-9600k處理器,主頻3.7 GHz;程序由Matlab7.0編寫;試驗裝置主要由顯微成像系統和圖像處理系統兩部分組成,通過1394接口卡連接,以保證圖像數據實時傳輸。
規則形狀和不規則形狀零件如圖1所示,Zernike矩算法、調焦-Zernike矩算法的5×5、3×3奇模板和4×4偶模板進行微小零件定位分析對比如圖2~4所示。
從圖2~4可以看出,模板的數量影響定位誤差,在規則形狀對比分析結果中奇模板3×3模板比奇模板5×5模板、偶模板4×4模板定位誤差大,偶模板4×4模板比奇模板5×5模板定位誤差大,同樣不規則形狀也是模板數越多定位誤差越??;模板數相同的情況下,規則形狀比不規則形狀的誤差小。這是因為Zernike矩模板數越大,Zernike矩的差值越小,定位精度越高。
圖1 零件圖形
圖2 3×3模板對比分析結果
圖3 4×4模板對比分析結果
圖4 5×5模板對比分析結果
通過兩個微型金屬圓柱腔的自動對準和堆疊的微裝配任務來分析算法的性能,裝配任務要求移動的微型金屬圓柱腔對準非移動的微型金屬圓柱腔期望的方向,兩個微型金屬圓柱腔的中心軸線必須精確對準,采用攝像機所拍攝從離焦到調焦條件下采集的零件圖像系列如圖5 所示。
首先獲得2幀模糊的圖像,如圖5(a)和(b)所示;利用成像系統傳遞函數(Modulation transfer function,MTF)來評價調焦圖像,MTF值越大,調焦圖像質量越好。從圖5(a)和(b)估算出目標體的清晰度,確定調焦方向,調焦電機完成調節鏡頭的微小零件精確定位,由于獲得幀數的過程中伴隨著變倍調焦,使得獲得圖像的清晰度變化明顯,當調焦至正焦位置時,獲得如圖5(c)和(d)的結果,第8幀時獲得調焦圖像結果如圖5(e)所示,圖5(f) 為最佳效果。
圖5 調焦過程
MTF計算為:
(14)
式中:
MTF——成像系統調制傳遞函數值(值越大表征圖像質量越好);
Imax——最大亮度;
Imin——最小亮度。
離焦程度越大,圖像越模糊,MTF曲線下降越快。
調焦-Zernike矩算法、Zernike矩算法對微型金屬圓柱腔目標調焦MTF歸一化值如圖6所示,每種算法各進行蒙特卡羅21次試驗。
從圖6可以看出,調焦-Zernike矩算法的MTF值比較大,可有效避免調焦評價函數值局部的波動性,提高調焦精度,同時使得結果更加穩定,不但提高了搜索效率,而且避免因清晰度評價函數出現局部峰值點而發生誤調焦現象。
對準過程如圖7所示。
在完成對準狀態過程中利用納秒脈沖激光,采用相同的加工速度和激光參數,改變x、y軸方向的位置,獲得重疊區域一系列變化的陰影面積,圖像品質等于移動金屬圓柱腔陰影面積除以非移動金屬圓柱腔陰影面積,即完全重疊則圖像品質為1。圖像品質的變化情況如圖8所示。
從圖8可以看出,調焦-Zernike矩算法比Zernike矩算法的圖像品質要大,且接近于1,即獲得圖像最清晰。
圖6 MTF結果
圖7 對準過程
圖8 圖像品質變化情況
在對準過程中,需要對非移動的微型金屬圓柱腔坐標定位分析,圓心在(74.000 0,74.000 0),半徑為34,通過MV-3000FC型號高性能工業檢測專用相機隨機獲得10個實際邊緣坐標,每獲取一個實際邊緣坐標,調焦-Zernike矩算法進行一次亞像素邊緣坐標定位計算,最終檢測結果如表1所示。
對表1中的實際邊緣坐標數據依次進行人工法、找正法、幾何約束關系法、CMOS機器視覺法、主動視覺法分析,與調焦-Zernike矩算法相比結果如圖9所示。
從圖9可以看出,調焦-Zernike矩算法的定位絕對誤差x方向最大值為0.032 5像素密度,y方向最大值為0.032 1 像素密度,誤差相比其他方法較小,說明調焦-Zernike矩算法定位精確度較高。
表1 亞像素檢測結果
圖9 絕對誤差最大值相比結果
(1) 針對微小零件尺寸檢測過程中存在的問題,試驗提出一種基于調焦-Zernike矩算法的微小零件尺寸檢測方法。通過粗、精調焦函數以及爬山算法改進解決了Zernike矩算法運算時間較長的問題,縮小了Zernike矩的計算范圍,使得調焦-Zernike矩在零件定位精度提高的情況下,縮短了計算時間,提高了速度。
(2) 在微小零件尺寸檢測中,存在像素級邊緣定位不能滿足實際工作需求的缺陷,采用改進Zernike矩算法能夠獲得圖像的邊緣位置,大大地提高了檢測精度。
(3) 試驗只是針對規則的微小零件進行檢測,并未對不規則的微小零件進行檢測,這將是今后研究的一個方向。