祁曉玲,趙霞霞,靳伍銀
(蘭州理工大學(xué) 機(jī)電工程學(xué)院,蘭州 730050)
軸類零件是機(jī)械工業(yè)中極為常見(jiàn)的零件之一,其幾何尺寸與精度不僅直接影響機(jī)械的運(yùn)動(dòng)性能、使用壽命,且對(duì)減少能源消耗和環(huán)境污染等有重要影響。在我國(guó)大多數(shù)機(jī)械加工企業(yè)的加工現(xiàn)場(chǎng),產(chǎn)品尺寸的測(cè)量仍然采用V 型塊加百分表或千分表、千分尺等落后的傳統(tǒng)量具。這種傳統(tǒng)的手工測(cè)量方法對(duì)操作人員的依賴性強(qiáng),操作者勞動(dòng)強(qiáng)度大,效率低,產(chǎn)品質(zhì)量得不到有效保障,還可能產(chǎn)生很多人為誤差,這樣就難以滿足大批量、高效率、高精度的產(chǎn)品檢測(cè)要求。因此,研究低成本、高精度、高效率的軸類零件尺寸自動(dòng)檢測(cè)系統(tǒng),對(duì)提高我國(guó)機(jī)械裝備制造業(yè)的技術(shù)水平具有重大意義[1]。目前,視覺(jué)檢測(cè)技術(shù)是精密測(cè)試技術(shù)領(lǐng)域內(nèi)最具有發(fā)展?jié)摿Φ男录夹g(shù),它綜合運(yùn)用了電子學(xué)、光電探測(cè)、圖像處理和計(jì)算機(jī)技術(shù)[2]。將機(jī)器視覺(jué)引入工業(yè)檢測(cè)中,實(shí)現(xiàn)對(duì)物體(產(chǎn)品或零件)尺寸或相對(duì)位置的快速測(cè)量,可以做到實(shí)時(shí)在線、非接觸和高精度,省時(shí)省力并可以避免測(cè)量過(guò)程中人為產(chǎn)生的錯(cuò)誤,同時(shí)也能實(shí)現(xiàn)生產(chǎn)的連續(xù)性和提高生產(chǎn)的自動(dòng)化程度[3]。本文應(yīng)用機(jī)器視覺(jué)技術(shù)開(kāi)發(fā)了一套完整的軸類零件測(cè)量系統(tǒng),重點(diǎn)介紹了系統(tǒng)的軟硬件結(jié)構(gòu),結(jié)合改進(jìn)的自適應(yīng)中值濾波算法,對(duì)軸類零件的基本參數(shù)進(jìn)行了快速準(zhǔn)確地測(cè)量。
本系統(tǒng)的組成分為兩部分:硬件系統(tǒng)和軟件系統(tǒng)。硬件系統(tǒng)主要完成圖像采集,使用CCD 攝像頭及配套的圖像數(shù)據(jù)采集系統(tǒng),采集能夠反映軸表面特征的圖像。如圖1 所示,由于軸類零件屬于非透明體,采用背向照明方式,背向照明是被測(cè)物放在光源和攝像機(jī)之間,它的優(yōu)點(diǎn)是能獲得高對(duì)比度的圖像,有利于后續(xù)圖像處理。光源發(fā)出光波,經(jīng)環(huán)形光管照射于被測(cè)零件,使零件盡量在均勻照明的可控背景中,(為了減小周圍環(huán)境光對(duì)零件的影響,我們用一個(gè)不透明的圓柱腔體遮光罩將環(huán)形燈管圍住,并在光源上面放置一塊毛玻璃降低散射),經(jīng)光學(xué)系統(tǒng)成像于面陣CCD 的光敏面上,圖像采集卡接收從CCD 攝像頭中輸入的模擬電信號(hào),由A/D 轉(zhuǎn)換為離散的數(shù)字信號(hào),與計(jì)算機(jī)進(jìn)行通訊,計(jì)算機(jī)通過(guò)對(duì)采集的圖像數(shù)據(jù)進(jìn)行處理,從而能快速、精確地計(jì)算出該零件的尺寸,并將結(jié)果直接送到顯卡上進(jìn)行顯示。
圖1 測(cè)量系統(tǒng)硬件組成圖
本測(cè)量系統(tǒng)采用的是總像素單元數(shù)為768(水平)×576(豎直)的面陣CCD 攝像機(jī)、CCTV-LENS 8.0mm 的鏡頭、內(nèi)置有型號(hào)為PCI-1104 的4 路標(biāo)準(zhǔn)相機(jī)圖像采集卡的計(jì)算機(jī)。
軟件部分主要完成圖像處理和尺寸測(cè)量。如圖2 所示,對(duì)獲取圖像的處理包括:圖像預(yù)處理、邊緣提取、邊緣修復(fù)、算法實(shí)現(xiàn)、結(jié)果生成等模塊。
圖2 測(cè)量系統(tǒng)軟件模塊
對(duì)于一個(gè)穩(wěn)定快速的機(jī)器視覺(jué)測(cè)量系統(tǒng),合理選擇圖像處理算法非常重要,測(cè)量軟件所使用的圖像處理算法直接決定了測(cè)量效果的好壞以及測(cè)量過(guò)程花費(fèi)的時(shí)間[4]。本系統(tǒng)中出現(xiàn)的噪聲主要為椒鹽噪聲,采用中值濾波就可以較好的去除掉此類噪聲,傳統(tǒng)的中值濾波方法運(yùn)用中值代替該點(diǎn)的像素,也就是說(shuō),沒(méi)有考慮這點(diǎn)是被污染點(diǎn)還是未被污染點(diǎn),這樣就會(huì)造成圖像質(zhì)量的下降。一種解決方法就是在濾波之前,先實(shí)現(xiàn)脈沖噪聲的檢測(cè),這樣只有那些被污染點(diǎn)可以通過(guò)濾波器,未被污染點(diǎn)將不會(huì)通過(guò)。通過(guò)把這種噪聲檢測(cè)原理合并到中值濾波中,本文提出一種自適應(yīng)開(kāi)關(guān)中值濾波算法[5-6],它能在濾除噪聲點(diǎn)的同時(shí),很好的保留二維圖像的結(jié)構(gòu)細(xì)節(jié)。具體算法為:
(1)首先采用3 ×3 窗口排列灰度圖像,并用二值圖像中的3 ×3 模板進(jìn)行匹配。
(2)在匹配的二值窗口中確定在當(dāng)前的濾波窗口中有多少個(gè)像素被作為非噪聲點(diǎn)。
(3)如果未被污染的像素大小小于濾波窗口總像素的一半,用向外增加一個(gè)像素的方法沿窗口的4個(gè)方向,反復(fù)的擴(kuò)充窗口的大小,如果對(duì)結(jié)果不滿意,以上步驟再執(zhí)行一次。
(4)由于當(dāng)前像素被標(biāo)記為噪聲,它將不會(huì)出現(xiàn)在過(guò)濾過(guò)程中,只有當(dāng)像素被標(biāo)記為非噪聲點(diǎn)時(shí)才會(huì)出現(xiàn)在中值濾波中,這樣形成的濾波效果有較少的失真。運(yùn)用本文的濾波方法與傳統(tǒng)中值濾波相比較,得到如圖3 所示。
圖3 圖像處理
本測(cè)量系統(tǒng)中采用了實(shí)驗(yàn)標(biāo)定的方法:以已知量塊作為標(biāo)準(zhǔn)件,選擇與實(shí)際測(cè)量時(shí)的測(cè)量條件相同的情況下拍攝量塊圖像,并計(jì)算其在圖像像素坐標(biāo)系中的像素值。量塊的實(shí)際尺寸與其像素尺寸的比值,即攝像頭的定標(biāo)尺寸,從而達(dá)到系統(tǒng)標(biāo)定的目的[8]。在測(cè)量中,首先對(duì)獲取的量塊圖像進(jìn)行處理,統(tǒng)計(jì)出其在圖像坐標(biāo)系中的像素個(gè)數(shù),用P 表示,它與量塊的實(shí)際長(zhǎng)度L 相比得到每像素對(duì)應(yīng)的實(shí)際尺寸S,用下式表示:
式(1)中,S 表示一個(gè)像素所對(duì)應(yīng)的實(shí)際尺寸,即標(biāo)定值。由于標(biāo)定過(guò)程也會(huì)引入誤差,因此可以采用多次標(biāo)定取平均值法消除系統(tǒng)誤差的影響。在獲取了系統(tǒng)標(biāo)定參數(shù)后,就可以將圖像測(cè)量所得到的像素尺寸轉(zhuǎn)換成實(shí)際的尺寸。但是這種系統(tǒng)標(biāo)定得到的系數(shù)在更換了不同的被測(cè)零件或者測(cè)量條件(照明、視距、焦距等)后就需要重新標(biāo)定。本實(shí)驗(yàn)選擇70mm 的量塊作為測(cè)量對(duì)象,通過(guò)計(jì)算得到標(biāo)定值:
經(jīng)過(guò)前面的圖像處理,獲得的軸零件圖像可以直接進(jìn)行計(jì)算。軸類零件的尺寸包括徑向尺寸、軸向尺寸和連接段的倒角等,如圖4 所示的階梯軸。
3.2.1 軸徑的計(jì)算
圖4 階梯軸及其尺寸表示
由于軸零件特征的特殊性,可以采用Hough 變換來(lái)檢測(cè)直線。它的基本思想是:將直線上每一個(gè)數(shù)據(jù)點(diǎn)變換為參數(shù)平面中的一條直線或曲線,利用共線數(shù)據(jù)點(diǎn)對(duì)應(yīng)的參數(shù)曲線相交于參數(shù)空間中一點(diǎn)的關(guān)系,使直線的提取問(wèn)題轉(zhuǎn)化為計(jì)數(shù)問(wèn)題。Hough 變換提取直線的主要優(yōu)點(diǎn)是受直線中的間隙和噪聲影響較小。從得出的邊緣圖像中,可以檢測(cè)到六條直線段,依次求得各條直線的位置參數(shù),即為三段軸的邊緣線,從而可以計(jì)算得到圖4 所示階梯軸的軸徑。
3.2.2 角度的確定
雖然邊界處的坐標(biāo)已經(jīng)被求出來(lái)了,但是求出的坐標(biāo)并不都是準(zhǔn)確地落在直線上。那么使用哪些點(diǎn)來(lái)計(jì)算兩條直線的角度呢?在計(jì)算角度之前可以先對(duì)直線進(jìn)行擬合?;谥本€擬合的檢測(cè)算法,根據(jù)最小二乘原理用直線來(lái)逼近直線輪廓[9-10]。直線的方程為:
取其殘差為:
式中i ∈E,E 表示所有邊界的集合;(xi,yi)為圖像邊界點(diǎn)坐標(biāo)。
殘差平方和函數(shù)為:
根據(jù)最小二乘原理,應(yīng)取a0和a1使F(a0,a1)有極小值,故a0和a1應(yīng)滿足下列條件:
表1 實(shí)驗(yàn)結(jié)果與標(biāo)準(zhǔn)值比較
即得如下正規(guī)方程組:
求出a0,a1,可以求出組成倒角的兩條直線。角度計(jì)算可以使用公式
其中,vec1 和vec2 分別是兩條直線方向的向量,方向向量vec1 = (1,k1),vec2 = (1,k2)(k1,k2 分別為兩直線的斜率),“<,>”指點(diǎn)積,“| |”指長(zhǎng)度即模長(zhǎng)。由反余弦函數(shù)arccos 可以求出角度。以圖4 中所指的倒角為例具體步驟如下:找到左上方水平直線上的一點(diǎn),求出其坐標(biāo),然后掃描行數(shù)比該點(diǎn)所在行小于3 的點(diǎn),從而找到斜線上的一個(gè)點(diǎn)。由這兩點(diǎn)出發(fā),使用函數(shù)bwtraceboundary 跟蹤目標(biāo)邊界,本文分別采用向右和向北方向的8 鄰域內(nèi)找100 和10 個(gè)點(diǎn),為了使求得的角度和兩條直線的交點(diǎn)更加準(zhǔn)確,找的點(diǎn)數(shù)越多越精確。把這些點(diǎn)分別擬合成兩條直線。計(jì)算出兩條直線的方向向量,由角度公式(7)得出兩直線的夾角,為所求的倒角。
3.2.3 軸長(zhǎng)的確定
左端的軸長(zhǎng):求角度時(shí)擬合出兩條直線,且兩直線的交點(diǎn)已知,即為左邊部分的邊界終點(diǎn),該點(diǎn)坐標(biāo)為(r1,c2),依次向左掃描,檢測(cè)出r1 行的最小列,記作c1,則左端的軸長(zhǎng)L1 = c2-c1;中間段軸長(zhǎng):找到圖像的中間段部分,記下該段所有邊界點(diǎn)所在的行和列。找出最大的列數(shù)記作c3,其行數(shù)記作r2,即中間段的長(zhǎng)度L2 = c3-c2;右端的軸長(zhǎng):在整個(gè)圖像中找到最大列值c4 的點(diǎn),則可判斷出,該點(diǎn)為工件該段輪廓的結(jié)尾點(diǎn),并把該點(diǎn)記為(r3,c4),則右端的軸長(zhǎng)L3 = c4-c3。
根據(jù)測(cè)量結(jié)果,生成的二維圖如圖5 所示。表1所示為零件實(shí)際尺寸與測(cè)量結(jié)果對(duì)比,及其相對(duì)誤差分析。視覺(jué)檢測(cè)中的誤差值是由多方面的因素造成的,其中包含光源偏移及角度變化,攝像機(jī)的透視誤差,圖像處理算法的影響,尺寸測(cè)量中檢測(cè)參數(shù)的選取等。
圖5 重繪零件圖及尺寸標(biāo)注
計(jì)算機(jī)視覺(jué)測(cè)量系統(tǒng)在工業(yè)生產(chǎn)過(guò)程中應(yīng)用越來(lái)越廣泛,由于圖像采集系統(tǒng)、傳輸媒介以及成像系統(tǒng)的不完善,圖像信號(hào)在生成、傳輸過(guò)程中,很容易受到脈沖噪聲的干擾,因而圖像增強(qiáng)通常是一個(gè)必要的環(huán)節(jié)。選取合適的濾波算法對(duì)保證測(cè)量精度無(wú)疑是非常重要的。本文基于MATLAB 平臺(tái),采用改進(jìn)的自適應(yīng)中值濾波可以有效地濾除椒鹽噪聲,并很好的保持圖像的細(xì)節(jié)信息,濾波性能比傳統(tǒng)中值濾波更理想。開(kāi)發(fā)了軸類零件尺寸測(cè)量系統(tǒng),實(shí)現(xiàn)幾何尺寸計(jì)算、零件圖自動(dòng)生成。實(shí)驗(yàn)表明本文所開(kāi)發(fā)的系統(tǒng)與測(cè)量方法能對(duì)多尺寸的復(fù)雜軸類零件進(jìn)行較高精度的在線測(cè)量。
[1]郭林. 基于CCD 的軸類零件快速精確測(cè)量方法研究及實(shí)現(xiàn)[D]. 重慶:重慶大學(xué),2006.
[2]Jeong-Ho Lee,You-Sik Kim. Real-time application of critical dimension measurement of TFT-LCD pattern using a newly proposed 2D image-processing algorithm[J]. Optics and Lasers in Engineering,2008,46:558-569.
[3]孫晉豪,楊燕翔. 基于機(jī)器視覺(jué)的零部件尺寸測(cè)量[J].工業(yè)控制計(jì)算機(jī),2007,20(7):3-4,6.
[4]E. N. Malamas,E. G. M. Petrakis,M. Zervakis,et al. A survey on Industrial vision systems,application and tools[J]. Image and Vision Computing,2003,21(2):171-188.
[5]Mamta Juneja,Rajni Mohana. An improved Adaptive Median Filtering Method for Impulse Noise Detection[J]. International Journal of Recent Trends in Engineering. 2009(1):274-278.
[6]蘇峰,朱旻蕓,楊秋菊. 基于自適應(yīng)開(kāi)關(guān)插值算法的圖像椒鹽噪聲濾波[J]. 計(jì)算機(jī)應(yīng)用研究,2011,28(2):375-377,381.
[7]張德峰,等. MATLAB 數(shù)字圖像處理[M]. 北京:機(jī)械工業(yè)出版社,2009.
[8]田原嫄,黃合成,譚慶腸,等. 基于機(jī)器視覺(jué)的零件尺寸測(cè)量[J]. 激光與光電子學(xué)進(jìn)展,2010(1):86-94.
[9]劉師少. 計(jì)算方法[M]. 北京:科學(xué)出版社,2005.
[10]孔兵,王昭,譚玉山. 基于圓擬合的激光光斑中心檢測(cè)算法[J]. 紅外與激光工程,2002,31(3):275-279.