張宏偉,糜紅敏,陸 帥,陳 霞
(1.西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048;2.浙江大學(xué) 工業(yè)控制技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,浙江 杭州 310027;3.北京理工大學(xué) 醫(yī)工融合研究院,北京 100081;4.西安美術(shù)學(xué)院 服裝系,陜西 西安 710065)
在紡織品生產(chǎn)過程中,由于機(jī)械、紗線和加工等問題,織物表面可能會(huì)產(chǎn)生各種各樣的缺陷。據(jù)統(tǒng)計(jì),缺陷會(huì)導(dǎo)致織物的價(jià)格下降45%~65%[1]。因此,織物缺陷檢測是紡織品質(zhì)量控制的重要環(huán)節(jié)。傳統(tǒng)的人工目測受限于人的主觀影響、視覺疲勞等因素,準(zhǔn)確率只有60%~75%[2]。隨著機(jī)器視覺與圖像處理技術(shù)的飛速發(fā)展,許多研究人員將其應(yīng)用于紡織品缺陷檢測中[3]。目前,傳統(tǒng)基于機(jī)器視覺的織物缺陷自動(dòng)檢測算法主要分為頻譜法、統(tǒng)計(jì)法、模型法等。頻譜法包括傅里葉變換[4]、小波變換[5]、Gabor變換[6]等;統(tǒng)計(jì)法有自相關(guān)函數(shù)[7]、直方圖統(tǒng)計(jì)[8]、形態(tài)學(xué)[9]等;模型法主要有馬爾可夫隨機(jī)場[10]、自回歸模型[11]等。對(duì)于背景紋理簡單的色織物,上述方法通過構(gòu)造特征工程能夠達(dá)到比較理想的檢測結(jié)果。然而,難以實(shí)現(xiàn)花型復(fù)雜且小批量生產(chǎn)的色織物缺陷檢測。
深度學(xué)習(xí)[12]是近年來計(jì)算機(jī)領(lǐng)域一個(gè)熱門研究方向,已被廣泛應(yīng)用于人臉識(shí)別[13]、語音識(shí)別[14]、圖像識(shí)別[15]、運(yùn)動(dòng)目標(biāo)跟蹤與檢測[16]等方面。由于深度學(xué)習(xí)的方法能夠自動(dòng)學(xué)習(xí)圖像深層次的特征[17],因此可以解決難以人工設(shè)計(jì)色織物特征的問題。按輸入數(shù)據(jù)是否帶有標(biāo)簽信息,深度學(xué)習(xí)可分為有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)。在有監(jiān)督的織物缺陷檢測算法中,JING等先后提出了基于卷積匹配雙字典的網(wǎng)絡(luò)模型結(jié)構(gòu)[18]和基于深度卷積神經(jīng)網(wǎng)絡(luò)的織物疵點(diǎn)自動(dòng)檢測方法[19],實(shí)現(xiàn)了高準(zhǔn)確率的缺陷檢測。但上述方法訓(xùn)練階段均需要大量帶有標(biāo)記信息的缺陷數(shù)據(jù),而實(shí)際生產(chǎn)過程中很難獲得大量缺陷數(shù)據(jù),因此有監(jiān)督的深度學(xué)習(xí)在對(duì)小批量的色織物缺陷檢測時(shí)存在一定的局限性。
基于無監(jiān)督學(xué)習(xí)的織物缺陷檢測算法已有部分研究者進(jìn)行了嘗試,其關(guān)鍵點(diǎn)在于能否有效提取織物圖像的紋理特征,從而將有缺陷樣本圖像有效重構(gòu)為無缺陷的圖片。MEI等[20]提出一種基于多尺度卷積去噪自編碼(multiscale convolutional denoising autoencoder,MSCDAE)網(wǎng)絡(luò)模型,該模型結(jié)合圖像金字塔層次結(jié)構(gòu)思想和卷積去噪自編碼網(wǎng)絡(luò),對(duì)織物圖像缺陷進(jìn)行檢測,但對(duì)于紋理復(fù)雜的色織物,該方法則容易出現(xiàn)過檢現(xiàn)象。張宏偉等先后提出了基于無監(jiān)督去噪卷積自編碼器(denoising convolutional autoencoder,DCAE)的色織物缺陷檢測算法[21]和U型卷積去噪自編碼器(U-shape denoising convolutional autoencoder,UDCAE)模型[22],通過對(duì)待測圖像與其重構(gòu)圖像的殘差圖像進(jìn)行處理,實(shí)現(xiàn)色織物缺陷的檢測及定位。但該方法只適用于背景紋理較為簡單的色織物。為此,本文提出一種基于GAN的無監(jiān)督色織物缺陷檢測算法,使用無缺陷樣本訓(xùn)練模型,將待檢測圖像經(jīng)模型重構(gòu)與圖像后處理等操作,實(shí)現(xiàn)最終的檢測目的。
GAN是由Ian Goodfellow等于2014年提出的一種無監(jiān)督深度學(xué)習(xí)模型,核心思想是二人零和博弈[23]。模型主要由生成器G和判別器D構(gòu)成,如圖1所示。生成器通過真實(shí)數(shù)據(jù)的潛在分布生成新的數(shù)據(jù)樣本,判別器則不斷區(qū)分生成的樣本和真實(shí)數(shù)據(jù)。
圖 1 GAN的基本結(jié)構(gòu)Fig.1 The structure of GAN
生成器G的輸入為隨機(jī)噪聲z,例如高斯噪聲,通過該噪聲生成圖片,記為G(z)。判別器D的輸入為真實(shí)圖片x和生成圖片G(z),輸出D(G(z))表示生成圖片G(z)與真實(shí)圖片相似的概率。如果輸出為1,代表生成圖片100%接近真實(shí)圖片;如果輸出為0,則表示生成圖片不可能是真實(shí)圖片。訓(xùn)練過程的目標(biāo)函數(shù)為
Ez~Pz(z)[lg(1-D(G(z)))]
(1)
式中:V(G,D)為損失函數(shù);Pdata(x)為真實(shí)數(shù)據(jù)分布;Pz(z)為隨機(jī)噪聲分布;E為數(shù)學(xué)期望;D(x)為真實(shí)數(shù)據(jù)經(jīng)判別器后的輸出;D(G(z))為生成的圖片經(jīng)判別器后的輸出。
本文構(gòu)建的基于GAN圖像重構(gòu)模型主要包含生成器和判別器2部分。與原始GAN網(wǎng)絡(luò)的輸入相比,所構(gòu)造模型的輸入為加入高斯噪聲后的圖片,而不是隨機(jī)噪聲向量,因此需要對(duì)生成器做相應(yīng)的改進(jìn)。
為了使生成器G能夠有效地重構(gòu)輸入的圖片,構(gòu)造的生成器模型依次由編碼器、殘差塊、解碼器構(gòu)成,使得模型的輸出與輸入成為相對(duì)應(yīng)的圖片,模型結(jié)構(gòu)如表1所示,其中表身單元格中的空白處表示“不適用”。
表 1 生成器(G)網(wǎng)絡(luò)結(jié)構(gòu)
編碼器對(duì)輸入的圖片通過卷積操作不斷進(jìn)行尺寸壓縮與特征提取,以獲取圖像中最主要的特征信息。首先利用卷積核大小為7×7的卷積層來增大感受野,然后依次使用4層卷積核大小為3×3的卷積層進(jìn)行特征提取,激活函數(shù)采用修正線性單元(rectified linear unite,ReLU)。解碼器部分則是利用反卷積操作將提取到的特征信息進(jìn)行恢復(fù)。與編碼器不同的是,解碼器的最后一層使用的激活函數(shù)為tanh。此外,在編碼器與解碼器之間加入了9個(gè)殘差神經(jīng)網(wǎng)絡(luò)(residual neural netnork,ResNet)[24],文中每個(gè)殘差網(wǎng)絡(luò)的結(jié)構(gòu)如表2所示。殘差網(wǎng)絡(luò)采用了跳接結(jié)構(gòu),可以在很大程度上加快網(wǎng)絡(luò)的收斂速度,同時(shí)還能提高網(wǎng)絡(luò)的特征提取能力。
表 2 ResNet結(jié)構(gòu)
判別器的作用是判斷重構(gòu)圖像與真實(shí)圖像之間的差距,并將判斷的結(jié)果反饋給生成器G與判別器D,從而指導(dǎo)模型進(jìn)行對(duì)抗訓(xùn)練。判別器D的網(wǎng)絡(luò)結(jié)構(gòu)如表3所示,從上往下依次為6個(gè)卷積層,卷積核大小為4×4,激活函數(shù)采用的是LeakeyReLU。然后經(jīng)3層全連接層并通過Sigmoid激活函數(shù)輸出最終的判別結(jié)果。
表 3 判別器(D)網(wǎng)絡(luò)結(jié)構(gòu)
模型訓(xùn)練時(shí)使用的損失函數(shù)由內(nèi)容損失與對(duì)抗損失共同組成,內(nèi)容損失用來約束生成的圖像,對(duì)抗損失用來判斷生成的圖像與真實(shí)圖像。內(nèi)容損失采用L1損失函數(shù),對(duì)抗損失采用WGAN-GP[25]損失,定義分別如式(2)、(3)所示,總損失函數(shù)如式(4)所示:
(2)
(3)
Lt=λL1+Ladv
(4)
模型訓(xùn)練階段的示意圖如圖2所示。模型訓(xùn)練具體過程如下:
圖 2 GAN模型訓(xùn)練階段Fig.2 Training stage diagram of GAN model
訓(xùn)練完成后的GAN模型即可用于色織物的缺陷檢測。由于訓(xùn)練完成的生成器能有效重構(gòu)色織物樣本圖像,因此檢測階段只需要生成器即可,檢測階段的過程示意圖如圖3所示。檢測時(shí),輸入為256×256大小的三通道待測圖像,經(jīng)生成器重構(gòu)后輸出與輸入尺寸大小相同的重構(gòu)圖像。然后對(duì)待測圖像與其對(duì)應(yīng)重構(gòu)圖像均進(jìn)行灰度化與高斯濾波操作,之后再計(jì)算二者的殘差圖。
圖 3 缺陷檢測階段示意圖Fig.3 Diagram of defect detection stage
如果待測圖像中存在缺陷,則重構(gòu)圖像為相應(yīng)的無缺陷圖像,經(jīng)殘差計(jì)算后,缺陷區(qū)域與重構(gòu)修復(fù)后的區(qū)域存在明顯的像素值差異,然后通過殘差分析與數(shù)學(xué)形態(tài)學(xué)處理,將缺陷區(qū)域進(jìn)行準(zhǔn)確定位;如果待測圖像中無缺陷區(qū)域,則待測圖像與對(duì)應(yīng)的重構(gòu)圖像之間的差異僅為隨機(jī)噪聲。具體檢測流程如下:
(5)
然后,計(jì)算殘差圖像的均值μ與方差σ,得到自適應(yīng)分割的閾值T,閾值計(jì)算公式如式(6)所示,實(shí)驗(yàn)中k的取值為2。
T=μ+kσ
(6)
接著,對(duì)殘差圖進(jìn)行閾值化處理,得到二值圖Xbinary。如果殘差圖中某一點(diǎn)的像素值大于閾值T,則將該點(diǎn)像素值置為邏輯1,反之則置為邏輯0;最后,為了消除隨機(jī)噪聲對(duì)檢測結(jié)果的影響,采用開運(yùn)算處理二值圖,得到最終檢測結(jié)果R,即
R=(Xbinary?E)⊕E
(7)
式中:?、⊕分別為腐蝕與膨脹操作;E為結(jié)構(gòu)元素。
實(shí)驗(yàn)所用數(shù)據(jù)集來自于YDFID-1[26]數(shù)據(jù)集。YDFID-1數(shù)據(jù)集包括3 501幅織物圖像,其中3 189幅為無缺陷圖像,312幅為缺陷圖像。根據(jù)織物圖案的復(fù)雜性,可將其分為簡單格子(simple lattices,SL)、條紋圖案(stripe patterns,SP)和復(fù)雜格子(complex lattices,CL)3種類型。本文從3種類型的數(shù)據(jù)集中選取了6個(gè)不同花型的數(shù)據(jù)集進(jìn)行訓(xùn)練和測試,分別命名為SL1、SL16、SP3、SP5、CL1、CL2,每個(gè)數(shù)據(jù)集包含2部分:用于訓(xùn)練的無缺陷樣本和用于檢測的有缺陷樣本,如圖4所示。經(jīng)整理后的實(shí)驗(yàn)樣本數(shù)量分布如表4所示。
圖 4 部分色織物樣本Fig.4 Samples of yarn-dyed fabric
表 4 數(shù)據(jù)集樣本數(shù)量
實(shí)驗(yàn)硬件配置為CPU:Intel(R) Core(TM) i7-6850K CPU (3.60 GHz);GPU:NVIDIA GeForce GTX 1080 Ti (11 GiB);內(nèi)存為64 GiB。軟件環(huán)境配置:操作系統(tǒng)為Ubuntu 16.04.6 LTS;深度學(xué)習(xí)框架為Keras 2.1.3、TensorFlow 1.12.0;Anaconda3。
為了評(píng)估模型在訓(xùn)練完成后的去噪重構(gòu)能力,文中選擇了2種目前廣泛使用的圖像質(zhì)量評(píng)估指標(biāo),峰值信號(hào)比(peak signal to noise ratio,PSNR)和結(jié)構(gòu)相似性(structural similarity,SSIM)[27]對(duì)模型訓(xùn)練后的去噪重構(gòu)結(jié)果進(jìn)行定量分析。
對(duì)于檢測結(jié)果,本文選取了F1-measure(記為F1)、準(zhǔn)確率(記為A)、交并比(記為U) 3個(gè)缺陷檢測算法中常用的評(píng)價(jià)指標(biāo)來定量分析所提方法的檢測效果,其計(jì)算公式分別為
(8)
(9)
(10)
式中:TP為正樣本預(yù)測為正;TN為負(fù)樣本預(yù)測為負(fù);FP為負(fù)樣本預(yù)測為正;FN為正樣本預(yù)測為負(fù)。
為了定性分析不同模型的重構(gòu)效果,本文分別從實(shí)驗(yàn)數(shù)據(jù)集中選取了SL1、SP3、CL2數(shù)據(jù)集進(jìn)行展示,比較DCAE、MSCDAE、UDCAE以及本文所提出方法的重構(gòu)效果,4種模型的重構(gòu)實(shí)驗(yàn)結(jié)果如圖5所示。
圖 5 4種模型重構(gòu)結(jié)果定性分析Fig.5 Qualitative analysis of reconstruction results of four models
從圖5可以看到,在SL1數(shù)據(jù)集上,傳統(tǒng)的DCAE、MSCDAE、UDCAE模型重構(gòu)圖像中均有缺陷區(qū)域存在,本文所提方法的重構(gòu)圖像中則沒有缺陷區(qū)域的存在。在SP3數(shù)據(jù)集上,DCAE模型則無法有效重構(gòu)花型紋理,MSCDAE模型的重構(gòu)圖中存在背景紋理損壞,UDCAE模型無法完全修復(fù)缺陷區(qū)域,而本文所提方法則能在修復(fù)缺陷區(qū)域的同時(shí)保證背景紋理的完整。在CL2數(shù)據(jù)集上,DCAE模型重構(gòu)圖像在缺陷區(qū)域有明顯的紋理上的變形,MSCDAE、UDCAE模型的重構(gòu)圖像明顯優(yōu)于DCAE模型,但是也存在一些紋理上的變形,本文所提方法的重構(gòu)圖像相比于其他幾個(gè)模型是最優(yōu)的。
此外,為評(píng)估不同模型對(duì)色織物圖像的重構(gòu)能力,本文分別計(jì)算了各個(gè)模型下色織物與其對(duì)應(yīng)的重構(gòu)圖之間的PSNR、SSIM值,結(jié)果如表5所示。
表 5 重構(gòu)結(jié)果評(píng)價(jià)指標(biāo)值
從表5可以看出,本文所提方法對(duì)SL1、SL16、SP3、SP5、CL1這5個(gè)數(shù)據(jù)集都有最高的PSNR與SSIM指標(biāo)值,只有CL2數(shù)據(jù)集的PSNR、SSIM指標(biāo)值低于UDCAE模型。而PSNR與SSIM的值越高,表示重構(gòu)的圖像與原始圖像越接近。因此,可以認(rèn)為本文所提方法能夠更好地實(shí)現(xiàn)對(duì)色織物的重構(gòu),而重構(gòu)效果越好的殘差圖像計(jì)算越準(zhǔn)確,檢測結(jié)果也越準(zhǔn)確。
依據(jù)實(shí)驗(yàn)中色織物數(shù)據(jù)集的缺陷檢測結(jié)果,在6個(gè)數(shù)據(jù)集上對(duì)本文所提出的模型與DCAE、MSCDAE、UDCAE等模型進(jìn)行定性分析,結(jié)果如圖6所示。
圖 6 4種模型檢測結(jié)果圖Fig.6 Detection results of four models
從圖6可以看出,由于DCAE模型網(wǎng)絡(luò)層數(shù)較淺,因此對(duì)于細(xì)小的缺陷檢測效果不佳,例如SL16數(shù)據(jù)集;且在復(fù)雜背景紋理下的檢測結(jié)果極易出現(xiàn)過檢現(xiàn)象,例如SP3、CL1、CL2數(shù)據(jù)集。雖然MSCDAE模型采用了多尺度結(jié)構(gòu),但是每個(gè)尺度上的網(wǎng)絡(luò)層數(shù)依然比較淺,導(dǎo)致細(xì)節(jié)保留能力不強(qiáng),所以同樣存在嚴(yán)重的過檢問題,例如SL16、CL1、CL2數(shù)據(jù)集。由于UDCAE模型使用了跳接結(jié)構(gòu)融合了淺層特征信息,所以重構(gòu)效果要優(yōu)于DCAE、MSCDAE模型,從而檢測結(jié)果也更好,但對(duì)復(fù)雜背景紋理的織物同樣存在過檢現(xiàn)象,例如CL1、CL2數(shù)據(jù)集。相比之下,本文所提方法在缺陷定位準(zhǔn)確的前提下,沒有產(chǎn)生多余的噪聲,并且檢測出的缺陷區(qū)域連續(xù)性也優(yōu)于其他幾種模型,例如SP5數(shù)據(jù)集。綜上所述,本文所提方法對(duì)色織物缺陷檢測的效果明顯優(yōu)于DCAE、MSCDAE、UDCAE模型。
為了定量評(píng)價(jià)本文方法的缺陷檢測能力,選取DCAE、MSCDAE、UDCAE等模型,計(jì)算了每個(gè)模型、每種花型的F1、A以及U值,將其檢測結(jié)果進(jìn)行對(duì)比,最高值均用黑色字體標(biāo)出,結(jié)果如表6所示。
從表6可以看出,對(duì)于DCAE模型,計(jì)算所有實(shí)驗(yàn)數(shù)據(jù)集的評(píng)價(jià)指標(biāo)后,只在SL1數(shù)據(jù)集的指標(biāo)A取得最高值;對(duì)于MSCDAE模型則均未有最高值;對(duì)于UDCAE模型,分別在SL1、SP3數(shù)據(jù)集的F1與U指標(biāo)上取得最高值;本文所提方法則在SL16、SP5、CL1、CL2等4個(gè)數(shù)據(jù)集上的所有評(píng)價(jià)指標(biāo)取得最高值,在SP3數(shù)據(jù)集的評(píng)價(jià)指標(biāo)A上取得最高值。綜上所述,對(duì)于背景紋理相對(duì)簡單的格子類型與條紋圖案類型色織物,DCAE、MSCDAE、UDCAE模型,可在部分?jǐn)?shù)據(jù)集上取得較為理想的檢測結(jié)果,然而當(dāng)顯著增加背景復(fù)雜性時(shí),上述3種模型很難有良好的表現(xiàn),但是本文所提方法則能很好地完成缺陷檢測任務(wù)。因此,相比于DCAE、MSCDAE、UDCAE無監(jiān)督缺陷檢測模型,本文所提方法在色織物的缺陷檢測上具有明顯的優(yōu)勢(shì)。
表 6 定量分析對(duì)比
為了驗(yàn)證生成器模型中間層添加殘差塊的數(shù)量對(duì)重構(gòu)結(jié)果的影響,本文分別設(shè)置了0、3、6、9、12個(gè)殘差塊,在SL1數(shù)據(jù)集上進(jìn)行消融實(shí)驗(yàn)。結(jié)果如圖7所示。
圖 7 不同數(shù)量殘差塊的重構(gòu)圖Fig.7 Reconstructed images with different number of residual blocks
從圖7可以看到,隨著殘差塊數(shù)量的增加,原圖中大缺陷區(qū)域的重構(gòu)修復(fù)效果較好,但網(wǎng)絡(luò)層數(shù)的增加,模型的參數(shù)量以及訓(xùn)練時(shí)間會(huì)顯著增加,對(duì)硬件的要求也越高,如表7所示。因此,綜合考慮模型的重構(gòu)效果以及實(shí)驗(yàn)硬件條件,本文最終選擇在生成器模型中間層添加9個(gè)殘差塊。
表 7 參數(shù)量及訓(xùn)練時(shí)間對(duì)比
針對(duì)色織物織造工藝流程中缺陷檢測的問題,以及傳統(tǒng)檢測方法與有監(jiān)督學(xué)習(xí)的檢測方法存在的局限性,本文提出一種基于GAN的無監(jiān)督缺陷檢測模型。首先,利用無缺陷色織物樣本訓(xùn)練模型,使模型具備對(duì)色織物圖像的重構(gòu)能力;然后將待測織物圖像輸入模型,獲得對(duì)應(yīng)的重構(gòu)圖像;最后計(jì)算待測色織物圖像與其重構(gòu)圖像之間的殘差圖像,通過殘差分析與數(shù)學(xué)形態(tài)學(xué)處理,實(shí)現(xiàn)對(duì)色織物的缺陷檢測與定位。實(shí)驗(yàn)結(jié)果表明,本文所提出的方法在檢測精度上可滿足色織物生產(chǎn)時(shí)的驗(yàn)片工藝要求,為色織物的疵點(diǎn)檢測提供了一種易于工程實(shí)踐的自動(dòng)化檢測方案。