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