譚亞雄, 劉 偉, 張海洋
(1.中國科學院 長春光學精密機械與物理研究所 吉林 長春 130033;2.中國科學院大學,北京 100049)
基于圖像的缸體零件表面缺陷檢測方法*
譚亞雄1,2, 劉偉1, 張海洋1,2
(1.中國科學院 長春光學精密機械與物理研究所 吉林 長春 130033;2.中國科學院大學,北京 100049)
摘要:針對人工抽樣目測方法和超聲波、電磁波等測量技術用于新型檢測方法存在各式各樣的缺點,為了實現在線高速檢測汽車制動缸內壁是否存在缺陷,基于數字圖像處理技術,提出了一種能很好滿足要求的圖像處理和缺陷檢測方法。通過CCD相機采集零件需要檢測表面的圖像;用Matlab軟件對圖像進行必要的處理、對邊緣進行提取;通過腐蝕和膨脹運算優化邊緣,再采用連通域標記,通過計算缺陷區域處面積和周長兩個物理量來判斷缺陷類型和特征。結果表明:此方法能檢測出缸體內表面缺陷,基本上能滿足缺陷快速檢測要求。
關鍵詞:數字圖像處理; 邊緣提取; 缺陷識別; 非接觸性檢測
0引言
在安全事故頻發的今天,有許多都是因為機器中存在不合格的零件導致的,而不合格零件之所以會存在于機器中,則是在檢測零件時存在漏判和誤判。在各種機械零件表面檢測中,孔類零件由于孔內光照不足,表面不易觀察,檢測難度相對要大一些,傳統的人工抽樣目測方法極其受限,而且隨著工作時間增長,人的眼睛也會疲勞,誤檢率也會慢慢增加,并且由于是抽樣檢查,很有可能會對一些存在致命缺陷的零件漏查。鑒于此,有些企業嘗試將超聲波、電磁波等測量技術[1]用于新型檢測方法的研究上,但都未取得很好的效果。這類檢測非常慢,對環境的要求卻非常高,所以,并不適合在線高速檢測零件表面缺陷[2]。
自20世紀90年代以來,表面自動檢測技術從早期的逐點激光掃描發展到逐行掃描的線陣CCD技術[3]。但線陣CCD掃描的速度太慢,而且分辨率不高,所以,表面檢測時通常采用更加優越的面陣CCD攝像頭。由于有數字圖像處理技術作支撐,這種基于機器視覺的間接性表面檢測方法已經廣泛應用于工件的尺寸、表面疵病檢測等領域。基于此,為了對缸體內表面進行疵病檢測和缺陷類別判定,本文提出了一種以數字圖像處理技術為核心的檢測方法。通過處理采集的圖像來獲取缺陷邊緣特征,再計算缺陷邊緣長度和所圍面積來實現。
1零件內表面圖像采集
制動缸體主孔尺寸是直徑19~27 mm、深度50~200 mm,對于這樣一個近似細長孔,要采集它內表面的圖像,需要一個安裝在細長桿上的面陣CCD相機。由于CCD相機的視場角是小于360°的,在采集圓柱狀孔類零件內表面圖像時,不可能一次性得到整個表面圖像,所以,必須對孔內表面進行二維掃描[4]。為了防止內窺鏡(CCD相機)上的線因運動而纏繞甚至斷裂,將內窺鏡設計成固定件,而讓工件相對內窺鏡運動來采集圖像。要想得到整個內表面的完整圖像,需采取工件回轉運動和直線進給運動分時進行,即將內窺鏡置于孔的中心軸處,確定一個初始位置,然后工件直線進給一定距離,接著工件回轉一周,再讓工件直線進給到下一位置,再回轉一周,如此循環,直到掃描完整個內表面。具體操作流程如圖1所示。

圖1 零件內表面圖像采集流程圖Fig 1 Image collection flow chart of part inner surface
通過此方法獲得了多個實驗件的內表面圖像,由于每幅圖像的處理方法是一樣的,所以,從中只選取了一幅存在缺陷,并且有代表意義的圖片進行處理。該圖片如圖2所示。

圖2 內表面原始圖像Fig 2 Original image of inner surface
通過處理該圖像而進行缺陷判定與定量分析,從而驗證所用方法的可行性。
2圖像處理方法
2.1圖像預處理
在進行圖像處理時,首先要明白最終目的是提取出清晰的缺陷輪廓邊緣,然后圍繞這一主題進行相應的圖像處理操作。一般情況下,即使是好的面陣CCD相機采集的圖像也不能在視覺系統中直接使用,這是因為采集的圖像多多少少會受到噪聲的干擾。這些噪聲可能來自設備,也有可能是外部環境隨機干擾,所以,這些噪聲沒有辦法完全消除。實際也正是如此,從采集到的原圖像(圖2)可以明顯看到,該圖像中不僅存在噪聲,而且由于設備采集的圖像質量也不夠好,這加大了圖像處理的難度[5]。對于這樣一幅含有大量噪聲的圖片,必須對其進行去噪處理。為了只將圖像中有用的缺陷邊緣信息提取出來,衰減那些不需要的特征,做預處理時無須考慮處理后的圖像是否與原圖像特別相似。
針對原始圖像的特點,采用均值濾波對其進行預處理。均值濾波是一種利用鄰域灰度值對目標灰度值進行均值化的算法[6]。假設有一幅圖像f(x,y) ,其像素點是一個大小為M×N的陣列,令均值濾波后的圖像為h(x,y) ,則有h(x,y)中某點的像素灰度值是由原始圖像f(x,y)中對應點和其預定鄰域內的像素灰度值的平均值,計算公式如下
(1)
式中1≤x≤M,1≤y≤N且x,y∈N,S是除對象像素點之外的預定鄰域,k是鄰域S內像素點的個數。經均值濾波后的圖像如圖3所示。

圖3 均值濾波后的圖像Fig 3 Mean filtering image
從圖中可以看出,由于k的存在,圖像的目標對象的輪廓邊緣有所模糊,同時噪聲也得到了抑制。
2.2缺陷邊緣提取
邊緣提取就是要找出目標與背景的交界線,這主要取決于目標與背景之間像素點的灰度值存在一定程度的差異?;谙袼攸c灰度值的突變,前人研究出了許多微分算子用于邊緣提取,即經典的邊緣提取方法。它的原理就是考察圖像中某個像素點在其鄰域內的灰度變化,利用一階或二階導數變化規律來檢測圖像邊緣。對于這種變化最重要的兩個特征就是灰度變化的梯度和其幅值。
在數字圖像處理中,梯度的定義是:對一幅連續圖像f(x,y),在像素點(x,y) 沿x方向和y方向的梯度分別為Gx和Gy,那么梯度矢量可以表示如下[7]

(2)
其中,梯度方向是圖像灰度值變化率最大的地方,用θ表示,有
(3)
在邊緣檢測中,一個重要的量是梯度矢量的大小,用g(x,y)表示,這里有
(4)
這個量給出了在θ方向上每增加單位距離后,f(x,y)值增大的最大變化率。
基于上述理論的邊緣提取方法多種多樣,典型的有Roberts算子、Sobel算子、Prewitt算子和Canny[8]算子等。這里采用Canny算子對目標圖像進行邊緣提取,因為其較其他方法有更好的效果。大多數邊緣提取算法都只用一個閾值來判斷邊緣,而一個閾值根本不夠,由于噪聲的影響,邊緣信號的響應有大多數是小于這個閾值的,這樣會造成邊緣不連續,難以分辨真正的邊緣和虛假邊緣,如果繼續降低這個閾值的話,虛假邊緣就會完全被當做真實邊緣檢測出來。
Canny算子是高斯函數的一階導數,它是一階微分算子,其檢測圖像邊緣中有一個重要的步驟就是尋找圖像梯度的局部最大值[9]。在此之前,首先需要用高斯濾波器平滑圖像,之后就可以計算圖像的梯度及其幅值,然后從這些幅值中找出圖像梯度的局部最大值,這里主要是通過對梯度幅值進行非極大值抑制并同時將非局部極大值置零的方法,最后采用雙閾值法檢測和連接圖像邊緣。所謂雙閾值法,就是使用兩個閾值T1和T2,若假定T1>T2,則有T1用來粗略找到每條完整邊緣的部分明顯線段,T2用來在這些找到的線段的兩個方向上延伸尋找邊緣的斷裂處,并連接這些邊緣。設定不同的閾值對邊緣提取效果影響非常大,它決定著虛假邊緣和真實邊緣的選取[10]。圖4給出了Canny 算子對預處理后圖像的邊緣提取結果。

圖4 Canny算子邊緣提取圖像Fig 4 Edge extraction image of Canny operator
從圖像看出,在選取合適閾值情況下,雖然存在一些斷邊和虛假邊緣,但是缺陷邊緣基本上提取的比較理想。不過拿這樣的結果還是沒法直接進行缺陷特征的量化計算,也就不能直接判斷缺陷的類型,還需要做進一步的處理。
2.3數學形態學用于邊緣輪廓優化
對于圖4的情況,優化邊緣提取算法的閾值已經不能解決問題。其它經典邊緣提取算法還沒Canny 算子有效,也不考慮。這里采取數學形態學方法[11,12]與經典邊緣算法相結合的方法來實現邊緣輪廓形狀優化。數學形態學進行圖像處理是用具有一定形態的結構元素去度量和提取圖像中對應形狀以達到對圖像分析和識別的目的。形態學最基本的運算是膨脹和腐蝕,也是這里處理圖像的基礎。其運算方法是:選定結構元素p,則有
腐蝕運算

(5)
膨脹運算:

(6)
由于經過邊緣提取的圖像中在真實邊緣周圍存在一些毛邊,這些毛邊的灰度特征與真實邊緣極其相似,所以,這里用腐蝕運算來去除這些會影響邊緣輪廓形狀和特征計算的毛邊。效果如圖5所示。

圖5 腐蝕運算后的邊緣圖像Fig 5 Edge image after etching operation
在對毛邊進行腐蝕運算的同時,缺陷邊緣也遭到了同樣的運算,導致出現了許多斷口,這里,再用膨脹運算來將斷口閉合,如圖6所示。

圖6 膨脹運算后的邊緣圖像Fig 6 Edge image after expansion operation
由圖6可以看出:大多數間距小的斷口已經連接成整體,而在一些間距比較大的地方,邊緣依然是不連續的。這是由于選取的結構元素不足以連接兩個間斷點,如果選取的結構元素擴大的話,又會使得邊緣存在許多重疊而導致邊緣特征失真。為了對缺陷特征進行計算,必須將缺陷邊緣連接成一個個封閉的區域,所以,需要將間斷點之間互相連接起來。
2.4邊緣連接
對于這些間距較大的間斷點,采用最短距離且距離不超過設定值的兩點之間相連接,并且連接過的點不參與與其他點之間距離計算和連接的方法,用程序實現的結果如圖7所示。

圖7 連續的邊緣圖像Fig 7 Continuous edge image
3缺陷特征提取
從圖7明顯看出,這個零件的內表面存在4處缺陷,為了得到每一區域的基本特征,這里選取缺陷面積和周長兩個物理量作為判斷零件是否合格的特征參數。為了分別計算出每個區域缺陷的面積和周長,需要將每個區域區分開來。在二值圖像中,所有像素點的值非0即1,要區分這些不同區域,運用連通域標記的方法,即從左至右依次標記每一塊的邊緣,這樣一來,從左至右依次是1~4區域。在進行計算時,采用像素數量來表示空間尺度。一個像素點的邊長是可以知道到的,這樣面積就是已知的,只要得到缺陷區域像素點的個數就可以求出缺陷的面積,只要知道缺陷邊緣的像素點就可以求出周長。
在計算面積之前,先將每個區域的周長計算出來,然后對每個區域進行填充,即將邊緣內的非1像素點全置為1。如圖8所示。

圖8 缺陷區域填充圖像Fig 8 Defect area filled image
只需通過掃描圖像,記錄每個標號區域的像素點總數就可以得到每個區域目標像素點個數。計算結果如表1所示。

表1 面積和周長的像素數表示
由最終結果可以看出:此方法能夠得到缺陷的邊緣周長和缺陷的面積,得到這些結果后,只要和所要求的指標進行對照就能判斷出零件是否合格,以及零件存在缺陷的類型和特征。
4結束語
針對孔類零件內表面缺陷檢測存在的難點,本文采用數字圖像處理技術實現非接觸性檢測。運用了圖像去噪、微分算子邊緣提取、數學形態學邊緣潤色以及點連接方法等一系列步驟去獲得完整的連續的缺陷邊緣。然后通過連通域標記將每一區域分別進行標記,得到標記號,最后計算每一標記區域的周長和面積兩個物理量來獲得缺陷的類型和特征。實驗表明:這種方法完全滿足檢測要求,具有很好的效果。
參考文獻:
[1]NakibA,OulhadjH,SiarryP.Non-supervisedimagesegmentationbasedonmultiobjectiveoptimization[J].PatternRecognitionLetters,2007,29(10):161-172.
[2]姜黎,吳偉仁,張之敬,等.微小型結構件顯微圖像邊緣的自動識別[J].光學精密工程,2013,21(1):224-232.
[3]徐晉卿,陳唐龍,占棟,等.基于機器視覺的鋼軌輪廓測量方法研究[J].傳感器與微系統,2014,33(4):27-30.
[4]王慧鋒,戰桂禮,羅曉明.基于數學形態學的邊緣檢測算法研究及應用[J].計算機工程與應用,2009,45(9):223-226.
[5]高朝陽,張太發,曲亞男.圖像邊緣檢測研究進展[J].科技導報,2010,28(20):112-117.
[6]郭全民,張海先.基于圖像處理技術的混凝土路面裂縫檢測方法[J].傳感器與微系統,2013,32(4):61-64.
[7]岡薩雷斯.數字圖像處理[M].阮秋琦,阮宇智,等譯.2版.北京:電子工業出版社,2003.
[8]范乃強,伊興國,呂亞榮.基于圖像檢測的發動機缸體探傷系統設計及應用[J].計算機測量與控制,2009,17(8):1479-1481.
[9]CannyJ.Acomputationalapproachtoedgedetection[J].IEEETransactiononPatternAnalysisandMachineIntelligence,1986,8(6):679-698.
[10] 唐永鶴,盧煥章,胡謀法.基于Laplacian的局部特征描述算法[J].光學精密工程,2011,12(19):2999-3006.
[11]ClarkJ.Authenticatingedgeproducedbyzero-crossingalgori-thm[J].IEEETransactiononPatternAnalysisandMachineIntelligence,1998,11(1):43-57.
[12] 賈平,徐寧,張葉.基于局部特征提取的目標自動識別[J].光學精密工程,2013,21(7):1898-1905.
Surface defect detection method for cylinder body parts based on images*
TAN Ya-xiong1,2, LIU Wei1, ZHANG Hai-yang1,2
(1.Changchun Institute of Optics,Fine Mechanics and Physics,Chinese Academy of Science,Changchun 130033,China;2.University of Chinese Academy of Sciences,Beijing 100049,China)
Abstract:Aiming at all kinds of faults existed in artificial sampling visual method and measurement technology such as ultrasonic wave,electromagnetic wave applied for new type detection methods,in order to realize high speed online detection on flawed in auto brake cylinder wall,propose an image processing and defect detection method well meet the requirements based on digital image processing technology.Collect images on surface of parts needed to detect by CCD camera; process image by Matlab software,and extract edge;optimize edge by etching and expansion operation,again use tag of connected domain,judge types and characteristics of defect by calculating two physical quantities which are defect area and perimeter.The results show that the method can detect the cylinder inner-surface defects and can satisfy the requirement of rapid detection of defects basically.
Key words:digital image processing; edge extraction; defect identification; non-contact detection
DOI:10.13873/J.1000—9787(2016)04—0137—04
收稿日期:2015—08—11
*基金項目:國家“863”高新技術發展計劃資助項目(2011AA12A103)
中圖分類號:TP 391
文獻標識碼:A
文章編號:1000—9787(2016)04—0137—04
作者簡介:
譚亞雄(1990-),男,湖南耒陽人,碩士研究生,主要從事空間光學遙感儀器研究和數字圖像處理。