鄭 彬,黃 濤,羅 山
(攀枝花學(xué)院交通與汽車工程學(xué)院,四川 攀枝花 617000)
活塞作為汽車發(fā)動機核心零部件之一,其工作狀態(tài)直接決定了汽車的使用性能?;钊谋砻嫒毕輽z測是生產(chǎn)制造的一道必不可少的工序,對其表面質(zhì)量起著關(guān)鍵的作用。
之前大多數(shù)汽車零部件制造企業(yè)還是采用傳統(tǒng)的人工檢測方式,而人工檢測通常會造成較大的誤差。文獻[1]針對制動主缸活塞人工檢測效率低的問題,采用機器視覺的方法,提高了生產(chǎn)效率。文獻[2]設(shè)計了一套活塞包膠組件的機器視覺檢測系統(tǒng),并給出了檢測算法。文獻[3]提出了一種改進的Sobel 邊緣檢測算法,用于圖像邊緣檢測,比傳統(tǒng)算子更清晰。文獻[4]提出一種基于自然彩色圖像的區(qū)域生長算法,具有較強的適應(yīng)性和有效性。
綜上所述,在處理不規(guī)則的感興趣區(qū)域時,圖像中的噪聲很難消除,導(dǎo)致待檢測區(qū)域邊緣模糊。
為了使區(qū)域生長法分割的區(qū)域精確性更高,結(jié)合活塞頂部缺陷的形態(tài)學(xué)、區(qū)域形狀、灰度值等特征,以區(qū)域生長法的分割模型為基礎(chǔ),提出了一種基于Canny算子進行亞像素級別的邊緣提取算法,使分割的區(qū)域更符合感興趣區(qū)域的狀態(tài)。
發(fā)動機在工作過程中,缸體內(nèi)的高溫高壓很容易導(dǎo)致活塞頂部造成裂紋、劃痕和崩口等缺陷。為了能快速準(zhǔn)確地找出這些缺陷并采集到理想的圖像,利用高像素CCD工業(yè)面陣相機,設(shè)計了一套活塞表面缺陷檢測系統(tǒng),具體流程圖,如圖1所示。
圖1 圖像處理流程圖Fig.1 Image Processing Flow Chart
采用CCD工業(yè)面陣相機采集圖像,對圖像進行預(yù)處理(主要包括圖像增強和降噪)、圖像分割(區(qū)域生長分割法、形態(tài)學(xué)處理和選取感興趣區(qū)域)和缺陷區(qū)域邊緣提?。ǜ信d趣區(qū)域提取、亞像素級邊緣提取和缺陷識別),從而定位出活塞表面的不規(guī)則缺陷,最終實現(xiàn)缺陷邊緣檢測。根據(jù)活塞圖像采集的實際要求和圖像質(zhì)量等影響因素,搭建了一套基于機器視覺的活塞表面缺陷檢測實驗平臺,如圖2所示。該實驗平臺主要包括CCD工業(yè)面陣相機、LED光源、光源控制器和開關(guān)電源等部件。
圖2 基于機器視覺的活塞表面缺陷檢測實驗平臺Fig.2 Experimental Platform of Piston Surface Defect Detection Based on Machine Vision
借助于上述活塞表面缺陷檢測實驗平臺,通過光源控制器調(diào)整合適的光源強度,對活塞進行對焦操作后,得到帶表面缺陷的活塞圖像,如圖3所示。
圖3 帶表面缺陷的活塞圖像Fig.3 Image of Piston with Surface Defect
由于區(qū)域生長分割法對圖像質(zhì)量要求較高,針對活塞表面的實際情況,首先對原始圖像進行增強和降噪處理。采用線性灰度變換處理,使原始圖像對比度增加,缺陷區(qū)域更明顯,易于區(qū)域生長分割法處理。在灰度變換中,灰度值線性比例縮放是最重要的步驟之一,其算子,如式(1)所示。
式中:(fg)—進行灰度變換的函數(shù);a—線性灰度變換的斜率;g—灰度值;b—需要變換的灰度范圍。
如果g∈gb,則需要對輸出的灰度值進行四舍五入處理,以確保輸出的灰度值在gb范圍內(nèi)。此處采用的算子,如式(2)所示。
式中:(fg)—進行灰度變換的函數(shù);a—線性灰度變換的斜率;g—灰度值;b—需要變換的灰度范圍;min—求最小灰度值;max—求最大灰度值。
由上式可知:
當(dāng)|a|>1時,對比度增加:
當(dāng)|a|<1時,對比度降低;
當(dāng)a<1時,灰度值反轉(zhuǎn):
當(dāng)b>0時,亮度值增加;
當(dāng)b<0時,亮度值降低。
對圖像進行降噪時,考慮到活塞長期在氣缸內(nèi)往復(fù)工作,導(dǎo)致活塞頂部存在較多麻點。為消除圖像本身以及機器視覺采集系統(tǒng)產(chǎn)生的噪聲,采用反復(fù)迭代的中值濾波算法對圖像進行降噪處理,較好地保留了原始圖像邊緣的特點。
在獲取活塞頂部圖像中,利用光源垂直照射的原理,使CCD工業(yè)相機所捕捉到的圖像,缺陷區(qū)域比較明顯。通過對圖像增強,濾波降噪等預(yù)處理,使得目標(biāo)與背景灰度值區(qū)別較大,為區(qū)域生長圖像分割提供了良好的前提條件。
為了實現(xiàn)活塞表面缺陷區(qū)域初步分割,采用區(qū)域生長分割法初步提取缺陷區(qū)域。區(qū)域生長(Region Growing)的基本思想是將指定的像素點或者像素區(qū)域按照規(guī)定的條件發(fā)展成更大的區(qū)域[5]。具體來說,就是以一個集合單位的種子點為起點,通過指定條件將周圍與之相似的灰度值或紋理顏色等的相鄰像素合并到一個區(qū)域內(nèi);再將得到的新區(qū)域,作為新的種子重復(fù)上述操作;直到結(jié)束繼續(xù)擴展區(qū)域,這就標(biāo)志著采用區(qū)域生長法的圖像分割結(jié)束?;趨^(qū)域生長原理,給出矩陣B1,如式(3)所示。
令矩陣B1中“6”為種子,以“6”為中心,對四周各像素點灰度值的差取絕對值。當(dāng)某像素點絕對值小于閾值T,則該像素點定義為新的種子。此處,令T=1,則進行區(qū)域生長操作后,B1更新為B2,如式(4)所示。
從B2可知,其灰度值為0、1、2、3、4、8 和9的七個像素區(qū)域都成為了邊界。其中,右下角的6可以成為種子,但它的周圍并沒有種子,因此不在生長區(qū)域之中。此時,令新閾值T=4,再次進行區(qū)域生長操作后,內(nèi)則B2更新為B3,如式(5)所示。
由B3可知,針對活塞表面缺陷檢測,其閾值T的選擇對區(qū)域生長最后的分割結(jié)果是很重要的,閾值T的選擇,如式(6)所示。
式中:T—設(shè)定閾值;k—所求均值;R—圖像區(qū)域;(fx,y)—圖像數(shù)據(jù)函數(shù);max—圖像區(qū)域最大值。其中,對含有N個像素的圖像區(qū)域R,它的均值,如式(7)所示。
式中:k—所求均值;N—像素點的個數(shù);R—圖像區(qū)域;(fx,y)—所求函數(shù)。
基于灰度分布相似性的區(qū)域生長準(zhǔn)則的具體算法如下。
(1)將圖像分割成互不干擾的小區(qū)域。由于不同的小區(qū)域可能具有相似的灰度直方圖,因此區(qū)域過小,檢測可靠性就會降低;區(qū)域過大,就會淹沒一些小目標(biāo),對圖像分割造成極大的干擾。
(2)檢測或者平滑差分。一般采用柯爾莫哥洛夫-斯米洛夫(Kolomogorov-Smimov)距離來檢測直方圖的相似性。當(dāng)檢測結(jié)果小于給定的閾值,則將兩個區(qū)域進行合并操作。柯爾莫哥洛夫—斯米洛夫檢測算子,如式(8)所示。
再采用式(9)進行平滑差分檢測。
式中:h1(z)、h2(z)—鄰接兩個區(qū)域的累計灰度直方圖;T—給定的閾值。
(3)重復(fù)上述過程,使給定區(qū)域按照之前給定的生長條件一直進行,直到鄰接的區(qū)域不滿足式(8)、式(9)限定的閾值為止,則標(biāo)志區(qū)域生長結(jié)束。
區(qū)域生長法的優(yōu)點是計算簡單,但是用區(qū)域生長法在處理圖像時對噪聲特別敏感,會將圖像局部分開的區(qū)域連接起來或者使局部區(qū)域產(chǎn)生孔洞。因此先采用膨脹處理和閉運算等形態(tài)學(xué)方法對圖像進行處理,在此基礎(chǔ)上再采用區(qū)域生長法提取圖像邊緣特征。
為了篩選出區(qū)域生長分割后產(chǎn)生的一些小區(qū)域,確保圖像中只有需要的特征區(qū)域,需對區(qū)域進行聯(lián)通操作。其算法是:首先進行第一次初步提取,其次進行一次閉運算,再進行一次特征提取,并結(jié)合灰度特征直方圖,最終得到缺陷區(qū)域。在此基礎(chǔ)上,采用邊緣填充算法,實現(xiàn)缺陷的初步定位。兩次提取的結(jié)果,如圖4所示。
圖4 特征提取Fig.4 Feature Extraction
由圖4可知,雖然對圖像進行了預(yù)處理,對感興趣區(qū)域也進行了形態(tài)學(xué)處理,但所得到的不規(guī)則缺陷區(qū)域并沒有達到理想目標(biāo)。放大圖像后,顯示區(qū)域邊緣并未與缺陷區(qū)域邊緣完全重合,而且不太平滑。為了消除區(qū)域生長法對分割區(qū)域時所產(chǎn)生的不穩(wěn)定性,提出了一種利用感興趣區(qū)域(Region of Interest,ROI)提取方法,首先將提取區(qū)域灰度化處理,其次進行亞像素級別邊緣精準(zhǔn)提取,再將提取出的區(qū)域進行邊緣優(yōu)化,最終得到連續(xù)、平滑的不規(guī)則缺陷區(qū)域。
采用感興趣區(qū)域進行圖像處理能快速定位目標(biāo)區(qū)域范圍,不僅可有效提高圖像處理的效率,而且還能大幅度減少圖像處理時間[6]。
在上述提取的活塞表面缺陷區(qū)域基礎(chǔ)上,為了能精準(zhǔn)提取到目標(biāo)位置,對其進行ROI操作,以便于對缺陷區(qū)域進行單獨處理。對提取出的區(qū)域,進行RGB圖像轉(zhuǎn)換,使其成為灰度圖像。為有效地降低圖像處理的運算量并結(jié)合人眼的生理特點,對圖像采用加權(quán)法進行灰度轉(zhuǎn)換,如式(10)所示。
式中:Gray—轉(zhuǎn)換后的單顏色通道;R—一色通道;G—一色通道;B—另一色通道。
目前,圖像處理中經(jīng)常使用的邊緣檢測算子有以下幾種:Roberts算子、Sobel算子、Prewitt算子、Canny算子等[7]。采用Roberts算子往往會出現(xiàn)邊緣不連續(xù)和抗噪性能不強等缺點[8];Sobel算子易受局部邊緣的影響,導(dǎo)致邊緣提取精度不高[9-11];Prewitt算子需要進行人工閾值設(shè)定且邊緣檢測不精細[12];相對于經(jīng)典的拉普拉斯算子,高斯-拉普拉斯抗噪性能更好,但在處理復(fù)雜的邊緣特征時,會平滑掉部分尖銳邊緣,從而導(dǎo)致檢測精確不高[13]。而Canny邊緣檢測算子明顯優(yōu)于上述的邊緣檢測算子[14]。
基于上述分析,結(jié)合活塞原始圖像的本身特性,提出利用Canny算子初步定位缺陷邊緣,再采用邊緣算法進行擬合、平滑、拼接和特征選取等處理得到完整、精確的不規(guī)則邊緣缺陷位置,有效地提高了算法的運行速度和穩(wěn)定性。由于上文已經(jīng)對圖像進行了預(yù)處理,為進行Canny算子邊緣檢測奠定了良好的處理環(huán)境。在此基礎(chǔ)上,采用如下的算法。
(1)使用一階有限差分方法,計算圖像在x和y方向上的偏導(dǎo)數(shù)矩陣P和Q。其中,一階差分卷積模板如下所示。
其中x方向和y方向的一階偏導(dǎo)數(shù)矩陣表達式,如式(11)和式(12)所示。
式中:P[i,j]—x方向的梯度幅值。
式中:S—圖像灰度值;Q[i,j]—y方向的梯度幅值。
(2)計算梯度的幅值與方位角,如式(13)、式(14)所示。
式中:M[i,j]—該點幅值;P[i,j]—x方向的梯度幅值;Q[i,j]—y方向的梯度幅值。
式中:θ[i,j]—梯度方位角;P[i,j]—x方向的梯度幅值;Q[i,j]—y方向的梯度幅值。
(3)非極大值抑制(Non-Maximum Suppression,NMS),指的是細化寬邊緣帶,即只保留邊緣峰值最大的區(qū)域,其余非極大值的點均置零處理。
(4)雙閾值算法檢測邊緣和連接邊緣。目的是減少Canny算法中出現(xiàn)的假邊緣數(shù)量。
為驗證Canny算子在處理本例的優(yōu)勢性能,分別利用Prewitt算子、Roberts算子、Kirsch算子、高斯-拉普拉斯算子和Sobel算子對目標(biāo)區(qū)域進行邊緣提取,其處理結(jié)果,如圖5所示。
圖5 不同邊緣算子檢測結(jié)果對比圖Fig.5 Comparison of Different Edge Operators Detection Results
從圖5可知,采用Prewitt算子和Roberts 算子提取的輪廓邊緣存在不連續(xù)現(xiàn)象。Kirsch算子在輪廓邊緣細節(jié)方面效果較好,但也存在連續(xù)性較差現(xiàn)象。高斯-拉普拉斯算子對噪聲較為敏感,出現(xiàn)偽邊緣響應(yīng)。Sobel算子對灰度的變化不敏感,存在不連續(xù)現(xiàn)象。Canny算子標(biāo)識出的邊緣與實際邊緣非常接近。
對已經(jīng)預(yù)處理過的ROI區(qū)域再進行一次灰度化處理,極大程度上減少了外部噪聲,但基于本身缺陷區(qū)域的不規(guī)則性,Canny算法也未能將輪廓完全提取,還有較少部分區(qū)域存在斷點。因此根據(jù)缺陷輪廓端點處的局部曲率,連接曲率滿足一定條件的輪廓邊緣進行擬合操作。其算法為:如果所有的閾值都在輪廓線之間被滿足,則計算一個評分值;角度和距離的計算值越接近于0,則得分值越高;然后按照分數(shù)值的順序執(zhí)行連接操作。因此,當(dāng)連接操作有多個候選項時,則首先合并最佳擬合輪廓。通過上述算法對由Canny算子處理后存在的斷點位置進行擬合操作,再對目標(biāo)區(qū)域進行邊緣平滑處理及缺陷定位。最終得到經(jīng)過亞像素邊緣提取定位出的缺陷區(qū)域,如圖6所示。
圖6 亞像素級別缺陷定位圖Fig.6 Sub-Pixel Defect Location Graphic
介紹了基于機器視覺的活塞表面缺陷檢測系統(tǒng)的組成,針對活塞圖像對比度低、缺陷區(qū)域小、缺陷種類多、人工檢測效率低等問題,提出了基于區(qū)域生長法和亞像素邊緣提取方法。區(qū)域生長法作為一種易于操作的常用圖像分割方法,在處理環(huán)境較為復(fù)雜的區(qū)域圖像時,缺少一定的精準(zhǔn)性和穩(wěn)定性?;诟倪M區(qū)域生長法的局限性,引用Canny 算子結(jié)合區(qū)域生長法處理圖像缺陷區(qū)域,取得了較好的缺陷定位效果,達到了預(yù)期的檢測目的,較好地提高了區(qū)域生長法在復(fù)雜環(huán)境下的可應(yīng)用性。