許浩均等
摘 要: 圖像邊緣檢測過程中產生的許多噪聲邊緣不僅影響后續算法的效率,還嚴重影響目標的準確識別。這里提出一種基于最大連續子序列算法的目標預定位方法。先利用LoG提取圖像邊緣,在標定邊緣坐標的基礎上,計算所有邊緣的最大灰度差,經閾值初步去除大部分噪聲邊緣后,再用最大連續子序列算法將與缺陷邊緣相接的噪聲邊緣濾除,最后利用區域填充得出待定缺陷區域。實驗結果表明,該方法能有效地去除噪聲邊緣并獲得包含缺陷邊緣的掩膜區域,從而有效提高后續缺陷識別算法的效率。
關鍵詞: 預處理; 最大灰度差圖像; 最大連續子序列算法; 區域填充
中圖分類號: TN911.73?34 文獻標識碼: A 文章編號: 1004?373X(2015)17?0103?04
Location method of interested region based on MCSA
XU Haojun, HUANG Qian, LIANG Zhaomin, LI Xueyong
(School of Electronics and Information Engineering, South China University of Technology, Guangzhou 510640, China)
Abstract: Numerous noise edges produced in the process of image edge detection can affect the efficiency of the following algorithm and accurate recognition of the targets. A target pre?positioning method based on maximum continuous subsequence algorithm (MCSA) is proposed. The image edge is extracted by using LoG, and the maximum grayscale differences of all the edges are calculated on the basis of calibrating edge coordinates. Most noise edges are eliminated by threshold, then noise edges connected with defect edges are eliminated by using MCSA. The undetermined defect regions are obtained by region filling. The experimental results show that this method can eliminate noise edges effectively and obtain mask regions containing defect edges, which can improve the efficiency of subsequent defect recognition algorithm greatly.
Keywords: pretreatment; maximum grayscale difference image; MCSA; region filling
0 引 言
在工業射線檢測中,由于人工判別缺陷存在穩定性和可靠性不高等問題,人們一直在尋求高效準確的缺陷自動檢測算法。目前國內外在缺陷自動檢測方面使用的算法大致分為:基于閾值的檢測[1]、基于邊緣的檢測[2]、基于聚類的檢測[3]、使用支持向量機進行識別的方法[4]以及多視角檢測缺陷的方法。D. Mery提出了一種使用多射線源得到的圖像序列進行缺陷檢測的方法[5],這種方法基于圖像處理技術,能有效去除單一視角檢測中誤檢的缺陷。
為了提高鑄件缺陷檢測效率和準確性,通常需要將缺陷所在的小區域預先進行分割,如何保證將工件的缺陷無遺漏地覆蓋,是缺陷識別算法工作的關鍵。本文提出一種自動提取X射線圖像中的缺陷區域,即感興趣區域(Region of Interest,RoI)的定位算法,該算法可以準確提取出一組空間范圍更小的候選缺陷掩膜區域。實驗結果表明,該算法能夠保證在有效去除噪聲邊緣的同時保留缺陷邊緣,從而很大程度地提高后續處理的速率。
1 RoI定位算法及其實現
1.1 鑄件缺陷的特征
X射線無損探傷的主要原理是射線衰減原理[6],X射線透過被檢工件照射到探測器上,探測器根據接收到的射線強度得到一幅灰度圖像,工件中不連續的部分在圖像中表現為灰度值不連續。檢測人員可通過射線圖像觀察到工件中的空隙、氣孔、裂痕等缺陷。
圖1所示為一張鑄件X射線圖像及其經過LoG邊緣檢測的結果圖。結果圖中包含了很多封閉的邊緣。圖1(a)中箭頭[B]所指的平滑區域受噪聲的影響同樣會產生大量封閉的邊緣。這些封閉的噪聲邊緣嚴重地增加了后續缺陷識別算法的處理時間。
分析圖1(a)和圖1(b)中兩個箭頭所指區域可以發現,箭頭B所指區域的灰度值明顯比箭頭A所指區域的灰度值低。利用鑄件射線圖像中有缺陷區域與無缺陷區域灰度差不同這一先驗特征,本文提出一種用于缺陷區域預判的算法流程。
1.2 最大灰度差圖像
最大灰度差圖像通過測試圖像及其邊緣圖像獲取,獲取方法為:對圖1(b)的每個邊緣點及其八鄰域(如圖2所示)進行下列步驟的處理。
(1) 在以下四個方向上計算灰度差的絕對值:
[f(x-1,y-1)-f(x+1,y+1), f(x,y-1)-f(x,y+1),][f(x+1,y-1)-f(x-1,y+1),][f(x-1,y)-f(x+1,y)。]其中[f(x,y)]是原始圖像中點[(x,y)]的灰度值。
(2) 找出(1)中的最大值作為最大灰度差圖像點[(x,y)]的值。整幅最大灰度差圖像的生成過程可以表示為:
[MGDIx,y=maxfx-1,y-1-fx+1,y+1, fx,y-1-fx,y+1,fx+1,y-1-fx-1,y+1, fx-1,y-f(x+1,y) (1)]
圖3所示為一幅最大灰度差圖像,圖3(c)圓圈內的缺陷區域的灰度差較平滑區域大。
1.3 最大連續子序列算法
通常去除噪聲邊緣并提取RoI是利用最大灰度差圖像計算每一條邊緣上所有點的最大灰度差的平均值,選擇一個合適的閾值去除噪聲邊緣,但當噪聲邊緣和缺陷邊緣連接在一起時,噪聲邊緣和缺陷邊緣則無法區分,如圖4所示。圖4(b)的圓圈內既有缺陷邊緣又有噪聲邊緣,這將給進一步的目標準確識別帶來很多冗余信息。本文提出一種基于最大連續子序列算法(Maximum Continuous Subsequence Algorithm,MCSA)的方法解決上述噪聲邊緣問題。
對于最大灰度差圖像中的每一條邊緣[Ei,]進行如下處理:
(1) 記錄邊緣點的信息
沿著邊緣[Ei]進行跟蹤,并用順序循環表[Li]記錄每一個邊緣點的坐標[C,]以及在最大灰度差圖像中對應點的計算值[V。]順序表[Li]中每個元素都是由邊緣點的坐標[C]及其在最大灰度差圖像中對應點的值[V]兩部分組成。在表[Li]中,元素均沿著邊緣[Ei]順序記錄,每個元素都在其相鄰元素的八鄰域中,如果是噪聲邊緣,由于其周圍的灰度差很小,則噪聲邊緣的[V]值相對于缺陷邊緣的[V]值將是很小的值,在平滑區域則接近于0。
(2) 判定篩選噪聲邊緣
由于大部分非缺陷邊緣的[V]值很小,如圖3(c)所示,選擇一個合適的閾值[θ,]將循環表[Li]中所有元素的[V]部分同時減去[θ。]如果邊緣點處[V-θ≤0,]則判斷該邊緣是噪聲邊緣;將不再保留該邊緣。如果邊緣點處[V-θ>0,]則判斷該邊緣包含缺陷邊緣,該部分邊緣予以保留。
對邊緣點處既有[V-θ≤0]又有[V-θ>0]的邊緣進行如下處理:尋找循環表中所有[V-θ>0]的最大連續子序列并保存下來,舍棄表中其余元素。
(3) 連接相鄰的端點
通過檢查子序列的首尾元素的坐標[C]是否在彼此的八鄰域中,可以檢查上一步保存下來的所有最大連續子序列是否封閉。如不封閉但其首尾元素的坐標[C]在另一最大連續子序列的首尾元素的八鄰域中,則將其連接起來保證邊緣的封閉性。
(4) 判斷篩選工件邊緣
工件中缺陷的大小相對于整體工件結構小很多,但上述保留邊緣的方法有可能將工件邊緣作為封閉邊緣予以保留,因此選擇一個邊緣的長度閾值[l]進一步去除非缺陷邊緣。
(5) 區域填充
本文進一步采用文獻[7]的掃描線種子填充算法對上一步得到的邊緣圖像進行區域填充,如圖5所示。區域填充后得到的是包含缺陷的掩膜區域而不僅僅是邊緣,另外,區域填充能夠去除不封閉的邊緣,更準確地定位缺陷區域,提取出包含缺陷的RoI為后續的缺陷提取算法服務。圖5(a)中圓圈內不封閉邊緣經過區域填充后被去除。
2 實驗結果與分析
2.1 實驗結果
本節對上述算法進行實驗驗證。經過反復測試調整,得到了一套較為穩定的參數,具體的參數設置為:LoG算子的高斯標準差[σ=2.5,]閾值[θ=4,][l=200,]實驗過程中參數保持一致。對80幅輪轂X射線圖像進行了測試,其中絕大部分圖像的RoI定位得到了滿意的效果,圖6給出了其中一部分的實驗結果。圖6中由左至右的每列圖像分別為原始圖像,LoG邊緣檢測的結果圖像,使用最大連續子序列提取RoI的圖像,以及經過填充的圖像。將所有的LoG邊緣檢測的結果圖像和經過填充的圖像進行對比,由圖可以看出,本文所提出的RoI定位方法不僅能去除大量的噪聲邊緣,同時還保證所有的缺陷邊緣得以保留,令噪聲邊緣與缺陷邊緣連接在一起的問題也得以解決。
下面還利用了覆蓋率和提速率評估本文提出的算法。
2.2 覆蓋率
覆蓋率是評估算法得出的RoI是否能包含全部缺陷的標準。覆蓋率的計算如公式(2)所示:
[覆蓋率=RoI缺陷的數量原始圖像缺陷的數量] (2)
覆蓋率是一個重要的評估標準,如果得不到很高的覆蓋率,本文的RoI定位方法則實用意義不大。實驗中,80幅圖像得出的平均覆蓋率是99%。考慮到一些小的或者模糊的缺陷在鑄件檢測中屬于合格產品范圍,則本文方法在覆蓋率方面已經很高。圖6圖像的覆蓋率如表1所示。
2.3 提速率
提速率是評估本文提出方法的另一個標準,提速率的計算如公式(3)所示:
[提速率=LoG邊緣圖像邊緣的總數量RoI邊緣的總數量] (3)
圖6中圖像的提速率如表2所示,從表中數據可知,經過本文提出的預處理方法處理后,后續的缺陷提取至少能提高5倍的速度。
2.4 與其他預處理方法對比
文獻[8]使用一種先用山峰定位算法定位缺陷位置,再用卷積得出RoI的預處理方法。對圖6中第4幅圖的處理結果如圖7所示。
從圖7方框內的RoI可以看出,本文提出的預處理方法定位缺陷更精確。相對于文獻[8]需多次遍歷圖像的方法,本文方法不僅定位準確,而且耗時更少。
3 結 論
本文提出一種利用最大連續子序列去除噪聲邊緣,然后經過區域填充得出鑄件X射線圖像RoI的缺陷識別預處理方法。實驗結果表明,這種方法在保留缺陷輪廓的同時能有效地去除噪聲邊緣,從而很好地提高后續缺陷提取算法的速度。
參考文獻
[1] 龍建武,申鉉京,陳海鵬.自適應最小誤差閾值分割算法[J].自動化學報,2012,38(7):1134?1144.
[2] DOLLAR P, ZITNICK C L. Structured forests for fast edge detection [C]// 2013 IEEE International Conference on Computer Vision. Sydney: IEEE, 2013: 1841?1848.
[3] ZHOU Huiyun, LI Xuelong, SCHAEFER G, et al. Mean shift based gradient vector flow for image segmentation [J]. Journal of Computer Vision and Image Understanding, 2013, 117(9): 1004?1016.
[4] 李東,盧虹冰.基于免疫算法優化的乳腺腫瘤圖像識別[J].現代電子技術,2014,37(4):108?111.
[5] MERY D, RIFFO V, ZUCCAR I, et al. Automated X?Ray object recognition using an efficient search algorithm in multiple views [C]// Proceedings of 2013 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Washington, DC: IEEE, 2013: 368?374.
[6] MERY D. Processing digital X?ray images and its application in the automated visual inspection of aluminum casting [C]// 2003 the 3rd Panamerican Conference for Nondestructive Testing. Rio de Janeiro: PANNDT, 2003: 641?655.
[7] 郭文平,龍幫強.掃描線種子填充算法的改進[J].天津工業大學學報,2008,27(2):48?51.
[8] 吳煒峰.基于水平集的灰度不均勻圖像分割研究[D].廣州:華南理工大學,2013.