趙樹志, 狄 嵐, 何銳波
(江南大學 數字媒體學院, 江蘇 無錫 214122)
目前解決紡織品瑕疵檢測問題的方法大致可分為3類:統計學方法、光譜和基于模型的方法[1]。近幾年,國內研究人員董蓉等[2]提出了應用積分圖的瑕疵檢測方法,石美紅等[3]提出了基于顯著紋理特征的疵點檢測方法。針對有圖案紡織品,Ngan等提出了基于小波預處理的黃金圖像相減方法(WGIS)[4]、布林線指標方法(BB)[5]、正則帶方法(RB)[6]、基于基本圖案方法(MB)[7]、Elo評分方法(ER)[8]。這其中的一些方法都是基于自動提取子圖像基本圖案模板。大多數基于模板的方法都是基于預定義和手動確定信息來構建模板。然而,其檢測準確率在實際應用中還因為瑕疵的多樣性而難以預測。這種固有的局限性制約了根據手動確定模板的方法在實際中的應用。因此本文使用自動模板提取方法(格分割)[9],以避免手動確定模板所帶來的局限性。
確定好模板后,針對模板進行特征提取。在特征提取方法的選擇上,基于LBP(局部二值模式)特征的方法運算速度快,并且能有效地描述圖像紋理特征,已受到廣泛關注和研究。但是LBP算法對噪聲敏感,且只考慮了中心像素與鄰域像素的差值符號特征,沒有考慮差值幅度,丟失了一部分數據信息[10]。為了使LBP特征提取更加充分,Guo等提出了完整局部二值模式(CLBP)算法[11],CLBP提取的特征比較全面且具有較強的鑒別能力,將其應用在紋理分類中,取得了較高的識別率。但CLBP在提取全面信息的同時,不可避免地提取了干擾信息,不僅增加了時間復雜度,還影響了識別率。
針對傳統CLBP所存在的局限性,本文提出一種改進算子,將光滑部分紋理信息考慮進去,提高了紋理識別的精細度;將上述改進的特征提取方法與一種自動格分割方法結合,在解決星形圖案和箱形圖案瑕疵中有較為出色的檢測效果;在比較2種直方圖離散程度時,使用雙向相對熵散度(KLD)計算方法,提高了直方圖間差異度,更有利于衡量離散度。
本文算法總體分為2部分:訓練部分和測試部分。
訓練部分:對每張無瑕疵圖做格分割處理,并計算得到每個格子(塊)的特征直方圖,最后求所有格子的平均特征直方圖,再將每個格子的特征直方圖與平均直方圖做KLD散度(相對熵)計算求出散度值,最后得到閾值T。
測試部分:對瑕疵圖做格分割處理,計算每張瑕疵圖中每個格子的特征直方圖并與平均特征直方圖做KLD散度計算,將得到的每個值與閾值T做比較,大于閾值T的部分標記為瑕疵。KLD散度計算原理以及閾值T的選取將在下文中介紹。整體算法流程如圖1所示。

圖1 算法流程圖Fig.1 Overall block diagram of proposed algorithm. (a) Training part; (b) Testing part
本文預處理方法使用形態學成分分析(MCA)[13]將原圖分成卡通層與紋理層2部分,并且只保留卡通層。下面采用基于自適應K-Means算法[14]的格分割方法對圖像分塊,具體算法步驟為:
步驟1:用MCA得到輸入圖像的卡通層Ic并根據閾值二值化產生IIC;
粉絲們pick偶像,就是pick平凡努力的自己;粉絲們pick偶像,某種程度也是在享受反權威的快感。如果說2017年的娛樂關鍵詞是打call,2018年則為pick無疑。pick意為挑選、選擇,因選秀節目《偶像練習生》《創造101》的火爆而成功出圈。
步驟2:計算二值圖像IIC中各行背景像素數的多重集h,各列背景像素數的多重集v;計算各行背景像素數的多重集h和各列背景像素數的多重集v的峰值hp和vp;
步驟3:分別計算上述中的峰值hp和vp的越區切換算法(HC)輪廓系數,以最大輪廓系數對應的聚類個數初始化 HC 算法,并對峰值hp和vp分別進行聚類,得到的聚類中心構成多重集hc和vc;
步驟4:根據多重集hc和vc計算閾值hmax和vmax,分別計算hp中不小于hmax的峰值所對應行索引的間距和vp中不小于vmax的峰值所對應列索引的間距,計算構成穩定行間距的最長連續行索引的集合Sh以及構成穩定列間距的最長連續列索引的集合Sv;
步驟5:擴展集合Sh和集合Sv以覆蓋圖像的卡通成分Ic的大部分區域,并計算類格圖案的Lh理想行數Lh和理想列數Lv。這樣,即可確定出一個標準格的大小。

圖2 格分割與特征提取Fig.2 Lattice segmentation and feature extraction
本文在傳統CLBP的基礎上提出了一種改進窗口梯度差異度算子M,通過對比2像素點的灰度差異幅值的均值大小描述局部窗口內灰度梯度差異特征。窗口灰度差異算子S與中心像素點描述算子C與傳統CLBP相同。改進算子的計算方法如下:
式中:p為鄰域數目;s(x)為算子S、M、C的符號;gc為窗口中心像素點灰度值;gp為中心P鄰域各點灰度值;gN為每個窗口內灰度值均值;N為圖像劃分子窗口個數。本文將改進CLBP算法與判別性CLBP方法結合,將改進disCLBP算法應用到圖片特征提取中。上述格分割與特征提取的算法流程圖如圖2所示。
由上述特征提取方法所得直方圖的含義是每類特征值在每副圖中出現的頻率。直方圖中,橫坐標即為每類特征值,縱坐標為每類特征值出現的次數。KLD散度(相對熵)[15]是一種用來衡量2個概率分布距離的方法(D1,D2)。本文采取一種改進的KLD散度計算方法,與傳統方法不同的是,針對特征直方圖進行雙向KLD計算并求和,計算方法如下:
式中:N為特征向量維數;Pi特征值為i的特征向量在待檢測圖的特征直方圖中出現的頻率;Qi為特征值為i的特征向量在平均特征直方圖中出現的頻率;D為相對熵的值。
在訓練部分,通過計算無瑕疵圖的每個格子的特征直方圖與平均特征直方圖的KLD得到一些KLD散度值,在這些散度值中選取閾值的方法為
T=max(Tk)
式中:Tk為所有樣本中第k個格子計算得到的散度值。

圖3 星形圖斷端疵點圖像設置不同(R,P)值的疵點檢測結果Fig.3 Star broken end defect image and fabric detection results using different (R,P) values.(a) Original drawing; (b) (1,8); (c) (3,8); (d) (5,12); (e) (5,16)
本文實驗使用了香港大學電氣和電子工程系工業自動化實驗室提供的81幅256像素×256像素的24位彩色紡織品圖像[9],在實驗中這些圖像被轉換為8位的灰度圖像。81幅圖像包括2種圖案:箱形圖像和星形圖像,其中箱形圖像中包括26幅無瑕疵和15幅有瑕疵圖像;星形圖像中包括25幅無瑕疵和15幅有瑕疵圖像。2種圖案的有瑕疵圖像包括3種瑕疵類型:斷端,網紋,和細條紋,所有瑕疵圖像都有相同大小的瑕疵基準圖,瑕疵基準圖為二值圖像。其中1表示瑕疵,0表示背景。本文用于比較的算法有傳統LBP、WGIS、BB和ER。實驗部分所用到的評價指標有:TPR、FPR、PPV、NPV。TPR表示瑕疵基準圖中表示瑕疵的像素被算法正確標定為瑕疵的比例,FPR表示瑕疵基準圖中表示背景的像素被算法錯誤標定為瑕疵的比例,PPV表示算法輸出的瑕疵基準圖中的瑕疵所占比例,NPV表示算法輸出的瑕疵基準圖中的背景所占比例。對于TPR,PPV和NPV,指標值越大越好,對于FPR則越小越好。
對于disCLBP,設置不同的領域半徑R和不同的鄰域數目P都會影響檢測結果,本文針對這個問題首先進行了對比實驗。在實驗中,分別設置(R,P)的值分別為(1,8)、(3,8)、(5,12)、(5,16),針對星形和箱形圖進行對比實驗,結果如表1、2、圖3~8所示。表中黑體表示該行的最優數據。

表1 不同(R,P)值對星形圖案的檢測效果影響Tab.1 Effect of different (R,P) values on star patterns

表2 不同(R,P)值對箱形圖案的檢測效果影響Tab.2 Effect of different (R,P) values on box patterns

圖4 星形圖網紋疵點圖像設置不同(R,P)值的疵點檢測結果Fig.4 Star netting multiple defect image and fabric detection results using different (R,P) values.(a) Original drawing; (b) (1,8); (c) (3,8); (d) (5,12); (e) (5,16)

圖5 星形圖細條紋疵點圖像設置不同(R,P)值的疵點檢測結果Fig.5 Star thin bar defect image and fabric detection results using different (R,P) values.(a) Original drawing; (b) (1,8); (c) (3,8); (d) (5,12); (e) (5,16)

圖6 箱形圖斷端疵點圖像設置不同(R,P)值的疵點檢測結果Fig.6 Box broken end defect image and fabric detection results using different (R,P) values.(a) Original drawing; (b) (1,8); (c) (3,8); (d) (5,12); (e) (5,16)

圖7 箱形圖網紋疵點圖像設置不同(R,P)值的疵點檢測結果Fig.7 Box netting multiple defect image and fabric detection results using different (R,P) values. (a) Original drawing; (b) (1,8); (c) (3,8); (d) (5,12); (e) (5,16)

圖8 箱形圖細條紋疵點圖像設置不同(R,P)值的疵點檢測結果Fig.8 Box thin bar defect image and fabric detection results using different (R,P) values. (a) Original drawing; (b) (1,8); (c) (3,8); (d) (5,12); (e) (5,16)
2.1.1星形圖
對于星形圖中的斷端類型瑕疵圖、網紋類型瑕疵圖,在(R,P)值為(1,8)、(3,8)時TPR值差異不大且大于(5,12)、(5,16)時的值。對于細條紋類型瑕疵圖,(R,P)值為(3,8)、(5,12)時TPR值達到1.0,(5,16)時TPR值為0。瑕疵檢測結果如圖 3所示,TPR,FPR,PPV和NPV的平均值(平均值或平均數是算法對特定瑕疵類型的所有圖像檢測結果的平均值)見表1。
分析圖3~5可看出,在網紋類型瑕疵圖中,(R,P)值為(5,16)時TPR值雖然有0.61與(5,12)時差異不大但卻出現大面積的誤檢。在細條紋類型瑕疵圖中,(R,P)值為(1,8)時出現了小面積的誤檢,而(R,P)值為(5,16)時TPR值為0且檢測結果全部為誤檢。
2.1.2箱形圖
對于箱形圖中的斷端類型瑕疵圖,(R、P)值為(1,8)、(3,8)時的TPR值高于(5,12)和(5,16)時的TPR值,(3,8)時的TPR值最高。對于網紋類型瑕疵圖(R,P)值為(3,8)時的TPR值高于其他3種情況,(R,P)值為(5,12)、(5,16)時的TPR值相同且二者都低于(1,8)時的TPR值。對于細條紋類型瑕疵圖,(R,P)值為(3,8)時的TPR值最高,達到0.99,(R,P)值為(1,8)和(5,12)時的相同,(R,P)值為(5,16)時的TPR值最低。

圖9 星形圖斷端疵點圖像基于不同算法的檢測結果Fig.9 Star broken end defect image and fabric detection results using different algorithms. (a) Ground-truth; (b) Method of this paper; (c) LBP; (d) WGIS; (e) BB; (f) RB
分析圖6~8中可看出,在網紋類型瑕疵圖中,(R,P)值為(1,8)、(3,8)和(5,12)時,存在一定面積的誤檢,(5,16)時誤檢率低于其他3種情況。在細條紋類型瑕疵圖中,都沒有出現誤檢情況,當(R、P)值設置為(3,8)時,TPR最高。
綜上所述,(R,P)值為(3,8)時對2種類型紡織品檢測效果最出色,且與相關文獻[16]中(R,P)值相同。以下對比實驗初始R,P值均為(3,8)。
將本文算法與傳統LBP、WGIS、BB和RB算法進行了對比實驗。針對星形圖和箱形圖的對比實驗結果如表3~4、圖9~14所示。

表3 不同算法對星形圖案的檢測效果對比Tab.3 Test effect of different algorithms on star patterns

表4 不同算法對箱形圖案的檢測效果對比Tab.4 Test effect of different algorithms on box patterns
2.2.1星形圖分析

圖10 星形圖網紋疵點圖像基于不同算法的檢測結果Fig.10 Star netting multiple defect image and fabric detection results using different algorithms. (a) Ground-truth; (b) Method of this paper; (c) LBP; (d) WGIS; (e) BB; (f) RB

圖11 星形圖細條紋疵點圖像基于不同算法的檢測結果Fig.11 Star thin bar defect image and fabric detection results using different algorithms. (a) Ground-truth; (b) Method of this paper; (c) LBP; (d) WGIS; (e) BB; (f) RB

圖13 箱形圖網紋疵點圖像基于不同算法的檢測結果Fig.13 Box netting multiple defect image and fabric detection results using different algorithms. (a) Ground-truth; (b) Method of this paper; (c) LBP; (d) WGIS; (e) BB; (f) RB

圖14 箱形圖細條紋疵點圖像基于不同算法的檢測結果Fig.14 Box thin bar defect image and fabric detection results using different algorithms. (a) Ground-truth; (b) Method of this paper; (c) LBP; (d) WGIS; (e) BB; (f) RB
分析圖9~11可看出,在斷端瑕疵類型的檢測結果中本文算法與傳統LBP算法接近且優于其他3種算法,在網紋瑕疵類型的檢測結果中本文算法優于其他4種算法,在細條紋瑕疵類型檢測結果中本文算法優于其他算法。
表3中數據顯示,本文算法在所有3種類型瑕疵中的TPR值均達到最優,FPR值保持穩定, PPV值在斷端中達到最優。
2.2.2箱形圖分析
分析圖12~14可看出,本文算法在斷端和細條紋瑕疵類型圖中的檢測效果均為最優, 在網紋類型瑕疵圖中可檢測出所有瑕疵,但是存在一定的誤檢。LBP算法無法檢測出所有瑕疵且存在小范圍的誤檢,其他3種算法的檢測結果都較差。
由表4數據可知,本文算法在所有3種類型瑕疵中的TPR值均達到最優,NPV值在斷端、網紋和細條紋類型瑕疵中達到最優。總體來看,本文方法的查全率整體優于其他算法。
本文提出了一種改進判別性完整局部二值模式(CLBP)織物瑕疵檢測方法。提出的改進CLBP算子在一定程度上解決了傳統CLBP算法在圖像小部分區域變化幅度劇烈或變化幅度平緩時,傳統CLBP存在局限性的問題,并結合一種自動格分割算法將圖像分塊,充分發揮了改進CLBP算子的特征提取效果。本文算法針對星形圖和箱形圖有較好的檢測效果,尤其是針對星形圖的檢測效果最佳,3種瑕疵類型的TPR值均可達到0.99,且明顯優于對比算法的TPR值。針對箱形圖的2種瑕疵類型的TPR值均可達到0.95以上,且所有3種的TPR值明顯優于對比算法。本文算法的局限性在于可以檢測紡織品的類型有限,由于使用的格分割方法無法對數據庫中的點形圖進行分塊,故本文算法無法對點形圖進行檢測。結合本文方法及其他瑕疵檢測方法來克服這些局限性是下一步研究的方向。