譚亞雄, 劉 偉, 張海洋
(1.中國科學院 長春光學精密機械與物理研究所 吉林 長春 130033;2.中國科學院大學,北京 100049)
基于圖像的缸體零件表面缺陷檢測方法*
譚亞雄1,2, 劉偉1, 張海洋1,2
(1.中國科學院 長春光學精密機械與物理研究所 吉林 長春 130033;2.中國科學院大學,北京 100049)
摘要:針對人工抽樣目測方法和超聲波、電磁波等測量技術(shù)用于新型檢測方法存在各式各樣的缺點,為了實現(xiàn)在線高速檢測汽車制動缸內(nèi)壁是否存在缺陷,基于數(shù)字圖像處理技術(shù),提出了一種能很好滿足要求的圖像處理和缺陷檢測方法。通過CCD相機采集零件需要檢測表面的圖像;用Matlab軟件對圖像進行必要的處理、對邊緣進行提取;通過腐蝕和膨脹運算優(yōu)化邊緣,再采用連通域標記,通過計算缺陷區(qū)域處面積和周長兩個物理量來判斷缺陷類型和特征。結(jié)果表明:此方法能檢測出缸體內(nèi)表面缺陷,基本上能滿足缺陷快速檢測要求。
關(guān)鍵詞:數(shù)字圖像處理; 邊緣提取; 缺陷識別; 非接觸性檢測
0引言
在安全事故頻發(fā)的今天,有許多都是因為機器中存在不合格的零件導致的,而不合格零件之所以會存在于機器中,則是在檢測零件時存在漏判和誤判。在各種機械零件表面檢測中,孔類零件由于孔內(nèi)光照不足,表面不易觀察,檢測難度相對要大一些,傳統(tǒng)的人工抽樣目測方法極其受限,而且隨著工作時間增長,人的眼睛也會疲勞,誤檢率也會慢慢增加,并且由于是抽樣檢查,很有可能會對一些存在致命缺陷的零件漏查。鑒于此,有些企業(yè)嘗試將超聲波、電磁波等測量技術(shù)[1]用于新型檢測方法的研究上,但都未取得很好的效果。這類檢測非常慢,對環(huán)境的要求卻非常高,所以,并不適合在線高速檢測零件表面缺陷[2]。
自20世紀90年代以來,表面自動檢測技術(shù)從早期的逐點激光掃描發(fā)展到逐行掃描的線陣CCD技術(shù)[3]。但線陣CCD掃描的速度太慢,而且分辨率不高,所以,表面檢測時通常采用更加優(yōu)越的面陣CCD攝像頭。由于有數(shù)字圖像處理技術(shù)作支撐,這種基于機器視覺的間接性表面檢測方法已經(jīng)廣泛應用于工件的尺寸、表面疵病檢測等領(lǐng)域。基于此,為了對缸體內(nèi)表面進行疵病檢測和缺陷類別判定,本文提出了一種以數(shù)字圖像處理技術(shù)為核心的檢測方法。通過處理采集的圖像來獲取缺陷邊緣特征,再計算缺陷邊緣長度和所圍面積來實現(xiàn)。
1零件內(nèi)表面圖像采集
制動缸體主孔尺寸是直徑19~27 mm、深度50~200 mm,對于這樣一個近似細長孔,要采集它內(nèi)表面的圖像,需要一個安裝在細長桿上的面陣CCD相機。由于CCD相機的視場角是小于360°的,在采集圓柱狀孔類零件內(nèi)表面圖像時,不可能一次性得到整個表面圖像,所以,必須對孔內(nèi)表面進行二維掃描[4]。為了防止內(nèi)窺鏡(CCD相機)上的線因運動而纏繞甚至斷裂,將內(nèi)窺鏡設(shè)計成固定件,而讓工件相對內(nèi)窺鏡運動來采集圖像。要想得到整個內(nèi)表面的完整圖像,需采取工件回轉(zhuǎn)運動和直線進給運動分時進行,即將內(nèi)窺鏡置于孔的中心軸處,確定一個初始位置,然后工件直線進給一定距離,接著工件回轉(zhuǎn)一周,再讓工件直線進給到下一位置,再回轉(zhuǎn)一周,如此循環(huán),直到掃描完整個內(nèi)表面。具體操作流程如圖1所示。
圖1 零件內(nèi)表面圖像采集流程圖Fig 1 Image collection flow chart of part inner surface
通過此方法獲得了多個實驗件的內(nèi)表面圖像,由于每幅圖像的處理方法是一樣的,所以,從中只選取了一幅存在缺陷,并且有代表意義的圖片進行處理。該圖片如圖2所示。
圖2 內(nèi)表面原始圖像Fig 2 Original image of inner surface
通過處理該圖像而進行缺陷判定與定量分析,從而驗證所用方法的可行性。
2圖像處理方法
2.1圖像預處理
在進行圖像處理時,首先要明白最終目的是提取出清晰的缺陷輪廓邊緣,然后圍繞這一主題進行相應的圖像處理操作。一般情況下,即使是好的面陣CCD相機采集的圖像也不能在視覺系統(tǒng)中直接使用,這是因為采集的圖像多多少少會受到噪聲的干擾。這些噪聲可能來自設(shè)備,也有可能是外部環(huán)境隨機干擾,所以,這些噪聲沒有辦法完全消除。實際也正是如此,從采集到的原圖像(圖2)可以明顯看到,該圖像中不僅存在噪聲,而且由于設(shè)備采集的圖像質(zhì)量也不夠好,這加大了圖像處理的難度[5]。對于這樣一幅含有大量噪聲的圖片,必須對其進行去噪處理。為了只將圖像中有用的缺陷邊緣信息提取出來,衰減那些不需要的特征,做預處理時無須考慮處理后的圖像是否與原圖像特別相似。
針對原始圖像的特點,采用均值濾波對其進行預處理。均值濾波是一種利用鄰域灰度值對目標灰度值進行均值化的算法[6]。假設(shè)有一幅圖像f(x,y) ,其像素點是一個大小為M×N的陣列,令均值濾波后的圖像為h(x,y) ,則有h(x,y)中某點的像素灰度值是由原始圖像f(x,y)中對應點和其預定鄰域內(nèi)的像素灰度值的平均值,計算公式如下
(1)
式中1≤x≤M,1≤y≤N且x,y∈N,S是除對象像素點之外的預定鄰域,k是鄰域S內(nèi)像素點的個數(shù)。經(jīng)均值濾波后的圖像如圖3所示。
圖3 均值濾波后的圖像Fig 3 Mean filtering image
從圖中可以看出,由于k的存在,圖像的目標對象的輪廓邊緣有所模糊,同時噪聲也得到了抑制。
2.2缺陷邊緣提取
邊緣提取就是要找出目標與背景的交界線,這主要取決于目標與背景之間像素點的灰度值存在一定程度的差異?;谙袼攸c灰度值的突變,前人研究出了許多微分算子用于邊緣提取,即經(jīng)典的邊緣提取方法。它的原理就是考察圖像中某個像素點在其鄰域內(nèi)的灰度變化,利用一階或二階導數(shù)變化規(guī)律來檢測圖像邊緣。對于這種變化最重要的兩個特征就是灰度變化的梯度和其幅值。
在數(shù)字圖像處理中,梯度的定義是:對一幅連續(xù)圖像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算子對目標圖像進行邊緣提取,因為其較其他方法有更好的效果。大多數(shù)邊緣提取算法都只用一個閾值來判斷邊緣,而一個閾值根本不夠,由于噪聲的影響,邊緣信號的響應有大多數(shù)是小于這個閾值的,這樣會造成邊緣不連續(xù),難以分辨真正的邊緣和虛假邊緣,如果繼續(xù)降低這個閾值的話,虛假邊緣就會完全被當做真實邊緣檢測出來。
Canny算子是高斯函數(shù)的一階導數(shù),它是一階微分算子,其檢測圖像邊緣中有一個重要的步驟就是尋找圖像梯度的局部最大值[9]。在此之前,首先需要用高斯濾波器平滑圖像,之后就可以計算圖像的梯度及其幅值,然后從這些幅值中找出圖像梯度的局部最大值,這里主要是通過對梯度幅值進行非極大值抑制并同時將非局部極大值置零的方法,最后采用雙閾值法檢測和連接圖像邊緣。所謂雙閾值法,就是使用兩個閾值T1和T2,若假定T1>T2,則有T1用來粗略找到每條完整邊緣的部分明顯線段,T2用來在這些找到的線段的兩個方向上延伸尋找邊緣的斷裂處,并連接這些邊緣。設(shè)定不同的閾值對邊緣提取效果影響非常大,它決定著虛假邊緣和真實邊緣的選取[10]。圖4給出了Canny 算子對預處理后圖像的邊緣提取結(jié)果。
圖4 Canny算子邊緣提取圖像Fig 4 Edge extraction image of Canny operator
從圖像看出,在選取合適閾值情況下,雖然存在一些斷邊和虛假邊緣,但是缺陷邊緣基本上提取的比較理想。不過拿這樣的結(jié)果還是沒法直接進行缺陷特征的量化計算,也就不能直接判斷缺陷的類型,還需要做進一步的處理。
2.3數(shù)學形態(tài)學用于邊緣輪廓優(yōu)化
對于圖4的情況,優(yōu)化邊緣提取算法的閾值已經(jīng)不能解決問題。其它經(jīng)典邊緣提取算法還沒Canny 算子有效,也不考慮。這里采取數(shù)學形態(tài)學方法[11,12]與經(jīng)典邊緣算法相結(jié)合的方法來實現(xiàn)邊緣輪廓形狀優(yōu)化。數(shù)學形態(tài)學進行圖像處理是用具有一定形態(tài)的結(jié)構(gòu)元素去度量和提取圖像中對應形狀以達到對圖像分析和識別的目的。形態(tài)學最基本的運算是膨脹和腐蝕,也是這里處理圖像的基礎(chǔ)。其運算方法是:選定結(jié)構(gòu)元素p,則有
腐蝕運算
(5)
膨脹運算:
(6)
由于經(jīng)過邊緣提取的圖像中在真實邊緣周圍存在一些毛邊,這些毛邊的灰度特征與真實邊緣極其相似,所以,這里用腐蝕運算來去除這些會影響邊緣輪廓形狀和特征計算的毛邊。效果如圖5所示。
圖5 腐蝕運算后的邊緣圖像Fig 5 Edge image after etching operation
在對毛邊進行腐蝕運算的同時,缺陷邊緣也遭到了同樣的運算,導致出現(xiàn)了許多斷口,這里,再用膨脹運算來將斷口閉合,如圖6所示。
圖6 膨脹運算后的邊緣圖像Fig 6 Edge image after expansion operation
由圖6可以看出:大多數(shù)間距小的斷口已經(jīng)連接成整體,而在一些間距比較大的地方,邊緣依然是不連續(xù)的。這是由于選取的結(jié)構(gòu)元素不足以連接兩個間斷點,如果選取的結(jié)構(gòu)元素擴大的話,又會使得邊緣存在許多重疊而導致邊緣特征失真。為了對缺陷特征進行計算,必須將缺陷邊緣連接成一個個封閉的區(qū)域,所以,需要將間斷點之間互相連接起來。
2.4邊緣連接
對于這些間距較大的間斷點,采用最短距離且距離不超過設(shè)定值的兩點之間相連接,并且連接過的點不參與與其他點之間距離計算和連接的方法,用程序?qū)崿F(xiàn)的結(jié)果如圖7所示。
圖7 連續(xù)的邊緣圖像Fig 7 Continuous edge image
3缺陷特征提取
從圖7明顯看出,這個零件的內(nèi)表面存在4處缺陷,為了得到每一區(qū)域的基本特征,這里選取缺陷面積和周長兩個物理量作為判斷零件是否合格的特征參數(shù)。為了分別計算出每個區(qū)域缺陷的面積和周長,需要將每個區(qū)域區(qū)分開來。在二值圖像中,所有像素點的值非0即1,要區(qū)分這些不同區(qū)域,運用連通域標記的方法,即從左至右依次標記每一塊的邊緣,這樣一來,從左至右依次是1~4區(qū)域。在進行計算時,采用像素數(shù)量來表示空間尺度。一個像素點的邊長是可以知道到的,這樣面積就是已知的,只要得到缺陷區(qū)域像素點的個數(shù)就可以求出缺陷的面積,只要知道缺陷邊緣的像素點就可以求出周長。
在計算面積之前,先將每個區(qū)域的周長計算出來,然后對每個區(qū)域進行填充,即將邊緣內(nèi)的非1像素點全置為1。如圖8所示。
圖8 缺陷區(qū)域填充圖像Fig 8 Defect area filled image
只需通過掃描圖像,記錄每個標號區(qū)域的像素點總數(shù)就可以得到每個區(qū)域目標像素點個數(shù)。計算結(jié)果如表1所示。
表1 面積和周長的像素數(shù)表示
由最終結(jié)果可以看出:此方法能夠得到缺陷的邊緣周長和缺陷的面積,得到這些結(jié)果后,只要和所要求的指標進行對照就能判斷出零件是否合格,以及零件存在缺陷的類型和特征。
4結(jié)束語
針對孔類零件內(nèi)表面缺陷檢測存在的難點,本文采用數(shù)字圖像處理技術(shù)實現(xiàn)非接觸性檢測。運用了圖像去噪、微分算子邊緣提取、數(shù)學形態(tài)學邊緣潤色以及點連接方法等一系列步驟去獲得完整的連續(xù)的缺陷邊緣。然后通過連通域標記將每一區(qū)域分別進行標記,得到標記號,最后計算每一標記區(qū)域的周長和面積兩個物理量來獲得缺陷的類型和特征。實驗表明:這種方法完全滿足檢測要求,具有很好的效果。
參考文獻:
[1]NakibA,OulhadjH,SiarryP.Non-supervisedimagesegmentationbasedonmultiobjectiveoptimization[J].PatternRecognitionLetters,2007,29(10):161-172.
[2]姜黎,吳偉仁,張之敬,等.微小型結(jié)構(gòu)件顯微圖像邊緣的自動識別[J].光學精密工程,2013,21(1):224-232.
[3]徐晉卿,陳唐龍,占棟,等.基于機器視覺的鋼軌輪廓測量方法研究[J].傳感器與微系統(tǒng),2014,33(4):27-30.
[4]王慧鋒,戰(zhàn)桂禮,羅曉明.基于數(shù)學形態(tài)學的邊緣檢測算法研究及應用[J].計算機工程與應用,2009,45(9):223-226.
[5]高朝陽,張?zhí)l(fā),曲亞男.圖像邊緣檢測研究進展[J].科技導報,2010,28(20):112-117.
[6]郭全民,張海先.基于圖像處理技術(shù)的混凝土路面裂縫檢測方法[J].傳感器與微系統(tǒng),2013,32(4):61-64.
[7]岡薩雷斯.數(shù)字圖像處理[M].阮秋琦,阮宇智,等譯.2版.北京:電子工業(yè)出版社,2003.
[8]范乃強,伊興國,呂亞榮.基于圖像檢測的發(fā)動機缸體探傷系統(tǒng)設(shè)計及應用[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”高新技術(shù)發(fā)展計劃資助項目(2011AA12A103)
中圖分類號:TP 391
文獻標識碼:A
文章編號:1000—9787(2016)04—0137—04
作者簡介:
譚亞雄(1990-),男,湖南耒陽人,碩士研究生,主要從事空間光學遙感儀器研究和數(shù)字圖像處理。