董澤宇,葉 蕓,姚劍敏,2,嚴(yán) 群,2,李德財(cái),林堅(jiān)普
(1.福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108;2.博感電子科技有限公司,福建 晉江 362200;3.福州大學(xué) 先進(jìn)制造學(xué)院,福建 晉江 362200)
換向器是電機(jī)的關(guān)鍵部件,在電機(jī)運(yùn)作時(shí)起到轉(zhuǎn)換電流方向、維持線圈持續(xù)轉(zhuǎn)動(dòng)的作用。然而,實(shí)際生產(chǎn)中會(huì)不可避免地產(chǎn)出表面帶有缺陷的換向器,這不僅會(huì)影響器件的使用壽命和質(zhì)量,嚴(yán)重情況下還會(huì)造成生產(chǎn)事故。準(zhǔn)確檢測表面缺陷,是換向器制造過程中非常關(guān)鍵的環(huán)節(jié)。傳統(tǒng)方法利用人工檢測,效率低下且成本高。近年來,借助深度學(xué)習(xí)實(shí)現(xiàn)工業(yè)產(chǎn)品缺陷檢測的技術(shù)得到了廣泛研究。宋念龍等人[1]利用大量原始缺陷圖像訓(xùn)練了一個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)用于涂布缺陷檢測。劉暢等人[2]通過改進(jìn)U-net模型實(shí)現(xiàn)對磁瓦表面缺陷的檢測。上述方法都采用有監(jiān)督學(xué)習(xí)方式,訓(xùn)練網(wǎng)絡(luò)時(shí)需要大量帶標(biāo)注的缺陷數(shù)據(jù)。然而實(shí)際生產(chǎn)中,由于缺陷產(chǎn)品數(shù)量稀少且樣式繁多,導(dǎo)致缺陷數(shù)據(jù)收集困難,同時(shí)人工標(biāo)注成本高且易引入人為偏差。因此,無需標(biāo)注、僅利用正常數(shù)據(jù)開展檢測的無監(jiān)督缺陷檢測方法[3]越來越受到關(guān)注。
無監(jiān)督缺陷檢測方法可分為基于圖像空間的方法[4]和基于特征空間的方法[5]兩類?;趫D像空間的方法對測試樣本進(jìn)行無缺陷重構(gòu),對比重構(gòu)圖像與原圖像的差異來檢測缺陷?;谔卣骺臻g的方法將圖像映射到特征空間,對比正常圖像的特征分布與測試圖像的特征間的差距實(shí)現(xiàn)缺陷檢測。文獻(xiàn)[6]的研究表明無缺陷重構(gòu)的效果并不穩(wěn)定,模型對于缺陷區(qū)域也具有較強(qiáng)的重構(gòu)能力。在最新的研究工作中,基于特征空間的方法在多種數(shù)據(jù)集上獲得了更好的缺陷檢測效果[7]。
在基于特征空間的方法中,如何利用特征是關(guān)鍵。在提取特征時(shí),文獻(xiàn)[8]和文獻(xiàn)[9]僅利用最后一層特征圖來計(jì)算異常圖或異常值,沒有利用到淺層特征信息。文獻(xiàn)[10]雖然利用了淺層特征,但在構(gòu)建異常圖時(shí),對淺層特征的利用遠(yuǎn)少于深層特征,實(shí)際上依然主要依靠深層特征來實(shí)現(xiàn)缺陷檢測。
基于以上考慮,本文提出一種基于特征空間的無監(jiān)督換向器表面缺陷檢測方法。該方法借助預(yù)訓(xùn)練的EfficientNet[11]網(wǎng)絡(luò)的高效特征提取能力,同時(shí)設(shè)計(jì)了一種均衡使用不同深度特征構(gòu)建異常圖的方法,充分利用淺層特征;并且通過對每個(gè)像素建立分布,實(shí)現(xiàn)了像素級的缺陷檢測與分割。
本文提出的無監(jiān)督缺陷檢測算法流程如圖1所示。整個(gè)系統(tǒng)可分為特征提取和缺陷檢測兩個(gè)階段。在特征提取階段,利用預(yù)訓(xùn)練的網(wǎng)絡(luò)將訓(xùn)練數(shù)據(jù)映射到特征空間,提取不同深度的特征圖,對每個(gè)像素建立多元高斯分布(Multivariate Gaussian Distribution,MGD)。在缺陷檢測階段,提取測試樣本不同深度的特征圖,計(jì)算特征圖的每個(gè)像素與其對應(yīng)高斯分布間的差距獲得異常圖,利用異常圖實(shí)現(xiàn)缺陷檢測和分割。
圖1 無監(jiān)督缺陷檢測算法流程圖
1.1.1 特征映射網(wǎng)絡(luò)
現(xiàn)存的無監(jiān)督缺陷檢測方法將圖像映射到特征空間時(shí),多依賴由正常數(shù)據(jù)訓(xùn)練的自編碼器(Autoencoder,AE)[12]和生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)[13]。然而在工業(yè)缺陷檢測中,由于開源工業(yè)數(shù)據(jù)數(shù)量稀少且種類單調(diào),難以利用大量數(shù)據(jù)訓(xùn)練參數(shù),導(dǎo)致檢測效果不盡如人意。為了應(yīng)對訓(xùn)練集數(shù)據(jù)缺乏的問題,本文使用遷移學(xué)習(xí)技術(shù),將在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練的EfficientNet作為特征映射網(wǎng)絡(luò),并凍結(jié)預(yù)訓(xùn)練模型的卷積層參數(shù)。
EfficientNet[11]是同時(shí)利用多目標(biāo)神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(Multi-Objective Neural Architecture Search,MONAS)方法和混合放縮方法得到的一種卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)結(jié)構(gòu),平衡了影響模型準(zhǔn)確率的3個(gè)因素(網(wǎng)絡(luò)寬度、網(wǎng)絡(luò)深度及圖像分辨率),在ImageNet數(shù)據(jù)集上以更少的計(jì)算量達(dá)到了更高的準(zhǔn)確率。
綜合考慮模型在ImageNet數(shù)據(jù)集上的表現(xiàn)與參數(shù)規(guī)模,本文選擇使用EfficientNet-b4作為默認(rèn)的特征映射網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。
表1 EfficientNet-b4網(wǎng)絡(luò)結(jié)構(gòu)
1.1.2 特征分布建模
本文使用ΧN代表訓(xùn)練集(?x∈ΧN,yx=0),yx∈{0,1}代表輸入圖像含有缺陷區(qū)域(yx=1)或無缺陷區(qū)域(yx=0)。對于在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練的EfficientNet-b4網(wǎng)絡(luò),本文使用φ代表,用于將輸入圖像映射到特征空間。當(dāng)圖像xi輸入特征映射網(wǎng)絡(luò)φ時(shí),在不同深度的網(wǎng)絡(luò)層會(huì)獲得分辨率大小不一的特征圖,φi,j=φj(xi)表示圖像xi在網(wǎng)絡(luò)φ第j層生成的特征圖。考慮到淺層特征包含的語義信息簡單,如紋理等細(xì)節(jié)信息,深層特征包含更抽象的語義信息,本文綜合利用不同深度的特征圖來完成缺陷檢測任務(wù)。實(shí)驗(yàn)中對于EfficientNet-b4網(wǎng)絡(luò)默認(rèn)使用表1中模塊4、5、7的輸出特征圖,即j∈{4,5,7}。
對于特征圖φi,j∈C×H×W,其通道數(shù)為C,高度為H,寬度為W。本文使用φi,j(h,w)=φj(xi,h,w)∈C代表位于第j層特征圖中(h,w)像素處的向量,維度為C,其中h∈{1,…,H},w∈{1,…,W}。特征圖φi,j中的每個(gè)像素都對應(yīng)于原圖xi中一塊更大的感受野。為了實(shí)現(xiàn)對缺陷區(qū)域的像素級分割,本文利用正常數(shù)據(jù)對所提取的特征圖的每個(gè)像素分別建立分布。對于第j特征圖的(h,w)處像素,首先提取訓(xùn)練集中所有圖像xi∈ΧN,(i=1,…,N)的向量φi,j(h,w),并假設(shè)所有向量符合一個(gè)多元高斯分布其中μhw是均值向量,,∑hw是協(xié)方差矩陣,計(jì)算公式如下:
式(2)中加φ入正則項(xiàng)μεI,使協(xié)方φ差矩陣,∑μhw滿秩且可逆。通過上述運(yùn)算,對于任意第j層特征圖的任意(h,w)處像素,都獲得一個(gè)擬合正常數(shù)據(jù)分布的多元高斯分布
1.2.1 異常圖計(jì)算
考慮到文獻(xiàn)[8-10]中的方法并未充分利用淺層特征信息,而淺層特征包含豐富的紋理細(xì)節(jié)信息,這對于完整地分割缺陷區(qū)域必不可少,因此本文提出對不同深度的特征圖分別建立異常圖,統(tǒng)一上采樣至輸入圖像大小,并通過對應(yīng)位置元素相乘獲得最終的異常圖,這樣使得淺層與深層的特征信息在構(gòu)建最終異常圖時(shí)的貢獻(xiàn)度更加均衡。
本文使用ΧT,代表測試集中的樣本集合(?x∈ΧT,yx={0,1}),對于第j層特征圖的(h,w)處像素,測試樣本xt的向量為φi,j(h,w),上一步中,由式(1)、式(2)已獲得該位置的正常數(shù)據(jù)分布本∑文通過計(jì)算馬φ氏距離μ作為φ該 像素處μ的異常值Mt,j(h,w),公式如下:
相比于受不同度量標(biāo)準(zhǔn)影響的歐氏距離,馬氏距離不僅排除了向量各維度間相關(guān)性的干擾,還通過標(biāo)準(zhǔn)化消除了不同度量標(biāo)準(zhǔn)的影響。在對測試樣本xt的第j層特征圖上所有像素計(jì)算異常值后,獲得代表xt第j層的異常圖Mt,j,其分辨率與該層特征圖相同。在計(jì)算測試樣本xt的最終異常圖時(shí),由于不同層異常圖尺寸不同,首先采用雙線性插值法將異常圖Mt,j上采樣至輸入圖像大小,然后使用Min-Max歸一化操作,最后將不同層異常圖對應(yīng)位置元素相乘。計(jì)算公式如下:
此時(shí)獲得與輸入圖像尺寸一致的異常圖,用于實(shí)現(xiàn)缺陷分割。
1.2.2 異常值計(jì)算
異常圖mapt中的大值意味著該像素屬于缺陷區(qū)域,本文選擇使用異常圖中的最大值作為代表測試樣本xt,的異常值,如式(5)所示:
異常值scoret的大小意味著該測試樣本xt含有缺陷區(qū)域的可能性大小。通過設(shè)定閾值δ1并與異常值scoret比較來決定測試樣本xt是否屬于缺陷樣本,異常值大于等于δ1則為缺陷樣本。通過設(shè)定閾值δ2并與異常圖mapt中每個(gè)像素的異常值mapt(h,w)比較來決定像素是否位于缺陷區(qū)域,異常值大于等于δ2則為缺陷像素。
本文實(shí)驗(yàn)使用Kolektor團(tuán)隊(duì)開源的KolektorSDD2數(shù)據(jù)集[14],由3 335張采集自實(shí)際工業(yè)環(huán)境中的換向器表面圖像組成,包含356張缺陷圖像,并提供有像素級的缺陷標(biāo)注,將部分缺陷圖像的缺陷區(qū)域裁剪,如圖2所示。
圖2 換向器表面缺陷示例圖
本文方法采用無監(jiān)督學(xué)習(xí)方式,訓(xùn)練集中僅包含無缺陷圖像。實(shí)驗(yàn)使用的訓(xùn)練集和測試集數(shù)據(jù)分布如表2所示。由于數(shù)據(jù)集中的圖像尺寸大小不一,實(shí)驗(yàn)前使用雙線性插值算法統(tǒng)一將所有圖像放大至704×256像素。
表2 KolektorSDD2數(shù)據(jù)集的樣本分布
考慮到實(shí)際生產(chǎn)中樣本分布不均勻、負(fù)樣本(正常產(chǎn)品)數(shù)量遠(yuǎn)多于正樣本(缺陷產(chǎn)品),本文使用ROC曲線下面積(Area under the ROC Curve,AUROC)作為評估標(biāo)準(zhǔn)。因?yàn)镽OC曲線受樣本分布影響較小,其縱坐標(biāo)為真陽性率(True-Positive Rates,TPR),橫坐標(biāo)為假陽性率(False-Positive Rates,F(xiàn)PR),計(jì)算公式如下:
式中:TP代表正確的正樣本數(shù)目,TN代表正確的負(fù)樣本數(shù)目,F(xiàn)P代表錯(cuò)誤的正樣本數(shù)目,F(xiàn)N代表錯(cuò)誤的負(fù)樣本數(shù)目。
為了評估方法對缺陷檢測與分割的性能,本文計(jì)算兩種標(biāo)準(zhǔn)下的AUROC值:
(1)檢測AUROC,以圖像為判斷個(gè)體,判斷圖像是否包含缺陷區(qū)域;
(2)分割A(yù)UROC,以像素為判斷個(gè)體,判斷像素是否位于缺陷區(qū)域。
表3 對比了本文方法與目前最新同時(shí)效果較好的基于特征空間的無監(jiān)督缺陷檢測方法SPADE[8]、PaDim[10]在KolektorSDD2數(shù)據(jù)集的缺陷檢測與分割結(jié)果。可以發(fā)現(xiàn),在平衡地利用不同深度的特征信息后,本文設(shè)計(jì)的方法對缺陷區(qū)域?qū)崿F(xiàn)了更高精度的識別與分割,檢測AUROC達(dá)到98.7%,分割A(yù)UROC達(dá)到98.0%,好于另外兩種方法。
表3 不同方法在KolektorSDD2上的檢測與分割結(jié)果對比
本文對比顯示了表3中不同方法的實(shí)際缺陷分割效果示例,同時(shí)給出當(dāng)本方法僅利用淺層信息(模塊4的輸出特征圖)時(shí)的缺陷分割效果圖,如圖3所示。對比可發(fā)現(xiàn),當(dāng)對淺層信息利用不充分時(shí),方法對于缺陷區(qū)域的邊緣檢測不完整、不精確,如圖3(c)和圖3(d)的第一列和第三列;當(dāng)僅利用淺層信息時(shí),又容易對不必要的紋理細(xì)節(jié)過于敏感,產(chǎn)生大量誤檢的小區(qū)域,如圖3(e)的第二列和第四列。通過平衡利用不同深度的特征信息,本方法能夠?qū)θ毕輩^(qū)域?qū)崿F(xiàn)輪廓更精確和完整的分割。
圖3 不同方法的缺陷分割效果圖對比
2.4.1 特征映射網(wǎng)絡(luò)
為了驗(yàn)證使用EfficientNet作為特征映射網(wǎng)絡(luò)的性能優(yōu)勢,同時(shí)測試本文方法對于不同特征映射網(wǎng)絡(luò)模型是否具有魯棒性,實(shí)驗(yàn)其他網(wǎng)絡(luò)結(jié)構(gòu)作為特征映射網(wǎng)絡(luò)時(shí)的缺陷檢測效果,結(jié)果如表4所示。在ImageNet數(shù)據(jù)集上對6種網(wǎng)絡(luò)預(yù)訓(xùn)練后,凍結(jié)卷積層參數(shù),分別利用它們將輸入數(shù)據(jù)映射到特征空間并測試缺陷檢測效果。在提取不同深度的特征圖時(shí),對于不同模型,分別選擇和EfficientNet-b4所用特征圖相同分辨率的特征圖層。6種模型的缺陷檢測ROC與分割ROC如圖4所示。
圖4 不同模型的ROC對比
表4 特征映射網(wǎng)絡(luò)的消融實(shí)驗(yàn)結(jié)果
從圖4可以發(fā)現(xiàn),最佳的缺陷檢測結(jié)果在使用本文默認(rèn)網(wǎng)絡(luò)EfficientNet-b4時(shí)達(dá)到(檢測AUROC=98.7%,分割A(yù)UROC=98.0%)。當(dāng)使用參數(shù)量只有EfficientNet-b4模型約1/4大小的EfficientNet-b0網(wǎng)絡(luò)時(shí),本方法仍可以達(dá)到較高的性能。對比參數(shù)量更大的ResNet系列模型的表現(xiàn),可以發(fā)現(xiàn)EfficientNet系列模型在本方法中具有更好的特征映射能力。當(dāng)使用SqueezeNet網(wǎng)絡(luò)時(shí),缺陷檢測結(jié)果較差,這是因?yàn)樵撃P蛥?shù)量太少,無法學(xué)習(xí)到高效的特征表達(dá)能力,但通過本方法仍可以實(shí)現(xiàn)90.9%的缺陷檢測精度。綜合來看,本方法對于特征映射網(wǎng)絡(luò)具有一定的魯棒性,當(dāng)使用大多數(shù)網(wǎng)絡(luò)模型時(shí),都能實(shí)現(xiàn)較好的缺陷檢測與分割能力。
2.4.2 訓(xùn)練樣本數(shù)量
考慮到表面缺陷檢測的實(shí)際效果易受訓(xùn)練集中正常樣本數(shù)量的影響,以及現(xiàn)存開源工業(yè)數(shù)據(jù)集的數(shù)據(jù)量較少的現(xiàn)狀,本文進(jìn)一步測試訓(xùn)練樣本數(shù)量對于本方法的影響。使用KolektorSDD2數(shù)據(jù)集,保持測試集不變,分別實(shí)驗(yàn)當(dāng)隨機(jī)選取100%、50%、30%、10%、3%訓(xùn)練樣本時(shí)的缺陷檢測表現(xiàn),結(jié)果如表5所示??梢园l(fā)現(xiàn),本文方法對于訓(xùn)練數(shù)據(jù)量的變化具有魯棒性,當(dāng)使用30%(626張)訓(xùn)練數(shù)據(jù)時(shí),本方法的檢測精度僅下降0.4%,分割精度下降1.0%;當(dāng)訓(xùn)練數(shù)據(jù)量下降到3%(63張)時(shí),檢測精度下降2.0%,分割精度下降2.7%,仍保持較好的檢測水準(zhǔn)。這可能是由于使用ImageNet數(shù)據(jù)集預(yù)訓(xùn)練的模型來做特征映射,模型本身的性能不受訓(xùn)練集數(shù)據(jù)量影響,從而保持了較好的穩(wěn)定性。綜上,本方法的檢測性能對于訓(xùn)練數(shù)據(jù)量變化不敏感,可以很好地應(yīng)用于訓(xùn)練集較小的缺陷檢測場景。
表5 訓(xùn)練樣本數(shù)量的消融實(shí)驗(yàn)結(jié)果
針對換向器表面缺陷檢測任務(wù),結(jié)合實(shí)際生產(chǎn)中缺陷樣本數(shù)量少、人工標(biāo)注成本高的現(xiàn)狀,本文設(shè)計(jì)了一種基于特征空間的無監(jiān)督換向器表面缺陷檢測方法。本文方法借助預(yù)訓(xùn)練的EfficientNet網(wǎng)絡(luò)提高了特征提取能力,并通過對特征圖每個(gè)像素建立高斯分布實(shí)現(xiàn)像素級缺陷分割,均衡利用不同深度的特征圖構(gòu)建異常圖,使得對于缺陷區(qū)域的輪廓檢測更精確和全面。相比其他無監(jiān)督缺陷檢測方法,本方法在KolektorSDD2數(shù)據(jù)集上達(dá)到了98.7%的缺陷檢測精度和98.0%的缺陷分割精度。消融實(shí)驗(yàn)證明,在小規(guī)模訓(xùn)練數(shù)據(jù)場景下,本方法仍具有較高的檢測能力。