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