周新龍張宏偉,2吳燕子陸 帥張 玥
(1.西安工程大學,陜西西安,710048;2.浙江大學工業控制技術國家重點實驗室,浙江杭州,310027;3.北京理工大學醫工融合研究院,北京,100081)
色織物因其紋理風格豐富多變,深受消費者的喜愛[1]。在織物的生產過程中,由于紡織設備故障、紗線質量等因素造成織物表面產生各種各樣的缺陷,這將嚴重影響產品的質量與銷量,使得產品利潤減少45%~65%[2]。傳統的人工目測方法易受主觀因素、視覺疲勞影響,導致檢測精度和效率低。同時現有的機器視覺方法大多只能適用于花形圖案、紋理背景單一的織物缺陷檢測,因此迫切需要研究一種普適性廣、準確度高的自動檢測方法來提高織物缺陷檢測的準確性和效率。
基于機器視覺的織物缺陷檢測算法主要有統計算法[3]、頻譜算法[4]、基于模型的算法[5]。其中統計算法又分為灰度共生矩陣法[6]、自相關法[7]、形態學法[8]等,通過計算圖像灰度出現的概率實現對圖像紋理特征的準確描述。頻譜算法主要有傅里葉變換[9]、小波變換[10]、Gabor特征法[11],可實現織物表面缺陷特征在空域和頻域中的優化定位。模型算法主要有高斯馬爾可夫隨機場[12]、自相關模型[13]等,通過高斯核函數提取多重織物分型特征。由于色織物具有紋理隨機性比較強、局部紋理背景排列結構堆疊多變等特點,傳統算法不能很好地應用于色織物缺陷檢測。因此研究色織物缺陷檢測算法有著現實工程意義,同時面臨著嚴峻的算法技術考驗。
近年來,深度網絡體系結構被廣泛應用于織物缺陷檢測問題中。在有監督深度學習領域,JING J F等人[14]將織物圖像分解為若干圖像塊并標記,然后利用二階微分求取圖像塊像素分割的最優值,完成織物疵點檢測。周君等人[15]在YOLOv3的基礎上,結合織物疵點尺寸和k-means算法對目標幀進行維數聚類,有效地降低了對灰布和格子布的誤檢率。然而在實際工業應用中,獲取大量的缺陷樣本進行人工標注來訓練神經網絡是非常困難的,這就使得缺陷的紋理細節特征并不能得到完全表達,無法對色織物缺陷進行準確定位。無監督深度學習缺陷檢測的核心思想是通過訓練大量的無缺陷樣本圖像,學會創建圖像的低維表示,完成重構圖像,并與原始圖像進行分析比較實現缺陷檢測。張宏偉等人[16]提出一種深度去噪卷積自編碼器(Denosing Convolutional Auto-Encoder,DCAE)模型,已初步實現對簡單色織物缺陷的快速檢測和定位。MEI S等人[17]利用圖像高斯金字塔的信息,構建了多尺度卷積去噪自編碼器(Multi-scale Convolutional Denoising autoencoder,MSCDAE)模型,實現了對灰色圖案織物檢測,但是在檢測色織物缺陷時容易出現過檢的情況。張宏偉等人[18]還提出一種U型去噪卷積自編碼器(U-shaped Denosing Convolutional Auto-Encoder,UDCAE),該網絡結構緊湊、參數簡約,可以完成織物圖像全局深度特征提取,但對部分花形較為復雜的色織物圖像缺陷檢測仍然存在漏檢、誤檢的問題。
本研究針對傳統自編碼器在復雜紋理背景下色織物缺陷檢測漏檢率、誤檢率高的問題,提出一種基于對比學習生成式對抗(ContrastGAN)的無監督檢測方法。模型訓練過程中,通過生成器和判別器完成色織物深層高維特征提取和全局視圖特征表達。然后特征向量經多層感知器(MLP)二次映射到特征度量式隱空間中,進行正負實例向量與查詢向量之間相似度的計算。在隱空間中引入對比學習,增強對正負例特征向量約束,減少無關特征信息參數和浮點計算,學習基于Patch圖像內容的相關交互,建立重構圖像的每個Patch區域與輸入圖像對應Patch區域的關聯性,進一步提升主干網絡的重構修復能力,最終結合數學形態學運算實現色織物缺陷區域的快速檢測和準確定位。
基于自監督的對比學習(Contrastive Learning)在2018年由CHEN T等人[19]提出,作為一種高效的視覺表示結構用于ImageNET數據集的分類。其主要思想是模型自動構造相似實例和不相似實例,通過對比學習得到像素級重構表示學習模型,使得相似實例在投影空間中距離拉近,不相似實例在投影空間中距離拉遠。
自編碼器相關研究表明,有缺陷圖像的重構誤差通常比無缺陷圖像的重構誤差大。這一特性說明輸入圖像與重構圖像之間存在對應的像素聯系。在對比表征學習領域,將這種關聯性稱為互信息,對比學習通過最大化輸入輸出互信息,增加輸入圖像與輸出圖像之間的關聯性,使得輸出圖像的全局視圖得到高效表征。
因此,為了有效提取色織物的深層特征信息,使得圖像進一步得到重構修復,本研究構造了一種基于ContrastGAN的色織物重構模型,使用對比學習來最大化輸入色織物圖像Patch和輸出色織物圖像Patch之間的互信息,完成Patch級別色織物圖像重構修復。該模型主要包含生成器、判別器、潛在特征空間對比學習框架3個部分,其中生成器又分為編碼器Genc和解碼器Gdec兩個部分,模型的總體架構如圖1所示。

圖1 總體模型結構
在模型訓練階段,生成器的輸入是256×256的三通道無缺陷色織物樣本圖像Real_A,通過4層卷積編碼器進行深層高維特征提取后,為提升編碼器對特征向量的容納能力,采用殘差塊網絡[20]延深編碼器結構,進一步加快網絡收斂速度,然后利用3層反卷積解碼器完成圖像重構修復,最終輸出為與輸入層尺寸相同的重構修復圖像Fake_B。
潛在特征空間對比學習框架的結構如表1所示,由4層全連接層組成。原圖像Real_A和重構修復圖像Fake_B經過相同結構的編碼器Genc得到Patch特征向量hi和hj,再通過映射頭MLP將特征向量二次映射到潛在特征空間,得到特征向量對的矢量化表示v,然后對原圖像和重構修復圖像相對應的圖像塊特征向量求互信息,使得編碼器學會將對應的圖像塊之間相互聯系起來,與不相關的圖像塊分離,最后學習到原圖與重構修復圖對應圖像塊之間的深層共性。

表1 潛在特征空間結構
判別器結構采用PatchGAN[21]網絡結構,由5層卷積層構成,最終輸出32×32×1的感知域。PatchGAN通過局部感受野輸出,降低圖像深層特征信息重疊性,同時提升模型訓練過程中的動態性和穩定性,實現局部圖像特征的提取和多層特征圖差異性表征。
為了使原始輸入圖像Real_A和重構修復圖像Fake_B具有相似的內容和紋理風格外觀特征,同時保證輸入圖像的結構不變,對判別器D采用對抗損失,如公式(1)所示。

圖像Real_A和與其對應的重構修復圖像Fake_B,在對應空間位置上的圖像塊應該具有相似的信息。Real_A和Fake_B經過編碼器Genc后圖像塊特征向量分別被編碼為v+、v-、vq,同時映射 到N個K維的矢量矩 陣 中,其中vq,v+∈RK,v-∈RN×K,再經過4層MLP將特征向量投影到一個共享的嵌入潛在特征空間,采用噪聲對比估計框架,最大化vq和v+的互信息,最小化vq和v-的互信息,實現相同實例相似性最大化,不同實例相似性最小化,如公式(2)所示。

其中vq從重構修復圖像Fake_B中隨機生成,v+從輸入圖像Real_A中對應塊生成,v-從Real_A中非對應塊生成,其中τ為可調溫度靈敏超參數[22],控制余弦相似度的范圍為[-1,1],取0.07,使得訓練的嵌入更加均勻分布。分別計算vq和v+、v-之間的余弦相似度,將vq和v+的相似度標記為1,將vq和v-的相似度標記為0,最后對特征向量對求Softmax交叉熵損失。
特征向量對要進行對比學習時,需要在潛在特征堆棧空間將重構圖像Fake_B中的圖像塊和原圖像Real_A對應的圖像塊相匹配,學會捕捉對應特征向量不變性,由PatchNCE[23]損失函數約束來實現,如公式(3)所示。

式中:l表示MLP層,l∈{1,2...,L},同時設置s∈{1,...,Sl},其 中Sl表 示MLP每 層 關 注Patch特征向量編碼空間位置的個數。z?sl表示每層特征向量空間中Patch特征向量總個數,將與vq對應的空間位置特征稱為zsl正例,其他特征則稱為zSsl負例。
最終總損失函數Ltotal如公式(4)所示。其中λx=1,λy=10,訓練使得該損失函數最小化,從而最大化對應圖像塊特征向量互信息。

訓練完成后,ContrastGAN模型即可用于色織物缺陷檢測。測試階段編碼器的輸出作為對比學習的特征表征,完成對色織物缺陷圖像的修復重構,其中模型通過對比學習最大化編碼缺陷圖像與重構圖像對應Patch細節特征,將模型的重構修復性能進一步提升,檢測階段模型圖如圖2所示。
缺陷檢測具體步驟:
(1)將待測圖像X輸入訓練完成的模型中,得到重構修復圖像?;
(3)殘差圖像Xres計算,如公式(5)所示;
(4)計算殘差圖像Xres的均值μ和標準差σ;
(5)對殘差圖像采用自適應閾值化處理,得到二值圖像Xbinary,將缺陷區域更好地分割出來,二值化操作如公式(6)所示;
(6)對二值圖像采用先腐蝕后膨脹的開運算操作,得到最終缺陷檢測結果,如公式(7)所示。


式中:p代表殘差圖像的像素值;T為自適應閾值;ε為控制分割的靈敏度系數,本試驗設置為3.0;Xopening為開運算操作后的圖像;Xbinary為二值化后的圖像;⊕、!分別為膨脹與腐蝕操作;E為結構元素。
本試驗所用的工作站硬件配置:CPU Intel(R)Core(TM)i7-6850K CPU(3.60 GHz),GPU NVIDIA GeForce GTX 1080 Ti(11 G),內存64 GB。軟件環境配置:操作系統Ubuntu 16.04.6 LTS,深度學習框架PyTorch1.7,環境Python3.6.0和Anaconda3。
本研究選取張宏偉人工智能課題組整理并開源的YDFID-1色織物樣本數據集,該數據集由19種不同花形的色織物組成,共包括3 830幅織物圖像,其中無缺陷圖像3 500幅,缺陷圖像330幅。根據圖案、背景紋理的復雜度分為3類:簡單(Simple Lattices,SL)、條紋(Stripe Patterns,SP)和復雜(Complex Lattices,CL)。本研究選取該數據集中8種不同花形用于算法模型的訓練和測試。數據集樣本數量如表2所示,樣本圖如圖3所示。

圖2 檢測階段圖

數據集SL11 SL16 SP3 SP5 CL1 CL2 CL3 CL21無缺陷樣本數量/幅133 144 168 166 170 124 90 131缺陷樣本數量/幅55 35 16 19 4 5 11 22

圖3 色織物樣本圖像
3.3.1 重構效果定量評價指標
為了評估本研究提出的ContrastGAN模型在訓練完成后具備的重構修復能力,特采用峰值信噪比(PSNR)和結構相似性(SSIM)對模型訓練后的重構修復結果進行定量分析。
PSNR值通常用于衡量圖像經壓縮后畫質損失的程度,單位為分貝(dB),基于兩張圖像對應像素點間的誤差計算得出,PSNR值越高代表圖像經壓縮后重構畫質損失越小,計算公式如公式(8)、公式(9)所示。

式中:MSE表示無缺陷圖像X與重構圖像X?的均方誤差;m、n表示圖像的寬和高;MAX表示數字圖像X中像素可取的最大值。
SSIM基于局部圖案的亮度、對比度進行計算,用來作為衡量兩幅圖像相似度的指標。SSIM值越高代表原圖和重構圖對應像素之間的關聯性越強,圖像結構性失真越小,計算公式如公式(10)所示。

式中:μX為原始無缺陷色織物圖像X的像素平均值;μX?為去噪重構圖像?的像素平均值;σ2XX?為?的標準差;σXX?為X與X?的協 方 差;C1=(k1L)2、C2=(k2L)2是 用 來 保 持 恒定的常數,其中k1=0.01、k2=0.03,L為像素值的動態范圍。為X的標準差;σ2
3.3.2 檢測效果定量評價指標
為了精確地對模型的缺陷檢測能力進行評價,本研究對試驗檢測結果分別進行定性分析和定量分析。其中定量分析引入織物像素級評價指標中的精確率(P)、召回率(R)、平均交并比(IoU)作為評價指標,P、R、IoU定義如公式(11)~公式(13)所示。

式中:TP表示缺陷區域中被成功檢測的像素個數;FN、FP表示缺陷區域、無缺陷區域被錯誤檢測的像素個數。
3.4.1色織物重構結果定量分析
為評估不同檢測模型對色織物圖像的重構修復能力,本研究計算色織物與其對應的重構圖像之間的PSNR值、SSIM值,同時將本研究所提出的模型分別與DCAE、MSCDAE、UDCAE模型在8個數據集上進行PSNR、SSIM值的對比。結果如表3所示。從表3中可以看出,ContrastGAN模型在SL16、SP3、CL1、CL2、CL3、CL21中有著最高的PSNR值,只有SL11、SP5這2個數據集上的PSNR值分別低于DCAE和MSCDAE模型。在SL11、SP3、SP5、CL3數據集上,SSIM指標值略低于傳統自編碼器模型。PSNR與SSIM的值越高,代表著缺陷圖像重構修復的效果越好,殘差圖像的計算結果越準確。因此總體上看,ContrastGAN模型對色織物的重構能力相比DCAE、MSCDAE、UDCAE模型有更好的表現。
3.4.2 色織物檢測結果定性分析
4種模型的定性分析對比如圖4所示。圖4中的第1行為原始織物缺陷圖像,第2行為缺陷圖像的真值圖,第3行至第6行分別為DCAE、MSCDAE、UDCAE、ContrastGAN的缺陷檢測結果。對于SL11、SL16、SP3、SP5,DCAE、MSCDAE、UDCAE、ContrastGAN都能有效地檢測出缺陷在織物中的位置,但是MSCDAE對缺陷的形狀描述不準確,存在大量的漏檢,檢測效果較差。對于CL1、CL2、CL3、CL21這4種背景紋理較為復雜的,DCAE、MSCDAE、UDCAE均存在漏檢或者誤檢的情況,而且還會產生多余的噪聲,不能對真實缺陷區域定位進行精確描述。本研究提出的ContrastGAN模型,不僅可以準確凸顯缺陷位置,還可以保留部分輪廓信息勾勒出各類缺陷的形狀,結果與真值圖相似度高。綜上所述,本研究提出的ContrastGAN模型對色織物缺陷檢測效果明顯優于DCAE、MSCDAE、UDCAE模型,能更準確地定位缺陷位置,對缺陷區域輪廓和連續性的描述更完整。

圖4 4種模型的定性分析對比
3.4.3色織物檢測結果定量分析
為了更精確地對比各個模型的缺陷檢測能力,采用圖片像素級評價指標中的精確率(P)、召回率(R)、平均交并比(IoU)作為評價指標,結果如表4所示。

表4 4種模型的定量分析
對表4中的數據進行分析發現,在SL11數據集上,DCAE的各項評價指標均較高,說明DCAE較為適用于簡單的檢測;在SP5數據集上,UDCAE的各項指標均較高,檢測結果表現得更好一些。但是在較為復雜的CL1、CL2、CL3、CL21這4個 數 據 集 上,ContrastGAN相 較 于DCAE、MSCDAE、UDCAE模型在各項評價指標上更具有優勢,表明加入了對比學習后,ContrastGAN在隱空間學習到的特征表征能力更強,能夠最大化保證隱空間中特征向量對之間的相似性,增強復雜原圖像與重構圖像對應Patch間的內容映射,從而提升模型的缺陷檢測能力。ContrastGAN模型更適用于背景紋理較為復雜的色織物缺陷檢測,引入對比學習后模型在復雜數據集上具有更好的可靠性和更高的檢測精度。
本研究提出了一種新的基于對比學習的色織物缺陷檢測方法,利用Patch特征向量表征在隱空間中完成色織物樣本圖像與重構圖像對應Patch特征向量對的相似度計算,借助殘差塊保留編碼器各層特征信息的獨特結構,提升對比學習在重構模型中的效果。對8個色織物數據集的缺陷檢測結果進行定性定量評價分析,證明ContrastGAN模型優于當前基于卷積自編碼器的色織物圖像檢測方法,對紋理、背景復雜的色織物缺陷數據集具有更好的重構修復效果和更高的缺陷定位精度。但是Patch正負例特征向量的映射編碼和相似度計算工作仍然比較耗時,下一步工作的重點在于減少對比學習重復無關特征向量對的數量,以增加正樣本實例特征向量的多樣性,提升正樣本有效采樣,從而實現對比學習網絡模型輕量化。