王 俊,肖中俊,李延磊,成 巍*,嚴(yán)志國(guó)
1.齊魯工業(yè)大學(xué)(山東省科學(xué)院) 電氣工程與自動(dòng)化學(xué)院,濟(jì)南 250353 2.山東省科學(xué)院 激光研究所,濟(jì)南 250353
軸類(lèi)工件檢測(cè)技術(shù)發(fā)展初期,主要依靠人工抽檢的檢驗(yàn)方式,采用傳統(tǒng)的檢驗(yàn)儀器,例如千分尺、游標(biāo)卡尺、百分表等。傳統(tǒng)的檢測(cè)手段難以實(shí)現(xiàn)在線檢測(cè)的同時(shí),檢測(cè)結(jié)果也易受工作人員情緒、生產(chǎn)環(huán)境以及儀器精度等多方因素的影響,難以確保檢驗(yàn)結(jié)果的精確性。隨著計(jì)算機(jī)視覺(jué)技術(shù)的產(chǎn)生與發(fā)展,逐漸產(chǎn)生了基于機(jī)器視覺(jué)的軸類(lèi)工件檢測(cè)技術(shù)[1]。這類(lèi)檢測(cè)技術(shù)基于圖像處理技術(shù),通過(guò)對(duì)軸類(lèi)工件圖像的采集處理得到其尺寸特征。本文以軸承為例,就機(jī)器視覺(jué)軸類(lèi)工件檢測(cè)技術(shù)展開(kāi)研究[2],利用MATLAB進(jìn)行軸承尺寸檢測(cè)的模擬仿真設(shè)計(jì)。
該實(shí)驗(yàn)系統(tǒng)由兩部分組成:軟件部分、硬件部分。系統(tǒng)硬件部分使用CMOS攝像機(jī)以及其內(nèi)部的數(shù)據(jù)采集系統(tǒng),采集能良好表征待測(cè)軸類(lèi)工件表面特征的圖像。
系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 軸類(lèi)工件機(jī)器視覺(jué)檢測(cè)系統(tǒng)結(jié)構(gòu)圖
由于待測(cè)工件軸承是非透明物體,在實(shí)驗(yàn)過(guò)程中的照明方式采用明場(chǎng)平行背光照明??梢杂行Ы鉀Q其他照明方式在照明過(guò)程中由于散射、漫射造成的,被檢測(cè)物體面向攝像機(jī)一側(cè)的某些部分也會(huì)被照亮的問(wèn)題。對(duì)于透視鏡頭,因?yàn)樵讷@取軸承圖像的過(guò)程中使用的是平行光照射,光線在圖像中的成像將會(huì)是一個(gè)小點(diǎn)。故而,平行背光照明系統(tǒng)需要搭配遠(yuǎn)心鏡頭來(lái)使用,并且光源與鏡頭的相對(duì)位置也需要進(jìn)行仔細(xì)的調(diào)整[3]。照明示意圖如圖2所示。
圖2 明場(chǎng)平行背光照明方式示意圖
系統(tǒng)后端圖像處理部分是整個(gè)系統(tǒng)最重要的檢測(cè)功能實(shí)現(xiàn)部分,其作用是完成對(duì)攝像頭采集到的軸承圖像進(jìn)行前期的處理以及尺寸的測(cè)量工作。首先需要對(duì)得到的被測(cè)工件圖像進(jìn)行的處理任務(wù)包括:
1)圖像預(yù)處理:將獲得的圖像進(jìn)行像素尺寸的修改設(shè)定,以便在結(jié)果生成過(guò)程中可以得到完整有效的圖像特征。
2)邊緣提取:首先利用邊緣增強(qiáng)算子,來(lái)突出預(yù)處理后圖像中的局部邊緣,然后定義出像素的“邊緣強(qiáng)度”,通過(guò)閾值分割的方法提取邊緣點(diǎn)集[4]。本文利用MATLAB編程,采用Canny算子進(jìn)行邊緣提取[5]。
3)邊緣修復(fù):對(duì)邊緣提取過(guò)程中得到的存在邊緣輪廓丟失的部分進(jìn)行修復(fù)。
4)結(jié)果生成:編譯運(yùn)行程序,得到尺寸檢測(cè)結(jié)果。
首先在得到軸承原始圖像后進(jìn)行一次中值濾波以保證可以得到良好的邊緣信息,然后再利用Canny算法進(jìn)行邊緣檢測(cè)。
Canny算法的目標(biāo)是找到一個(gè)最優(yōu)的邊緣檢測(cè)算法,分為以下5個(gè)步驟[5]:
1)使用高斯濾波器平滑圖像、濾除噪聲。大小為(2k+1)×(2k+1)的高斯濾波器核的生成方程式由下式(1)給出:
Hij=
1≤i,j≤(2k+1) 。
(1)
2)采用sobel算子來(lái)計(jì)算圖像中每個(gè)像素點(diǎn)上的梯度強(qiáng)度及其方向。
θ=arctan(Gy/Cx),
(2)
其中G為梯度強(qiáng)度,θ表示梯度方向[6]。
3)利用非極大值(Non-Maximum Suppression)抑制,以消減邊緣檢測(cè)算法造成的雜散響應(yīng)。
4)利用雙閾值(Double-Threshold)算法來(lái)檢測(cè)并連接真實(shí)的和潛在的邊緣。雙閾值檢測(cè)的偽代碼如下:
ifGp≥HighThreshold
Gpisanstrongedge
ifGp≥LowThreshold
Gpisanweakedge
else
Gpshouldbesuppressed
5)通過(guò)抑制孤立的弱邊緣以完成最終的邊緣檢測(cè)。抑制孤立邊緣點(diǎn)的偽代碼描述如下:
ifGp==LowThresholdandGp
connectedtoastrongedgepixel
Gpisanstrongedge
else
Gpshouldbesuppressed
圖像在獲取過(guò)程中難免會(huì)有一定的噪聲,這就需要根據(jù)得到的圖像采取適當(dāng)?shù)臑V波方式,對(duì)獲得的圖像進(jìn)行濾波處理。本文中采用中值濾波器對(duì)圖像進(jìn)行濾波處理,以得到更清晰且宜分析的圖像。使用中值濾波器可以較好的保存圖像的二維邊緣信息,且在誤差允許范圍內(nèi)采用基于機(jī)器視覺(jué)的非接觸式測(cè)量方法可以實(shí)現(xiàn)對(duì)軸的基本參數(shù)的快速精準(zhǔn)測(cè)量[7]。
對(duì)如圖3所示的軸承進(jìn)行圖像預(yù)處理,首先將得到的彩色圖片進(jìn)行灰度化處理得到圖像的灰度圖像,然后運(yùn)用Canny算子編程實(shí)現(xiàn)對(duì)圖像邊緣的提取。得到如圖4所示的圖像邊緣。
圖3 待檢測(cè)軸承
圖4 Canny算法提取到的軸承邊緣圖像
計(jì)算機(jī)視覺(jué)領(lǐng)域中有三個(gè)常見(jiàn)的坐標(biāo)系,分別是:相機(jī)坐標(biāo)系、圖像坐標(biāo)系以及世界坐標(biāo)系,相機(jī)標(biāo)定實(shí)際上就是用矩陣來(lái)表示待測(cè)工件在各個(gè)坐標(biāo)系坐標(biāo)值的轉(zhuǎn)換關(guān)系的過(guò)程,首先被測(cè)工件在圖像坐標(biāo)系下與相機(jī)坐標(biāo)系下的位置關(guān)系如圖5所示[8]。
圖5 圖像坐標(biāo)系與相機(jī)坐標(biāo)系的關(guān)系
(3)
而相機(jī)坐標(biāo)系與圖像坐標(biāo)系的關(guān)系如圖6所示[9]。
圖6 相機(jī)坐標(biāo)系與圖像坐標(biāo)系的關(guān)系
相機(jī)坐標(biāo)系與圖像坐標(biāo)系關(guān)系的側(cè)面剖析圖如圖7所示。
圖7 相機(jī)坐標(biāo)系向圖像坐標(biāo)系轉(zhuǎn)換的剖面圖
既有(X,Y,Z)T→(fX/Z,fY/Z)亦可寫(xiě)成:
(4)
相機(jī)坐標(biāo)系與世界坐標(biāo)系的關(guān)系如圖8所示。
圖8 相機(jī)坐標(biāo)系與世界坐標(biāo)系的關(guān)系
將上述關(guān)系表示為矩陣如下式所示:
(5)
由此可以推導(dǎo)出:
(6)
這里的Xc、Yc、Zc即為上面的X、Y、Z,其中
(7)
K就是相機(jī)的內(nèi)參,R、T為相機(jī)的外參。
軸類(lèi)工件的種類(lèi)頗多,按軸類(lèi)工件結(jié)構(gòu)形式不同,一般可分為光軸、階梯軸和異形軸(曲軸)三類(lèi),也可以分為實(shí)心軸、空心軸等。軸類(lèi)工件在日常生活中隨處可見(jiàn),多用于大型機(jī)械設(shè)備,在汽車(chē)工業(yè)、醫(yī)療技術(shù)等方面的應(yīng)用也很廣泛。比如汽車(chē)工業(yè)中的軸承、氣門(mén)、柱塞、活塞、活塞桿、齒輪軸等,以及醫(yī)療技術(shù)中的植入物、骨釘、旋轉(zhuǎn)儀器,這些軸類(lèi)工件在社會(huì)發(fā)展、人類(lèi)進(jìn)步的過(guò)程中起著不容小覷的作用。表1為待檢測(cè)軸承的參數(shù)指標(biāo)。
表1 待檢測(cè)軸承的參數(shù)指標(biāo)
該檢測(cè)方式是否適用于檢測(cè)系統(tǒng)本身還需將程序?qū)霗C(jī)器視覺(jué)檢測(cè)系統(tǒng)中進(jìn)行調(diào)試,調(diào)試的過(guò)程即排除程序內(nèi)部錯(cuò)誤問(wèn)題的過(guò)程。
在該檢測(cè)系統(tǒng)硬件部分中配備了夾緊裝置,將被測(cè)工件懸空而置以便實(shí)現(xiàn)全方位檢測(cè)。調(diào)試過(guò)程中,如將非軸類(lèi)工件夾在檢測(cè)系統(tǒng)中進(jìn)行檢測(cè),系統(tǒng)并不產(chǎn)生檢測(cè)結(jié)果。修改程序?qū)崿F(xiàn)PC端顯示“非軸類(lèi)工件”的字樣用于提示用戶,得到該軸類(lèi)工件機(jī)器視覺(jué)檢測(cè)系統(tǒng)對(duì)于非軸類(lèi)工件的檢測(cè)結(jié)果。
下面以軸承的檢測(cè)過(guò)程為例,在檢測(cè)過(guò)程中實(shí)現(xiàn)對(duì)檢測(cè)系統(tǒng)的調(diào)試。通過(guò)MATLAB編程實(shí)現(xiàn)軸承的尺寸檢測(cè),檢測(cè)效果如圖9所示。
圖9 測(cè)量結(jié)果示意圖
實(shí)驗(yàn)將圖像中工件尺寸設(shè)定為單位英寸,并以單位英寸實(shí)際像素點(diǎn)與所設(shè)定的單位英寸像素相比得到目標(biāo)物體的長(zhǎng)寬信息[10]。由圖可以看出該軸承由五層邊緣組成,實(shí)際的工業(yè)生產(chǎn)中只需測(cè)得空心軸承的內(nèi)外徑即可。這里為了更好的確定檢測(cè)的結(jié)果是否足夠精確,保留了所有的邊緣,具體的檢測(cè)結(jié)果如表2所示。
表2 待測(cè)軸承的實(shí)際參數(shù)
由上表實(shí)驗(yàn)數(shù)據(jù)可以看出,該機(jī)器視覺(jué)軸類(lèi)工件尺寸檢測(cè)系統(tǒng)可將檢測(cè)結(jié)果嚴(yán)格控制在誤差允許范圍之內(nèi)。也就是說(shuō),該檢測(cè)系統(tǒng)可有效實(shí)現(xiàn)軸類(lèi)工件的尺寸檢測(cè),但檢測(cè)系統(tǒng)本身還存在對(duì)待檢軸類(lèi)工件尺寸的限制,隨待檢工件尺寸的增加,檢測(cè)系統(tǒng)的尺寸也會(huì)增加,以致所需的設(shè)備研發(fā)資金增加,例如上海業(yè)納公司研發(fā)的Opticline系列軸類(lèi)光學(xué)檢測(cè)儀器,研發(fā)了不同型號(hào)的儀器來(lái)對(duì)不同尺寸的軸類(lèi)工件進(jìn)行檢測(cè)。除去該方面的限制,本文設(shè)計(jì)的檢測(cè)方法可適用于不同型號(hào)的檢測(cè)設(shè)備之中。
本文設(shè)計(jì)了一套軸類(lèi)工件圖像邊緣提取以及尺寸檢測(cè)系統(tǒng),并利用MATLAB編程仿真實(shí)現(xiàn)對(duì)該系統(tǒng)的測(cè)試,實(shí)現(xiàn)了軸承的多層直徑檢測(cè)。文章著重介紹了攝像機(jī)標(biāo)定以及Canny邊緣提取算法的內(nèi)容,通過(guò)改進(jìn)兩次的Canny算法獲取軸類(lèi)工件的尺寸特征,減小圖像邊緣損失對(duì)檢測(cè)結(jié)果的影響。