張宏偉,劉舒婷,陸 帥,顧 德,嚴 冬
(1.西安工程大學 電子信息學院,陜西 西安 710048;2.浙江大學 工業(yè)控制技術國家重點實驗室,浙江 杭州 310027;3.北京理工大學 理學院,北京 100029;4.江南大學 輕工過程先進控制教育部重點實驗室,江蘇 無錫 214122)
色織物是采用染色紗線進行織造的織物,其品種繁多,各具特色。色織襯衫是我國紡織行業(yè)中的重要服裝產品之一,其特殊的花型外觀贏得了國內外消費者的歡迎[1]。在色織襯衫生產過程中,由于織造設備故障以及操作工人熟練程度不同,使得色織襯衫存在不同形態(tài)的缺陷[2],嚴重影響色織襯衫的品質和市場議價能力。目前,絕大多數襯衫制衣企業(yè)采用人工目測的方法進行缺陷檢測。該方法存在效率低、檢測結果不穩(wěn)定且易受個人主觀因素干擾等問題[3]。因此,使用機器視覺的自動檢測方法代替人工檢測,受到了研究人員的關注。
目前,織物缺陷檢測的主流方法主要分為頻譜法、結構法、統(tǒng)計法、模型法和學習法等5類。其中,基于頻譜的方法又包括傅里葉變換[4]、小波變換[5-6]和Gabor變換[7]等;基于統(tǒng)計的方法包括直方圖統(tǒng)計法、灰度共生矩陣[8]和數學形態(tài)學[9];基于模型的方法包括自回歸模型[10]、馬爾可夫模型[11]等;基于學習的方法主要有字典學習法[12-13]等。然而,上述各特征工程算法耗時長,對于小批量、花型變化快的色織襯衫檢測成本過高。
與特征工程方法相比,神經網絡具有更好的特征提取能力。目前,大多數深度學習模型都屬于有監(jiān)督范疇,在訓練的過程中需要大量帶標簽的缺陷樣本。在現實中,獲取大量缺陷樣本十分困難,且對樣本進行標注的人工成本也較高。
無監(jiān)督學習不需要大量缺陷樣本,也不需要標注,只需要正常樣本即可訓練模型,實現缺陷區(qū)域的定位,引起了研究人員的關注。2017 年,LI等設計了一個去噪自編碼器,重構色織灰度圖像數據,首次引入無監(jiān)督方法進行色織物的特征提取[14];2019 年,張宏偉等提出了一種基于深度去噪卷積自編碼器的重構模型,初步實現了色織物缺陷的快速檢測和定位[15];2021年,張宏偉等又提出一種U型卷積去噪自編碼器,進一步提升了缺陷檢測的準確性[16]。本文針對經典自編碼器對復雜花型色織襯衫面料檢測能力弱的問題,提出一種基于多尺度去噪卷積自編碼器的色織襯衫面料缺陷檢測模型。
特征金字塔(feature pyramid net-work,FPN)主要是用于處理圖像中目標檢測的多尺度問題[17]。高層卷積特征中的特征映射具有分辨率較低但語義信息較高的特點,而低層卷積特征中的特征映射具有分辨率較高但語義信息較低的特點。特征金字塔模型核心思想是將高層卷積特征與低層卷積特征相結合,使得各個尺度下的卷積特征都有豐富的語義信息[18]。
本文在去噪卷積自編碼器[15](denoising convolutional auto-encode,DCAE)的基礎上融入特征金字塔,提出一種基于多尺度去噪卷積自編碼器(multiscale denoising convolutional auto-encode,MDCAE)的色織襯衫面料缺陷檢測模型。模型結構如圖1所示。
圖 1 MDCAE模型結構圖Fig.1 Structure diagram of the MDCAE model
網絡模型結構采用編碼器-解碼器結構,包含2個主要部分:一個是編碼階段,網絡層中特征圖經下采樣,使得空間維度逐漸減小,在網絡深度逐漸增加的過程中學習到更多的全局信息;另一個是解碼階段,從編碼網絡結構中輸出的小特征圖,經過上采樣操作,使得特征維度逐漸恢復,不斷還原出原始輸入的局部細節(jié)信息,可以對淺層的特征圖進行補充和加強。在解碼過程中融合了編碼器中的第一層下采樣和第二層下采樣的特征,使得融合后的特征圖具有更豐富的信息。編碼器由3個卷積層和3個池化層構成,解碼器由3個上采樣層和3個卷積層構成。該網絡結構如表1所示。
表 1 MDCAE網絡結構
編碼器的輸入為512×512×3三通道圖像,網絡結構由3個卷積層和3個池化層構成,每個池化層緊跟卷積層之后,并且每一層的輸出特征作為下一層的網絡輸入。
解碼器的輸入為編碼器的輸出,網絡結構由3個上采樣層和3個卷積層構成。第二層上采樣層的輸入融合了上一層卷積層的輸出以及編碼器中第二層池化層的輸出;第三層上采樣層的輸入融合了上一層卷積層的輸出以及編碼器中第一層池化層的輸出。實現了多尺度特征融合。解碼器的輸出為512×512×3三通道圖像。
MDCAE模型搭建好以后進入訓練階段,如圖2所示。模型輸入為三通道的無缺陷色織襯衫面料彩色圖像,在疊加椒鹽噪聲以后進入編碼器,即
(1)
(2)
MDCAE模型訓練完成后即可用于色織襯衫面料的缺陷檢測,具體流程如圖3所示。輸入待測色織襯衫面料圖像,訓練好的MDCAE模型對其進行重構,生成一張與原圖尺寸相同的無缺陷圖像。接著,將待測圖像與重構圖像做殘差運算,并對所得殘差圖像做形態(tài)學處理。若待測圖像中有缺陷,則在檢測結果圖像上能看到明顯的缺陷區(qū)域。
圖 2 MDCAE模型訓練示意圖Fig.2 Training diagram of MDCAE model
圖 3 MDCAE模型缺陷檢測示意圖Fig.3 Defect detection diagram of MDCAE model
MDCAE模型的具體檢測步驟為:首先將待測圖像與重構圖像做殘差,即
Rn=I1-I2
(3)
式中:I1為待測圖像;I2為重構圖像。兩者做差,即可出現殘差圖像Rn。對殘差圖像進行灰度化,即
Gr=0.299R+0.587G+0.114B
(4)
式中:Gr為灰度化后的圖像。對灰度化后的圖像進行濾波,以去除較小的噪聲,即
(5)
式中:(x,y)為殘差圖像的像素坐標;σx為該圖像x軸方向的像素標準差;σy為該圖像y軸方向的像素標準差。然后對圖像進行閾值分割,即
(6)
式中:T為選定的閾值,大于T的部分值為1,小于T的部分值為0。最后對二值殘差圖進行先腐蝕后膨脹的開運算操作,得到最終檢測結果。腐蝕和膨脹操作分別為
A?B={y|(B)y?A}
(7)
A⊕B={y|(B)y∩A≠?}
(8)
式中:A表示目標圖像,B表示結構元素,y表示平移量;?為腐蝕操作,移動結構B,如果結構B與結構A的交集完全屬于結構A的區(qū)域內,則保存該位置點;⊕為膨脹操作,如果移動B的過程中,與結構A存在重疊區(qū)域,則保留B內所有位置點。
實驗用GPU平臺系統(tǒng),主要配置為1個CPU Intel i7-6800k、3塊NVIDIA GeForce 1080Ti 11 G和8個16 GB內存;操作環(huán)境為Ubuntu 16.04、CUDA9.0、cuDNN5.1、pytorch1.1.0,Anaconda3.0。
用于缺陷檢測的色織襯衫面料來自廣東溢達紡織有限公司制衣廠。這些面料利用掃描儀進行圖像采集,整理成分辨率為512×512×3的樣本。根據色織襯衫面料的顏色和紋理特征,將其分為3類,分別命名為Simple lattices(SL)、Stripe patterns(SP)、Complex lattices(CL)。選取了6組色織襯衫面料圖像數據集,其中簡單色織花型3組,分別為SL1、SL8、SL10;復雜色織花型3組,分別為CL3、CL4、CL10。數據集的訓練樣本(無缺陷)個數和檢測樣本(有缺陷)個數如表2所示。
色織襯衫面料的缺陷種類和大小不一,本文選取了各數據集部分樣本,如圖4所示。
(a) SL1部分數據樣本
(b) SL8部分數據樣本
(c) SL10部分數據樣本
(d) CL3部分數據樣本
(e) CL4部分數據樣本
(f) CL10部分數據樣本圖 4 色織襯衫面料部分樣本Fig.4 Samples of yarn-dyed shirt fabric
重構模型參數設置為:初始學習率為0.001,每個Batch中訓練樣本的數量16,最大迭代次數1.5×104,椒鹽噪聲為0.7,深度學習優(yōu)化器選擇Adam函數。
對檢測結果進行定性、定量分析。定性分析為缺陷檢測區(qū)域的直觀圖示;定量分析采用準確率(P)、召回率(R)、精確率(Accuracy,ACC)和F1等4個指標評價模型。其中,準確率、召回率、精確率和F1的定義分別為:
P=[(TP/(TP+FP)]×100%
(9)
R=[TP/(TP+FN)]×100%
(10)
ACC=[(TP+TN)/(TP+TN+
FP+FN)]×100%
(11)
(12)
式中:TP表示真實缺陷區(qū)域被成功檢出的像素個數;TN表示真實缺陷區(qū)域未被檢出的像素個數;FP表示正常區(qū)域被錯誤檢測為缺陷區(qū)域的像素個數;FN表示正常區(qū)域被成功檢測為正常區(qū)域的像素個數。
將提出的MDCAE模型與DCAE模型和去噪自編碼器(denoising auto-encode,DAE)模型的檢測結果進行了對比,部分結果如圖5所示。
圖 5 3種模型檢測結果對比Fig.5 Comparison of detection results of three models
圖5實驗結果顯示,對于DAE模型,無法實現缺陷定位。在SL1、SL8、SL10等3個數據集上存在漏檢;在CL3、CL4、CL10上存在大量噪聲。DCAE模型在SL1、SL8、SL10、CL4等4個數據集上能實現缺陷定位,但在CL3、CL10數據集存在過檢。MDCAE模型在SL1、SL8、SL10、CL4、CL10等5個數據集上能實現缺陷定位,在CL3上存在過檢。綜合來看,MDCAE模型的缺陷檢測和定位效果最好。
表3為DAE模型、DCAE模型、MDCAE模型分別對SL1、SL8、SL10、CL3、CL4、CL10等6個數據集檢測結果的對比。準確率、召回率、精確率、F1值4個評價指標,數值越大,表明檢測結果越好。
表3顯示:對于簡單色織花型數據集,MDCAE模型在SL1、SL8上的整體檢測效果最好,高于DAE、DCAE模型;在SL10上的效果高于DAE模型,弱于DCAE模型。對于復雜色織花型數據集CL3、CL4、CL10,與DAE、DCAE模型相比,MDCAE模型檢測效果有明顯提升。對于F1指標,與DCAE模型相比,MDCAE模型分別提升了14.97%、9.13%、44.23%。
表 3 不同模型評價結果對比
可見,MDCAE模型在簡單色織花型上明顯好于DAE模型,整體稍好于DCAE模型,但在復雜花型上卻明顯好于DAE、DCAE這2種模型。原因是在訓練過程中,編碼器不斷對圖像特征進行提取和濃縮,而編碼器輸出的大小不變,所提取出的特征容量有限;解碼過程中,多尺度融合的方式使得隱藏層包含更多可能在編碼過程中丟失的信息,使得最終的圖像重構效果更好。而復雜花型包含的特征信息更多,丟失的可能性更大,所以MDCAE模型在復雜花型上的提升效果更明顯。
本文提出了一種基于多尺度去噪卷積自編碼器的缺陷檢測方法。該算法對特征圖進行了多尺度特征融合,使得融合后的特征圖具有更豐富的語義信息。該方法在僅使用無缺陷樣本的情況下,訓練建立的多尺度卷積自編碼器模型可以自動重構修復待測樣本中的缺陷。計算待測色織襯衫面料圖像與重構圖像的殘差,并對殘差圖像進行數學形態(tài)學處理,可以有效實現缺陷檢測和定位。該方法的準確率和實時性能夠滿足色織襯衫面料缺陷檢測的工程化需要。