周 洲,黃 茜,胡志輝
(華南理工大學電子與信息學院,廣東廣州510640)
圖像中微小目標的精準檢測一直是研究的熱點,也是許多情況下實現自動化和智能化無法避開的技術難題。鑄件成型技術因其可制造內腔和外形很復雜的部件、工藝靈活性大、成本低廉、所需加工工作量少等優點在工業生產,尤其在航空航天、汽車制造領域中,都有廣泛的應用。鑄件在鑄造過程中由于生產工序、鑄造工藝等問題,使得生產出的部分鑄件存在缺陷。而鑄件的使用性能以及使用壽命都會受到缺陷的影響,這對于有缺陷鑄件的使用者有著潛在的危害。因此,在工業生產中,一套能夠對鑄件缺陷進行正確檢測的鑄件缺陷檢測系統就顯得意義重大。
無損檢測方法就是在不破壞被檢測物體的結構性質以及使用性能的情況下,使用諸如光、電、射線等技術手段,對被檢測物體的缺陷進行檢測。無損檢測技術能夠有效地提高產品的生產效率,保證產品的生產質量,同時又是有效的檢測技術之一。然而,無損探傷有成像噪聲大、半影現象和散射等諸多問題,所以所獲得的缺陷圖像往往邊緣模糊,背景灰度變化不均勻,嚴重影響了缺陷的識別準確率。目前的深度神經網絡可以用于確定目標所在區域,對目標進行定位,但對工件內部的缺陷,不僅要進行識別和定位,還需確定單個缺陷的面積,以此統計缺陷的大小,判斷缺陷是否超過了質量標準。傳統的用于輪廓、形狀和目標定位的方法大致可歸納如下:
(1)閾值法分離目標。自適應二值化方法[1-5]在提取目標方面應用廣泛,但這類方法局限于灰度變化簡單的圖像。
(2)通過Snake模型或變形模板匹配目標[6]。這種方法的不足在于不僅要求預先給出目標輪廓的大致形位,而且還要求匹配對象的結構形狀相對規范。
(3)先提取邊緣,再識別輪廓。Mahamud等[7]提出了一種使用Canny算子提取邊緣后,再將多個不封閉輪廓通過顯著性檢驗得到一個個封閉目標進行識別的方法,但這種方法難以用于背景復雜的圖像。此外,瞿繼雙等[8]提出了基于 LoG(Laplacian of Gaussian)邊緣的模糊神經網絡目標檢測方法,該方法雖強調了檢測的自適應性,卻忽略了目標輪廓定位的準確性。
(4)使用支持向量機SVM(Support Vector Machine)進行識別[9]。支持向量機目前存在許多局限,如當SVM的訓練集中含有噪聲或野點時會導致獲得的分類面不是真正的最優分類面。
(5)使用多視角檢測缺陷。Domingo[10]提出了一種使用多射線源得到的圖像序列進行缺陷檢測的方法,這種方法能有效解決單一視角檢測中誤檢的問題,但對同一對象采集多張不同角度的圖像,需要多射線源的硬件配合,實用性不強。
(6)基于顯著性圖進行目標分割提取。劉志偉等[11]首先使用圖論中的流形排序算法得到圖像的顯著性圖,然后利用Mean-shift分割算法分割森林火災圖像中的火焰,這種方法適用于彩色圖像等色差豐富的圖像,對于鑄件X射線圖像的實用性較差。
(7)使用貝葉斯網絡模型分割目標[12]。這種方法的缺點在于模型參數更新過程復雜,需要大量樣本的支持,且這種方法對于有噪聲大、半影及散射問題的鑄件圖像存在迭代收斂性問題。
綜上,本文針對鑄件缺陷檢測,提出一套具有高準確率、高穩定性的缺陷提取方法。本文從傳統的LoG邊緣檢測算法出發,結合各向同性擴散方程得出局部背景,使用三個閾值對檢測結果進行層層篩選,去除結果中的假缺陷邊緣,最終把射線圖像中的缺陷提取出來。
本文方法包括兩個主要部分,即基于LoG邊緣檢測的雙閾值圖像分割和本文提出的基于局部對比度進一步提取目標。
LoG邊緣檢測算法是一種常用的邊緣檢測算法。該算法先對圖像做高斯濾波,然后計算其拉普拉斯二階導數,最后通過二階導數的零交叉點來獲取圖像或物體的邊緣。對圖像的高斯平滑濾波與拉普拉斯微分運算可結合為一個LoG算子:

圖1所示為一個二維的LoG核。

Figure 1 A two-dimensional LoG kernel(σ=1)圖1 一個二維的LoG核(σ=1)
將一幅圖像經過LoG變換后得到結果圖像r(x,y),原圖像上點(xi,yi)處的變換結果值為 E(xi,yi)。檢查零交叉點(xi,yi)的四個相鄰點,如果|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)|中的任何一個值大于給定閾值T1,則將(xi,yi)判斷為“明顯邊緣點”。
為了去除噪聲對邊緣點檢測的影響,本文設計了弱邊緣消除法。設封閉輪廓上像素點總數為E,該封閉輪廓包含的“明顯邊緣點”個數為e,如果e/E>T2則判斷該封閉輪廓為“強邊緣”,其中T2為“強/弱邊緣”判斷閾值。如果判定當前輪廓為“強邊緣”,則保留該封閉輪廓,否則作為弱邊緣去除。
為了進一步去除可能存在的假缺陷,本文利用局部對比度的顯著性來檢測封閉邊緣內的區域是否為缺陷。拍攝鑄件時受工件結構對射線吸收率、拍攝角度、位置以及射線的散射、半影等因素的影響,圖像的背景非常不均勻,盡管缺陷的重要特征是亮度相對于局部的背景高,但缺陷的平均灰度不一定高于全局背景的灰度值。如圖2所示的一幅實際生產線上的X射線圖,工件空白處平均灰度大于240,方框內缺陷區灰度約為200,方框所示局部區域的平均灰度為160左右。因此,利用局部背景可以在一個更小的范圍內更準確地分割目標,使得將來對缺陷大小的估算更加準確。常用的獲取目標局部背景的算法有區域生長[13]、擴散[14]等算法。本文利用的是各向同性的擴散算法,其離散化擴散方程如下:

其中,n表示迭代的次數,擴散范圍隨著迭代次數的增大而增大;u(x,y)為圖像點(x,y)處的灰度值;a為傳導系數;稱為網格比,當且僅當a,方程收斂。基于局部對比度進一步提取目標的步驟如下:(1)將前述雙閾值法得到的待定缺陷的像素點設為集合O。
(2)創建一幅與原圖像長寬相同且灰度值全為0的圖像H,并將該空圖像中屬于集合O的像素點的灰度值置為常數K,從而形成一幅二值圖像,如圖3a所示。
(3)對上述二值圖像進行n次各向同性擴散得到如圖3b所示圖像,灰度值大于0的像素點組成集合A:


其中,f(x,y)為圖像中點(x,y)的灰度值。
(4)通過式(4)得到局部背景點集合B:

圖3b圖像減去圖3a圖像得到局部背景圖像,如圖3c所示。
(5)取原工件圖中屬于集合B的像素灰度平均值Vb作為背景亮度,屬于集合O的像素灰度平均值Vo作為缺陷亮度。
(6)計算目標局部對比度C:

|C|值越大,表明工件原圖中待定缺陷區域與局部背景亮度對比越顯著。
(7)引入一個新的閾值T3來對目標進行篩選,如果|C|>T3則判定該目標為真缺陷,否則判定為假缺陷并刪除。
通過實驗觀察發現,T3的取值在[0.01,0.1]時能有效地去除假缺陷,并且對同樣環境下同一臺設備獲得的圖像,僅需設定一次合適的T3。|C|的閾值T3越大,則檢測結果包含的非嚴重缺陷越少,反之則檢測結果包含的非嚴重缺陷越多。
本節的主要工作是將本文提出的基于顯著性判別的缺陷檢測方法與雙閾值檢測方法進行實驗對比。本文的實驗樣本為實際生產線上采集的127張鑄件缺陷樣本,經統計,其中共包含缺陷536個,表1顯示了本文提出的鑄件缺陷檢測方法和雙閾值檢測方法在實驗樣本上的檢測結果統計。

Table 1 Detection results of the two methods表1 兩種方法檢測結果統計
從實驗結果可以看出,本文方法能有效濾除假缺陷、保留真缺陷,大幅提高檢測的準確性。圖4顯示了部分鑄件X射線圖像的實驗檢測結果。其中具體的參數設置為:高斯標準差σ=2,邊緣強度閾值 T1=0.1,顯著度閾值 T2=0.2,各向同性擴散次數n=5,局部對比度C閾值T3=0.03。
實驗平臺為:計算機 CPU為 Intel Corei5-45 903.30 GHz,內存為 8 GB,操作系統為 Windows 7,算法通過Matlab R2013a實現。
圖4a為鑄件X射線圖原圖;圖4b展示了雙閾值方法檢測出的缺陷,以及專家對雙閾值方法多檢出的缺陷和一些誤檢的區域進行的標注(圖中由方框和圓圈圈出的部分);而本文提出的方法檢出的缺陷基本上是準確的,如圖4c所示。因此,本文方法大大提高了基于LoG的雙閾值檢測法的準確率。
兩種檢測方法所用時間如表2所示(圖像自上而下編號為①~⑥)。

Table 2 Time consumption comparison between the two methods表2 兩種算法處理耗時比較 s
從表2可以看出,盡管本文提出的基于顯著性判別的缺陷檢測方法在雙閾值檢測方法的基礎上,利用待定缺陷和局部背景之間對比度的顯著性增設第三個閾值進行了進一步判斷,但上述兩種實驗方法對相同大小的圖像的處理時間相差不大,本文提出的方法對算法耗時的影響很小。

本文提出了一種基于顯著性判別的鑄件X射線缺陷提取方法。由于傳統的LoG邊緣檢測算法在處理不均勻背景和弱邊緣時不能很好地提取目標邊界。本文方法先在LoG的基礎上用雙閾值方法提取出目標的顯著邊緣,然后通過各向同性擴散獲取目標局部背景,計算局部背景和待定缺陷的對比度,基于對比度的顯著性來去除假缺陷。實驗結果顯示,加入了局部對比度篩選后,大大降低了誤檢率,同時,所提方法對耗時的影響不大,符合在線實時檢測的需求。