織物紋理對于缺陷檢測的影響是相當(dāng)巨大的。由于缺陷通常在規(guī)模和長寬比上變化很大,可能會降低檢測精度,所以這篇文章針對織物缺陷主要進(jìn)行的是語義分割,而不是進(jìn)行bounding box的檢測。
方法以及模型框架寫的相當(dāng)清晰,首先針對現(xiàn)有的缺陷數(shù)據(jù)集,我們使用DeepLab V3對齊進(jìn)行語義分割,生成預(yù)訓(xùn)練模型用于后續(xù)的訓(xùn)練過程。文章的創(chuàng)新點(diǎn)在于下方的GAN網(wǎng)絡(luò)分支,對于新的紋理的織物,文章訓(xùn)練了一個生成器,以輸入不同紋理的織物而生成織物缺陷。但是,生成的缺陷在肉眼看去像是“假缺陷”,因此在這篇文章的工作中,訓(xùn)練了一個缺陷融合網(wǎng)絡(luò),以將缺陷粘貼后的圖像進(jìn)行相應(yīng)的調(diào)整,使其更加接近真實(shí)的缺陷情況。然后生成的缺陷織物樣本作為訓(xùn)練數(shù)據(jù),對預(yù)訓(xùn)練模型進(jìn)行微調(diào),這樣我們就可以得到一個新的織物樣本的檢測模型。文章所提出的兩階段的生成對抗網(wǎng)絡(luò)結(jié)構(gòu)如下所示:
由于步幅卷積會導(dǎo)致feature map在卷積過程中的尺度會逐步變小,在block4,文章提出了一種新的模塊ASPP,使用空洞卷積來增加原卷積的感受野,而不改變輸出的feature map的大小,最后進(jìn)行語義分割進(jìn)行缺陷的檢測。文章中詳細(xì)的說明了對于stride的調(diào)整過程。
損失函數(shù)的設(shè)計(jì)方面:
1、對于背景損失以及缺陷損失設(shè)計(jì)不同的權(quán)重:
Stage1:生成缺陷方面:
1、設(shè)計(jì)“style label”,通過VGG提取的織物特征Gram矩陣設(shè)計(jì)新面料的style label。
2、生成器對抗損失的計(jì)算:
Stage2: 融合缺陷方面:
1、由于生成的假缺陷與真缺陷之前完全一樣是不可能的,因此設(shè)計(jì)一個合頁重構(gòu)損失:
其中m為定義松弛重構(gòu)約束的合頁閾值。
2、對預(yù)處理VGGNet提取的缺陷融合補(bǔ)丁的特征圖進(jìn)行約束,使其與對應(yīng)的真實(shí)補(bǔ)丁相似,特征重建損失:
3、鑒別器對抗性損失函數(shù)定義:
其中,T(·)表示提出的缺陷融合網(wǎng)絡(luò),x和y分別為不完善樣本和訓(xùn)練缺陷樣本。
評價指標(biāo):IoU閾值0.5條件下的:
生成效果:
無缺陷圖像、粘貼缺陷圖像、缺陷融合圖像
檢測效果:
簡單織物
復(fù)雜織物
小結(jié):
1、從正常樣本生成缺陷樣本進(jìn)行數(shù)據(jù)的增強(qiáng)可以有效的緩解數(shù)據(jù)集難以獲取以及人工標(biāo)注費(fèi)時費(fèi)力的問題,對于這種缺陷生成的適用情況進(jìn)行了一定的思考。第一、生成的缺陷并不能保證最后落在某個特定的位置,因此這種方法其實(shí)可能很難應(yīng)用到PCB缺陷檢測這種任務(wù)中。
2、出現(xiàn)的問題:由于內(nèi)存的限制,在訓(xùn)練時將訓(xùn)練樣本裁剪成512*512的小patch進(jìn)行網(wǎng)絡(luò)的輸入,然而這種情況會導(dǎo)致對于占比較大的大尺度缺陷的檢測效果不佳。使用multi-scale方法可以有效減小這種現(xiàn)象但是也會引起復(fù)雜織物的缺陷誤判,因此兩者之前需要舍棄一個。
大尺度缺陷的檢測效果(復(fù)雜紋理織物白條)
3、數(shù)據(jù)集存在一些人工標(biāo)注并沒有標(biāo)注到的地方會導(dǎo)致假負(fù)例率大幅提升。有些人工標(biāo)注的數(shù)據(jù)集對所有缺陷標(biāo)注不完全會導(dǎo)致這種情況。雖然指標(biāo)會相對降低但是仍然可以認(rèn)為算法可以繼續(xù)完成我們的任務(wù)。標(biāo)注數(shù)據(jù)不完全導(dǎo)致召回率上不去。會對最終指標(biāo)為mAP以及F-measure有一定的影響。
來源:互聯(lián)網(wǎng)