吳 瑩, 占 竹, 汪 軍,4
(1. 浙江理工大學 服裝學院, 浙江 杭州 310018; 2. 浙江理工大學 服裝數字化技術浙江省工程實驗室, 浙江 杭州 310018; 3. 東華大學 紡織學院, 上海 201620; 4. 東華大學 紡織面料技術教育部重點實驗室, 上海 201620)
從理論上而言,機織物的織造工藝使得紋理呈現出一定規律性;但由于實際操作的誤差和織物結構參數的不斷變化,市場需求多變等因素,機織物品種豐富、種類繁多,相應的紋理特性也是風格多變的[1]?,F有文獻中涉及到的織物紋理分析算法主要是根據先驗知識、濾波器以及特征值等來實現,而織物紋理的隨機性差異增加了普適性紋理特征或濾波器的提取難度。此時學習算法為織物紋理表征提供了另一種思路,即繞開紋理特征的提取環節,直接對織物樣本進行學習,其中常見的有字典學習法等。字典學習法已廣泛應用于人臉識別、圖像壓縮和圖像去噪等計算機視覺領域。
傳統的紋理分析方法大都用于織物疵點檢測算法[2-4],由于訓練參數過多和特征不靈活致使該類算法的通用性較差,故紋理在線檢測仍是一個充滿挑戰且懸而未決的問題[5]。為此,本文從機織物紋理分析的基礎研究入手,采用字典學習法來對織物紋理進行表征。根據字典構建方式的不同,字典可分為固定字典和學習字典2類[6]。對于各式各樣的織物紋理,固定字典耗時短,卻不能自適應織物紋理;學習字典可有效自適應織物紋理,但耗時長。固定字典需要先選取字典,即字典形狀固定,原子形態不會隨著圖像本身的復雜結構而改變,字典與圖像的匹配不是最佳的。為了更好地表征織物紋理,提高字典的通用性和實時性,本文對某種組織結構類型的織物圖像進行字典學習,獲得擁有該組織結構特征的學習字典,結合固定字典快速穩定的優勢,設計織物紋理穩定表征的通用字典算法。
任意給定信號矩陣X=[x1,x2,…,xn],xi∈Rm,i=[1,2,…,n]字典學習的目標就是尋找一個字典D以及相關的系數矩陣α來線性表達信號,即xi=Dαi。對于該線性表達,需要預先確定字典,可見字典的構建是本文算法的核心。
為了進一步優化字典,可將字典學習添加不同的約束條件,如正交約束、非負約束以及稀疏約束,而本文主要在l2范數近似條件下對稀疏約束下的字典學習進行研究,其問題表示如式(1)所示。
(1)

鑒于正交匹配追蹤(OMP)算法的簡潔有效性、求解唯一性,本文通過OMP算法對式(1)進行求解[7]。通用字典是訓練得到的,其數值固定,加上OMP求解的唯一性,因此本文算法可對機織物紋理穩定表征。
選取一系列正??椢飯D像作為訓練樣本,經子窗口劃分后,對子窗口樣本圖像進行字典學習,得到學習字典,即通用字典,如圖1所示。

圖1 通用字典表征織物紋理的流程圖Fig.1 Process of general dictionary to represent fabric texture
任意未知織物紋理圖像Y,經子窗口劃分后,根據通用字典和OMP算法對式(1)進行求解,重構圖像的模型,如式(2)所示。

(2)

最優方向法(MOD)[8]和K-奇異值分解法(K-SVD)算法[9]是2種經典的字典學習法。它們的區別主要有2點:MOD是更新整個字典,而K-SVD是逐個字典原子進行更新(1個字典原子是字典的某列);前者只需實施一次最小二乘法即可完成字典更新,而后者的字典更新需要K次奇異值分解(K由字典個數所定)方可完成。為了選取合適的方法,分別采用MOD算法和K-SVD算法對樣本圖像進行紋理表征。其中織物樣本是256像素×256像素的8位灰度圖像,并設定統一實驗條件:字典大小k=256,子窗口大小8像素×8像素,稀疏基數T=4,程序迭代5次[10]。實驗程序是在Windows 10(64 位)操作系統下的MATLAB R2016A上運行,計算機配置為INTEL CPU(3.40GHZ)和8G內存。

圖2 學習字典Fig.2 Learned dictionary. (a) MOD dictionary; (b) K-SVD dictionary
2.1.1 表征結果比較
分別采用上述2種算法對1#、2#織物樣本圖像進行紋理表征,通過文獻[10]中圖像的峰值信噪比(PSNR)、算法實時性和結構相似性(SSIM)這3個量化指標來評價。2種算法所得的學習字典如圖2所示,表征結果如表1所示。對于1#樣本,顯然K-SVD算法的表征效果優于MOD 算法,不足的是K-SVD算法運行所需的時間多幾秒,但差異不大??傊?,上述2種字典學習算法都可自適應織物紋理,獲得相似的表征效果。

表1 2種字典學習算法的結果比較Tab.1 Comparable results for two algorithms
2.1.2 通用字典表征結果比較
任意選取8種正??椢飿颖緢D像,經子窗口劃分后,從中選取超過6 000個8像素×8像素的子窗口樣本圖像組成訓練樣本,織物樣本圖像如圖3所示。分別采用K-SVD算法和MOD算法對訓練樣本進行字典學習,所得2種類型的通用字典,詳見圖4。觀察圖3、4可知,通用字典包含織物紋理特征,原子形態也更為豐富。

圖3 織物樣本原始圖像Fig.3 Fabric original sample images

圖4 通用字典Fig.4 General dictionary. (a) K-SVD general dictionary; (b) MOD general dictionary
以1#、2#樣本為例,表2給出了2種通用字典的表征效果。比較表1、2發現,通用字典算法的實時性較學習字典好,表征效果次之。不過這種差異可通過優化實驗參數進行彌補,如若通用字典的稀疏基數T增大到6,此時樣本1#的峰值信噪比(PSNR)和結構相似性(SSIM)分別為43.80 dB、0.95,且實時性155.16 s<566.5 s(K-SVD學習字典的實時性)。

表2 2種通用字典的量化測試結果Tab.2 Quantitative test results for two general dictionaries
綜上所述,K-SVD 可有效表征織物紋理,縮短了2種字典學習算法實時性的差異。此外,通用字典還可通過優化實驗參數拉近與學習字典的差異,且實時性的優勢明顯。為此選用K-SVD字典學習來獲得通用字典。
稀疏基數是求解系數矩陣的關鍵,需要在織物紋理表征實施前預先確定的參數,這是因為T對表征結果有著直接的影響。若T太小,重構效果差,實時性好,且隨著T的增大,計算量的激增給算法實際運行增加了困難;所以稀疏基數的合適與否直接關系到織物紋理能否有效表征。為此,本文選取10個T值對2#樣本進行實驗,并從主客觀2方面來分析稀疏基數對紋理表征的影響。
主觀方面,織物重構圖像的視覺效果隨著稀疏基數T數值的增大而變好,如圖5所示。T為1時,所提算法僅表征出樣本2#的主要紋理,且所得表面紋理模糊。增大T使得重構圖像紋理特征逐漸清晰,到T為6時,肉眼較難區分重構與原始圖像之間的差異。

圖5 2#樣本在稀疏基數T值的重構圖像Fig.5 2# sample′s reconstructed images with different sparse cardinality T values
客觀方面,圖6示出稀疏基數T的量化測試結果。稀疏基數的增大使得樣本2#的表征結果更優,如PSNR值增大,SSIM值先增大后接近收斂。如稀疏基數為6時,PSNR和SSIM的值分別為30.0 dB左右和0.9,此時持續增大稀疏基數,PSNR增幅逐漸平緩,SSIM也愈發接近1并趨于收斂,可見一味地增大稀疏基數是不可行的。此外,本文將結合算法實時性來優選稀疏基數,算法在不同稀疏基數下的實時性詳見圖6(c)。觀察圖6(c)不難發現,稀疏基數和算法的實時性呈現正相關,稀疏基數從6增加到8,實時性也從150 s 增大到200 s。為此,最終選用T=6來表征織物紋理。
實驗部分所涉及到的字典個數、稀疏基數、子窗口尺寸分別為256、6和8像素×8像素(下同),采用基于K-SVD算法的通用字典(因為其織物圖像是任意選取的,所以本文將其稱為普通通用字典)對樣本數據集進行表征,與離散余弦變換字典(DCT字典,本文簡稱固定字典)[6]的比較結果見圖7。需要說明的是所有實驗是在同一水平下進行比較??椢飿颖緢D像的表征結果表明通用字典的表征結果優于固定字典,即PSNR值和SSIM值較固定字典的大。由此可見,普通通用字典較固定字典對織物紋理的適應性更好,且對表征效果有明顯的改善。

圖7 2種字典的對比實驗Fig.7 Comparative test for two kinds of general dictionaries

圖8 織物樣本圖像Fig.8 Fabric sample images
上述普通通用字典具有較為廣義的普適性,為了進一步優化通用字典算法,將針對某種組織或多種組織結構的字典學習得到不同種類的通用字典。針對2#~5#樣本的4種組織結構(見圖3、8),通過字典學習得到相應的組織結構通用字典及集合4種組織結構的聯合組織結構通用字典。值得注意的是每種組織結構涉及到的訓練樣本由5種不同密度的樣本組成,且其余織物結構參數一致;聯合組織結構有20個訓練樣本(4種組織結構訓練樣本的集合)。
對于3種通用字典,表3給出了它們的量化測試結果。經比較發現織物紋理表征效果由好到壞依次為:組織結構通用字典、聯合組織結構通用字典和普通通用字典。比較3種通用字典對于樣本3#的表征結果可知,聯合組織結構通用字典的表征結果次于組織結構通用字典, 但較普通通用字典優。實驗結果表明,通用字典的專用性較好,可為織物紋理分類提供借鑒。

表3 3種通用字典的對比結果Tab.3 Comparative test results for different general dictionaries
本文所提通用字典是由K-SVD字典學習算法訓練所得,然后通過主觀視覺、客觀量化和實時性來優選稀疏基數。為了優化通用字典的性能,本文訓練了3種不同類型的通用字典,并對其進行了實驗驗證。實驗結果表明:在相同參數下,與固定字典相比,普通通用字典對織物紋理有更好的適應性;在此基礎上,針對組織結構類型,分別訓練得到組織結構通用字典和聯合組織結構字典。普通、組織結構和聯合組織結構3種通用字典的表征結果表明:組織結構通用字典的專用性能最優,普通通用字典具有較好的通用性,聯合組織結構通用字典介于二者之間。
綜上所述,通用字典可在一定程度上自適應織物紋理,為織物紋理的分析與分類提供理論依據和借鑒。此外,通用字典是離線訓練所得,對于織物紋理分析的在線處理速度影響不大,以后還可研究通用字典的織物疵點檢測。
FZXB