張緩緩, 馬金秀, 景軍鋒, 李鵬飛
(西安工程大學(xué) 電子信息學(xué)院, 陜西 西安 710048)
作為衣著、裝飾、醫(yī)用、產(chǎn)業(yè)用、航天軍工用品的原料,織物是生活與工業(yè)生產(chǎn)中不可或缺的材料,在織物生產(chǎn)中,由于紗線瑕疵、機(jī)械故障、人工操作失誤以及生產(chǎn)環(huán)境干擾等因素,不可避免地會(huì)產(chǎn)生織物缺陷。缺陷的存在對(duì)紡織終端產(chǎn)品的質(zhì)量及價(jià)格有著決定性影響,如果缺陷產(chǎn)品應(yīng)用于航空、軍工及醫(yī)用中,將造成不可估量和無法挽回的損失,因此,織物缺陷檢測(cè)尤為重要。然而由于各類織物紋理結(jié)構(gòu)復(fù)雜,噪聲和細(xì)微缺陷之間相似性高,極大增加了缺陷檢測(cè)的難度。目前絕大部分的紡織企業(yè)依賴人工視覺檢測(cè)織物缺陷,傳統(tǒng)的人工檢測(cè)易受個(gè)人視力、疲勞狀況、情緒、光照等主客觀因素的影響,往往無法確保檢測(cè)的精度及準(zhǔn)確率,尤其對(duì)于紋理復(fù)雜、圖案花型多變、顏色差異較小的缺陷,人眼幾乎不能識(shí)別,遠(yuǎn)遠(yuǎn)不能滿足工業(yè)生產(chǎn)應(yīng)用的需求。探索一種有效、具有普適性的織物疵點(diǎn)檢測(cè)方法,使其能夠快速且準(zhǔn)確地識(shí)別各種印花織物的疵點(diǎn),具有重要的學(xué)術(shù)價(jià)值和應(yīng)用價(jià)值。
近年來,針對(duì)織物疵點(diǎn)的檢測(cè)算法主要包含 4種方法?;诮y(tǒng)計(jì)的方法主要包括分形維數(shù)、互相關(guān)、共生矩陣、局部二進(jìn)制模式:Conci等[1]運(yùn)用分形維數(shù)理論檢測(cè)織物瑕疵;朱丹丹等[2]采用自相關(guān)算法計(jì)算各個(gè)紋理基元和標(biāo)準(zhǔn)模板的相似度,評(píng)估格子織物圖像中有無瑕疵紋理基元;然而該類方法對(duì)紋理周期性不強(qiáng)的織物檢測(cè)效果差?;陬l譜的方法近年來被廣泛應(yīng)用于瑕疵檢測(cè),主要包括Gabor濾波器[3-4]、小波變換[5]和傅里葉變換[6]:Kumar等[7]研究了幾種不同的利用Gabor小波特征進(jìn)行紋理材料表面檢測(cè)的方法;Tsai等[8]利用傅里葉模型提取織物瑕疵的傅里葉特征,進(jìn)而實(shí)現(xiàn)疵點(diǎn)分割;該類方法可有效提取瑕疵的特征,但對(duì)于方格條紋織物檢測(cè)效果不佳,自適應(yīng)性不強(qiáng)。基于模型的方法有自回歸模型、馬爾科夫隨機(jī)場(chǎng)模型等:Hajimowlana等[9]使用一維自回歸模型提取誤差區(qū)域生成疵點(diǎn)形狀;李敏等[10]應(yīng)用改進(jìn)的高斯混合模型,通過分塊建模思想有效識(shí)別出彩色紋理織物表面疵點(diǎn);可以看出,基于模型的方法適合織物紋理之間的分類,雖然可識(shí)別紋理結(jié)構(gòu)相對(duì)簡(jiǎn)單、顏色單一的織物瑕疵,但在瑕疵識(shí)別研究中相對(duì)于統(tǒng)計(jì)法和頻譜法應(yīng)用較少,另外該類方法的算法復(fù)雜度高,檢測(cè)時(shí)間較長(zhǎng)?;趯W(xué)習(xí)的方法常見的有應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)、自編碼網(wǎng)絡(luò)[11]:Yapi等[12]提出了一種新穎的基于監(jiān)督學(xué)習(xí)的方法;Tsang等[13]提出的Elo評(píng)級(jí)方法,在點(diǎn)形和星形圖案的織物圖像中被證明有很好的效果;Li等[14]基于Fisher準(zhǔn)則將含有疵點(diǎn)和不含疵點(diǎn)的織物圖像進(jìn)行分類,表明該方法在復(fù)雜的提花經(jīng)編織物上有更好的結(jié)果;基于學(xué)習(xí)的方法需要觀測(cè)者對(duì)大量圖像進(jìn)行標(biāo)記質(zhì)量分?jǐn)?shù)來訓(xùn)練模型參數(shù),而主觀標(biāo)記質(zhì)量分?jǐn)?shù)存在不精確、費(fèi)時(shí)耗力等缺陷。
綜合以上分析可知,現(xiàn)有檢測(cè)方法很難有效描述復(fù)雜多樣的織物紋理,且具有很高的運(yùn)算復(fù)雜度,自適應(yīng)性不強(qiáng),致使檢測(cè)效果不明顯。針對(duì)織物組織紋理結(jié)構(gòu)復(fù)雜、花型繁多、材質(zhì)多樣的特點(diǎn),如何有效檢測(cè)出疵點(diǎn)仍然是研究的熱點(diǎn)。本文提出改進(jìn)的加權(quán)中值濾波與K-means聚類相結(jié)合的方法,以提高算法對(duì)不同織物紋理的適應(yīng)性,在抑制背景紋理的同時(shí)通過聯(lián)合直方圖以及中位跟蹤平衡算法顯著提高濾波速度;利用K-means聚類標(biāo)記出疵點(diǎn)與非疵點(diǎn)區(qū)域,以檢測(cè)方格、點(diǎn)形、星形、平紋、斜紋等各種紋理織物的疵點(diǎn)。
本文織物疵點(diǎn)檢測(cè)流程圖如圖1所示。首先采用快速加權(quán)中值濾波對(duì)圖像進(jìn)行平滑處理,改善織物紋理和噪聲對(duì)疵點(diǎn)檢測(cè)的影響,并提高圖像預(yù)處理速度;其次,利用K-means均值聚類算法對(duì)平滑之后的圖像進(jìn)行聚類,將圖像標(biāo)記為疵點(diǎn)區(qū)域和非疵點(diǎn)區(qū)域,進(jìn)而實(shí)現(xiàn)瑕疵的檢測(cè)。
織物紋理是織造過程中緯線與經(jīng)線有規(guī)律的交織形成的周期結(jié)構(gòu),具有隨意多樣的特點(diǎn),這給織物疵點(diǎn)的檢測(cè)帶來很大的困難。加權(quán)中值濾波處理織物疵點(diǎn)圖像可更好地保留疵點(diǎn)特征信息。
加權(quán)中值濾波器可看作是一個(gè)運(yùn)算符,是用本地窗口中相鄰像素的加權(quán)中值替換當(dāng)前像素。形式上,在處理圖像I中的像素p時(shí),僅考慮以p為中心,半徑為r的局部窗口R(p)內(nèi)的像素,與傳統(tǒng)未加權(quán)中值濾波器不同,對(duì)于每個(gè)像素q∈R(p),加權(quán)中值濾波基于對(duì)應(yīng)特征圖f中像素p和q的親和度將其與權(quán)重Wpq相關(guān)聯(lián),如式(1)所示。
Wpq=g(f(p),f(q))
(1)
式中:f(p)和f(q)為f中像素p和q處的特征;g為相鄰像素之間的典型影響函數(shù),可以是高斯 exp{-‖f(p)-f(q)‖} 或其他形式。
將I(q)表示為圖像I中的像素q和n=(2r+1)2處的值作為R(p)中的像素?cái)?shù),將R(p)中的所有像素的值和權(quán)重表示為(I(q),Wpq)。按升序的規(guī)則對(duì)值進(jìn)行排序,像素p的加權(quán)中值運(yùn)算符返回一個(gè)新的像素p*,I(p)由I(p*)代替。這個(gè)過程得到的p*如式(2)所示。
(2)
式中,k為像素?cái)?shù)。該定義對(duì)于p*之前的所有像素,意味著相應(yīng)權(quán)重的總和應(yīng)該是所有權(quán)重相加的一半,f映射通過式(2)確定權(quán)重。
加權(quán)中值濾波處理紋理織物疵點(diǎn)圖像時(shí)不能解決重復(fù)進(jìn)行訪問排序的問題,比較耗時(shí),在疵點(diǎn)檢測(cè)實(shí)時(shí)性要求較高的情況下難以應(yīng)用,因此,采用以下方法改進(jìn)加權(quán)中值濾波[15],減少背景紋理信息對(duì)檢測(cè)的影響,同時(shí)提高檢測(cè)速度以滿足工業(yè)生產(chǎn)的需求。
1.2.1 聯(lián)合直方圖
將聯(lián)合直方圖與滑動(dòng)窗口策略相結(jié)合,以實(shí)現(xiàn)預(yù)處理速度的提升。聯(lián)合直方圖是一種常規(guī)但非常有效的二維直方圖結(jié)構(gòu),用于存儲(chǔ)像素?cái)?shù),如圖2所示。在2-D聯(lián)合直方圖H中,將像素q放入第f行和第i列的直方圖中,整個(gè)聯(lián)合直方圖構(gòu)造如式(3)所示。
我父親1918年初生人,屬馬。要是活著今年整一百歲了。我奶奶家當(dāng)年是做生意的,經(jīng)濟(jì)上挺富裕。1916年她16歲那年,在讀私塾的時(shí)候認(rèn)識(shí)了我爺爺。當(dāng)時(shí)我爺爺家境并不好,只因?yàn)樗迨迨墙虝壬拍芨x私塾。那個(gè)年代婚姻都是家長(zhǎng)做主,可我奶奶有大小姐脾氣,再加上民國(guó)了讀書了,思想相對(duì)開放了,非要嫁我爺爺不可。一來二去,家里看實(shí)在攔不住了,只能勉強(qiáng)同意。轉(zhuǎn)年,我爺爺家下了聘禮,我奶奶下嫁了我爺爺。
H(i,f)=#{q∈R(p)I(q)=Ii,f(q)=ff}
(3)
式中:運(yùn)算符#為計(jì)算元素的數(shù)量,該計(jì)數(shù)方案即使在窗口移動(dòng)時(shí)也能實(shí)現(xiàn)權(quán)重的快速計(jì)算。對(duì)于屬于窗口中(i,f)的任何像素,考慮濾波器中心p,其權(quán)重可立即計(jì)算為g(ff,f(p)),通過遍歷聯(lián)合直方圖,可獲得像素權(quán)重值為i的所有像素的總權(quán)重,如式(4)所示。
(4)
式中,Nf為不同特征的總數(shù)。
圖2 聯(lián)合直方圖圖解Fig.2 Joint-histogram illustration
算法以掃描線順序處理輸入圖像,每個(gè)位置執(zhí)行2個(gè)步驟。步驟1為中值查找:首先遍歷聯(lián)合直方圖,根據(jù)式(2)計(jì)算權(quán)重,將他們相加得到第1遍的總權(quán)重wt;然后進(jìn)行第2遍遍歷,計(jì)算總權(quán)重wt的一半的加權(quán)值,并輸出相應(yīng)的像素值。步驟2為移位和更新:如果不是此圖像的結(jié)尾,將濾波窗口移動(dòng)到下一個(gè)位置。計(jì)數(shù)離開窗口的每個(gè)像素相應(yīng)減少的單元格,每移出1個(gè)像素就增加1個(gè)來更新聯(lián)合直方圖。
算法加快了中值濾波效率,但由于步驟1需要遍歷直方圖,占用更多的時(shí)間。為進(jìn)一步改善,采用中位跟蹤平衡算法,使步驟1能夠加速到300~2 000 倍。
1.2.2 中位跟蹤平衡算法
根據(jù)定義,在累積權(quán)重達(dá)到總權(quán)重一半的位置處得到加權(quán)中位數(shù),在當(dāng)前濾波器中認(rèn)為在該位置找到加權(quán)中值并作為切點(diǎn)c,如圖3所示。其中左邊的權(quán)重總和等于右邊權(quán)重的總和,wl和wr之間的差異接近于零,有助于通過求解找到加權(quán)中位數(shù)。
圖3 切點(diǎn)與平衡點(diǎn)的分布Fig.3 Illustration of balance and cut point
使用平衡算法,可直接獲得窗口的平衡點(diǎn)b,如式(5)所示。
(5)
式中,B(f)測(cè)量c兩側(cè)特征ff的像素?cái)?shù)是否平衡。通過計(jì)算像素?cái)?shù)差異的輕量級(jí)平衡度量,可判斷是否找到加權(quán)中位數(shù),以此代替累積權(quán)重算法。
預(yù)處理削弱了織物紋理背景的影響,疵點(diǎn)得以突顯,同時(shí)分析織物本身的特性可知,織物疵點(diǎn)圖像可看作是疵點(diǎn)和織物紋理二類簇的疊加。根據(jù)該特點(diǎn),采用K-means算法對(duì)預(yù)處理后的圖像實(shí)現(xiàn)織物疵點(diǎn)的分割,如圖4所示。
圖4 K-means算法對(duì)織物疵點(diǎn)進(jìn)行分割Fig.4 Segment of fabric defect by K-means. (a)Texture part; (b)Defect part; (c)Fabric defect image
設(shè)xi為簇Ci中的數(shù)據(jù)對(duì)象,ci為簇Ci的中心點(diǎn)(均值),通常所用的目標(biāo)函數(shù)如式(6)所示。
(6)
式中,Je為輸入數(shù)據(jù)對(duì)象與其所在簇的中心點(diǎn)的平方誤差總和。
K-means算法過程如下:1) 隨機(jī)選擇k個(gè)對(duì)象作為初始聚類中心;2) 計(jì)算每個(gè)樣本點(diǎn)到各個(gè)聚類中心的歐式距離,以距離為依據(jù)將各個(gè)樣本點(diǎn)分配到與其最近的類中;3) 重新計(jì)算每個(gè)類別所有樣本點(diǎn)的均值,更新聚類中心;4) 重復(fù)過程(2)、(3),直到目標(biāo)函數(shù)收斂為止。
利用K-means聚類算法的特性,對(duì)織物圖像的像素灰度值進(jìn)行聚類計(jì)算,判斷織物圖像的像素值屬于疵點(diǎn)類別還是非疵點(diǎn)類別,實(shí)現(xiàn)缺陷的分割。
為驗(yàn)證所提出的紋理織物疵點(diǎn)檢測(cè)算法的可行性,采用香港理工大學(xué)自動(dòng)化實(shí)驗(yàn)室[16]的3類圖案織物(方格織物、點(diǎn)形織物、星形織物)樣本及德國(guó)TILDA織物紋理數(shù)據(jù)庫其他類型的織物疵點(diǎn)樣本進(jìn)行測(cè)試。
在中值濾波階段,影響檢測(cè)結(jié)果的2個(gè)參數(shù)為:改進(jìn)的快速加權(quán)中值濾波的r(窗口半徑)和σ(標(biāo)準(zhǔn)偏差的高斯內(nèi)核值)。以方格織物為例,分析各參數(shù)對(duì)織物圖像檢測(cè)結(jié)果的影響,如圖5所示??芍捍翱诎霃絩越小,織物背景紋理對(duì)檢測(cè)結(jié)果的干擾較大;而r過大又會(huì)造成檢測(cè)結(jié)果失真,故選取r=13.0。圖6示出不同σ值對(duì)應(yīng)疵點(diǎn)檢測(cè)結(jié)果??芍害以叫?,背景紋理越不易被抑制,疵點(diǎn)檢測(cè)越困難;σ越大,檢測(cè)到的疵點(diǎn)面積有所變化,部分背景被當(dāng)作疵點(diǎn)區(qū)域檢測(cè)出來,導(dǎo)致疵點(diǎn)區(qū)域過于完整與連續(xù),故選取σ=135.0。針對(duì)不同紋理類型的織物,其參數(shù)選擇不同。參數(shù)范圍如表1所示。
圖5 不同窗口半徑r對(duì)應(yīng)的檢測(cè)結(jié)果Fig.5 Detection results of different r. (a)Grid beheaded; (b) r=10.0; (c) r=13.0; (d) r=15.0
圖6 不同σ值對(duì)應(yīng)的檢測(cè)結(jié)果Fig.6 Detection results of different σ. (a) Box-patterned oil; (b) σ=100.0; (c) σ=135.0; (d) σ=500.0
表1 改進(jìn)的快速加權(quán)中值濾波的參數(shù)設(shè)置Tab.1 Parameters setting for modified faster weighted median filter
圖7 本文方法對(duì)部分方格點(diǎn)形及星形織物樣本檢測(cè)結(jié)果Fig.7 Some results of square, dot, star fabric defect detection by method of this paper. (a) Fabric original image; (b) Result by using improved weighted median filtering; (c) Detection result
實(shí)驗(yàn)過程中選擇多種紋理的多種疵點(diǎn)進(jìn)行檢測(cè),其部分檢測(cè)結(jié)果如圖7、8所示。同時(shí),將本文方法與文獻(xiàn)[3]所述的Gabor濾波法、文獻(xiàn)[17]所述的Frangi濾波器和模糊C均值結(jié)合的方法進(jìn)行比較,結(jié)果如圖9所示。由圖9(b)可知,Gabor濾波法不能完全地去除紋理對(duì)檢測(cè)結(jié)果的影響,噪聲干擾比較大;由圖9(c)可以看到,疵點(diǎn)區(qū)域膨脹或者部分疵點(diǎn)區(qū)域丟失,對(duì)疵點(diǎn)的細(xì)節(jié)信息檢測(cè)不準(zhǔn)確,所以Frangi濾波器和模糊C均值結(jié)合的方法不能很好地看到效果。綜上,本文提出的改進(jìn)的快速加權(quán)中值濾波不僅可很好避免背景紋理的干擾,突出疵點(diǎn)信息,而且使用 K-means 聚類后能更清晰地突出疵點(diǎn),可視化較好,準(zhǔn)確率高(見圖9(d))。
為驗(yàn)證算法的分割精度,利用準(zhǔn)確度(ACC)、真陽性率(TPR)、假陽性率(FPR) 3個(gè)參數(shù)進(jìn)行量化對(duì)比,如式(7)~(9)所示。
(7)
(8)
(9)
式中:TP為真正例;FN為假反例;FP為假正例;TN為真反例。
算法對(duì)每種類型紋理織物采取120張圖片進(jìn)行測(cè)試,求取檢測(cè)結(jié)果平均值。表2示出不同類型的紋理織物的疵點(diǎn)檢測(cè)所用的平均時(shí)間,檢測(cè)結(jié)果準(zhǔn)確率對(duì)比如表3所示。
表2 使用不同方法檢測(cè)所用平均時(shí)間Tab.2 Comparison of average time by three different methods s
由表2和表3可以看出,本文提出的方法檢測(cè)準(zhǔn)確度可高達(dá)到97%,整體可靠度水平較高。從算法的執(zhí)行速度來看,本文所提出的方法在檢測(cè)各類紋理織物時(shí),與文獻(xiàn)[3]、[17]方法相比,檢測(cè)時(shí)間明顯縮短。
表3 使用不同方法的準(zhǔn)確率對(duì)比Tab.3 Comparison of accuracy by three different methods
為減少織物紋理信息對(duì)疵點(diǎn)檢測(cè)的影響,對(duì)中值濾波進(jìn)行改進(jìn),將聯(lián)合直方圖與滑動(dòng)窗口策略相結(jié)合,實(shí)現(xiàn)預(yù)處理速度的提升;利用K-means聚類算法將織物的疵點(diǎn)和非疵點(diǎn)進(jìn)行分類檢測(cè),避免復(fù)雜的確定分割閾值環(huán)節(jié),直接完成疵點(diǎn)檢測(cè),進(jìn)一步提升了檢測(cè)效率;本文提出的方法可對(duì)方格、點(diǎn)形、星形、平紋、斜紋等紋理織物的疵點(diǎn)進(jìn)行檢測(cè)。實(shí)驗(yàn)結(jié)果表明提出的方法效果較好,具有較高的可靠性。