吳 瑩,郭佩瑤,劉燕萍,婁 琳,王 忍
(1.天津大學 電氣自動化與信息工程學院, 天津 300072;2.浙江理工大學 a.服裝學院, b.經濟管理學院,浙江 杭州 310018)
疵點檢測是紡織品表觀質量控制與等級評定中的關鍵環節之一。目前,國內紡織品紋理分析和疵點檢測仍采用人工來完成。由于受到生理、心理和外界環境影響,人工檢測存在客觀性較差、檢測效率低等缺點[1],還會對操作人員的身體健康產生重要影響。雖然織物疵點檢測技術已成為研究熱點[2-3],檢測系統及算法對特定的織物有很好的檢測效果[4],但由于纖維材質、織造工藝等因素,同一幅織物圖像存在細節差異,加上織物紋理的復雜多變以及疵點具有較強的隨機性和不可預測性等諸多挑戰,算法的通用性、實用性以及檢測效率仍需進一步研究。
紋理分析方法有小波、結構法等[5-9]。Hanbay等[10]將現有的紋理特征提取方法歸結為以下6類:基于頻域、基于統計、基于模型、基于結構、基于學習和基于混合等方法。其中,基于頻域[11]、基于統計[12]、基于模型、基于結構等方法的關鍵在于特征的選取,特征和參數的最優性無法得到保證,其檢測的準確度、通用性有待進一步提高。基于學習的方法可繞開特征選擇的問題,但多用于坯布和單色織物的研究,不適用于相對復雜的織物紋理。織物紋理結構變得越發復雜和精細,導致檢測難度加大。各種處理方法在不同尺度上的檢測效果不同。此時學者開始采用深度學習[13-15]或者混合方法來彌補單一檢測方法的局限性,可對更為復雜的織物(色織物和圖案織物等)進行紋理分析和疵點檢測[16-19]。雖然基于深度學習的織物疵點檢測被廣泛關注,但其需要大量的時間和訓練樣本。生產方式的改進導致疵點樣本的收集更加困難,同時疵點的隨機性和不可預測性,使得織物疵點檢測仍是一個難題。
為提高織物疵點檢測算法的準確率和不同紋理的適應性,以無疵點織物紋理圖像為研究對象,提出基于局部織物紋理表征的疵點檢測方法。該方法采用稀疏字典重構織物紋理圖像作為標準模板,將待檢測對象與之進行模板匹配,實現織物疵點的自動識別。
任意給定信號矩陣X=[x1,x2,…,xn],xi∈Rm,信號的稀疏表示在l2范數近似條件下構造的優化函數如下:

(1)
式中:D為字典矩陣;α為系數矩陣;αi為系數矩陣的列向量;T為稀疏基數,正整數,控制稀疏程度;‖αi‖0為式中非零項的個數。字典D和由αi組成的系數矩陣α都是未知的。
因OMP(orthogonal matching pursuit)算法簡潔有效,故選擇OMP算法來獲取稀疏系數[20]。
為了兼顧紋理標注效果和計算效率,本文對織物紋理圖像進行子窗口劃分[20]的處理,如圖1所示。

圖1 子窗口劃分方式Fig.1 Sub-window division
對于任意織物紋理圖像矩陣Y∈RM×N,其中M、N分別表示織物灰度圖像的高度和寬度,子窗口尺寸為h像素×l像素,重疊子窗口劃分所得h像素×l像素的子窗口圖像個數A如式(2)所示。
A=[(M-h+1)]×[(N-l+1)]
(2)
無重疊子窗口劃分可以得到的h像素×l像素的子窗口圖像個數B如式(3)所示。
B=(M/h)×(N/l)
(3)
本文采用256像素×256像素的織物灰度圖像,子窗口尺寸為8像素×8像素,采用重疊子窗口劃分和無重疊子窗口劃分所得數據集大小分別為62 001和1 024,可見重疊子窗口需要處理的子窗口樣本遠多于無重疊子窗口。因此,本文織物紋理表征采用重疊子窗口劃分,以充分考慮樣本圖像的冗余信息;為了提高檢測效率,疵點檢測采用無重疊子窗口劃分。
對于任意織物圖像Y,其紋理表征的公式如式(4)所示。
(4)
式中:ε為允許接受的誤差。


(5)

在紋理表征基礎上,采用閾值分割法進行疵點檢測,如圖2所示。

圖2 疵點檢測流程圖Fig.2 Defect detection flow chart
殘差矩陣E的平方和R及閾值F的計算式分別如(6)和(7)所示。
(6)
F=μ+pσ
(7)

(8)
式中:R(:,j)為殘差矩陣的誤差平方和中的第j列,j=[1,2,…,m]。
本文原始樣本圖像皆為8位灰度圖像,尺寸為256像素×256像素。使用的操作系統是Windows 10(64 位);計算機配置為INTEL CPU(3.40 GHz)和8 G內存。疵點檢測試驗通過MATLAB R2014A實現。
稀疏基數是圖像重構的關鍵參數之一,在滿足不同應用前提下,優選紋理表征和疵點檢測所需的稀疏基數。稀疏基數與程序時間密切相關[20],以樣本1(平紋)和樣本2 (斜紋)為例,對15個不同稀疏基數T=1~15進行測試,樣本原始圖像見圖3,量化指標PSNR(peak signal noise to ratio)和SSIM(structural similarity)的結果見圖4。

圖3 原始樣本圖像Fig.3 Original fabric sample image

圖4 不同稀疏基數的重構圖像量化測試結果Fig.4 Quantitative test results of the reconstructed images with different sparse cardinalities
由圖4可知:對于不同組織結構而言,隨著稀疏基數的增大,樣本1和2的重構圖像量化測試指標擁有相似的規律,即稀疏基數增加,PSNR和SSIM數值變大,圖像重構效果變好。當T持續增加到8時,量化指標的PSNR值持續增大,SSIM值逐漸收斂;當T持續增加到10時,重構圖像與原始圖像相似度非常高,SSIM值無限接近1.0;繼續增大T值,SSIM收斂平緩,圖像紋理表征效果差異較小。
雖然T值越大,圖像紋理表征效果越好,但這會增加計算成本,導致算法運行速度變慢,不能滿足疵點檢測算法實時性的需求。T值過小,織物圖像紋理細節不能被近似重構,導致表征效果差。綜上所述,結合紋理表征和疵點檢測的不同需求,紋理表征選用的稀疏基數為10,疵點檢測的稀疏基數為1~3。
3.2.1 無疵點織物紋理子窗口優選
以樣本1和2為例,對3種不同子窗口尺寸的原始織物紋理圖像和帶噪紋理圖像進行表征,從定性和定量兩方面分析子窗口尺寸分別為8像素×8像素、16像素×16像素和32像素×32像素時的紋理表征結果,如圖5和表1所示。其中,字典個數為256,稀疏基數為10。

表1 不同子窗口尺寸的重構圖像量化測試效果

圖5 基于不同子窗口尺寸的樣本圖像的重構圖像Fig.5 Reconstructed image of sample image based on different sub-window sizes
由圖5可知:樣本1和2 基于子窗口8像素×8像素的紋理表征效果最好,與圖3中的原始樣本圖像最為接近。由表1可知:在試驗條件下,樣本1和2基于子窗口尺寸為8像素×8像素的重構圖像的PSNR、SSIM值最大。由此可知,隨著子窗口尺寸增大,樣本1和2的重構圖像的PSNR和SSIM值減小。
由此可見,采用子窗口尺寸為8像素×8像素劃分樣本將獲得更多的數據,蘊含更豐富的紋理素,重構樣本紋理圖像已滿足表征精度,因此無疵點織物紋理表征選用子窗口尺寸為8像素×8像素。
3.2.2 疵點織物子窗口優選
以織物疵點破洞和跳花為例,不同子窗口尺寸的疵點檢測結果見圖6。由圖6可知:子窗口尺寸為8像素×8像素時,所提算法能有效檢測出疵點域,但疵點的誤檢率較高;當子窗口尺寸為16像素×16像素時,疵點檢出率相比子窗口尺寸為8像素×8像素有所提高,誤檢率降低;而子窗口尺寸為32像素×32像素的誤檢率最低,檢測結果最好。因此選用無重疊子窗口尺寸為32像素×32像素進行疵點檢測。

圖6 不同子窗口尺寸的織物圖像的疵點檢測結果Fig.6 Defects detection results of fabric images with different sub-window sizes
織物疵點檢測階段,噪聲會影響檢測,降低檢測結果的準確率。因此,需要對織物圖像進行降噪聲處理,從而降低噪聲干擾。為此本文對織物圖像添加高斯噪聲,研究帶噪圖像紋理的表征以驗證算法的抗噪性。
以樣本1和2為例,添加標準差為10的高斯噪聲,在子窗口尺寸為8像素×8像素,稀疏基數T=10,從視覺指標來對表征效果進行分析,結果如圖7所示。由圖7(b)(d)可知:所提算法對于高斯噪聲有一定的抑制作用。
選用不同組織如平紋、斜紋和小提花的織物疵點樣本,其中包含粗緯、雙緯、百腳、破洞、缺緯、竹節、跳花、斷疵、稀緯等10多種不同類型疵點,共54張有疵點的樣本圖像和4張無疵點的織物樣本圖像,部分織物疵點樣本如圖8所示。
采用檢出率(correct detection rate, CDR)和誤檢率(false detection rate, FDR)對疵點檢測結果進行定量評價,計算公式如式(9)和(10)所示。

(9)

(10)
式中:Nc為疵點樣本被正確標記為疵點樣本的個數;Nd為疵點的總個數;Ns為無疵點樣本被誤判為疵點樣本的個數;Nr為無疵點樣本的總個數。據經驗分析,設定稀疏基數T為1~3,常數p在1和2之間手動調整。疵點量化檢測結果如表2所示,圖8中的疵點樣本的檢測結果如圖9所示。

表2 疵點量化檢測結果Table 2 Defect quantitative detection results

圖9 部分疵點樣本檢測結果Fig.9 Detection results of partial defect samples
由表2和圖9可知:所提算法不僅適用于平紋織物和斜紋織物,還可用于小提花等較為復雜的織物紋理,疵點的檢出率在96.0%以上,進一步驗證了本文算法對于不同織物紋理的自適應性。
為驗證本文算法的有效性,選用跳花、斷疵2種疵點樣本,并將疵點檢測結果與文獻[21]相比,結果如圖10所示。由圖10可知:這2種樣本疵點中織物紋理結構存在明顯變化且包括部分線性區域,本文提出的算法和文獻[21]的算法都能實現樣本疵點區域的檢測,但是文獻[21]的算法對于灰度和結構變化不大的線性疵點區域的檢測效果并不理想,而本文所提算法通過對圖像進行重構可以精準檢測出線性疵點區域。
本文從無疵點織物紋理入手,研究了局部織物紋理表征算法,在此基礎上提出一種紋理表征的疵點檢測方法。對于不同的織物紋理,設計了兩種子窗口劃分方式,并優選試驗參數,實現了織物紋理的有效表征與織物疵點檢測。
改進表征算法后對不同組織以及不同疵點類型織物樣本圖像進行檢測。試驗結果表明,所提算法不僅可以在一定程度上抑制高斯噪聲,實現無疵點織物紋理圖像重構,還可對灰度織物圖像和復雜紋理的疵點進行有效檢測,即對織物紋理的自適應性較好。后續將對復雜織物疵點的通用性和準確率做深入研究。