狄嵐,趙樹(shù)志,何銳波
(江南大學(xué) 數(shù)字媒體學(xué)院,江蘇 無(wú)錫 214000)
目前針對(duì)紡織品瑕疵檢測(cè)問(wèn)題的研究方法主要有3類:統(tǒng)計(jì)學(xué)方法、光譜和基于模型的方法。近幾年,Ngan等提出了基于小波預(yù)處理的黃金圖像相減方法(WGIS)[1]、布林線指標(biāo)方法(BB)[2]、正則帶方法 (RB)[3]、Elo 評(píng)分方法 (ER)[4]。其對(duì)于紡織品瑕疵檢測(cè)的研究代表了目前該領(lǐng)域的較高水平。Ngan提出的方法大多都是基于手工模板提取的,然而手工確定模板在實(shí)際運(yùn)用中還有一定的局限性。Jia等[5]提出了一種基于Garbor濾波的自動(dòng)模板提取瑕疵檢測(cè)方法(LSG),有效地解決了手工確定模板帶來(lái)的局限性。但是在光照變化條件下的瑕疵檢測(cè)還沒(méi)有很好的效果。實(shí)驗(yàn)表明,關(guān)照問(wèn)題是影響紡織品瑕疵檢測(cè)的重要因素,光照作為外在因素在檢測(cè)過(guò)程中是不受人為控制的,在光照條件不同時(shí),會(huì)有不同的二維圖像產(chǎn)生,然而對(duì)任意光照下的二維圖像識(shí)別是有一定難度的,因此光照預(yù)處理在紡織品瑕疵檢測(cè)中是關(guān)鍵一步。
目前光照預(yù)處理[6-8]方法大致可分為以下幾類:基于小波變換的預(yù)處理方法[9]、自商圖像方法[10]、Retinex 方法[11]、各向異性非均質(zhì)光滑處理[12]、對(duì)比度增強(qiáng)[13]等。這些方法中的基于直方圖均衡化的增強(qiáng)方法因其實(shí)用性和簡(jiǎn)潔性而受到廣泛關(guān)注[14],基礎(chǔ)理論是根據(jù)輸入圖像的灰度概率分布函數(shù)來(lái)確定其對(duì)應(yīng)的輸出灰度值,通過(guò)擴(kuò)展圖像的灰度、動(dòng)態(tài)范圍達(dá)到提升圖像對(duì)比度的目的。直方圖均衡化分為全局和局部?jī)煞N,與全局方法相比,局部直方圖均衡化可以更好地增強(qiáng)圖像的局部信息。本文采用基于完整局部二值模式(CLBP)[15]的特征提取方法,但是傳統(tǒng)CLBP算法在提取全面信息的同時(shí)增加了時(shí)間復(fù)雜度,且在圖像小部分區(qū)域變化幅度劇烈或變化幅度平緩時(shí)識(shí)別率較低。因此本文提出了一種改進(jìn)的完整局部二值模式,在一定程度上解決了CLBP存在的局限性。并結(jié)合光照預(yù)處理解決了受光照影響的紡織品瑕疵檢測(cè)的問(wèn)題,在經(jīng)典紡織品瑕疵檢測(cè)數(shù)據(jù)庫(kù)進(jìn)行實(shí)驗(yàn),取得較好的檢測(cè)效果。因此本文針對(duì)上述問(wèn)題所做的工作是:
1)使用局部對(duì)比度增強(qiáng)算法處理受光照影響紡織品圖像并與一種改進(jìn)CLBP算子結(jié)合,將光滑部分紋理信息考慮進(jìn)去,提高了紋理識(shí)別精細(xì)度,解決了受光照影響紡織品瑕疵檢測(cè)的問(wèn)題;
2)將上述算法與一種自動(dòng)格分割方法結(jié)合,減少了算法的人工干預(yù),針對(duì)本文使用的數(shù)據(jù)庫(kù)有出色的檢測(cè)效果。
基于整幅圖像的均衡化處理[14]會(huì)限制對(duì)比拉伸的比率,基于局部的對(duì)比增強(qiáng)可以有效地改善細(xì)節(jié)特征的可視化。局部對(duì)比增強(qiáng)變換的公
式為:
式中:L(m, n)表示像素(m, n)處的灰度值,
其中,θ為預(yù)定義的閾值,Ω是像素(m, n)的鄰域。實(shí)驗(yàn)采用的5×5鄰域,是所選鄰域的像素的總和。由于式(2)得到的局部值可正可負(fù),所以有必要進(jìn)行數(shù)據(jù)歸一化:
首先由形態(tài)學(xué)成分分析(MCA)[16]得到圖像的卡通層和紋理層,卡通層主要是強(qiáng)調(diào)圖像邊緣和光滑平緩區(qū)域,而紋理層主要保留了像素值的細(xì)微變化。除去由紋理層中細(xì)微變化所帶來(lái)的干擾,卡通層使背景像素的集中程度更加明顯。由于我們的假設(shè)條件保證了較高的對(duì)比度,紡織品圖案的卡通層更加容易區(qū)分。如果卡通層是由一個(gè)閾值進(jìn)行二值化處理,那么所得到的結(jié)果就能代表紡織品圖案,在任意維度上的背景像素總是集中在紡織品圖案上。
本文中使用的格分割方法[5]在一定程度上克服了Ngan等方法的缺點(diǎn),屬于一種自動(dòng)提取模板的格分割方法,在一定程度上減少了人工參與帶來(lái)的局限性。
完整局部二值模式提出了3種局部紋理描述算子[17]:窗口灰度差異描述算子S, 梯度窗口差異描述算子M以及中心像素點(diǎn)描述算子C。這3種算子的計(jì)算方法為:
其中:式中:p為鄰域數(shù)目;s(x)表示算子S, M, C的符號(hào);gc為窗口中心像素點(diǎn)灰度值;gp為中心P鄰域各點(diǎn)灰度值;gn為每一個(gè)窗口內(nèi)灰度值均值,N為圖像劃分子窗口個(gè)數(shù)。
從上述公式可以看出,S即為傳統(tǒng)意義的LBP,M算子是對(duì)兩像素點(diǎn)的灰度差異幅值與全局灰度差異幅值均值比較,作為S的互補(bǔ)信息,C反映中心像素點(diǎn)的灰度信息。這3種算子構(gòu)成的聯(lián)合算子對(duì)紋理描述更加精細(xì),大大提高了紋理的識(shí)別率。
由上述特征提取方法得到的特征值實(shí)際上是由直方圖的形式呈現(xiàn)的。在這個(gè)直方圖中,橫坐標(biāo)表示每一類特征,縱坐標(biāo)表示每一類特征出現(xiàn)的頻率。KLD散度又稱Kullbac-Leibler_divergence[18],是一種用來(lái)衡量?jī)蓚€(gè)概率分布距離的方法。傳統(tǒng)的KLD計(jì)算方法為:
式中P(xi)和Q(xi)分別代表兩種概率分布。
本文算法分為訓(xùn)練和測(cè)試兩部分實(shí)現(xiàn)。
訓(xùn)練部分:
1)用MCA算法得到所有無(wú)光照影響無(wú)瑕疵圖的卡通層與紋理層,且只保留卡通層部分;
2)針對(duì)上述卡通層進(jìn)行分塊,并求每一塊的特征值與所有塊的平均特征值;
3)求每一塊的特征值與平均值的KLD散度值并得到閾值T;
測(cè)試部分:
4)用LCE算法對(duì)所受光照影響有瑕疵圖做預(yù)處理;
5)用MCA得到上述預(yù)處理后圖像的卡通層與紋理層,且只保留卡通層部分;
6)計(jì)算所有瑕疵圖卡通層中每一塊特征值并與上述平均值求KLD散度值;
7)將得到的KLD散度值與閾值T比較,并將大于閾值T的部分標(biāo)記為瑕疵區(qū)域。
整體算法流程圖如圖1所示。
圖 1 算法流程圖Fig. 1 Overall block diagram of the proposed algorithm
傳統(tǒng)CLBP算法中的M算子僅包含了局部窗口的灰度差異特征[19],若待處理的圖像由于基于某種原因?qū)е禄叶炔黄骄?,則會(huì)遺漏掉一部分光滑紋理信息。因此,針對(duì)這一問(wèn)題,改進(jìn)CLBP的M算子使得其通過(guò)對(duì)比兩像素點(diǎn)的灰度差異幅值與窗口灰度差異幅值的均值大小描述局部窗口內(nèi)灰度梯度差異特征,改進(jìn)的M算子可以表示為
其中,
其余兩個(gè)算子與傳統(tǒng)CLBP相同。格分割與特征提取流程如圖2所示。
圖 2 預(yù)處理與特征提取Fig. 2 Preprocessing and Feature extraction
在閾值選取上,通過(guò)計(jì)算訓(xùn)練部分中無(wú)瑕圖的每一塊特征值與平均特征值的KLD散度,然后通過(guò)這些KLD值進(jìn)行閾值的篩選,其方法是:
式中:Tk為所有樣本中第k個(gè)格子計(jì)算得到的散度值。
為了驗(yàn)證本文的可行性與正確性,本文在PC機(jī)上進(jìn)行多次仿真實(shí)驗(yàn),處理器為i7-4710HQ,主頻為2.5 GHz,內(nèi)存為8 GB,用MATLAB R2016b軟件進(jìn)行實(shí)驗(yàn)。
本文實(shí)驗(yàn)的數(shù)據(jù)庫(kù)由香港大學(xué)電氣實(shí)驗(yàn)室提供,數(shù)據(jù)集包含2種類型的紡織品圖像且均為彩色圖像。在實(shí)驗(yàn)中,彩色圖像均被轉(zhuǎn)換成灰度圖像再進(jìn)行處理。這2種類型的紡織品圖像分別為星形紡織品圖像和箱形紡織品圖像。其中星形紡織品圖像又包含3種瑕疵類型,分別為斷端瑕疵類型、網(wǎng)紋瑕疵類型和細(xì)條紋瑕疵類型。箱形紡織品瑕疵類型與星形相同。每一種瑕疵圖像都有與其對(duì)應(yīng)的Ground-Truth圖像,其中1代表瑕疵,0代表背景。本實(shí)驗(yàn)采用的評(píng)價(jià)指標(biāo)有4種,分別為TPR、FPR、PPV和NPV。其中TPR[19]表示瑕疵處被標(biāo)記為瑕疵的比例,F(xiàn)PR表示背景處被錯(cuò)誤標(biāo)記為瑕疵的比例,PPV表示輸出圖像瑕疵區(qū)域所占比例,NPV表示輸出圖像背景所占的比例。
不同的光照預(yù)處理方法對(duì)紡織品圖像的預(yù)處理效果是不同的,本文針對(duì)這一問(wèn)題進(jìn)行了對(duì)比實(shí)驗(yàn),并選擇最優(yōu)預(yù)處理算法進(jìn)行下一步的瑕疵檢測(cè),實(shí)驗(yàn)結(jié)果如圖3、圖4所示。
圖 3 不同光照預(yù)處理算法對(duì)星形瑕疵類型瑕疵圖處理結(jié)果Fig. 3 Star defect image and preprocessing results with different preprocessing algorithm
圖 4 不同光照預(yù)處理算法對(duì)箱形瑕疵類型瑕疵圖處理結(jié)果Fig. 4 Box defect image and preprocessing results with different preprocessing algorithm
分析圖3、圖4的實(shí)驗(yàn)結(jié)果,局部對(duì)比度增強(qiáng)算法針對(duì)紡織品圖像的預(yù)處理效果較其他算法最為出色,LCE可以有效地改善細(xì)節(jié)特征的可視化。Retinex與同態(tài)濾波算法雖然也能還原原圖的基本特征,但是仍然有部分區(qū)域過(guò)暗,無(wú)法有效提取細(xì)節(jié)特征。自商圖像處理后的圖像亮度過(guò)高,影響了局部特征的提取,降低了瑕疵區(qū)域與無(wú)瑕區(qū)域的對(duì)比度。下面將對(duì)所有算法處理后的紡織品圖像進(jìn)行瑕疵檢測(cè)。
表 1 不同預(yù)處理算法對(duì)星形圖案的檢測(cè)效果影響Table 1 The effect of different pre-algorithm on star pattern %
本文使用上述4種光照預(yù)處理算法在星形圖與箱形圖數(shù)據(jù)集中進(jìn)行瑕疵檢測(cè)對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表1、表2、圖5~10所示。
表 2 不同預(yù)處理算法對(duì)箱形圖案的檢測(cè)效果影響Table 2 The effect of different pre-algorithm on box pattern %
圖 5 不同光照預(yù)處理算法對(duì)星形斷端瑕疵類型瑕疵圖檢測(cè)結(jié)果Fig. 5 Star broken end defect image and fabric detection results with different preprocessing algorithm
圖 6 不同光照預(yù)處理算法對(duì)星形網(wǎng)紋瑕疵類型瑕疵圖檢測(cè)結(jié)果Fig. 6 Star netting multiple defect image and fabric detection results with different preprocessing algorithm
圖 7 不同光照預(yù)處理算法對(duì)星形細(xì)條紋瑕疵類型瑕疵圖檢測(cè)結(jié)果Fig. 7 Star thin bar defect image and fabric detection results with different preprocessing algorithm
圖 8 不同光照預(yù)處理算法對(duì)箱形斷端瑕疵類型瑕疵圖檢測(cè)結(jié)果Fig. 8 Box broken end defect image and fabric detection results with different preprocessing algorithm
圖 9 不同光照預(yù)處理算法對(duì)箱形網(wǎng)紋瑕疵類型瑕疵圖檢測(cè)結(jié)果Fig. 9 Box netting multiple defect image and fabric detection results with different preprocessing algorithm
圖 10 不同光照預(yù)處理算法對(duì)箱形細(xì)條紋瑕疵類型瑕疵圖檢測(cè)結(jié)果Fig. 10 Box thin bar defect image and fabric detection results with different preprocessing algorithm
分析表1和圖 5~7檢測(cè)實(shí)驗(yàn)結(jié)果,基于LCE預(yù)處理算法的疵點(diǎn)檢測(cè)效果最為出色,針對(duì)3種瑕疵類型的TPR值均達(dá)到0.99,且不存在誤檢情況。Retinex算法針對(duì)斷端和細(xì)條紋瑕疵類型的檢測(cè)結(jié)果TPR值雖然達(dá)到0.99但是其檢測(cè)結(jié)果存在大面積誤檢,針對(duì)網(wǎng)紋瑕疵類型的檢測(cè)結(jié)果TPR值僅有0.11,且也有大范圍的誤檢。同態(tài)濾波算法針對(duì)網(wǎng)紋、細(xì)條紋和斷端瑕疵類型的檢測(cè)結(jié)果TPR值分別為0.91、0.86和0.56且檢測(cè)結(jié)果存在大面積的誤檢。自商圖像算法針對(duì)3種瑕疵類型的檢測(cè)結(jié)果TPR值均低于0.3且依然存在大面積的誤檢。
分析表2、圖8~10檢測(cè)實(shí)驗(yàn)結(jié)果,基于LCE預(yù)處理算法的疵點(diǎn)檢測(cè)效果最為出色,針對(duì)網(wǎng)紋和細(xì)條紋瑕疵類型的TPR值均達(dá)到0.99,針對(duì)網(wǎng)紋類型檢測(cè)結(jié)果存在小范圍誤檢情況。Retinex算法針對(duì)斷端的TPR值為0.01幾乎無(wú)法檢測(cè)出瑕疵區(qū)域,針對(duì)網(wǎng)紋與細(xì)條紋瑕疵類型的檢測(cè)結(jié)果TPR值在0.5左右,但是其檢測(cè)結(jié)果存在大面積誤檢。同態(tài)濾波算法針對(duì)網(wǎng)紋、細(xì)條紋和斷端瑕疵類型的檢測(cè)結(jié)果TPR值分別為0.60、0.56和0.45且檢測(cè)結(jié)果存在大面積的誤檢。自商圖像算法針對(duì)3種瑕疵類型的檢測(cè)結(jié)果TPR值均低于0.3且依然存在大面積的誤檢。
綜上所述,Retinex算法僅針對(duì)星形數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果查全率TPR與LCE算法接近,但是前者檢測(cè)結(jié)果誤檢面積較大,其他兩種算法都與LCE算法差距較大,故選擇LCE算法作為最優(yōu)光照預(yù)處理算法,并結(jié)合本文提出的特征提取算法進(jìn)行瑕疵檢測(cè)。
在星形圖與箱形圖數(shù)據(jù)集中,本文算法與其他經(jīng)典算法LSG、WGIS、BB和RB結(jié)合LCE光照預(yù)處理算法進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表3、表 4、圖 11~16所示。
分析表3、圖11~13檢測(cè)實(shí)驗(yàn)結(jié)果,本文算法在所有3種瑕疵類型中的檢測(cè)結(jié)果均為最優(yōu)。且本方法在所有3種類型的瑕疵中TPR值均達(dá)到最優(yōu),F(xiàn)PR值保持穩(wěn)定。
分析表4,圖14~16檢測(cè)實(shí)驗(yàn)結(jié)果,在3種瑕疵類型的檢測(cè)結(jié)果中本文算法均優(yōu)于其他3種算法且本方法在所有3種類型的瑕疵中TPR值均達(dá)到最優(yōu),F(xiàn)PR值保持穩(wěn)定。
表 3 不同算法對(duì)星形圖案的檢測(cè)效果影響Table 3 The effect of different algorithm on star pattern%
表 4 不同算法對(duì)箱形圖案的檢測(cè)效果影響Table 4 The effect of different algorithm on box pattern%
圖 11 不同算法對(duì)星形圖斷端疵點(diǎn)圖像的檢測(cè)結(jié)果Fig. 11 Star broken end defect image and fabric detection results with different algorithms
圖 12 不同算法對(duì)星形圖網(wǎng)紋疵點(diǎn)圖像的檢測(cè)結(jié)果Fig. 12 Star netting multiple defect image and fabric detection results with different algorithms
圖 13 不同算法對(duì)星形圖細(xì)條紋疵點(diǎn)圖像的檢測(cè)結(jié)果Fig. 13 Star thin bar defect image and fabric detection results with different algorithms
圖 14 不同算法對(duì)箱形圖斷端疵點(diǎn)圖像的檢測(cè)結(jié)果Fig. 14 Box broken end defect image and fabric detection results with different algorithms
圖 15 不同算法對(duì)箱形圖網(wǎng)紋疵點(diǎn)圖像的檢測(cè)結(jié)果Fig. 15 Box netting multiple defect image and fabric detection results with different algorithms
圖 16 不同算法箱形圖細(xì)條紋疵點(diǎn)圖像的檢測(cè)結(jié)果Fig. 16 Box thin bar defect image and fabric detection results with different algorithms
本文提出了一種基于LCE光照預(yù)處理算法的改進(jìn)CLBP紡織品瑕疵檢測(cè)方法。使用的LCE光照預(yù)處理算法可以有效地改善細(xì)節(jié)特征的可視化,并將LCE光照預(yù)處理算法與改進(jìn)CLBP算法相結(jié)合,在一定程度上解決了受光照影響的紡織品瑕疵檢測(cè)的問(wèn)題。由實(shí)驗(yàn)結(jié)果可知,本文算法針對(duì)數(shù)據(jù)集中3種瑕疵類型的紡織品均有不錯(cuò)的檢測(cè)效果,部分檢測(cè)結(jié)果的TPR可以達(dá)到0.99左右。本文方法的局限性在于光照預(yù)處理算法仍需要進(jìn)一步的優(yōu)化,從而保留更多的圖像細(xì)節(jié)特征,且受限于分塊方法的局限性,本算法無(wú)法對(duì)點(diǎn)形圖進(jìn)行檢測(cè)。因此克服上述問(wèn)題是進(jìn)一步的研究方向。