《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 橡膠圈缺陷檢測(cè)算法研究
橡膠圈缺陷檢測(cè)算法研究
來源:微型機(jī)與應(yīng)用2010年第22期
朱紅莉1, 朱紅巖2
(1. 河南工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,河南 鄭州450001;2. 合肥工業(yè)大學(xué) 電氣與自動(dòng)化工
摘要: 提出了一種基于數(shù)字圖像處理的邊緣檢測(cè)算法,分別利用Sobel算子和Canny算子對(duì)預(yù)處理后的圖像進(jìn)行邊緣檢測(cè),將所得圖像進(jìn)行圖像相加,并用Matlab進(jìn)行仿真。結(jié)果表明,該算法比單一邊緣檢測(cè)算子檢測(cè)效果要好,并具有良好的檢測(cè)精度。
Abstract:
Key words :

摘  要: 提出了一種基于數(shù)字圖像處理的邊緣檢測(cè)算法,分別利用Sobel算子Canny算子對(duì)預(yù)處理后的圖像進(jìn)行邊緣檢測(cè),將所得圖像進(jìn)行圖像相加,并用Matlab進(jìn)行仿真。結(jié)果表明,該算法比單一邊緣檢測(cè)算子檢測(cè)效果要好,并具有良好的檢測(cè)精度。
關(guān)鍵詞: 數(shù)字圖像處理;橡膠圈自適應(yīng)中值濾波;Sobel算子;Canny算子

    圖像的邊緣是指圖像灰度值的不連續(xù)點(diǎn)或變化劇烈的點(diǎn)的集合,橡膠圈邊緣檢測(cè)是要提取缺陷和背景的邊界線。工業(yè)用橡膠圈在生產(chǎn)過程中不可避免地會(huì)出現(xiàn)各種各樣的缺陷,例如切割不平、厚度不均、毛邊和氣泡等。本文以橡膠圈的氣泡缺陷為例,提出了一種基于數(shù)字圖像處理的混合邊緣檢測(cè)算法,并給出了分析過程與實(shí)驗(yàn)結(jié)果[1]。
1 算法研究
    目標(biāo)圖像一般都含有噪聲,所以在邊緣檢測(cè)前必須進(jìn)行圖像預(yù)處理以消除噪聲,然后再對(duì)其分別用Sobel算子和Canny算子進(jìn)行邊緣檢測(cè),最后把兩者結(jié)果相加,即得到較好的檢測(cè)效果。算法框圖如圖1所示。

1.1 圖像預(yù)處理
    橡膠圈圖像在拍攝、存儲(chǔ)、傳送的過程中會(huì)受到噪聲的污染,從而導(dǎo)致圖像出現(xiàn)失真、模糊等退化現(xiàn)象。常用的濾波算法有均值濾波、維納濾波、自適應(yīng)中值濾波等。實(shí)驗(yàn)證明,自適應(yīng)中值濾波能有效去除橡膠圈圖像噪聲,更為重要的是,在去除噪聲的同時(shí),自適應(yīng)中值濾波還能保護(hù)圖像細(xì)節(jié)[2]。所以本文采用自適應(yīng)中值濾波來進(jìn)行圖像預(yù)處理。實(shí)驗(yàn)效果如圖2所示。

1.2 邊緣檢測(cè)
1.2.1 Sobel算子邊緣檢測(cè)

    基于微分方法的邊緣檢測(cè)算子包括Roberts算子、Prewitt算子、Sobel算子、Laplacian算子、LoG算子等,其中前三者是基于一階導(dǎo)數(shù)的邊緣檢測(cè)算子,后兩者是基于二階導(dǎo)數(shù)的邊緣檢測(cè)算子。在算法實(shí)現(xiàn)過程中,通過模板與圖像中的每個(gè)像素點(diǎn)做卷積和運(yùn)算,然后選取合適的閾值以提取邊緣。一階導(dǎo)數(shù)和二階導(dǎo)數(shù)的不同在于,一階導(dǎo)數(shù)認(rèn)為最大值對(duì)應(yīng)邊緣位置,而二階導(dǎo)數(shù)則以過零點(diǎn)對(duì)應(yīng)邊緣位置。
    基于微分方法的邊緣檢測(cè)算子中,Roberts算子采用對(duì)角線方向相鄰兩像素之差近似梯度幅值檢測(cè)邊緣,檢測(cè)水平和垂直邊緣效果好于斜向邊緣,定位精度較高,但對(duì)噪聲敏感。Prewitt算子和Sobel算子是實(shí)踐中最常用的兩種算子,兩者都是利用像素點(diǎn)上下、左右鄰點(diǎn)的灰度加權(quán)算法,根據(jù)在邊緣點(diǎn)處達(dá)到極值這一原理來檢測(cè)邊緣。Prewitt算子實(shí)現(xiàn)起來更為簡(jiǎn)單,但在抑制噪聲方面不如Sobel算子。Sobel算子能夠較為精確地檢測(cè)出邊緣點(diǎn),對(duì)噪聲具有平滑作用,但檢測(cè)出的邊緣較寬。
    Laplacian算子是一種線性二階微分算子,對(duì)噪聲非常敏感,一般不直接用于邊緣檢測(cè)。LoG算子是Laplacian算子的改進(jìn)方式,它選用Gaussian函數(shù)對(duì)圖像進(jìn)行平滑濾波,然后對(duì)平滑后的圖像進(jìn)行Laplacian運(yùn)算。使用Laplacian算子是為了提供一幅能確定邊緣位置的圖像。
    Sobel算子是一組方向算子,從不同的方向檢測(cè)邊緣。方向算子是利用一組模板對(duì)圖像中的同一像素求卷積,選取其中最大的值作為邊緣強(qiáng)度,而將與之對(duì)應(yīng)的方向作為邊緣方向。
    其梯度為:
 
    一幅圖像的3×3區(qū)域如圖3所示,其中z是圖像的灰度值,則Sobel算子模板如圖4所示,用以實(shí)現(xiàn)上述梯度公式。

    Prewitt算子是平均濾波,而Sobel算子是加權(quán)平均濾波。在Prewitt算子中像素鄰域與當(dāng)前像素產(chǎn)生的影響是等價(jià)的,而Sobel算子中鄰域像素與當(dāng)前像素的距離有不同的權(quán)值,一般距離越小,權(quán)值越大。Sobel算子的權(quán)值2意味著通過增加中心點(diǎn)的重要性來達(dá)到一些平滑效果,由于引入了平均因素,因而對(duì)圖像中的隨機(jī)噪聲有一定的平滑作用。Sobel算子是相隔兩行或兩列之差分,所以邊緣兩側(cè)元素得到了增強(qiáng),邊緣顯得粗而亮[3]。
    實(shí)驗(yàn)證明,當(dāng)閾值設(shè)為0.017時(shí),用Sobel算子對(duì)橡膠圈缺陷檢測(cè)效果最好。而上述其他算子均不能有效檢測(cè)出橡膠圈圖像的缺陷邊緣。
1.2.2 Canny算子邊緣檢測(cè)
    在圖像邊緣檢測(cè)中,抑制噪聲和邊緣精確定位是無法同時(shí)滿足的,邊緣檢測(cè)算法通過平滑濾波去除圖像噪聲的同時(shí),也增加了邊緣定位的不確定性;反之,提高邊緣檢測(cè)算子對(duì)邊緣的敏感性的同時(shí),也提高了對(duì)噪聲的敏感性。Canny算子在抗噪聲干擾和精確定位之間尋求最佳折中方案[4]。
    Canny算子邊緣檢測(cè)的原理與上述幾個(gè)不同,它不是通過微分算子檢測(cè)邊緣,而是在滿足一定約束條件下推導(dǎo)出邊緣檢測(cè)最優(yōu)化算子。
    Canny算子邊緣檢測(cè)的基本原理是:采用二維高斯函數(shù)的任意方向上的一階導(dǎo)數(shù)為噪聲濾波器,通過與圖像卷積進(jìn)行濾波;然后對(duì)濾波后的圖像尋找圖像梯度的局部極大值,以確定圖像邊緣。Canny算子是一種最優(yōu)邊緣檢測(cè)算子,其實(shí)現(xiàn)檢測(cè)圖像邊緣的步驟與方法如下:(1)選擇一定的高斯濾波器平滑圖像,抑制圖像噪聲,然后計(jì)算濾波后圖像梯度的幅值和方向;(2)對(duì)梯度幅值應(yīng)用非極值抑制,尋找圖像梯度中的局部極值點(diǎn),把其他非局部極值點(diǎn)置零以得到細(xì)化的邊緣,再用雙閾值算法檢測(cè)和連接邊緣,實(shí)現(xiàn)邊緣提取。
    Canny算子邊緣檢測(cè)的三條準(zhǔn)則是[5]:
    (1)低誤判率,既要盡可能地檢查出真實(shí)的邊緣,同時(shí)又要盡量避免檢測(cè)中出現(xiàn)的虛假邊緣;
    (2)高定位精度,即檢測(cè)出的邊緣位置要盡量接近真正的邊緣位置;
    (3)對(duì)同一邊緣要有低的響應(yīng)次數(shù),即同一邊緣產(chǎn)生多個(gè)響應(yīng)的概率要低[6]。
    實(shí)驗(yàn)證明,當(dāng)閾值設(shè)為0.08時(shí),用Canny算子對(duì)橡膠圈缺陷檢測(cè)效果最好。
1.2.3 圖像相加
    Sobel算子對(duì)灰度漸變的圖像處理較好,這點(diǎn)在橡膠圈缺陷檢測(cè)中得到了驗(yàn)證。Sobel算子對(duì)垂直和水平方向上的邊緣有較好的檢測(cè)結(jié)果,但對(duì)其他方向的檢測(cè)效果一般,且對(duì)邊緣的定位不是很準(zhǔn)確,圖像的邊界寬度要大于或等于2個(gè)像素。
    Canny算子雖然是基于最優(yōu)化思想推出的邊緣檢測(cè)算子,但實(shí)際效果并不一定最優(yōu)。Canny算子也會(huì)將一些高頻邊緣平滑掉,造成邊緣丟失[4]。
    橡膠圈缺陷的灰度和橡膠圈的灰度非常接近,對(duì)比度較低,邊緣兩側(cè)的灰度變化不明顯。經(jīng)過大量實(shí)驗(yàn),發(fā)現(xiàn)Sobel算子和Canny算子對(duì)橡膠圈的缺陷檢測(cè)有較好的效果,但又有些瑕疵,如果把二者檢測(cè)結(jié)果相加,可以使兩者的優(yōu)勢(shì)互補(bǔ),能大大提高邊緣檢測(cè)的效果,取得令人滿意的結(jié)果。
2 實(shí)驗(yàn)結(jié)果與分析
    圖5(a)為Sobel算子的邊緣檢測(cè)結(jié)果,圖5(b)為Canny算子的邊緣檢測(cè)結(jié)果,圖6為兩者相加的結(jié)果??梢钥闯?,由于橡膠圈缺陷部分和背景部分灰度非常相近,邊緣檢測(cè)難度較大,因此盡管分別采用了對(duì)灰度漸變處理效果較好的Sobel算子和最優(yōu)邊緣檢測(cè)算子——Canny算子,但邊緣檢測(cè)的結(jié)果仍不是很理想。而圖6所示的混合邊緣檢測(cè)結(jié)果要明顯優(yōu)于圖5,缺陷邊緣被清晰地分割出來,并且沒有出現(xiàn)受到噪聲干擾的偽邊緣。

    本文討論了橡膠圈缺陷檢測(cè)算法,分析了幾種常用算法的優(yōu)缺點(diǎn),提出了一種基于Sobel算子和Canny算子的混合邊緣檢測(cè)算法,并用Matlab軟件進(jìn)行了實(shí)驗(yàn)仿真,證明了其檢測(cè)精度要高于傳統(tǒng)的邊緣檢測(cè)算子。
參考文獻(xiàn)
[1] 劉春,利新琴,魯昌華,等. 密封橡膠圈凸點(diǎn)缺陷檢測(cè)的研究[J]. 電子測(cè)量與儀器學(xué)報(bào),2008(增刊):178-181.
[2] GONZALEZ R C, WOODS R E. 數(shù)字圖像處理 [M]. 阮秒琦,阮寧智,譯.北京:電子工業(yè)出版社,2007.
[3] 蔡立晶,蔡立娟,楊立.基于指紋圖像邊緣檢測(cè)算法的比較研究[J]. 中國(guó)新技術(shù)新產(chǎn)品,2009(1):3-4.
[4] 姚敏.數(shù)字圖像處理[M].北京:機(jī)械工業(yè)出版社,2006.
[5] 秦襄培.Matlab圖像處理與界面編程寶典[M].北京:電子工業(yè)出版社,2009.
[6] 田巖,彭復(fù)原. 數(shù)字圖像處理與分析[M].武漢:華中科技大學(xué)出版社,2009.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。