陳向偉 肖 冰 高 強(qiáng)
(東北電力大學(xué)機(jī)械學(xué)院,吉林吉林 132012)
機(jī)器視覺(jué)是研究用計(jì)算機(jī)來(lái)模擬生物視覺(jué)的科學(xué)技術(shù),機(jī)器視覺(jué)系統(tǒng)的首要目標(biāo)是用圖像創(chuàng)建或恢復(fù)現(xiàn)實(shí)世界模型,然后認(rèn)識(shí)現(xiàn)實(shí)世界。近年來(lái)機(jī)器視覺(jué)檢測(cè)以其高效、智能、非接觸等特點(diǎn),逐漸代替了人工檢測(cè),在工業(yè)上得到了廣泛的應(yīng)用。
電容器作為需求量很大的產(chǎn)品,其外表面質(zhì)量直接影響了它的質(zhì)量和壽命。其生產(chǎn)過(guò)程由于限于人力限制不能對(duì)其外殼進(jìn)行逐個(gè)質(zhì)量檢測(cè)。本文以電解電容器鋁殼的生產(chǎn)為例,引入機(jī)器視覺(jué)對(duì)其進(jìn)行端面缺陷檢測(cè),用以提高生產(chǎn)效率,降低勞動(dòng)強(qiáng)度,保證產(chǎn)品的質(zhì)量[1]。
電容器鋁殼的生產(chǎn)一般在沖壓機(jī)床上進(jìn)行,其形狀以圓柱形居多,端面有防爆槽,其目的是防止電容器由于品質(zhì)不良或其他原因瞬間爆炸之前,內(nèi)部積蓄的能量能夠從防爆槽處得到壓力釋放。由于生產(chǎn)工藝不足或者其他因素,端面會(huì)產(chǎn)生一些缺陷,如端面破損、有凹坑,防爆槽爆裂,無(wú)防爆槽等,如圖1所示。
另外由于沖床上的檢測(cè)條件很苛刻:(1)油污嚴(yán)重,產(chǎn)品表面不干凈;(2)振動(dòng);(3)空間狹小;(4)機(jī)臺(tái)數(shù)量眾多。因此要求測(cè)量系統(tǒng)的單臺(tái)成本投入要小,速度要快。作者根據(jù)實(shí)際情況,設(shè)計(jì)出一套檢測(cè)方案,采用分布式多點(diǎn)模式,以滿足檢測(cè)要求。
測(cè)量系統(tǒng)由光學(xué)照明系統(tǒng)、CCD攝像機(jī)、圖像采集系統(tǒng)、計(jì)算機(jī)及相應(yīng)的軟件組成,具體結(jié)構(gòu)如圖2所示。工作原理為:在合理的照明系統(tǒng)中,CCD相機(jī)捕捉電容鋁殼的端面信息,經(jīng)透鏡系統(tǒng)聚焦后成像于CCD面陣上。CCD將圖像信號(hào)變?yōu)殡姾尚盘?hào),通過(guò)圖像采集卡存入計(jì)算機(jī)內(nèi)存,然后由軟件對(duì)所采集到的圖像進(jìn)行分析處理,并判斷是否合格,若不合格,則由剔除機(jī)構(gòu)剔除。
由于鋁殼的端面相對(duì)光亮,反射較強(qiáng)。系統(tǒng)將多臺(tái)CCD相機(jī)并聯(lián),利用暗箱隔絕外部光,使用同軸LED光源[2]進(jìn)行照射,以突顯鋁殼表面的瑕疵。采集到的圖像信號(hào)將傳送到計(jì)算機(jī)系統(tǒng)進(jìn)行圖像預(yù)處理、二值化、邊緣檢測(cè)、位置以及角度校正、輪廓提取、差影等一系列運(yùn)算。
圖像處理部分主要在計(jì)算機(jī)上完成,通過(guò)Visual C++平臺(tái)編程,對(duì)圖像進(jìn)行預(yù)處理,二值化,邊緣檢測(cè),位置和角度校正以及差影運(yùn)算。
圖像預(yù)處理是在保證算法穩(wěn)定性前提下實(shí)現(xiàn)特征定位分析,消除對(duì)特征提取敏感的噪聲數(shù)據(jù),取出冗雜信息,為后續(xù)的精密處理做好準(zhǔn)備。為了得到清晰的圖像邊緣,同時(shí)不會(huì)模糊圖像中的顯著點(diǎn),本系統(tǒng)采用邊緣保持濾波器[3]進(jìn)行濾波。算法如下:
對(duì)灰度圖像的每一個(gè)象素點(diǎn)[i,j]取適當(dāng)大小的一個(gè)鄰域(如3×3鄰域),分別計(jì)算[i,j]的左上角鄰域、左下角鄰域、右上角鄰域和右下角鄰域的灰度分布均勻度V,然后取最小均勻?qū)?yīng)區(qū)域的均值作為該象素點(diǎn)的新的灰度值。
計(jì)算灰度均勻度的公式為:
實(shí)驗(yàn)證明,邊緣保持濾波器可以很好地抑制圖像的噪聲,達(dá)到降噪效果。
二值化是簡(jiǎn)單的分割處理,很多物體和圖像區(qū)域表征為不變的反射率或其表面光的吸收率,可以確定一個(gè)亮度常量為閾值來(lái)分割物體和背景。閾值化是輸入圖像f到輸出圖像g的如下變換:
其中T是閾值,是根據(jù)圖像的灰度直方圖選取的。對(duì)于圖像中僅包含背景和目標(biāo)物,且都具有較均勻的灰度分布的圖像來(lái)說(shuō),則直方圖的形狀呈現(xiàn)雙峰特性。圖3為一個(gè)標(biāo)準(zhǔn)鋁殼零件的灰度直方圖。這時(shí),閾值取雙峰之間的最小值。
圖3可直觀地看到直方圖有明顯的雙峰,通常情況將選擇兩峰之間的谷點(diǎn)作為門限值(俗稱峰谷法),但由于峰值相差較大,有寬且平的谷底,故峰谷法不適用。系統(tǒng)使用迭代式閾值選擇算法,步驟如下:
(1)求出圖像中最小和最大灰度值Zmax和Zmin,令閾值初值
(2)根據(jù)閾值Tk將圖像分割為目標(biāo)和背景兩個(gè)部分,求出兩部分的平均灰度值Z0和ZB:
式中:Z(i,j)是圖像上點(diǎn)(i,j)上的灰度值,N(i,j)是點(diǎn)(i,j)上的權(quán)重系數(shù),一般N(i,j)=1.0。
(3)求出新的閾值:
(4)如果Tk=Tk+1,則結(jié)束,否則k+1→k。
物體的邊緣是圖像的基本特征。所謂邊緣是指圖像中灰度有階躍或尖頂狀變化的那些像素的集合。邊緣廣泛存在于物體與物體、物體與背景之間,是圖像分割、紋理特征提取和形狀特征提取等圖像分析所依賴的重要基礎(chǔ)[4-6]。
邊緣檢測(cè)有很多算法,如:梯度算子、Roberts算子、Sobel算子、Prewitt算子、Canny算子、Kirsch算子、Laplacian算子,以及LoG邊緣檢測(cè)算子等。
圖4為Y型標(biāo)準(zhǔn)電容器鋁殼源圖像(a)經(jīng)過(guò)邊緣保持器濾波(b)、二值化(c),以及分別使用Roberts算子(d)、Sobel算子(e)、Prewitt算子(f)、Canny算子(g)、Kirsch算子(h)進(jìn)行邊緣檢測(cè)后的圖像對(duì)比。圖中可以直觀看到,Kirsch算子處理后的圖像連續(xù)性較好,線條細(xì)且均勻,適用于本檢測(cè)系統(tǒng)。
受現(xiàn)場(chǎng)工況的限制,每次到達(dá)被檢工位的鋁殼零件位置會(huì)在一定范圍內(nèi)有所變動(dòng),因此每次檢測(cè)前必須確定圖像中鋁殼的準(zhǔn)確位置。考慮到端面的特點(diǎn),在此首先采用多邊界點(diǎn)的最小二乘擬合圓對(duì)鋁殼進(jìn)行位置校正。
如圖5所示,盡管每次檢測(cè)時(shí)鋁殼的位置有所不同,但是整幅圖像的中心均位于鋁殼圓形內(nèi)。過(guò)濾掉除圓形外所有線條后,從圖像中心O出發(fā),分別向上、下、左、右尋找得到鋁殼端面圖像上的4個(gè)邊界點(diǎn)A、B、C和D,并記錄下這4 個(gè)點(diǎn)的坐標(biāo)值(xA,yA),(xB,yB),(xC,yC),(xD,yD)。
圓的方程:
式中:(x0,y0)為圖像的圓心;r為圖像的半徑。
將4個(gè)邊界點(diǎn)A、B、C和D的坐標(biāo)值代入上式,得到方程組:
由上式可計(jì)算出圖像中的圓心(xD,yD)和半徑r,從而實(shí)現(xiàn)鋁殼的位置校正。
接下來(lái)進(jìn)行圖像的角度校正,以“十”型鋁殼零件為例,具體過(guò)程如下:
(1)過(guò)濾掉除防爆槽之外所有線條。
(2)應(yīng)用 Hough[7-9]變換擬合直線,檢測(cè)第一象限直線,并計(jì)算其方程,直線公式為:
則其直線與水平線夾角α:
(3)在Visual C++中對(duì)零件圖像進(jìn)行順時(shí)針旋轉(zhuǎn)?角度操作,將得到圖像進(jìn)行保存。
(4)由于同一型號(hào)的零件其半徑完全相同,檢測(cè)系統(tǒng)所使用的固定支架和固定焦距保證了采集圖像的大小一致,因此將待測(cè)圖像圓心與標(biāo)準(zhǔn)圖像圓心對(duì)準(zhǔn),整幅圖像的位置對(duì)齊工作就自動(dòng)完成(如圖6所示)。
差影法[10-11]也叫減影技術(shù),是對(duì)兩個(gè)以上的圖像進(jìn)行相減運(yùn)算,得到的差值圖像用來(lái)辨別兩個(gè)圖像之間的差異。差影技術(shù)常用在動(dòng)態(tài)目標(biāo)檢測(cè)跟蹤、目標(biāo)識(shí)別以及背景圖像消除等方面。
設(shè)兩個(gè)輸入圖像為A(x,y)和B(x,y),輸出圖像為C(x,y),其數(shù)學(xué)表達(dá)式如下:
將其校正后的零件圖像與標(biāo)準(zhǔn)圖像進(jìn)行差影運(yùn)算,實(shí)驗(yàn)所得圖像如表1所示。
表1分別為端面凹坑零件(a)、防爆槽開裂零件(b)、無(wú)防爆槽零件(c)源圖像經(jīng)過(guò)校正后進(jìn)行差影運(yùn)算所得圖像。從中可以直觀的看到差影后的缺陷圖像,由軟件統(tǒng)計(jì)差影圖像像素,判斷圖像是否為不合格零件,若是,則由剔除機(jī)構(gòu)剔除。
本文針對(duì)電容器鋁殼生產(chǎn)時(shí)端面常出現(xiàn)的缺陷,根據(jù)機(jī)器視覺(jué)的特性和優(yōu)勢(shì),制定了有效的缺陷檢測(cè)方案。經(jīng)過(guò)圖像采集、二值化處理、邊緣檢測(cè)、位置及角度校正、差影等一系列運(yùn)算,最終達(dá)到準(zhǔn)確檢測(cè)零件缺陷的目的。結(jié)合了計(jì)算機(jī)強(qiáng)大的計(jì)算能力,縮短了檢測(cè)時(shí)間,提高了生產(chǎn)效率。
[1]田原嫄,潘敏凱,劉思陽(yáng).電容器鋁殼表面缺陷檢測(cè)的CCD圖像處理[J].組合機(jī)床與自動(dòng)化加工技術(shù),2013(5):1-3.
[2]王磊,梅濤,孔令成.基于基于視覺(jué)技術(shù)的扣式電池自動(dòng)檢測(cè)系統(tǒng)設(shè)計(jì)[J].儀表技術(shù),2011(8):5-8.
[3]賈云得.機(jī)器視覺(jué)[M].北京:科學(xué)出版社,2000.
[4]章毓晉.圖像分割[M].北京:科學(xué)出版社,2001.
[5]何斌,馬天與,王運(yùn)堅(jiān).Visual C++數(shù)字圖像處理[M].北京:人民郵電出版社,2001.
[6]韓芳芳.表面缺陷視覺(jué)在線檢測(cè)關(guān)鍵技術(shù)研究[D].天津:天津大學(xué),2011.
[7]李本伍,王小華,謝君廷.一種圖像中檢測(cè)直線的快速算法[J].杭州電子科技大學(xué)學(xué)報(bào),2007(27):67-70.
[8]王化楠.Hough變換在視覺(jué)檢測(cè)系統(tǒng)中的應(yīng)用研究[D].大連:大連理工大學(xué),2006.
[9]朱芳芳,顧宏斌,孫瑾.一種改進(jìn)的Hough變換直線檢測(cè)算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009(19):19-21.
[10]Shih M Y,Shishido A,Khoo I C.All-optical image processing by means of a photosensitive non-linear liquid-crystal film:edge enhancement and image addition subtraction[J].Optics Letters.2001,26(15):1140-1142.
[11]陳廉清,崔治,王龍山.基于差影和模板匹配的微小軸承表面缺陷檢測(cè)[J].中國(guó)機(jī)械工程,2006(17):1019 -1022.