(1.內(nèi)蒙古科技大學(xué) 機(jī)械工程學(xué)院,內(nèi)蒙古 包頭 014010; 2.內(nèi)蒙古科技大學(xué) 工程訓(xùn)練中心,內(nèi)蒙古 包頭 014010;3.內(nèi)蒙古物通天下網(wǎng)絡(luò)科技有限責(zé)任公司,內(nèi)蒙古 包頭 014010)
隨著機(jī)器視覺和圖像處理的日漸成熟,邊緣檢測(cè)技術(shù)的應(yīng)用范圍越來越廣泛,其在列車軸承表面缺陷方面的應(yīng)用也取得了一定的效果,但是由于受到噪聲的干擾,提高抗噪性和準(zhǔn)確保留邊緣特征成為目前需要解決的主要問題。傳統(tǒng)的邊緣檢測(cè)算法對(duì)噪聲比較敏感,進(jìn)行檢測(cè)時(shí)通常會(huì)加強(qiáng)噪聲,其中Canny算法的邊緣檢測(cè)效果相對(duì)較好。而數(shù)學(xué)形態(tài)學(xué)方法在近些年也開始用于邊緣檢測(cè),它是一種非線性的濾波,相比于傳統(tǒng)的濾波算法,經(jīng)過數(shù)學(xué)形態(tài)學(xué)處理后得到的圖像有比較好的抗噪性和連續(xù)性,但是也存在著一些問題,即無法令處理后的圖像同時(shí)在噪聲平滑和邊緣準(zhǔn)確定位方面都達(dá)到最優(yōu)。趙芳[1]等人將多尺度形態(tài)學(xué)和雙邊濾波結(jié)合的去噪方法引入Canny算法中,檢測(cè)效果有了一定的提高,但是也增加了算法運(yùn)行的時(shí)間,這影響了視覺檢測(cè)系統(tǒng)的工作效率。孫汝萍[2]通過小波分解的方法將圖像分解為高、低頻,分別進(jìn)行邊緣檢測(cè)處理,再將圖像融合為完整邊緣,這也增加了算法的復(fù)雜性。朱地博[3]等人采用兩個(gè)互不相同的結(jié)構(gòu)元素對(duì)圖像邊緣進(jìn)行檢測(cè),得到的邊緣特征不夠清晰,這說明只用數(shù)學(xué)形態(tài)學(xué)進(jìn)行邊緣檢測(cè)顯然很難得到準(zhǔn)確的邊緣特征。除此之外,還有一些關(guān)于米粒、軌道圖像、布匹瑕疵圖像的邊緣檢測(cè)算法研究[4-6],但是用于處理列車軸承表面缺陷圖像并不完全合適。基于這種情況,筆者提出一種改進(jìn)的邊緣檢測(cè)算法,其結(jié)合了形態(tài)學(xué)處理的抗噪性好和Canny算法準(zhǔn)確保留邊緣特征的優(yōu)點(diǎn),用于列車軸承表面缺陷(麻點(diǎn)、壓痕、腐蝕)的邊緣檢測(cè),效果有了明顯的提高,這對(duì)于軸承缺陷視覺檢測(cè)系統(tǒng)的研究有重要意義。
數(shù)學(xué)形態(tài)學(xué)作為邊緣檢測(cè)中提取圖像分量的一種工具,可以根據(jù)需要提取分量的特征,分別采用適當(dāng)形狀和尺度的結(jié)構(gòu)元素對(duì)圖像分量進(jìn)行提取,具體實(shí)現(xiàn)的方法是通過腐蝕和膨脹操作進(jìn)行圖像處理,并在此兩種算法的基礎(chǔ)上推導(dǎo)出形態(tài)學(xué)的開、閉運(yùn)算和其他形態(tài)學(xué)算法[7]。
對(duì)于平面A2上的元素集合B,使用結(jié)構(gòu)元素C對(duì)集合B進(jìn)行形態(tài)學(xué)處理,得到4種基本運(yùn)算。
① 形態(tài)學(xué)腐蝕:
BΘC={s|(C)s?B}
(1)
② 形態(tài)學(xué)膨脹:
(2)
③ 形態(tài)學(xué)開運(yùn)算:
B·C=(BΘC)⊕C
(3)
④ 形態(tài)學(xué)閉運(yùn)算:
B·C=(B⊕C)ΘC
(4)
形態(tài)學(xué)邊緣檢測(cè)算法實(shí)際上相當(dāng)于使用一個(gè)結(jié)構(gòu)元素對(duì)原圖像進(jìn)行腐蝕,再用原圖像減去腐蝕后的圖像,恰好刪除了腐蝕后的內(nèi)部點(diǎn),留下了邊界元素。取D(B)為經(jīng)過形態(tài)學(xué)處理后的邊緣圖像,可定義為
D(B)=B-(BΘC)
(5)
形態(tài)學(xué)處理依賴于結(jié)構(gòu)元素的選取,不僅與結(jié)構(gòu)元素的形狀有關(guān),還與結(jié)構(gòu)元素的尺寸及原點(diǎn)位置密切相關(guān)[8]。形態(tài)學(xué)用于邊緣檢測(cè)處理時(shí)對(duì)噪聲不敏感,其本質(zhì)是結(jié)構(gòu)元素和集合的相互作用,如果在傳統(tǒng)的邊緣檢測(cè)算法中引入數(shù)學(xué)形態(tài)學(xué),可在一定程度上抑制噪聲,同時(shí)保留邊緣細(xì)節(jié)信息。
在目前的圖像邊緣檢測(cè)處理中,抑制噪聲和準(zhǔn)確保留邊緣特征很難同時(shí)實(shí)現(xiàn),有一些邊緣檢測(cè)算法通過平滑濾波,在去除噪聲的同時(shí),也增加了邊緣定位的不確定性;而提高邊緣檢測(cè)算法對(duì)邊緣敏感性的同時(shí),卻也增加了對(duì)噪聲的敏感性,Canny算法是在抑制噪聲干擾和保留邊緣特征之間最好的折中方案[8]。
圖1分別給出了5種傳統(tǒng)的邊緣檢測(cè)算法對(duì)麻點(diǎn)缺陷邊緣檢測(cè)后的圖像。
圖1 傳統(tǒng)的邊緣檢測(cè)算法處理后的圖像
實(shí)驗(yàn)表明,Canny算法相比于其他傳統(tǒng)算法,具有準(zhǔn)確保留邊緣特征的優(yōu)點(diǎn),雖然具備一定的抗噪性,但是仍然存在對(duì)噪聲敏感的問題,所以應(yīng)該加入其他算法將其改進(jìn)。
本文結(jié)合形態(tài)學(xué)對(duì)噪聲不敏感、Canny算法準(zhǔn)確保留邊緣特征的優(yōu)點(diǎn),提出了一種改進(jìn)的邊緣檢測(cè)算法,其核心思想是將二值化后的圖像首先進(jìn)行形態(tài)學(xué)3菱形閉運(yùn)算處理,然后對(duì)其進(jìn)行Canny邊緣檢測(cè),最終實(shí)現(xiàn)對(duì)軸承缺陷的邊緣提取。
由于結(jié)構(gòu)元素的選取在形態(tài)學(xué)處理中占有極其重要的地位,所以對(duì)多種不同的結(jié)構(gòu)元素分別進(jìn)行對(duì)比實(shí)驗(yàn),最終選取[0 1 0;1 1 1;0 1 0]作為本文算法形態(tài)學(xué)處理中的結(jié)構(gòu)元素,實(shí)驗(yàn)證明,該結(jié)構(gòu)元素對(duì)于軸承3種主要缺陷(麻點(diǎn)、壓痕和腐蝕)的處理效果最好。實(shí)驗(yàn)中用到的結(jié)構(gòu)元素分別為
[1 1 1;1 1 1;1 1 1]
(3×3)
[1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1]
(5×5)
[0 1;1 0]
(0110)
[1 0;0 1]
(1001)
[0 1 0;1 1 1;0 1 0]
(3菱形)
[0 0 1 0 0;0 1 1 1 0;1 1 1 1 1;0 1 1 1 0;0 0 1 0 0]
(5菱形)
以麻點(diǎn)圖像的形態(tài)學(xué)閉運(yùn)算處理為例,圖2分別給出了麻點(diǎn)缺陷原圖、二值化后的圖像以及此六種結(jié)構(gòu)元素閉運(yùn)算處理后的圖像。
圖2 不同結(jié)構(gòu)元素閉運(yùn)算處理后的圖像
由圖2可以看出,相比于二值化后的圖像,經(jīng)過此六種形態(tài)學(xué)結(jié)構(gòu)元素閉運(yùn)算處理后的圖像均有一定的抗噪效果,所以形態(tài)學(xué)圖像處理可在一定程度上抑制噪聲。對(duì)此六種結(jié)構(gòu)元素處理后的圖像進(jìn)行比較后發(fā)現(xiàn),3×3、5×5、5菱形這3種結(jié)構(gòu)元素對(duì)圖像的抗噪效果最好,但是對(duì)圖像原有特征的改變比較大,出現(xiàn)特征邊緣不準(zhǔn)確的問題;而0110和1001這兩種結(jié)構(gòu)元素對(duì)圖像的抗噪效果較差,并且處理后的特征有方向性,不具有普遍性;只有3菱形結(jié)構(gòu)元素處理后的圖像具有一定的抗噪性,而且保留了邊緣的細(xì)節(jié)信息。
形態(tài)學(xué)基本運(yùn)算包括腐蝕、膨脹、開運(yùn)算和閉運(yùn)算,各有其作用和優(yōu)勢(shì),用于軸承缺陷邊緣檢測(cè)的效果不同,實(shí)驗(yàn)表明,形態(tài)學(xué)閉運(yùn)算的處理效果最好。
以麻點(diǎn)圖像的形態(tài)學(xué)3菱形結(jié)構(gòu)元素處理為例,圖3分別給出了腐蝕、膨脹、開運(yùn)算和閉運(yùn)算處理后的圖像。
圖3 3菱形不同基本運(yùn)算處理后的圖像
由圖3可以看出,相比于閉運(yùn)算處理后的圖像,腐蝕、膨脹和開運(yùn)算處理的抗噪效果差,而且腐蝕處理后將噪聲點(diǎn)擴(kuò)大了,膨脹處理后將特征縮小了,所以這3種處理效果都不是很理想,最終選擇閉運(yùn)算作為本文算法中形態(tài)學(xué)處理的基本運(yùn)算。
綜上所述,選擇形態(tài)學(xué)3菱形閉運(yùn)算作為邊緣檢測(cè)的前處理,結(jié)合Canny算法作為本文算法進(jìn)行軸承表面缺陷的邊緣檢測(cè)。
用本文算法在Matlab R2018a環(huán)境下對(duì)軸承表面的3種主要缺陷(麻點(diǎn)、壓痕和腐蝕)進(jìn)行處理,并與形態(tài)學(xué)邊緣檢測(cè)和Canny算法邊緣檢測(cè)進(jìn)行比較分析,實(shí)驗(yàn)結(jié)果如圖4~圖6所示。
實(shí)驗(yàn)結(jié)果表明了本文算法的可行性和有效性,相比于形態(tài)學(xué)邊緣檢測(cè)和Canny算法邊緣檢測(cè)處理后的圖像,本文算法不僅加強(qiáng)了抑制噪聲的能力,還準(zhǔn)確地保留了圖像的邊緣特征,同時(shí)為接下來的表面缺陷分類識(shí)別處理提供了極大便利。
圖4 麻點(diǎn)圖像及邊緣檢測(cè)后的圖像
圖5 壓痕圖像及邊緣檢測(cè)后的圖像
圖6 腐蝕圖像及邊緣檢測(cè)后的圖像