屈力剛,朱 哲,張丹雅,張 杰
(沈陽航空航天大學(xué) 機電工程學(xué)院,沈陽 110136)
在工業(yè)領(lǐng)域中,彈簧是一種重要的零部件,它具有結(jié)構(gòu)固定,制造價格低,應(yīng)用范圍廣的特點。在彈簧零件的制造過程中,質(zhì)量檢測是關(guān)鍵環(huán)節(jié)之一。彈簧零件具有常見的表面缺陷,如凹凸不平、毛刺、凹點、氣泡,應(yīng)在制造過程中予以識別和篩選,實時操作。傳統(tǒng)的彈簧表面缺陷檢測需人眼逐個檢查,有效率不高,精度低的問題存在。
目前,基于影像技術(shù)的表面缺陷檢測已經(jīng)廣泛在工業(yè)中實施,具有精確性、經(jīng)濟性、高效性等優(yōu)點,可以實現(xiàn)彈簧零件表面缺陷檢測的非觸摸、高精度、在線化、全自動化等要求。利用影像檢測技術(shù)能很好的得到彈簧零件表面輪廓線、位置點的邊緣特征。通過影像處理軟件中的特征邊緣檢測算法,將獲取的缺陷影像數(shù)據(jù)進行分類,并通過邏輯功能判定工件是否合格,實現(xiàn)高效的自動匹配的檢測工藝線。
本文提出一種橫向邊緣檢測算法對線狀缺陷進行影像邊緣檢測,并在經(jīng)典模糊C均值聚類算法(FCM)的基礎(chǔ)上,研究出一種改進的快速FCM算法對塊狀缺陷進行影像分割檢測。在對特定種類的表面缺陷特征提取上,有很強的穩(wěn)定性和高效性。在判定彈簧零件是否符合規(guī)格上,采用常見的簡單描述子中的區(qū)域面積和邊界周長,設(shè)定一閥值對彈簧缺陷影像進行分析判斷,擁有較高的準確率。
本文影像檢測系統(tǒng)包括:影像采集系統(tǒng)、計算機、影像處理軟件系統(tǒng)和轉(zhuǎn)換接觸設(shè)備等,如圖1所示。下文主要對影像采集系統(tǒng)和影像處理軟件系統(tǒng)進行深入研究,建立滿足提取彈簧零件表面缺陷這一檢測對象精度要求的高精密度影像檢測系統(tǒng),為提取出一幅清晰度高的的彈簧影像打下了良好的基礎(chǔ)。在不影響被測對象的高精度要求的情況下,盡可能將成本降到最低,其中主要的創(chuàng)新點在影像處理系統(tǒng)中對影像采用橫向缺陷檢測算法識別和提取彈簧的線狀缺陷,采用改進的快速FCM算法識別和提取小區(qū)域圓弧類缺陷,能夠有效的保證常用的彈簧零件表面缺陷的檢測精度。
圖1 影像檢測系統(tǒng)
利用彈簧零件影像采集系統(tǒng)獲取的影像,它的質(zhì)量好壞會直接對后續(xù)處理過程的精準度產(chǎn)生影響,因此本文采用沈陽航空航天大學(xué)與海克斯康聯(lián)合實驗室的高精度OPTIVE PERFORMENCE 662復(fù)合式影像測量儀對影像進行獲取,如圖2所示。影像測量儀外形尺寸為1050×1612×1563mm,工作臺最大承重為50kg,設(shè)備重量為1240kg,測量范圍為610×610×200mm,最大運行速度為340mm/s。整體花崗巖結(jié)構(gòu),精密滾珠絲杠和直線導(dǎo)軌,XYZ軸均為中央驅(qū)動,可提供CNC自動連續(xù)轉(zhuǎn)臺,具有良好的穩(wěn)定性,靈活性。配置低噪音、無干擾的高分辨率和高清晰度的SONY工業(yè)級黑白CCD相機(44萬像素752×582),擁有固定光學(xué)倍率,10:1電動變焦和雙CCD設(shè)計,實現(xiàn)影像精確再現(xiàn),其中共聚焦白光傳感器(CWS)測量抓取輪廓和剖析點。光照采用白色LED同軸光,4×90°白色LED平行透射光和白色三環(huán)4象限12分段表面環(huán)形光,實現(xiàn)高精度尺寸測量。配備PC-DMIS Vision軟件,適合在復(fù)雜的條件下配合光學(xué)傳感器使影像過濾噪聲并獲取特征,以確保影像質(zhì)量。
圖2 ??怂箍礝PTIVE PERFORMENCE 662復(fù)合式影像測量儀
影像預(yù)處理包含影像濾波、影像增強、細化等內(nèi)容。彈簧影像預(yù)處理之后,它的影像質(zhì)量會產(chǎn)生很大的提高,影像邊緣會更清晰,不但改善了影像的質(zhì)量效果而且對影像處理系統(tǒng)進行分析、處理和識別更加便捷。影像預(yù)處理是彈簧表面缺陷檢測的重點,對檢測的精確度起到關(guān)鍵作用。預(yù)處理中對濾波算法的選取十分關(guān)鍵,對于不同的影像噪聲需要選取針對性的恰當濾波算子,這樣能使影像噪聲的消除效果得到滿意的結(jié)果。
經(jīng)過海克斯康測量儀獲取的彈簧影像,已經(jīng)有良好的影像效果,但由于高頻電器設(shè)備如電器開關(guān)、高頻設(shè)備和高壓傳輸線等產(chǎn)生的工業(yè)干擾,或者由大氣中雷暴產(chǎn)生的電磁脈沖輻射,會使影像產(chǎn)生脈沖噪聲也稱為椒鹽噪聲,它是隨機分布在影像上的白點或者黑點。常用的去除這種噪聲的手段是使用中值濾波,它第一次在一維信息處理上使用,接著在二維影像信息處理上使用,它是一種非線性濾波,是指以某點為中心的N×M大小的矩陣內(nèi)的所有像素的灰度值從大到小的依次排列,其算法原理是圍繞(i,j)像素點做中心,取其范圍內(nèi)的N×M個像素點構(gòu)成的矩陣,將模板內(nèi)的N×M 個像素點的灰度值由小到大排列,設(shè)中心像素點(i,j)灰度值是g(i,j),那么g(i,j)取N×M矩陣內(nèi)的排序中值,若窗口中有偶數(shù)個像素,則取兩個中間值的平均。中值濾波做為低通濾波器之一,保留影像邊緣的同時消除噪聲點是它的特性,對孤立點和線噪聲的消除效果明顯。還有一種均值濾波法是空間域濾波算法之一,設(shè)一幅影像f(x, y)為N×N的矩陣,影像像素點g(x, y)是均值濾波處理后的,它的像素點灰度值由(x, y)中心點范圍內(nèi)的N×N矩陣的灰度值總和平均值求得,即用下式得到處理后的影像:式中x, y=0,1,2,...,N-1,W是以(x, y)點為中心的N×N矩陣,W坐標點的總和為L。均值濾波法雖然能很好的消除隨機噪聲,但對消除椒鹽噪聲效果不好,而且會破壞影像邊緣點。所以,中值濾波在椒鹽脈沖噪聲較大的情況下,能很好的去除彈簧影像產(chǎn)生的脈沖噪聲,對于噪聲的消除具有較強的魯棒性。本文選取了??怂箍禍y量儀采集到的凹凸不平、毛刺、凹點、氣泡的缺陷影像各一個,采用中值濾波進行預(yù)處理后的影像分別如圖3~圖6所示。
圖3 凹凸不平
圖4 毛刺
圖5 凹點
圖6 氣泡
彈簧影像最重要的特征就是邊緣像素點,影像邊緣是指集合階躍性或尖峰性變化的灰度值的像素點,在兩個體、個體與背景及區(qū)域與區(qū)域之間具有這種集合。它是影像分割、形狀特征和缺陷特征提取等的關(guān)鍵點。顯然,表面缺陷檢測的關(guān)鍵在于邊緣的提取及檢測,為其提供所需的二維輪廓線。邊緣檢測是關(guān)鍵的影像處理技術(shù)之一,還沒有普遍適用的邊緣檢測算法增強提取邊緣的魯棒性、準確性、效率性等問題,需要根據(jù)具體的影像輪廓性質(zhì)選取恰當?shù)乃惴?。邊緣檢測是用像素點構(gòu)成的對象邊緣,刻畫影像的邊緣來提取影像特征,分析有價值的信息是否存在影像中,因此邊緣檢測在影像處理方面有重要應(yīng)用。
本文凹凸不平和毛刺兩種彈簧表面缺陷是一條或幾條的線狀缺陷,針對這兩種表面缺陷,提出了橫向邊緣檢測算法,以M×N的灰度影像矩陣為例,表示式如下:
其中f(x,y)代表灰度影像。
梯度能定義彈簧影像中像素點灰度值變化率最大的方向。梯度大小計算如下:
公式中的x是彈簧影像的水平坐標,在單變量實值函數(shù)中,梯度是導(dǎo)數(shù)值,在一個線性函數(shù)中,是線的斜率。因為彈簧影像每行平行于x軸線。計算每行的像素點的梯度值,其中每一個像素的非常小,然后我們將其近似為0。因此,劃痕梯度大小被簡化為式(4):
線條型缺陷屬于尖屋頂狀邊緣,它位于灰度值從遞增到遞減的轉(zhuǎn)折點。對于屋頂狀邊緣,梯度值在轉(zhuǎn)折點處取極大值。如果像素點落在彈簧影像的輪廓上,那么一個變化區(qū)域?qū)⒃谒闹車霈F(xiàn),其中灰度值的變化率和變化方向是我們需要的,用梯度向量的幅值和方向表示。所以,可以用這種規(guī)律選取特征像素點。
如果某行有k(k=1,2,...,n)個梯度值值等于最大梯度值,例如:,其中0≤x1<x2<…<xk≤N,然后將分別與進行比較。如果和同時成立,則取為該行的最大梯度值;反之如果不同時成立。則剔除為該行的最大梯度值。
求彈簧影像所有像素點數(shù)值的梯度平均值:
其中式(6)中round表示向最接近的整數(shù)舍入。
最后,使用新的像素值函數(shù)G(x,y)來獲取缺陷部位的線條,如式(7)所示。
影像處理系統(tǒng)使用MATLAB軟件,對預(yù)處理后的彈簧影像二值化后,運用改進的算法進行邊緣檢測。通過對比使用橫向邊緣檢測算法前后的影像缺陷邊緣效果,能明顯看出該算法在獲取線狀缺陷中有良好的應(yīng)用,分別如圖7~圖10所示。
圖7 二值化后的凹凸不平影像
圖8 改進算法處理后的凹凸不平影像
圖9 二值化后的毛刺影像
圖10 改進算法處理后的凹凸不平影像
在接下來的過程中,我們繼續(xù)分割標記其他缺陷。影像分割是將一幅影像按照規(guī)則分成若干部分和子集。它是影像技術(shù)中表面缺陷特征提取的基礎(chǔ),是實現(xiàn)自動化影像處理必須要完成的流程。影像分割是為了獲取在彈簧影像中有價值的缺陷,讓影像分析、識別等高級處理過程中數(shù)據(jù)處理時間明顯下降,并留存彈簧缺陷特征。因此,圖像分割算法是檢測的基礎(chǔ)和關(guān)鍵。前面提及的邊緣檢測方法對線狀缺陷有良好的檢測效果,但是當彈簧零件中含有塊狀等圓弧狀缺陷時,難以提取邊緣。而彈簧零件中也常含凹點、氣泡等缺陷,需要檢測其交點或圓弧端點,這些問題在一般邊緣檢測算法中不能完成。
模糊C均值聚類(FCM)算法是經(jīng)典的模糊聚類分割算法,最初是由杜恩提出的,在他的研究中,他試圖通過根據(jù)每個像素點的灰度值分割影像來定位集群;此方法隨機為每個像素分配初始隸屬函數(shù)。然后進行迭代,通過最小化目標函數(shù)可以獲得最終符合要求的像素點和聚類中心點,其定義如式(8)、式(9)所示:
其中i為聚類中心數(shù),n表示影像中的總像素數(shù),U=[Uik]是像素點矩陣,uik表示第i個聚類中第k個像素點;vi(i=1,2,…,c)是在聚類中心集合V={v1,v2,…,vc}中表示第i個聚類中心點; c表示聚類中心數(shù)量;n。加權(quán)指數(shù)m控制集合的模糊性;xk表示第k個像素點;|xk-vi| 表示第k個像素點和第i個聚類中心點之間的歐幾里德距離(實際直線距離)。方程中的目標函數(shù)可以使用拉格朗日乘數(shù)重寫如下:
取關(guān)于uik和vi的第一階導(dǎo)數(shù)J'm(U,V)并將結(jié)果取零。我們可以重新得到uik和vi,如下所示:
如前所述,在使用FCM時,其算法初始聚類中心集是隨機選取的,從而造成算法的性能強烈依賴聚類中心集的初始化,對含噪聲的彈簧圖像缺陷分割是不可靠的。基于空間約束,阿米德等人提出了一個改進的目標函數(shù)(FCMS)來解決這個問題:
其中xr表示鄰域Nk(Nk=L×L)中的像素點xk的像素灰度值;NR表示Nk中的像素數(shù);
式(15)是來自它所在的領(lǐng)域信息的等價公式。
參數(shù)α是一個控制鄰域效果的常量。我們可以獲得像素點uik和聚類中心點vi的迭代公式,分別參見方程(16)和方程(17),最小化方程(13)和方程(14)中的目標函數(shù),推導(dǎo)出標準化的FCM。
FCMS實現(xiàn)了比FCM方法更好的分割結(jié)果。但是,仍有進一步改進的余地,影像像素點的隸屬關(guān)系接近它的鄰域。因此,我們可以使用上面已知信息改善像素點的值,見方程(18):
表1 的中心噪聲
表1 的中心噪聲
0.30 0.40 0.20 0.20 0.80 0.20 0.30 0.40 0.30
表2 的中心噪聲
表2 的中心噪聲
0.60 0.70 0.80 0.80 0.20 0.80 0.60 0.70 0.70
表3 的中心同質(zhì)
表3 的中心同質(zhì)
0.40 0.30 0.20 0.20 0.40 0.20 0.40 0.30 0.30
表4 的中心同質(zhì)
表4 的中心同質(zhì)
0.80 0.70 0.60 0.80 0.60 0.80 0.70 0.70 0.60
其中uik表示3×3窗口中的中心像素點,是鄰域中像素的平均成員資格,并且u'ik是在方程式中uik的修正值。
表1、表2中的中心噪聲隸屬度與其相鄰像素明顯不同。相反,在表3、表4中同質(zhì)像素點與其相鄰像素接近,同質(zhì)像素中噪聲的修正隸屬度u'ik傾向于它們自己的平均值uik,這表明它們相當接近大多數(shù)局部相鄰像素點?;谄渚植肯噜徬袼氐碾`屬度來聚類噪聲像素點,這顯著改善了噪聲影像的分割結(jié)果。
因此,使用快速FCM算法獲取的聚類中心被設(shè)置為初始中心以減少迭代次數(shù)。彈簧影像中的缺陷分割的步驟描述如下。
第2步:使用快速FCM算法計算初始聚類中心vi。
第3步:使用方程(17)計算uik隸屬度。并使用方程18計算u'ik;通過計算過后的uik和u'ik代人方程16,獲取新的聚類中心vi。
獲得最終分割結(jié)果,從而獲取缺陷影像,對預(yù)處理后的彈簧影像二值化后,運用快速FCM算法進行影像分割。通過對比使用算法前后的影像缺陷邊緣效果,能明顯看出該算法在獲取塊狀缺陷中有不錯的效果,分別如圖11~圖14所示。
圖11 二值化后的凹點影像
圖12 改進算法處理后的凹點影像
圖13 二值化后的氣泡影像
圖14 改進算法處理后的氣泡影像
為了搭建一套彈簧表面缺陷影像檢測系統(tǒng),制定了一套檢測流程框架,實現(xiàn)影像的實時采集、圖像的準時處理、缺陷特征提取及缺陷分類算法功能,對本文彈簧缺陷影像及邏輯順序進行了詳細的分析。特征提取是彈簧缺陷識別的前提,缺陷特征的選擇和缺陷分類算法是影響缺陷判別結(jié)果的主要因素,目標缺陷特征是否準確拾取,對識別結(jié)果和分類算法的運算量有重要影響。因此,盡量具有一定的特征屬性是必須的,也應(yīng)該少一些多余信息。
綜合上述問題,對彈簧缺陷圖像進行特征提取,缺陷判斷,誤差分析是必要的。首先特征提取出彈簧缺陷邊緣,彈簧缺陷中毛刺、凹凸不平屬于只有周長的近似線段,而凸點、氣泡屬于近似圓形的多邊形則有周長和面積;然后判斷線狀缺陷和塊狀缺陷,分別計算出彈簧線狀缺陷的周長和塊狀缺陷的周長和面積,通過分析缺陷的周長或者面積來判斷,缺陷特征的參數(shù)是否在規(guī)定范圍內(nèi),從而判斷彈簧件是否符合規(guī)格。在缺陷判斷部分,采用橫向邊緣檢測算法,對所有彈簧件進行線狀缺陷檢測判斷,在采用快速FCM分割算法,對剩余的彈簧件進行塊狀缺陷檢測判斷。誤差分析部分,采用統(tǒng)計方法,將分離的缺陷圖的各個獨立污點及缺陷的大小進行計算并記錄,將得到的缺陷大小值與用戶設(shè)定允許缺陷大小值進行比較,然后選擇是否留存。彈簧表面缺陷的基本特征是幾何特征,用來描述缺陷的形狀特性,一般來說,幾何特征分為兩種:一種為簡單描述子,如區(qū)域面積、邊界長度、質(zhì)心、外接矩形長寬比等;另一種為形狀描述子,如歐拉數(shù)、緊湊性、圓度、不變矩、離心率等。
本文采用常見的簡單描述子中的區(qū)域面積和邊界周長,來檢測判斷彈簧缺陷影像。
周長檢測算法是線狀缺陷檢測算法,它記錄彈簧缺陷影像的輪廓像素點數(shù)量,數(shù)目越多,邊緣提取的就越多,彈簧不合格的概率也就更大。設(shè)長度閾值為T,缺陷邊緣點數(shù)量和大于T時,彈簧為不合格,小于T時為合格。
面積檢測算法是在彈簧缺陷分割后,直接找到最大目標缺陷的面積,設(shè)單個缺陷面積閥值為Q,如果單個目標缺陷的面積大于Q,就可以確定為次品予以剔除。然后剩余塊狀缺陷彈簧影像的缺陷面積選擇掃描標號法。掃描標號法是影像中不同的塊狀缺陷個體都有一一對應(yīng)的號碼,在同一彈簧零件中,塊狀缺陷個體的標號是一致的,而不同彈簧零件中是截然不同的,在塊狀缺陷面積檢測中,為了方便計算同一標號塊狀缺陷的總面積,需對每一個塊狀缺陷特征標號,對相同標號的面積進行累加,得到相同標號缺陷的面積之和,即是一個彈簧缺陷影像的面積。使用這種方法能精準高效的求得單個彈簧缺陷總面積,即使圖像不規(guī)則,該方法也非常有效。設(shè)缺陷總面積閥值為W,如果相同標號缺陷的面積之和大于W,就認為該彈簧為次品并予以剔除。
邊界周長L為缺陷的外輪廓所占的像素點總數(shù):
缺陷面積為S缺陷目標區(qū)域內(nèi)的像素點總數(shù):
通過以上方法的分析,制定了一套彈簧零件表面缺陷檢測的操作流程框架,如圖15、圖16所示。
圖15 彈簧零件表面缺陷自動檢測流水線
圖16 彈簧零件表面缺陷自動檢測的流程圖
在本節(jié)最后,為了評估自動彈簧零件表面缺陷檢測系統(tǒng)的性能和方法的正確性,我們每次選取100個樣品進行了三次實驗。實驗中的方法是在AMD Ryzen5 1600 Six-Core Processor,3.20 GHz個人計算機上利用MATLAB實現(xiàn)的。通過表5實驗結(jié)果可以看出,本文算法對于彈簧的線狀和塊狀缺陷都有很高的正確率,都達到了96%以上的正確率,說明本文的算法是切實可行的。
表5 彈簧缺陷分類實驗結(jié)果統(tǒng)計表
本文通過對彈簧表面缺陷檢測日益增長的需要,制定了一套影像檢測系統(tǒng),對采集到的彈簧影像進行圖像預(yù)處理,并針對具體缺陷特征,提出了橫向邊緣檢測算法用于線狀缺陷邊緣定位檢測,提出了快速FCM分割檢測算法用于塊狀缺陷的影像分割檢測。設(shè)計了一套彈簧零件表面缺陷檢測的流程框架。通過實驗驗證,這種方法的缺陷檢測準確率可以達到96%以上,這使得彈簧表面缺陷在線影像檢測成為可能。該文章也對于其它環(huán)狀零件的表面缺陷識別有許多參考價值。