孫國棟,林 松,艾成漢,趙大興
(湖北工業(yè)大學(xué) 機(jī)械工程學(xué)院,武漢 430068)
織物疵點檢測是保證織物質(zhì)量的重要手段,傳統(tǒng)的人眼檢測不僅人工成本高,而且效率低,而機(jī)器視覺檢測方法可顯著彌補人工檢測的不足。目前,織物紋理特征的提取方法主要有統(tǒng)計方法、頻譜方法和模型方法[1]。其中常用的統(tǒng)計方法包括灰度共生矩陣[2]和局部二值模式等;頻譜方法包括傅里葉變換、Gabor變換和小波變換等;模型方法包括自回歸模型和馬爾科夫場等。以上這些方法各有優(yōu)缺點,雖然有效果,但都具有一定的復(fù)雜度,耗時較長。
Michael J. Swain等[3]首先提出了顏色直方圖反向投影用于目標(biāo)定位,后來的相關(guān)研究也都集中于顏色直方圖反向投影[4~7]。顏色直方圖反向投影主要用于復(fù)雜背景中目標(biāo)的檢測與追蹤,需要事先知道目標(biāo)的顏色或面積信息,而織物疵點種類繁多,檢測前無法確定有什么疵點,無法提供疵點的確切信息,且本文主要研究白坯布的疵點檢測,獲取的是灰度圖像,因此顏色直方圖反向投影并不適合本文的研究。但該方法具有借鑒意義,同時又考慮到目前的織物疵點檢測算法都具有一定的復(fù)雜度,因此本文在此基礎(chǔ)上提出基于灰度直方圖的反向投影用于織物疵點檢測。
所謂反向投影就是首先計算輸入圖像某一特征的直方圖,然后用輸入圖像某一位置上的特征值對應(yīng)于直方圖的一個bin上的值來代替該特征值。用統(tǒng)計學(xué)術(shù)語可表述為:輸出圖像像素點的值是觀測數(shù)組在某個分布(直方圖)下的概率[8]。這個特征為灰度值時即為灰度直方圖反向投影。某種灰度值在整幅圖像中所占面積越大,其在直方圖中的值越大,反向投影時,其對應(yīng)的像素的新值就越大,這部分灰度值集中在紋理;反之,某種灰度值所占面積越小,其新值就越小,這部分灰度值集中在疵點?;诨叶戎狈綀D的反向投影計算公式為:
其中,bp(i, j)為在位置(i, j)處反向投影的像素值,b(i, j)表示圖像中在位置(i, j)上的像素對應(yīng)灰度直方圖的第b(i, j)個bin,直方圖共n個bin,qb(i,j)表示第b(i, j)個bin的值,qm表示灰度直方圖第m個bin的值,max(qm)表示灰度直方圖所有bin值中的最大值,用于反向投影圖像的歸一化。
在采集的織物圖像中,疵點始終屬于小部分區(qū)域,并且由于織物紋理的特性,按照式(1)所得到的反向投影圖中疵點和非疵點的灰度值相距較近,不易區(qū)分。為了更有效更合理地檢測出疵點,將反向投影的計算公式改為:
當(dāng)圖像進(jìn)行灰度直方圖統(tǒng)計后,如果灰度值對應(yīng)的像素點個數(shù)小于255,則將像素點的個數(shù)作為這些像素點的灰度值;如果灰度值對應(yīng)的像素點個數(shù)大于等于255,則這些像素點的灰度值全部置為255。這樣處理可以過濾掉大部分非疵點的像素點,對剩余像素點的反向投影將更具有針對性。不論織物的紋理是何種方向,反向投影的這種特性都可以很好地屏蔽紋理,且簡單實用,相比灰度共生矩陣和Gabor變換等需要確定紋理方向或者采用多個方向和尺度的特征,復(fù)雜度大大降低了。
算法流程為:反向投影→閉運算→二值化→確定疵點。反向投影過程中,計算織物灰度圖像的直方圖時直方圖維數(shù),即bin的個數(shù)m對反向投影的圖像有一定影響。經(jīng)實驗分析,m取80,效果較好。反向投影后的形態(tài)學(xué)處理是為了消除雜質(zhì)點的干擾,不僅使有疵點的織物圖像處理后只剩下疵點部分,而且使正??椢飯D像處理后不受影響。膨脹和腐蝕的結(jié)構(gòu)元素大小取3×3的模板。閉運算后的圖像為灰度圖像,且存在一些獨立的細(xì)小的雜質(zhì),因此需要采用二值化濾除這些雜質(zhì)并對疵點定位。由于閉運算后的圖像有明顯的前景和背景,其直方圖總體上呈雙峰狀態(tài),且有明顯波谷,故本文采用自適應(yīng)的基本全局閾值分割法對圖像進(jìn)行二值化。
部分疵點檢測結(jié)果如圖1所示,圖1(a)為疵點圖像,從左至右疵點依次為破洞、油污、斷經(jīng)、斷緯、起球、斷疵。圖1(b)為各疵點對應(yīng)的反向投影圖,圖1(c)為閉運算及二值化后的效果圖。從實驗結(jié)果可以看出這些疵點的檢測效果都較好。
為了便于實驗,以上給出的疵點圖像均為所采集圖像的一部分,實際檢測時需對整幅圖像進(jìn)行分塊處理。
為了評價所提出的灰度直方圖反向投影算法,將灰度直方圖反向投影與Gabor濾波方法及灰度共生矩陣方法進(jìn)行了用時比較。用Gabor濾波方法處理圖像時一般會選擇多個不同尺度和方向的Gabor濾波器組,在這里為了便于比較,只使用了單個的Gabor濾波器的實部來處理圖像。Gabor濾波器的參數(shù)為:頻率參數(shù)F=5,方向參數(shù)θ=0或π/2,尺度參數(shù)σ=π/2,比例參數(shù)λ=1。圖像的灰度共生矩陣也有4個方向,在這里也只提取了一個方向的灰度共生矩陣,并且沒有計算灰度共生矩陣的特征?;叶裙采仃噮?shù)為:距離d=1,灰度級N=256。表1給出了三種算法的用時。測試圖片為圖1中的疵點圖像,大小為200×200,用時均在VS2010和OpenCV 2.4.4平臺下通過機(jī)器內(nèi)部的高精度計數(shù)器獲取,并取多次測試結(jié)果的平均值。主機(jī)配置為:處理器為Intel(R) Celeron(R) CPU G540 @ 2.50GHz,內(nèi)存為2G。從測試數(shù)據(jù)可以看出直方圖反向投影用時最少,是灰度共生矩陣的三分之一左右,是Gabor濾波的1/33左右。如果Gabor濾波方法使用多個Gabor濾波器,灰度共生矩陣方法計算所有方向的灰度共生矩陣并計算灰度共生矩陣的特征,那么這兩種方法的耗時將更長。
圖1 疵點檢測結(jié)果
表1 三種算法的用時比較
本文提出了基于灰度直方圖反向投影的織物疵點圖像分割方法。該方法對織物的紋理具有很好的屏蔽作用,且適用于不同的織物紋理,通過六種疵點的實驗結(jié)果驗證了該方法的有效性。與兩種常見的紋理特征提取方法的用時比較表明:基于灰度直方圖反向投影的織物疵點圖像分割方法不僅效果良好,而且復(fù)雜度低,用時較短,為織物疵點檢測提供了新思路。下一階段將研究在反向投影的基礎(chǔ)上結(jié)合其他算法來檢測織物疵點。
[1] Kumar A.Computer-vision-based fabric defect detection:a survey[J].IEEE Trans Ind Electron,2008,55(1):348-363.
[2] Haralick RM, Shanmugam K,Dinstein I.Textural features for image classification[J]. IEEE Transactions on Systems,Man and Cybernetics,1973,3(6):610-621.
[3] Swain MJ and Ballard DH. Color indexing[J].Int J Comput Vision, 1991,7(1):11-32.
[4] Ennesser F and Medioni G.Finding Waldo, or focus of attention using local color information[J].IEEE Trans Pattern Anal Mach Intell,1995,17(8):805-809.
[5] Agbinya JI and Rees D.Multi-object tracking in video[J].Real Time Imaging,1999,5(5):295-304.
[6] 張辰,趙紅穎,錢旭.直方圖反向投影多目標(biāo)檢測優(yōu)化算法[J].計算機(jī)系統(tǒng)應(yīng)用,2014,23(2):178-182+218.
[7] 章海兵,劉士榮,張波濤.H-S直方圖反向投影結(jié)合特征點提取的雙目視覺定位算法[J].控制理論與應(yīng)用,2014,31(5):614-623.
[8] 劉瑞禎,于仕琪.OpenCV教程基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2007.