吳祿慎,項(xiàng)桔敏,胡 贇
(南昌大學(xué)機(jī)電工程學(xué)院,江西南昌 330100)
螺母在反復(fù)使用過程中,螺紋孔徑會(huì)由于塑性變形使得形變越來越大,內(nèi)螺紋磨損嚴(yán)重的螺母將不再滿足預(yù)緊力的要求。螺紋磨損主要表現(xiàn)在螺母螺紋的小徑發(fā)生改變,因此可以通過測量內(nèi)螺紋的小徑,判斷其是否在規(guī)定的范圍內(nèi)來對(duì)螺母進(jìn)行檢測篩選。針對(duì)螺母孔徑變化大小可以采用游標(biāo)卡尺測量的方法,但是測量過程相對(duì)繁瑣,而且游標(biāo)卡尺的精度有一定的限度。目前主要通過人工檢測,存在很大的主觀因素。
由于螺母小徑變化是微小的,普通測量方法很難滿足測量精度的要求??紤]到機(jī)器視覺測量精度高,自動(dòng)化程度高的特點(diǎn),本實(shí)驗(yàn)使用機(jī)器視覺的方法測量螺母孔徑。
機(jī)器視覺是利用計(jì)算機(jī)模擬生物視覺的技術(shù)。機(jī)器視覺的快速發(fā)展使得其被廣泛應(yīng)用于工業(yè)、電子等行業(yè)[1-3]。由于機(jī)器視覺的快速發(fā)展,使得機(jī)器視覺測量技術(shù)在工業(yè)檢測方面得到廣泛的運(yùn)用[4]。機(jī)器視覺的測量屬于非接觸式測量,測量速度快、精度高的特點(diǎn)使得基于機(jī)器視覺的測量成為近年來國內(nèi)外學(xué)者研究的熱點(diǎn)。吳浩、張勇等用機(jī)器視覺測量的方法對(duì)大間距空間角度進(jìn)行了測量研究[5],史紅梅提出了基于激光三角測量原理的軌距檢測系統(tǒng),通過CPLD控制二維激光掃描來同步獲取鋼軌的斷面數(shù)據(jù)[6],吳軍妮用改進(jìn)的泰勒亞像素差值算法,對(duì)鋼帽進(jìn)行了亞像素級(jí)的測量,提高了測量精度[7]。J. K. Che在實(shí)時(shí)測量加工的工件直徑的研究中提出了其方法,方便了實(shí)時(shí)監(jiān)控工件的加工狀態(tài)[8]。Z. Jia等用機(jī)器視覺的方法對(duì)大型熱鍛件做出了測量,提出了基于信噪比的頻譜選擇方法,解決了高溫圖像輻射導(dǎo)致圖像質(zhì)量差的問題,在得出較好的圖像后再進(jìn)行軋鋼的測量[9],Y. Hendrawan等將機(jī)器視覺運(yùn)用于植物生長當(dāng)中,對(duì)植物的生長進(jìn)行監(jiān)測[10]。
本實(shí)驗(yàn)使用機(jī)器視覺的方法測量螺母孔徑,通過在Halcon中模擬測量卡尺工具算法實(shí)現(xiàn)螺紋小徑的精確擬合,最后通過VS設(shè)計(jì)用戶界面。檢測系統(tǒng)得到了很好的實(shí)驗(yàn)結(jié)果,為螺母的檢測給出了依據(jù)。
選擇合適的硬件裝備好系統(tǒng)后,調(diào)節(jié)相機(jī)和光源位置,光源照射到CCD相機(jī)中的感光元件后,感光元件會(huì)產(chǎn)生電信號(hào),CCD將一次成像產(chǎn)生的電信號(hào)經(jīng)過收集、放大、濾波再進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換后的信號(hào)即為圖像信號(hào),再經(jīng)過數(shù)字圖像處理器對(duì)圖像進(jìn)行處理,最后保存圖像。對(duì)保存的圖像用視覺軟件Halcon進(jìn)行處理,得到螺母的孔徑,由得出的孔徑進(jìn)行判定。實(shí)驗(yàn)選用50個(gè)標(biāo)準(zhǔn)的螺母對(duì)檢測系統(tǒng)進(jìn)行驗(yàn)證。該檢測系統(tǒng)可以分為兩個(gè)部分,即硬件部分和軟件部分。
硬件系統(tǒng)主要分為相機(jī)、鏡頭和光源,它們直接決定了圖像質(zhì)量以及測量精度。
1.1.1 相機(jī)的選型
相機(jī)的選型主要考慮相機(jī)的分辨率,幀率和相機(jī)的協(xié)議。相機(jī)的分辨率與光學(xué)傳感器的像元尺寸和所搭配的鏡頭的光學(xué)放大倍率有關(guān)。為了表達(dá)方便,設(shè)鏡頭的放大倍率為α,所選CCD的尺寸為a×b,CCD上相元個(gè)數(shù)為M×N,可由式(1)計(jì)算出該相機(jī)在該光學(xué)放大倍率下,對(duì)被拍攝物體的分辨能力。
(1)
其中RX和RY分別為橫向縱向能夠分辨的最靠近的兩點(diǎn)之間的距離,一般情況下CCD的橫向和縱向的像元排布密度是相同的,記做R*[11]。相機(jī)的協(xié)議,有性能好的cameralink協(xié)議、USB協(xié)議、千兆網(wǎng)和千兆以太網(wǎng)。結(jié)合工作環(huán)境,選擇合適的相機(jī)。
1.1.2 鏡頭
鏡頭的選擇要考慮到工作距離、鏡頭的視野、景深、焦距、光譜特性和鏡頭的畸變率。另外,螺母有一定深度,所以用普通的FA鏡頭會(huì)拍出螺紋內(nèi)壁,致使測量不準(zhǔn)確,而遠(yuǎn)心鏡頭不僅可以消除這些干擾,而且可以減少鏡頭畸變。由圖1可以看出普通鏡頭和遠(yuǎn)心鏡頭成像區(qū)別。
圖1 普通鏡頭和遠(yuǎn)心鏡頭成像對(duì)比
1.1.3 光源
光源的選型也會(huì)直接影響到處理精度和速度。考慮到照明效果和照明條件,由于外界環(huán)境光會(huì)對(duì)測量結(jié)果造成影響,必須先做遮光處理,再選擇穩(wěn)定的背光源[12]。因?yàn)橥ㄟ^背光照射方式能得出清晰的輪廓邊緣,提高圖像對(duì)比度。
本實(shí)驗(yàn)綜合以上條件,選擇以太網(wǎng)協(xié)議的130萬像素的CCD相機(jī),其分辨率為1 280像素×960像素,幀率為30幀/s,像元尺寸為3.75 μm×3.75 μm;鏡頭選用0.113倍率的高精度雙遠(yuǎn)心鏡頭;光源選用底部背光源。加上紅外傳感器、控制臺(tái)、PC共同構(gòu)成硬件系統(tǒng),其裝備圖如圖2所示。
圖2 硬件系統(tǒng)
1.2.1 定位模塊
對(duì)螺母圖像進(jìn)行采集后,首先需對(duì)圖像進(jìn)行預(yù)處理。在預(yù)處理圖像時(shí)可根據(jù)圖像的特點(diǎn)和圖像的實(shí)際要求來選擇相應(yīng)的圖像處理方法,其最終的目的就是為了獲取最好的圖像質(zhì)量[13]。定位首先需要?jiǎng)?chuàng)建模板,提取特征點(diǎn)。主要設(shè)置的參數(shù)有角度、匹配分?jǐn)?shù)閾值、重疊度和數(shù)量。匹配分?jǐn)?shù)閾值設(shè)置為0.9,以便更精確的找到模板,重疊度設(shè)置為0,匹配數(shù)量選擇1個(gè),其他參數(shù)選擇默認(rèn)值。創(chuàng)建好模板,保存模板參數(shù),點(diǎn)擊查找模板,即可實(shí)現(xiàn)特征點(diǎn)匹配,定位到螺母,定位模板的參數(shù)界面如圖3所示。
圖3 定位模塊界面
1.2.2 標(biāo)定模塊
標(biāo)定模塊是建立圖像坐標(biāo)與世界坐標(biāo)之間的關(guān)系[14],可以通過九點(diǎn)標(biāo)定和標(biāo)定板的方法進(jìn)行標(biāo)定,系統(tǒng)采用標(biāo)定板進(jìn)行標(biāo)定,產(chǎn)生標(biāo)定文件。
實(shí)驗(yàn)選用30 mm×30 mm間隔,圖像陣列為7×7的圓心陣列型平面標(biāo)定模板。獲取相機(jī)的內(nèi)外參數(shù)需對(duì)標(biāo)定板圖像進(jìn)行處理[15],最后生成標(biāo)定文件。
1.2.3 擬合圓算法
Canny邊緣檢測算法[16-17],具有很好的信噪比,對(duì)單一的邊緣具有唯一響應(yīng),特別是其中的高低閾值的自適應(yīng)選取,其算法步驟如下:
用高斯濾波對(duì)圖像進(jìn)行濾波,函數(shù)式為
(2)
其所對(duì)應(yīng)的梯度矢量為
(3)
式中:σ為高斯濾波器的尺寸參數(shù);x、y為像素點(diǎn)位置。
計(jì)算圖像一階偏導(dǎo)的梯度幅度、方向:
(4)
其中:
(5)
A(i,j)反映了圖像上點(diǎn)(i,j)的邊緣強(qiáng)度,φ(i,j)反映了該點(diǎn)的反向矢量,即垂直于邊緣的方向。
對(duì)梯度幅值進(jìn)行非極大值抑制。該方法通過判斷圖像上每一點(diǎn)的梯度幅值A(chǔ)(i,j)是否為其鄰域的最大值,來確定該點(diǎn)是否為邊緣點(diǎn),以及消除虛假的邊緣點(diǎn)。
采用雙閾值的方法作用于非極大值抑制后的圖像,其中高閾值得到的邊緣會(huì)含有很少的假邊緣,而低閾值可以保留細(xì)節(jié)。根據(jù)邊緣的連通性,以高閾值產(chǎn)生的圖像陣列為基礎(chǔ),在低閾值產(chǎn)生的圖像陣列上搜索可能的邊緣進(jìn)行連接。既可以消除假邊緣,又可以保留重要的邊緣信息[18]。
考慮到Canny算法得到的輪廓是多邊形復(fù)雜輪廓,無法直接提取小徑。而Hough算法圓檢測需對(duì)圖像上每一點(diǎn)映射到參數(shù)空間,運(yùn)算量極大[19]。本檢測系統(tǒng)提出的卡尺工具擬合圓算法,可以較快的得到螺母小徑,其具體步驟如下:
(1)在需擬合的圓輪廓內(nèi)部產(chǎn)生初步圓輪廓。
(2)通過卡尺工具檢測螺紋內(nèi)徑邊緣點(diǎn)。在產(chǎn)生的圓輪廓邊緣等距產(chǎn)生卡尺工具,計(jì)算卡尺工具內(nèi)的每個(gè)像素的幅度值,再用非極大值抑制法選擇最優(yōu)的邊緣點(diǎn)。
(3)將檢測的邊緣點(diǎn)進(jìn)行最小二乘擬合,采用最小二乘法將檢測到的邊緣點(diǎn)進(jìn)行最小二乘擬合[20]。
最小二乘法擬合圓是在確定函數(shù)類φspan{φ0(x),φ1(x),…φn(x)}中,求一個(gè)擬合已知數(shù)據(jù) (Xi,Yi),i=1,2,3…n的函數(shù)Ψ(x),使的式(6)取得最小值。
(6)
該擬合圓算子的具體實(shí)現(xiàn)步驟如圖4所示。
圖4 擬合圓算法流程
在圓輪廓上等距產(chǎn)生卡尺工具,采用測量卡尺工具的方法進(jìn)行邊緣點(diǎn)檢測,因?yàn)闇y量卡尺工具可以在卡尺大小規(guī)定的情況下檢測出該卡尺內(nèi)灰度幅度較大的點(diǎn)。由于卡尺工具測量精度高的特點(diǎn),通常用卡尺工具檢測物體的兩個(gè)邊緣點(diǎn),來測量物體的寬度。卡尺工具的大小決定著能否檢測到邊緣點(diǎn),卡尺工具的個(gè)數(shù)決定了待擬合的邊緣點(diǎn)的個(gè)數(shù),個(gè)數(shù)越多越精確,但檢測時(shí)間也相對(duì)增加。本實(shí)驗(yàn)選用的測量卡尺工具的長度、寬度和數(shù)量分別為60、15和30。最后將檢測到的邊緣點(diǎn)用最小二乘法進(jìn)行圓擬合,產(chǎn)生圓輪廓并獲取直徑。采用這種算法得到的輪廓是亞像素邊緣,可以達(dá)到高精度的要求。
圖5中內(nèi)圓為初步圓輪廓,小矩形為測量卡尺工具,外圓輪廓為擬合后的圓輪廓。每個(gè)卡尺工具中產(chǎn)生一個(gè)邊緣點(diǎn),如P0。最后根據(jù)檢測到的邊緣點(diǎn)P0,P1,P2,P3…Pn用最小二乘法擬合圓輪廓。兩種邊緣檢測方法輪廓對(duì)比如圖6所示。
圖5 卡尺工具算法圖
圖6 Canny算法和卡尺工具方法檢測的輪廓對(duì)比系列圖
將算法在Halcon中進(jìn)行模擬,用卡尺工具檢測螺母的邊緣點(diǎn),進(jìn)行擬合。模擬實(shí)現(xiàn)的結(jié)果如圖7所示。
圖7 算法擬合螺母內(nèi)徑圖
1.2.4 檢測模塊
采用上述的最小二乘法擬合螺母孔徑內(nèi)圓,得到圓的直徑Dc,由標(biāo)定模塊生產(chǎn)的標(biāo)定文件,即可算出該螺母的實(shí)際孔徑大小Dr。檢測模塊是檢測該螺母孔徑的大小是否還在繼續(xù)使用的范圍之內(nèi),如果在規(guī)定的范圍則顯示“OK”,反之則顯示“NG”,表示該螺母已經(jīng)達(dá)不到繼續(xù)使用的標(biāo)準(zhǔn)。由于標(biāo)準(zhǔn)的M10六角螺母的結(jié)構(gòu)圖如圖8所示。
圖8 標(biāo)準(zhǔn)M10螺母結(jié)構(gòu)圖
該類型的螺母的小徑為8.5 mm,螺距為1.5 mm。這里假設(shè)直徑范圍8.4~9.0 mm為符合使用標(biāo)準(zhǔn)的螺母,不在范圍內(nèi)的則認(rèn)為是不符合標(biāo)準(zhǔn)的螺母,實(shí)驗(yàn)簡稱“壞螺母”。
該系統(tǒng)在對(duì)不同的螺母進(jìn)行測量時(shí),只需將螺母放在轉(zhuǎn)盤上,當(dāng)螺母轉(zhuǎn)到紅外傳感器感應(yīng)的位置時(shí),觸發(fā)相機(jī)拍照,即可實(shí)現(xiàn)定位、匹配、測量。無需再調(diào)節(jié)鏡頭的焦距、光圈和光源,只需將觸發(fā)方式改為硬件觸發(fā),實(shí)時(shí)采集圖像即可。每拍一張圖片對(duì)圖像進(jìn)行處理,得到孔徑和處理的時(shí)間,可以避免人工測量繁瑣和低效率的問題。該實(shí)驗(yàn)通過一個(gè)單獨(dú)的線程進(jìn)行采圖并處理,防止窗體出現(xiàn)“卡死”的現(xiàn)象。
螺母應(yīng)用的領(lǐng)域不同,對(duì)螺母孔徑的要求也不同。本實(shí)驗(yàn)對(duì)50個(gè)螺母進(jìn)行測量,對(duì)其分為3組:第1組為10個(gè)未經(jīng)使用的新螺母,第2組為20個(gè)使用過一段時(shí)間的舊螺母,第3組為20個(gè)已經(jīng)損壞的螺母。記錄下每組螺母的直徑和正確識(shí)別的數(shù)目,再對(duì)測量出的結(jié)果進(jìn)行分析。
測量系統(tǒng)運(yùn)行結(jié)果界面如圖9所示,可見該螺母的孔徑約為8.785 mm,達(dá)到了繼續(xù)使用的要求,測量的時(shí)間約為37.63 ms,驗(yàn)證了測量速度快的特點(diǎn),實(shí)現(xiàn)了高精度和高效率的測量。
圖9 螺母測量結(jié)果界面
本實(shí)驗(yàn)對(duì)50個(gè)螺母測量后,記錄下數(shù)據(jù),其中前2組數(shù)據(jù)用MATLAB生成折線圖,如圖10所示。
(a)第1組
(b)第2組
其中水平線為該組螺母孔徑的平均值,第1組螺母均在檢測的范圍之內(nèi),識(shí)別正確。第2組螺母的平均值約為8.723 mm,驗(yàn)證了使用過后的螺母孔徑會(huì)變大。第3組螺母為內(nèi)螺紋磨損嚴(yán)重的螺母,其測量結(jié)果圖表1所示。
20次的平均值9.071 5 mm,標(biāo)準(zhǔn)差0.115 4,離群個(gè)數(shù)3,離群率15%。
表1 第3組螺母的檢測結(jié)果
由統(tǒng)計(jì)的結(jié)果可知,第3組嚴(yán)重磨損的螺母的孔徑的平均值約為9.071 5,方差為0.115 4。有3個(gè)螺母孔徑小于9.0 mm。統(tǒng)計(jì)OK和NG的個(gè)數(shù),如表2所示。
表2 50個(gè)螺母的檢測結(jié)果
由統(tǒng)計(jì)結(jié)果可知,對(duì)于第1組新的螺母的檢測正確率為100%,對(duì)2組舊螺母的識(shí)別率為90%,而對(duì)于第3組螺紋磨損嚴(yán)重的壞螺母識(shí)別率為85%。由測量結(jié)果可見,通過螺母孔徑圓擬合的方法基本上可以實(shí)現(xiàn)檢測的功能。
本系統(tǒng)采用多線程的異步編程,可以適當(dāng)提高系統(tǒng)檢測的時(shí)間,實(shí)驗(yàn)統(tǒng)計(jì)了50次螺母檢測的時(shí)間,繪制折線圖結(jié)果如圖11所示。
圖11 螺母檢測時(shí)間折線圖
得出時(shí)間的平均值約為22.367 ms,由圖11可知,檢測時(shí)間的方差較大,但檢測時(shí)間的最大值不超過60 ms,可見該檢測系統(tǒng)的優(yōu)點(diǎn)是:系統(tǒng)誤差小,測定精度達(dá)到亞像素級(jí),并且其測量精度可控[21],檢測時(shí)間較快,在一定程度上提高了效率。
誤差的主要來源分為硬件誤差和軟件誤差,其中硬件誤差有遠(yuǎn)心鏡頭工作距離不精確,鏡頭成像的幾何畸變和轉(zhuǎn)盤旋轉(zhuǎn)的速度帶來的誤差等。遠(yuǎn)心鏡頭位置會(huì)影響成像的清晰度,鏡頭的畸變屬于典型的系統(tǒng)誤差,是由多種誤差組合而成,轉(zhuǎn)盤速度太大會(huì)出現(xiàn)拖影的現(xiàn)象。而且由于螺母工作環(huán)境的復(fù)雜性,其發(fā)生的形變也具有多樣性,擬合生成的圓會(huì)和實(shí)際的輪廓有微小的區(qū)別。對(duì)于軟件誤差,主要表現(xiàn)在算子參數(shù)設(shè)置不當(dāng)帶來的誤差及圖像中存在的噪聲。如產(chǎn)生標(biāo)定文件時(shí)應(yīng)盡可能多次查找標(biāo)定板,準(zhǔn)確建立圖像坐標(biāo)與世界坐標(biāo)系之間的關(guān)系。噪聲是圖像在成像、數(shù)字化和傳輸過程中受到的各種干擾形成的,降低了圖像的質(zhì)量。可以通過提高系統(tǒng)的分辨率來提高測量的精度;增加CCD相機(jī)的像素也可以減少測量誤差,因?yàn)橄袼卦黾?,單位像素?duì)應(yīng)的實(shí)際尺寸越小,產(chǎn)生的誤差也越小。
系統(tǒng)采用卡尺工具的方法檢測出邊緣點(diǎn),再將邊緣點(diǎn)用最小二乘法進(jìn)行擬合,由測量結(jié)果可以看出該測量系統(tǒng)具有一定的實(shí)用性,基本解決了人為測量螺母孔繁瑣和不精確的問題。不僅如此,該系統(tǒng)還具有相對(duì)穩(wěn)定、魯棒性強(qiáng)、測量速度快的特點(diǎn),可以應(yīng)用于生產(chǎn)線產(chǎn)品質(zhì)量檢測等。測量精度基本可以滿足螺母孔徑的測量要求,并且可以檢測出好螺母與壞螺母。適當(dāng)提高硬件系統(tǒng)和軟件系統(tǒng)的參數(shù),該系統(tǒng)可以滿足更大精度的測量要求,可用于高精度的測量。該系統(tǒng)已經(jīng)成功應(yīng)用于部分分選機(jī)程序中,后期將對(duì)程序和算法進(jìn)一步優(yōu)化,達(dá)到更高的測量精度和測量速度。