周 洲,黃 茜,胡志輝
(華南理工大學(xué)電子與信息學(xué)院,廣東廣州510640)
圖像中微小目標(biāo)的精準(zhǔn)檢測(cè)一直是研究的熱點(diǎn),也是許多情況下實(shí)現(xiàn)自動(dòng)化和智能化無(wú)法避開的技術(shù)難題。鑄件成型技術(shù)因其可制造內(nèi)腔和外形很復(fù)雜的部件、工藝靈活性大、成本低廉、所需加工工作量少等優(yōu)點(diǎn)在工業(yè)生產(chǎn),尤其在航空航天、汽車制造領(lǐng)域中,都有廣泛的應(yīng)用。鑄件在鑄造過程中由于生產(chǎn)工序、鑄造工藝等問題,使得生產(chǎn)出的部分鑄件存在缺陷。而鑄件的使用性能以及使用壽命都會(huì)受到缺陷的影響,這對(duì)于有缺陷鑄件的使用者有著潛在的危害。因此,在工業(yè)生產(chǎn)中,一套能夠?qū)﹁T件缺陷進(jìn)行正確檢測(cè)的鑄件缺陷檢測(cè)系統(tǒng)就顯得意義重大。
無(wú)損檢測(cè)方法就是在不破壞被檢測(cè)物體的結(jié)構(gòu)性質(zhì)以及使用性能的情況下,使用諸如光、電、射線等技術(shù)手段,對(duì)被檢測(cè)物體的缺陷進(jìn)行檢測(cè)。無(wú)損檢測(cè)技術(shù)能夠有效地提高產(chǎn)品的生產(chǎn)效率,保證產(chǎn)品的生產(chǎn)質(zhì)量,同時(shí)又是有效的檢測(cè)技術(shù)之一。然而,無(wú)損探傷有成像噪聲大、半影現(xiàn)象和散射等諸多問題,所以所獲得的缺陷圖像往往邊緣模糊,背景灰度變化不均勻,嚴(yán)重影響了缺陷的識(shí)別準(zhǔn)確率。目前的深度神經(jīng)網(wǎng)絡(luò)可以用于確定目標(biāo)所在區(qū)域,對(duì)目標(biāo)進(jìn)行定位,但對(duì)工件內(nèi)部的缺陷,不僅要進(jìn)行識(shí)別和定位,還需確定單個(gè)缺陷的面積,以此統(tǒng)計(jì)缺陷的大小,判斷缺陷是否超過了質(zhì)量標(biāo)準(zhǔn)。傳統(tǒng)的用于輪廓、形狀和目標(biāo)定位的方法大致可歸納如下:
(1)閾值法分離目標(biāo)。自適應(yīng)二值化方法[1-5]在提取目標(biāo)方面應(yīng)用廣泛,但這類方法局限于灰度變化簡(jiǎn)單的圖像。
(2)通過Snake模型或變形模板匹配目標(biāo)[6]。這種方法的不足在于不僅要求預(yù)先給出目標(biāo)輪廓的大致形位,而且還要求匹配對(duì)象的結(jié)構(gòu)形狀相對(duì)規(guī)范。
(3)先提取邊緣,再識(shí)別輪廓。Mahamud等[7]提出了一種使用Canny算子提取邊緣后,再將多個(gè)不封閉輪廓通過顯著性檢驗(yàn)得到一個(gè)個(gè)封閉目標(biāo)進(jìn)行識(shí)別的方法,但這種方法難以用于背景復(fù)雜的圖像。此外,瞿繼雙等[8]提出了基于 LoG(Laplacian of Gaussian)邊緣的模糊神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測(cè)方法,該方法雖強(qiáng)調(diào)了檢測(cè)的自適應(yīng)性,卻忽略了目標(biāo)輪廓定位的準(zhǔn)確性。
(4)使用支持向量機(jī)SVM(Support Vector Machine)進(jìn)行識(shí)別[9]。支持向量機(jī)目前存在許多局限,如當(dāng)SVM的訓(xùn)練集中含有噪聲或野點(diǎn)時(shí)會(huì)導(dǎo)致獲得的分類面不是真正的最優(yōu)分類面。
(5)使用多視角檢測(cè)缺陷。Domingo[10]提出了一種使用多射線源得到的圖像序列進(jìn)行缺陷檢測(cè)的方法,這種方法能有效解決單一視角檢測(cè)中誤檢的問題,但對(duì)同一對(duì)象采集多張不同角度的圖像,需要多射線源的硬件配合,實(shí)用性不強(qiáng)。
(6)基于顯著性圖進(jìn)行目標(biāo)分割提取。劉志偉等[11]首先使用圖論中的流形排序算法得到圖像的顯著性圖,然后利用Mean-shift分割算法分割森林火災(zāi)圖像中的火焰,這種方法適用于彩色圖像等色差豐富的圖像,對(duì)于鑄件X射線圖像的實(shí)用性較差。
(7)使用貝葉斯網(wǎng)絡(luò)模型分割目標(biāo)[12]。這種方法的缺點(diǎn)在于模型參數(shù)更新過程復(fù)雜,需要大量樣本的支持,且這種方法對(duì)于有噪聲大、半影及散射問題的鑄件圖像存在迭代收斂性問題。
綜上,本文針對(duì)鑄件缺陷檢測(cè),提出一套具有高準(zhǔn)確率、高穩(wěn)定性的缺陷提取方法。本文從傳統(tǒng)的LoG邊緣檢測(cè)算法出發(fā),結(jié)合各向同性擴(kuò)散方程得出局部背景,使用三個(gè)閾值對(duì)檢測(cè)結(jié)果進(jìn)行層層篩選,去除結(jié)果中的假缺陷邊緣,最終把射線圖像中的缺陷提取出來。
本文方法包括兩個(gè)主要部分,即基于LoG邊緣檢測(cè)的雙閾值圖像分割和本文提出的基于局部對(duì)比度進(jìn)一步提取目標(biāo)。
LoG邊緣檢測(cè)算法是一種常用的邊緣檢測(cè)算法。該算法先對(duì)圖像做高斯濾波,然后計(jì)算其拉普拉斯二階導(dǎo)數(shù),最后通過二階導(dǎo)數(shù)的零交叉點(diǎn)來獲取圖像或物體的邊緣。對(duì)圖像的高斯平滑濾波與拉普拉斯微分運(yùn)算可結(jié)合為一個(gè)LoG算子:
圖1所示為一個(gè)二維的LoG核。
Figure 1 A two-dimensional LoG kernel(σ=1)圖1 一個(gè)二維的LoG核(σ=1)
將一幅圖像經(jīng)過LoG變換后得到結(jié)果圖像r(x,y),原圖像上點(diǎn)(xi,yi)處的變換結(jié)果值為 E(xi,yi)。檢查零交叉點(diǎn)(xi,yi)的四個(gè)相鄰點(diǎn),如果|E(xi,yi) - E(xi,yi-1)|、|E(xi,yi) - E(xi,yi+1)|、|E(xi,yi) - E(xi-1,yi)|、|E(xi,yi) - E(xi+1,yi)|中的任何一個(gè)值大于給定閾值T1,則將(xi,yi)判斷為“明顯邊緣點(diǎn)”。
為了去除噪聲對(duì)邊緣點(diǎn)檢測(cè)的影響,本文設(shè)計(jì)了弱邊緣消除法。設(shè)封閉輪廓上像素點(diǎn)總數(shù)為E,該封閉輪廓包含的“明顯邊緣點(diǎn)”個(gè)數(shù)為e,如果e/E>T2則判斷該封閉輪廓為“強(qiáng)邊緣”,其中T2為“強(qiáng)/弱邊緣”判斷閾值。如果判定當(dāng)前輪廓為“強(qiáng)邊緣”,則保留該封閉輪廓,否則作為弱邊緣去除。
為了進(jìn)一步去除可能存在的假缺陷,本文利用局部對(duì)比度的顯著性來檢測(cè)封閉邊緣內(nèi)的區(qū)域是否為缺陷。拍攝鑄件時(shí)受工件結(jié)構(gòu)對(duì)射線吸收率、拍攝角度、位置以及射線的散射、半影等因素的影響,圖像的背景非常不均勻,盡管缺陷的重要特征是亮度相對(duì)于局部的背景高,但缺陷的平均灰度不一定高于全局背景的灰度值。如圖2所示的一幅實(shí)際生產(chǎn)線上的X射線圖,工件空白處平均灰度大于240,方框內(nèi)缺陷區(qū)灰度約為200,方框所示局部區(qū)域的平均灰度為160左右。因此,利用局部背景可以在一個(gè)更小的范圍內(nèi)更準(zhǔn)確地分割目標(biāo),使得將來對(duì)缺陷大小的估算更加準(zhǔn)確。常用的獲取目標(biāo)局部背景的算法有區(qū)域生長(zhǎng)[13]、擴(kuò)散[14]等算法。本文利用的是各向同性的擴(kuò)散算法,其離散化擴(kuò)散方程如下:
其中,n表示迭代的次數(shù),擴(kuò)散范圍隨著迭代次數(shù)的增大而增大;u(x,y)為圖像點(diǎn)(x,y)處的灰度值;a為傳導(dǎo)系數(shù);稱為網(wǎng)格比,當(dāng)且僅當(dāng)a,方程收斂。基于局部對(duì)比度進(jìn)一步提取目標(biāo)的步驟如下:(1)將前述雙閾值法得到的待定缺陷的像素點(diǎn)設(shè)為集合O。
(2)創(chuàng)建一幅與原圖像長(zhǎng)寬相同且灰度值全為0的圖像H,并將該空?qǐng)D像中屬于集合O的像素點(diǎn)的灰度值置為常數(shù)K,從而形成一幅二值圖像,如圖3a所示。
(3)對(duì)上述二值圖像進(jìn)行n次各向同性擴(kuò)散得到如圖3b所示圖像,灰度值大于0的像素點(diǎn)組成集合A:
其中,f(x,y)為圖像中點(diǎn)(x,y)的灰度值。
(4)通過式(4)得到局部背景點(diǎn)集合B:
圖3b圖像減去圖3a圖像得到局部背景圖像,如圖3c所示。
(5)取原工件圖中屬于集合B的像素灰度平均值Vb作為背景亮度,屬于集合O的像素灰度平均值Vo作為缺陷亮度。
(6)計(jì)算目標(biāo)局部對(duì)比度C:
|C|值越大,表明工件原圖中待定缺陷區(qū)域與局部背景亮度對(duì)比越顯著。
(7)引入一個(gè)新的閾值T3來對(duì)目標(biāo)進(jìn)行篩選,如果|C|>T3則判定該目標(biāo)為真缺陷,否則判定為假缺陷并刪除。
通過實(shí)驗(yàn)觀察發(fā)現(xiàn),T3的取值在[0.01,0.1]時(shí)能有效地去除假缺陷,并且對(duì)同樣環(huán)境下同一臺(tái)設(shè)備獲得的圖像,僅需設(shè)定一次合適的T3。|C|的閾值T3越大,則檢測(cè)結(jié)果包含的非嚴(yán)重缺陷越少,反之則檢測(cè)結(jié)果包含的非嚴(yán)重缺陷越多。
本節(jié)的主要工作是將本文提出的基于顯著性判別的缺陷檢測(cè)方法與雙閾值檢測(cè)方法進(jìn)行實(shí)驗(yàn)對(duì)比。本文的實(shí)驗(yàn)樣本為實(shí)際生產(chǎn)線上采集的127張鑄件缺陷樣本,經(jīng)統(tǒng)計(jì),其中共包含缺陷536個(gè),表1顯示了本文提出的鑄件缺陷檢測(cè)方法和雙閾值檢測(cè)方法在實(shí)驗(yàn)樣本上的檢測(cè)結(jié)果統(tǒng)計(jì)。
Table 1 Detection results of the two methods表1 兩種方法檢測(cè)結(jié)果統(tǒng)計(jì)
從實(shí)驗(yàn)結(jié)果可以看出,本文方法能有效濾除假缺陷、保留真缺陷,大幅提高檢測(cè)的準(zhǔn)確性。圖4顯示了部分鑄件X射線圖像的實(shí)驗(yàn)檢測(cè)結(jié)果。其中具體的參數(shù)設(shè)置為:高斯標(biāo)準(zhǔn)差σ=2,邊緣強(qiáng)度閾值 T1=0.1,顯著度閾值 T2=0.2,各向同性擴(kuò)散次數(shù)n=5,局部對(duì)比度C閾值T3=0.03。
實(shí)驗(yàn)平臺(tái)為:計(jì)算機(jī) CPU為 Intel Corei5-45 903.30 GHz,內(nèi)存為 8 GB,操作系統(tǒng)為 Windows 7,算法通過Matlab R2013a實(shí)現(xiàn)。
圖4a為鑄件X射線圖原圖;圖4b展示了雙閾值方法檢測(cè)出的缺陷,以及專家對(duì)雙閾值方法多檢出的缺陷和一些誤檢的區(qū)域進(jìn)行的標(biāo)注(圖中由方框和圓圈圈出的部分);而本文提出的方法檢出的缺陷基本上是準(zhǔn)確的,如圖4c所示。因此,本文方法大大提高了基于LoG的雙閾值檢測(cè)法的準(zhǔn)確率。
兩種檢測(cè)方法所用時(shí)間如表2所示(圖像自上而下編號(hào)為①~⑥)。
Table 2 Time consumption comparison between the two methods表2 兩種算法處理耗時(shí)比較 s
從表2可以看出,盡管本文提出的基于顯著性判別的缺陷檢測(cè)方法在雙閾值檢測(cè)方法的基礎(chǔ)上,利用待定缺陷和局部背景之間對(duì)比度的顯著性增設(shè)第三個(gè)閾值進(jìn)行了進(jìn)一步判斷,但上述兩種實(shí)驗(yàn)方法對(duì)相同大小的圖像的處理時(shí)間相差不大,本文提出的方法對(duì)算法耗時(shí)的影響很小。
本文提出了一種基于顯著性判別的鑄件X射線缺陷提取方法。由于傳統(tǒng)的LoG邊緣檢測(cè)算法在處理不均勻背景和弱邊緣時(shí)不能很好地提取目標(biāo)邊界。本文方法先在LoG的基礎(chǔ)上用雙閾值方法提取出目標(biāo)的顯著邊緣,然后通過各向同性擴(kuò)散獲取目標(biāo)局部背景,計(jì)算局部背景和待定缺陷的對(duì)比度,基于對(duì)比度的顯著性來去除假缺陷。實(shí)驗(yàn)結(jié)果顯示,加入了局部對(duì)比度篩選后,大大降低了誤檢率,同時(shí),所提方法對(duì)耗時(shí)的影響不大,符合在線實(shí)時(shí)檢測(cè)的需求。