摘 要: 提出了一種改進的基于最大熵原理和Gabor濾波技術的織物疵點檢測方法。采用多通道Gabor濾波算法,取模值特征為輸出,利用最大熵分割模值圖像,再進行圖像融合,最后計算輪廓的周長和面積去除孤立點得到最終檢測結果。利用OpenCV算法庫,選取了四種具有代表的織物疵點圖片進行驗證,實驗結果表明,該方法降低了計算復雜度、檢測速度快、檢測效果好、無須事先學習,適用于不同疵點類型的各種檢測。
關鍵詞: 疵點檢測;Gabor濾波器;最大熵;OpenCV
織物疵點檢測是近年來國內外學者在圖像領域的熱門研究課題之一。本文在結合國內外相關參考文獻[1-10]的基礎上,針對從企業獲取的疵點圖像,利用最大熵原理和Gabor濾波器技術,提出了一種新的基于最大熵和Gabor濾波器的織物疵點檢測方法。該方法首先對預處理后的圖像采用兩個Gabor濾波器分別進行水平和垂直方向濾波的模值圖像,然后對模值圖像分別利用最大熵閾值分割,再融合分割后的二值圖像并進行形態學處理,最后通過計算輪廓面積和周長的方法去掉小的孤立點和描繪出最終疵點圖像,從而獲得疵點檢測結果。實驗表明,該方法能夠很好地檢測和分割出絕大多數疵點,而且速度快、效果好。
1 熵和Gabor濾波器原理
1.1 熵數學理論
熵是源于物理學的基本概念,由Shannon引入到信息論中。信息論中,熵是作為事件出現概率不確定性的量度,能有效地反映事件包含的信息。圖像中,熵代表圖像中信息量的大小,可以通過定義圖像各個像素點分布情況定義圖像的局部熵。
一幅M×N大小的圖像,熵的定義為[11]:
從式(3)可以看出,Gabor濾波器是一個高斯包絡函數所限定的正弦波平面波,即g(x,y)是由尺度參數σx和σy決定的高斯函數調制函數。
2 本文方法及算法
2.1 方法改進
在參考文獻[3-10]中研究分析了基于Gabor濾波器的疵點檢測,大致思路都是先采用不同的方法獲取Gabor濾波參數從而選取Gabor濾波器組,然后分別對原始圖像和疵點圖像進行多尺度和多方向濾波,提取特征(均值和標準差),再計算差值圖像后對圖像進行層內、層間融合,最后通過某種準則進行閾值分割,最終得到圖像疵點。而本文從降低算法復雜度,保證檢測效果的基礎上對以上方法進行了以下兩點改進并提出了完整算法步驟。
(1)在Gabor濾波中引入最大熵
一幅不含疵點的織物圖像,其紋理特征是確定的。當有疵點出現時,圖像的紋理特征遭到破壞,其熵值相應地也會發生變化。由于疵點的灰度變化會引起局部熵值的極大變化,所以很容易檢測出疵點的存在。
參考文獻[6-7]分別對標準圖像和疵點圖像進行Gabor濾波后求均值和標準差,再通過均值求取偏差圖像、通過標準差對偏差圖像進行二值化,再融合,最后選定閾值對總融合后的標準圖像和疵點圖像的均值之差(差值圖像)進行分割,從而得到疵點圖像。在計算上,求標準差時涉及二維平方、除法以及開根號等操作,差值圖像進行層內、層間融合時也涉及對圖像像素點的多次平方操作,計算量大。而本文引用最大熵直接對Gabor濾波后模值圖像進行二值化處理,只涉及一次乘法運算(如1.2節),降低了算法復雜度,減少了計算量。
另外,在參考文獻[4,8,9]中都分析了疵點檢測中熵的應用,采用的都是局部熵,涉及了閾值選擇,牽涉到人的因素。本文采用最大熵作為準則,利用式(4)迭代,自動獲取閾值,同時結合Gabor濾波,進行最大熵測試。以緯疵和勾絲為例,如圖1所示的實驗表明,本文提出的方法能獲得很好的檢測結果,能避免閾值等參數的主觀經驗選擇,排除了人的因素,降低了算法復雜度。
(2)選模值圖像作為Gabor濾波后的輸出特性
基于二維Gabor變換所采用的核(Kernels)與哺乳動物視覺皮層簡單細胞的二維感受野剖面(Profile)非常相似機理[3],Gabor分解可以看作是一個對方向和尺度敏感的有方向性的顯微鏡,從而用于織物紋理多層結構的檢測。
關于Gabor濾波后的輸出特征,在參考文獻[3,10]中,采用的都是Gabor濾波后圖像的實部,在其參數選擇中,比較了實Gabor濾波器(RGF)和虛Gabor濾波器(IGF)對圖像疵點的分辨率影響,得出在不同徑向中心頻率和方位角的組合下,RGF的分辨率都要遠遠好于IGF。本文算法中,以緯疵為例通過如圖2所示的實驗測試,證明選取Gabor濾波后圖像的模值比選取實部對最大熵的應用具有更好的效果。
2.2 算法步驟
針對本文所獲取的疵點圖像,其紋理基本上是按經緯方向織成的,在對角方向上沒有明顯的紋理特性,同時考慮實時性、減少計算量,只采用水平和垂直兩個方向進行濾波。即采用一個尺度兩個方向的Gabor濾波器。具體算法如下:
(1)源圖像獲取
分別獲取大小為M×N(本文為512×512)的某織物標準圖像r(x,y)和含疵點圖像t(x,y),并分別對其進行灰度化,將彩色圖像轉為灰度圖像。
圖4~圖7中,(a)為標準灰度圖像(疵點圖像背景),(b)為疵點灰度圖像,(c)、(d)分別為(b)經Gabor水平和垂直方向濾波后輸出的模值圖像,(e)、(f)為利用最大熵對(c)、(d)分別進行閾值分割后的疵點圖像,(g)為(e)、(f)進行融合并經過形態學處理后的疵點圖像,(h)為(g)孤立點處理后最終疵點輪廓圖像。
鑒于織物疵點中對實時性的要求極高,本文提出的算法避開了傳統方法的弊端,在疵點特征提取中只對水平和垂直兩個方向進行Gabor濾波,并以模值圖像作為輸出,降低了圖像特征的維數和計算的復雜度;然后提出用最大熵方法對模值圖像進行閾值分割,再進行二值圖像融合,降低了計算量,從而保證了實時性。本文對織物的多種疵點進行了檢測,實驗結果表明,本文的算法能將織物疵點從背景中較準確地分割出來,證明了該檢測算法具有良好的檢測效果。
參考文獻
[1] KUMAR A. Computer vision based fabric defect detection: a survey[J]. IEEE Transactions on Industrial Electronics,2008,55(1):348-363.
[2] ROCKERY A. Automated fabric inspection: assessing the current state of the art[M]. Technical Specifications,2001.
[3] KUMAR A, PANG G K H. Defect detection in textured materials using Gabor filters[J]. IEEE Transactions on Industry Applications, 2002,38(2):425-440.
[4] Wang Dongyun,Niu Zhengguang. Improved method of fabric defects inspection based on local entropy[C], Control Conference, 2008.CCC.27th Chinese,2008:208-211.
[5] Liu Hao, Han Jiuqiang. Defect detection in textiles using optimal Gabor wavelet filter[C]. The Sixth World Congress on Intelligent Control and Automation, 2006:10005-10007.
[6] Chen Shuyue, Feng Jun, Zou Ling. Study of fabric defects detection through Gabor filter based on scale transformation[J]. Image Analysis and Signal Processing (IASP), 2010(9-11):97-99.
[7] 韓潤萍,孫蘇榕,姜玲.基于Gabor濾波器組的織物疵點檢測方法[J].計算機工程與應用,2007,43(7):211-214.
[8] 卿湘運,段紅,魏俊民.基于局部熵的織物疵點檢測與識別的研究[J].紡織學報,2004,25(5):56-57.
[9] 沈雅芬,劉純平,王朝暉.基于局部熵的CMOS攝像頭疵點檢測[J].計算機工程與應用,2009,45(20):71-73.
[10] 鄒超,汪秉文,孫志剛.基于Gabor濾波器組的實時疵點圖像分割[J].計算機工程與應用,2010,46(12):185-187.
[11] PUN T. Entropic thresholding: a new approach. computer vision[J]. Graphics and Image Processing,1981,16(3):210-239.
[12] BRADSKI G, KAEHLER A. Learning OpenCV[M]. 于任瑛,劉瑞禎譯.南京:東南大學出版社,2009.