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

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

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

1.1 圖像預(yù)處理
    橡膠圈圖像在拍攝、存儲、傳送的過程中會受到噪聲的污染,從而導(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 邊緣檢測
1.2.1 Sobel算子邊緣檢測

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

    本文討論了橡膠圈缺陷檢測算法,分析了幾種常用算法的優(yōu)缺點(diǎn),提出了一種基于Sobel算子和Canny算子的混合邊緣檢測算法,并用Matlab軟件進(jìn)行了實(shí)驗(yàn)仿真,證明了其檢測精度要高于傳統(tǒng)的邊緣檢測算子。
參考文獻(xiàn)
[1] 劉春,利新琴,魯昌華,等. 密封橡膠圈凸點(diǎn)缺陷檢測的研究[J]. 電子測量與儀器學(xué)報(bào),2008(增刊):178-181.
[2] GONZALEZ R C, WOODS R E. 數(shù)字圖像處理 [M]. 阮秒琦,阮寧智,譯.北京:電子工業(yè)出版社,2007.
[3] 蔡立晶,蔡立娟,楊立.基于指紋圖像邊緣檢測算法的比較研究[J]. 中國新技術(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)載。