顧德英 陳 龍 李文超 王 娜
(東北大學秦皇島分校,河北秦皇島,066004)
在紡織行業中,疵點檢測是織物生產和質量管理的關鍵環節。傳統的織物疵點檢測大多是依靠人工進行,需要檢測人員一直用肉眼觀察生產線上的織物,但隨著紡織工業的生產標準不斷提高,織物的圖案、花色越來越復雜,人工檢測的速度和精度逐漸與紡織產業的要求產生脫節。此外,人工檢測存在如檢測效率低、檢測速度慢、漏檢率較高等不足。因此,自動化織物疵點檢測設備代替人工檢測是紡織業領域發展的必然趨勢,準確、高效、自動化地檢測到復雜圖案印花織物疵點具有重要意義[1]。
目前,國內外的學者針對單色、規則圖案的織物疵點檢測問題已經取得了一定的研究成果。2014 年,GIRSHICK R 等[2]提出R?CNN 區域卷積神經網絡結構,利用候選區域結合卷積神經網絡提取特征,但該算法訓練過程耗時相對過長。LIU Z 等[3]采用點到點的方式,利用卷積神經網絡對織物疵點進行檢測,該方法適用于復雜的織物紋理背景。文獻[4]提出在網絡模型中增加卷積網絡約束來提高訓練速度。景軍鋒等[5]提出了針對單色織物疵點檢測和分類的算法,但該算法未在紋理復雜的織物上實踐。LI Y 等[6]提出了一種對棧式去噪自編碼器,并在其中融合Fisher 準則,但隨著織物圖片樣本數增加,其準確率會有所下降。許玉格等[7]提出了一種基于深度學習的紋理織物疵點檢測方法,該方法可提升檢測的準確率,但織物疵點種類增多時,需進一步調整才能符合實際應用需求。劉洲峰等[8]提出了一種對比圖像像素的鄰域和主鄰域結構圖的方法。該方法對圖案規則的織物樣本檢測效果較好,但對圖案不規則的織物樣本檢測效果較差。
綜上所述,織物疵點檢測技術雖然取得了一定的成果,但在復雜圖案印花織物疵點檢測方面仍存在準確率不足及漏檢率高的問題。因此,本研究提出一種基于深度學習的復雜圖案印花織物疵點檢測方法。該方法采用改進的織物疵點檢測模型,結合改進的損失函數對數據集進行處理,有效提升了檢測的準確率,降低了誤檢率和漏檢率。
為解決復雜圖案印花織物疵點檢測在準確率、誤檢率以及漏檢率上存在的問題,本研究在ResNet50 網絡的基礎上融入可變形卷積(De?formable Convolutional Networks,DCN)結構[9],得到改進后的ResNet50?DCN 網絡模型。該網絡模型在提取疵點特征的過程中,采用網絡的第3~第5 階段生成的特征圖建立BFP?FPN(Bal?anced Feature Pyramid ? Feature Pyramid Net?works)模塊[10?11],然后在該模塊的輸出部分引入具有線性性質的特征融合模塊,該模塊可以融合織物圖片的模板圖和待檢測的疵點圖,從而獲取融合后的特征圖,消除了復雜圖案背景對織物圖像的影響,然后將提取到的結果送入RPN(Re?gion Proposal Network)網絡,獲得相應的候選框后進行ROI 池化處理,得到大小相同的候選框,最終對候選框做分類以及回歸處理。模型的整體結構見圖1。

圖1 整體網絡結構圖
一般情況下,ResNet50 網絡[12]中卷積核是大小固定的,在面對不同尺寸或者不同形狀的織物疵點時,缺乏一定的自適應能力,會導致定位不精準。而在DCN 模塊中的每一個單元均能夠進行變形,且任一單元點均可跟隨一個具有學習能力的偏移量進行移動。復雜圖案印花織物疵點形狀很多呈現不規則狀態,僅使用原始的ResNet50 網絡不能較好地處理不規則疵點,所以,本研究在ResNet50 網絡的基礎上引入DCN 來適應形狀不規則的織物疵點,較好地提升了檢測的準確率。
原始的ResNet50 網絡模型主要包括5 個階段,首先將待檢測的織物圖片輸入到網絡中,接著進入第1 階段,該階段主要包括卷積、批處理、Re?lu 激活函數以及最大池化,第2~第5 階段主要由卷積模塊和識別模塊組成,然后輸出對應的特征圖。
本研究在ResNet50 網絡模型的后3 個階段中加入DCN,見圖2。圖2 虛框內是3×3 的DCN,首先在普通卷積上引入2D 偏移量,然后依據輸入部分的特征圖,再利用補充卷積層進行學習,實現對復雜圖案印花織物的不規則形狀疵點的學習以及適應,最后將輸入部分獲得的特征圖以及偏移量一起送入卷積層獲得相應的輸出特征圖。

圖2 ResNet50?DCN 網絡模型
FPN 模塊在檢測小像素目標中效果較好,該模塊由2 個部分組成。第1 部分通過自下而上提取特征,第2 部分將自上而下的每一層特征圖和左側的特征圖相加,2 個部分之間采取橫向連接方式,最后獲取特征融合后的預測結果。由于不同層級間特征具有不平衡性,FPN 結構在提取特征時存在提取不平衡的問題,因此,本研究使用BFP?FPN 模塊緩解不同層級間特征不平衡問題,并在BFP?FPN 模塊后添加具有線性性質的特征融合模塊,改進后的網絡結構見圖3。圖3 中,C1~C4 表示FPN 結構獲得的4 個尺度的輸出結果,P1~P4 表示經過BFP 處理后的輸出結果。

圖3 改進的FPN 網絡模型
引入的特征融合模塊實質是一種線性組合方式,即將含有復雜圖案印花織物疵點圖片的特征圖與不含任何疵點的模板圖片特征圖進行加權求和,其采用的計算公式見式(1)。

式中:Df表示待檢測特征圖,Tf表示模板特征圖,Of表示輸出的融合特征圖,m、n表示學習參數。自動學習模板特征圖與待檢測特征圖之間存在相關性,改進后的BFP?FPN 結構能夠更充分提取特征信息,同時增強不同層級間特征的平衡性。
Focal Loss 函數[13]一般用于處理多分類任務中數據樣本的不平衡問題。本研究中的織物疵點類型豐富且數據樣本分布不均,因此采用Focal Loss 函數克服在不同類型織物疵點圖片樣本下存在的不均衡問題。該函數中通過采用softmax函數計算目標的預測值,softmax 函數的計算公式見式(2)。由式(2)可知,該函數主要由指數函數構成,其具有放大性質,該性質在一定程度上會導致數據的上溢。所以,本研究在原函數的基礎上添加了一個常數項作為調節因子,保證結果不變的同時確保了數據的正確性。

式中:y的值為0 或者1,y?是目標的預測值,γ表示調節權重曲線的傾斜程度。
在多分類問題中,Focal Loss 函數可以簡化為Lfl=-(1-y?)γlogy?,在式(3)的基礎上提出了一點改進,見式(4)。

式中:K與γ均用于表示調節權重曲線的傾斜程度,添加的ε值表示調節因子,用于防止指數函數造成的數據溢出。
因為指數函數自身的性質可以推導得到softmax(-Kxi+ε) =softmax(-Kxi),所以改進后的損失函數有效地避免了數據處理時存在的上溢情況,同時保證了獲取數據的準確性。
本研究采用的計算機配置為Intel i7 8700K CPU 和NVIDIA GeForce GTX1080TI GPU,操作系統是Ubuntu16.04,采用PyTorch 深度學習框架,試驗中設置batch size 為2,訓練步數為550 000,初始學習率為0.002,優化參數動量因子為0.9,衰減系數為0.000 1。本研究的數據集中包含了18 063 張織物疵點圖片,680 張模板圖片。其中,模板圖片是指只含有背景紋理信息且不包含疵點的織物圖片。試驗過程中采用分辨率為4 096 pixel×1 696 pixel 的織物圖片,并且選用其中的16 256 張布匹疵點圖片做訓練集,然后將剩下的1 807 張布匹圖片做驗證集。本研究主要針對破洞、縫頭、網折、蟲粘、花毛、沾污以及織疵共7 類疵點進行檢測,試驗結果見圖4。

圖4 本研究模型檢測結果圖
最終通過分類準確率(Accuracy,Acc)與平均精度均值(mean Average Precision,mAP)兩項指標的值判斷改進的網絡模型和原始網絡模型的性能。準確率計算公式見式(5)。

式中:TP表示正確分類的正例,TN表示正確分類的負例,FP表示負例被錯分為正例,FN表示正例錯分為負例。
平均精度(Average Precision,AP)表示針對單個類別的識別器,mAP表示對不同類別的AP獲取平均結果,具有評價多個分類器的性能。mAP的值域在0~1 的范圍內,mAP值越大說明其檢測準確率越高。具體見式(6)~式(8)。

式中:AP中采用了11 點插值的方式獲取最佳的檢測精度,r表示11 個點中的任意一點,ρinterp(r)表示單一類別識別器在任意一點獲取的檢測精度值,ρ(r?)表示召回值為r?時的檢測精度值,N表示分類器的個數總和。
ResNet50 與ResNet50?DCN 的網絡性能對比試驗結果見表1。由表1 可知,mAP和準確率分別提高了0.75 個百分點和0.91 個百分點,誤檢率和漏檢率分別降低了0.91 個百分點和0.29 個百分點。改進后的網絡模型能夠有效提高檢測準確率,同時也改善了網絡模型存在的誤檢率和漏檢率問題。改進后的ResNet50?DCN 網絡模型具有更強的不規則織物疵點的特征提取能力。

表1 ResNet50 和ResNet50?DCN 網絡性能對比
在FPN 網絡中加入BFP 模塊,利用優化的BFP?FPN 結構,改善了復雜圖案印花織物疵點在FPN 網絡不同層級特征不平衡問題。試驗結果見表2。由表2 可知,mAP和準確率分別提高了0.79 個百分點和0.70 個百分點,而誤檢率和漏檢率分別降低了0.70 個百分點和0.10 個百分點。改進后的網絡模型比原始網絡模型稍有改善,說明BFP?FPN 模塊結合特征融合模塊對特征提取具有較好的效果。

表2 FPN 和BFP?FPN 網絡性能對比
不同模型在織物疵點數據集上的試驗結果見表3。由表3 可知,本研究改進的算法與已經存在的優秀算法相比,其mAP值達到了67.87%,提高了2.34 個百分點,且有效地將復雜圖案印花織物疵點檢測的準確率提升了3.01 個百分點,并將誤檢率與漏檢率分別降低了3.01 個百分點、0.04個百分點。

表3 不同模型在織物疵點數據集上的試驗結果
本研究提出的基于深度學習的復雜圖案印花織物疵點檢測方法從準確率、誤檢率、漏檢率上均優于原始算法。試驗過程中主要針對表面平整的印花織物進行檢測,采用改進的ResNet50?DCN網絡結構增強了對不規則織物疵點的適應能力,利用優化的BFP?FPN 結構改善了復雜圖案印花織物疵點在FPN 網絡不同層級特征不平衡問題,并且使用改進的損失函數有力地確保了數據的正確性。試驗表明,該算法有效地克服了復雜圖案印花織物疵點檢測過程中存在準確率較低、誤檢率和漏檢率較高的檢測難點,較好地改善了復雜圖案印花織物疵點檢測模型的性能。