陳婉琴 ,唐清善 ,黃濤
(1.長(zhǎng)沙理工大學(xué) 物理與電子科學(xué)學(xué)院,湖南 長(zhǎng)沙 410000;2.中國(guó)人民解放軍第3303 工廠,湖北 武漢 430200)
在金屬板材生產(chǎn)過程中,由于加工技術(shù)、溫度控制、雜物摻入[1]等影響,金屬面板表面會(huì)產(chǎn)生各種缺陷,如劃痕、凸粉等。其不僅影響產(chǎn)品的美觀和舒適度,而且會(huì)在使用過程中留下潛在隱患。因此,表面缺陷檢測(cè)環(huán)節(jié)對(duì)于保障產(chǎn)品的質(zhì)量非常重要。
人們?cè)谌毕蓊I(lǐng)域的探索分為基于傳統(tǒng)目標(biāo)檢測(cè)[2]和基于深度學(xué)習(xí)[3]的方法。周神特等人[4]利用SIFT 算子提取缺陷特征向量后提出了一種BP 算法級(jí)聯(lián)SVM 結(jié)合的分類器檢測(cè)方法來檢測(cè)金屬板材表面缺陷,該方法對(duì)缺陷特征要求辨識(shí)度高,對(duì)于與背景相似的缺陷無法得到有效處理。李蘭等人[5]提出一種基于空洞卷積融合的SSD 工件表面缺陷檢測(cè)方法,有效地對(duì)工件表面的剝落、碎屑、梨溝缺陷進(jìn)行識(shí)別,但是其缺陷樣本是利用電子顯微鏡獲取,對(duì)缺陷樣本的分辨率要求很高。李維剛等人[6]提出一種基于K-means 聚類改進(jìn)的YOLOv3 算法對(duì)帶鋼表面缺陷進(jìn)行檢測(cè),較未改進(jìn)之前在整體上提升檢測(cè)速度的和缺陷的檢測(cè)率,但是其使用的K-means 對(duì)初始設(shè)置條件極其敏感,數(shù)據(jù)量不夠時(shí)無法保證其結(jié)果的有效性。王海云等人[7]提出了一種利用FPN 改進(jìn)Mask R-CNN 算法來檢測(cè)工業(yè)表面缺陷,雖然能夠準(zhǔn)確地定位和識(shí)別缺陷,但是其利用多尺度特征映射融合的方法增加了網(wǎng)絡(luò)復(fù)雜度,導(dǎo)致其訓(xùn)練速度慢,識(shí)別耗時(shí)長(zhǎng)。綜上所述,SSD 算法[8]及其變體的一階檢測(cè)器[9]更省時(shí),在目標(biāo)檢測(cè)跟蹤方面更具備適用性,但論檢測(cè)性能而言,二階檢測(cè)器(如R-CNN[10-11])及其變體等在公共的評(píng)價(jià)基準(zhǔn)上取得的檢測(cè)精度更優(yōu)。因此,本文提出了基于改進(jìn)Faster RCNN 算法的缺陷檢測(cè)方法,提高了檢測(cè)精度,并且具有良好的識(shí)別速率,適用性更強(qiáng)。
本文實(shí)驗(yàn)采用劃痕、臟點(diǎn)、凸粉、漆泡四種表面缺陷組成的數(shù)據(jù)集。從圖1 中可以看出,劃痕的面積占比差異大,分布不規(guī)則,深淺不一;而臟點(diǎn)面積占比極??;漆泡面積長(zhǎng)寬比極端分布;凸粉缺陷在金屬板材表面與板材背景幾乎一致。這些缺陷的特征給缺陷的檢測(cè)帶來了很大的困難,因此,選擇一種適用于面板缺陷檢測(cè)的檢測(cè)方法具有挑戰(zhàn)性。
圖1 4 種缺陷示意圖
Faster R-CNN[12]是基于VGG16 骨干特征提取網(wǎng)絡(luò)組成的二階目標(biāo)檢測(cè)算法,其檢測(cè)流程如圖2 所示。
圖2 Faster R-CNN 檢測(cè)流程圖
傳統(tǒng)的Faster R-CNN 采用多層非線性網(wǎng)絡(luò)增加網(wǎng)絡(luò)深度來提取更復(fù)雜更具有表達(dá)性的特征。盡管其在COCO 數(shù)據(jù)集[13]上測(cè)試效果極佳,但因?yàn)樘荻仁菑暮笙蚯皞鞑サ?,增加網(wǎng)絡(luò)深度后,模型訓(xùn)練會(huì)面臨網(wǎng)絡(luò)退化問題,而且提升精確度是以犧牲時(shí)間為代價(jià)。由于實(shí)驗(yàn)環(huán)境限制,本文所采集的缺陷數(shù)據(jù)圖片量較少,同時(shí)缺陷目標(biāo)大小存在巨大差異,為了兼顧缺陷識(shí)別準(zhǔn)確性和實(shí)時(shí)性,單純的學(xué)習(xí)遷移并不能完全滿足缺陷檢測(cè)的要求。為了解決上述問題,本文在原始的Faster RCNN 基礎(chǔ)上,主要做了兩個(gè)方面的改進(jìn)。首先在Mobielenetv2 網(wǎng)絡(luò)的基礎(chǔ)上提出了一種帶通道交叉特征映射的殘差網(wǎng)絡(luò),以此來豐富其特征提取網(wǎng)絡(luò)對(duì)低維特征的敏感性;其次采用新的建議框生成機(jī)制和候選框篩選策略提升候選框與目標(biāo)框的匹配性。改進(jìn)后的Faster R-CNN 檢測(cè)網(wǎng)絡(luò)框架如圖3 所示。
圖3 改進(jìn)后的Faster R-CNN 檢測(cè)網(wǎng)絡(luò)框
本文采用輕量級(jí)的Mobilenet 網(wǎng)絡(luò)[14]來提取缺陷特征。Mobilenet 采用可分解的深度可分離卷積,其可以降低模型計(jì)算復(fù)雜度,并能夠極大簡(jiǎn)化降低模型,滿足在移動(dòng)端部署的應(yīng)用場(chǎng)景。但其存在檢測(cè)精確度不高的問題。為了滿足在不降低模型計(jì)算復(fù)雜度的情況下提升整個(gè)網(wǎng)絡(luò)性能的精確度,本文首先基于反殘差塊結(jié)構(gòu)提出在不減少通道數(shù)目的情況下增加通道交叉來平衡通道數(shù)目和連通性的新殘差網(wǎng)絡(luò)結(jié)構(gòu),然后在每個(gè)網(wǎng)絡(luò)塊連接之間級(jí)聯(lián)注意力機(jī)制,有效集中重點(diǎn)特征信息。優(yōu)化后的反殘差卷積塊結(jié)構(gòu)如圖4 所示。
圖4 改進(jìn)型Mobilenetv2 網(wǎng)絡(luò)反殘差卷積塊結(jié)構(gòu)圖
在模型訓(xùn)練過程中,通過1×1 的點(diǎn)卷積來擴(kuò)展維度,進(jìn)而用3×3 深度可分離卷積提取特征,最后使用1×1點(diǎn)卷積進(jìn)行數(shù)據(jù)通道壓縮??紤]到使用深度可分離卷積使得網(wǎng)絡(luò)通道數(shù)增加的同時(shí)會(huì)出現(xiàn)卷積層的連通性降低的問題,優(yōu)化后的殘差模塊保留了shortcut 結(jié)構(gòu),以有效避免深度網(wǎng)絡(luò)中的梯度彌散;卷積核大小為3×3 的深度可分離卷積分解為兩個(gè)3×1 和1×3 的向量,以減少參數(shù)量;其次通過加強(qiáng)每個(gè)通道及其k 個(gè)鄰域的交叉性,以有效平衡網(wǎng)絡(luò)通道數(shù)與連通性的不足,其中k 表示本地通道交叉的覆蓋范圍,卷積核k 值的確定與每個(gè)網(wǎng)絡(luò)塊的輸出通道數(shù)的大小有關(guān)。
為了捕獲長(zhǎng)期依賴關(guān)系,本文在骨干特征提取網(wǎng)絡(luò)后級(jí)聯(lián)CBAM 注意力網(wǎng)絡(luò)[15],其原理如式(1)所示:
其中,?為逐點(diǎn)乘積,F(xiàn) 為輸入特征映射圖;Mc表示在通道維度上做注意力提取的操作,原理如式(2)所示;Ms表示在空間維度上做注意力提取操作,其原理如式(3)所示。CBAM 注意力網(wǎng)絡(luò)由通道注意力和空間注意力兩個(gè)模塊組成,其中通道注意力模塊用于計(jì)算特征通道之間的相互依賴性,學(xué)習(xí)選擇性地增強(qiáng)有意義特征。空間注意力模塊用于計(jì)算圖像上任何兩個(gè)位置之間的相互作用,有效地捕獲大跨度和大面積缺陷的重要信息[15]。
區(qū)域建議框網(wǎng)絡(luò)中錨框的尺寸設(shè)置直接影響候選框的生成,進(jìn)而影響后續(xù)目標(biāo)檢測(cè)預(yù)測(cè)結(jié)果的真實(shí)框大小。本文缺陷數(shù)據(jù)集缺陷尺寸大小差異很大,若使用原始的錨框尺寸,可能導(dǎo)致小目標(biāo)漏檢率高,影響檢測(cè)效果。
數(shù)據(jù)集缺陷區(qū)域?qū)捀弑冉y(tǒng)計(jì)如圖5 所示。從圖5 可以看出,寬高比為1 時(shí)缺陷數(shù)量最大,綜合考慮整體缺陷大小分布數(shù)量情況,選取其寬高比的平均數(shù),中位數(shù)和眾數(shù)作為錨框尺寸生成比例的考量因素。通過調(diào)整瞄框的大小及生成比例,促進(jìn)候選框更加貼合實(shí)際缺陷大小要求,使得識(shí)別更加準(zhǔn)確。在統(tǒng)計(jì)長(zhǎng)寬比時(shí),剔除極端比例,設(shè)定錨框生成比例為{0.1,0.2,0.5,1.0,2.0,5.0,10.0,20.0},以貼合缺陷大小生成建議框。RPN 網(wǎng)絡(luò)流程示意圖如圖6 所示。
圖5 缺陷區(qū)域?qū)捀弑?/p>
圖6 RPN 網(wǎng)絡(luò)流程示意圖
實(shí)際中,缺陷的產(chǎn)生是隨機(jī)的,因此可能同時(shí)產(chǎn)生多種缺陷。此時(shí)提出的候選框會(huì)產(chǎn)生堆疊,在對(duì)候選框進(jìn)行篩選時(shí)會(huì)去除得分較低的候選框。如果只考慮重疊區(qū)占比的非極大值機(jī)制(NMS)方法篩選候選框,缺陷邊緣重合或被其他不規(guī)則缺陷包圍的小缺陷將被過濾掉,導(dǎo)致漏檢。針對(duì)此問題,本文綜合考量重疊率和框選中心矩比例作為篩選條件,選用DIoU-NMS 方法去除多余的候選框[16]。NMS 與DIoU-NMS 的篩選原理對(duì)比如圖7所示。
圖7 NMS 與DIoU-NMS 原理對(duì)比圖
IoU 的計(jì)算如下所示:
其中,B 表示預(yù)測(cè)框,Bgt代表真實(shí)框。
DIoU-NMS 的計(jì)算如式(5)所示:
其中,M 指得分最高的預(yù)測(cè)框,Bi為考慮重疊區(qū)和中心點(diǎn)距離后被刪除的候選框,ε 為DIOU-NMS 中設(shè)定的區(qū)分正負(fù)類的閾值。Si為分類得分,其懲罰項(xiàng)定義如下:
其中,(b,bgt)為預(yù)測(cè)框和真實(shí)框的中心點(diǎn),ρ2指最小化兩個(gè)邊界框中心點(diǎn)之間的標(biāo)準(zhǔn)化距離,c2為覆蓋兩個(gè)盒子的最小封閉盒子的對(duì)角線標(biāo)準(zhǔn)化長(zhǎng)度。
本文使用的面板表面缺陷集采集于機(jī)箱鋼板表面,為豐富缺陷種類,凸粉、漆泡缺陷圖片來自于天池比賽提供的鋁板缺陷。統(tǒng)一數(shù)據(jù)集圖片尺寸為512×512,所有標(biāo)簽數(shù)據(jù)均由作者標(biāo)注完成。本文在實(shí)驗(yàn)中使用COCO 評(píng)價(jià)準(zhǔn)則[13]衡量整個(gè)模型的性能。原始數(shù)據(jù)集分為臟點(diǎn)、凸粉、劃痕、漆泡4 種共1 400 張圖片,其各類圖片占比約為3∶3∶4∶4。由于原始數(shù)據(jù)集的數(shù)據(jù)量較少,且不同缺陷的數(shù)據(jù)數(shù)量不均衡,本文通過數(shù)據(jù)增強(qiáng)來增加樣本的多樣性并同時(shí)對(duì)標(biāo)記框進(jìn)行相應(yīng)調(diào)整,數(shù)據(jù)增強(qiáng)后共得到5 600 幅圖像,主要增強(qiáng)方式有隨機(jī)旋轉(zhuǎn)、裁剪、隨機(jī)顏色和亮度增強(qiáng)。實(shí)驗(yàn)過程中對(duì)數(shù)據(jù)集進(jìn)行隨機(jī)分割,訓(xùn)練集和驗(yàn)證集的分割比例為7∶3。
本實(shí)驗(yàn)所使用開發(fā)環(huán)境為Python3.7,GPU 型號(hào)為RTX 2080Ti,整體利用了開源的PyTorch 框架進(jìn)行代碼編譯,框架配置為PyTorch1.6.0 和CUDA10.2。標(biāo)注工具采用LabelImg。
在訓(xùn)練過程中,利用模型遷移方法固定部分卷積網(wǎng)絡(luò)的部分參數(shù),使用隨機(jī)梯度下降法在每一次迭代過程中進(jìn)行參數(shù)更新。本文算法在訓(xùn)練過程中的損失函數(shù)曲線如圖8 所示。從訓(xùn)練的Train_loss 值可以看出在迭代6 000 次后,網(wǎng)絡(luò)模型損失值趨于穩(wěn)定。
圖8 改進(jìn)后的Faster R-CNN 算法訓(xùn)練損失下降曲線
本文將所提算法與其他算法在相同的數(shù)據(jù)集上進(jìn)行了對(duì)比實(shí)驗(yàn)。在相同的訓(xùn)練epoch 下,通過改變骨干特征提取網(wǎng)絡(luò)及RPN 網(wǎng)絡(luò),通過遷移學(xué)習(xí)的方法,得到不同算法的實(shí)例分割評(píng)價(jià)指標(biāo)和缺陷平均識(shí)別時(shí)間,其對(duì)比如表1 所示,其mAP 值對(duì)比如圖9 所示。
圖9 在相同訓(xùn)練epoch 下mAP 值對(duì)比結(jié)果
圖9 表明,改進(jìn)后的Faster R-CNN 網(wǎng)絡(luò)的mAP 高于其他網(wǎng)絡(luò),其網(wǎng)絡(luò)的收斂速度也提升了約1 個(gè)epoch。從表1 可以看出,在原始數(shù)據(jù)集條件下,本文所優(yōu)化后網(wǎng)絡(luò)的mAP 比未改進(jìn)前提升了約6.1%。通過數(shù)據(jù)增強(qiáng)后,改進(jìn)后的網(wǎng)絡(luò)mAP 達(dá)到78.9%,較之前提升了約2.7%。從檢測(cè)速度分析,本文網(wǎng)絡(luò)模型每張缺陷檢測(cè)的平均時(shí)間是2.5 s,低于未改進(jìn)前的檢測(cè)時(shí)間約1 s,其檢測(cè)速度基本可以與一階檢測(cè)算法SSD 相媲美。缺陷識(shí)別結(jié)果如圖10 所示,從圖10 中可以看出,采用優(yōu)化后網(wǎng)絡(luò)訓(xùn)練結(jié)果進(jìn)行缺陷預(yù)測(cè)時(shí),4 種缺陷都能夠被識(shí)別;而且從劃痕的檢測(cè)結(jié)果中可以看出,對(duì)于一些人眼無法清晰識(shí)別的缺陷,通過該算法也能達(dá)到75%以上的識(shí)別置信度。因此,本文采取的改進(jìn)Faster R-CNN 網(wǎng)絡(luò)算法在此數(shù)據(jù)集上檢測(cè)效果較好。
圖10 缺陷檢測(cè)結(jié)果圖
本文以Faster R-CNN 算法為理論基礎(chǔ),結(jié)合目標(biāo)檢測(cè)領(lǐng)域在工業(yè)生產(chǎn)上的應(yīng)用,針對(duì)機(jī)箱鋼板缺陷,提出了一種基于Faster R-CNN 的優(yōu)化算法。該算法針對(duì)于工廠應(yīng)用環(huán)境,采用深度學(xué)習(xí)算法識(shí)別缺陷代替人工檢測(cè),在保證識(shí)別率高的同時(shí)減少成本并提高檢測(cè)效率。實(shí)驗(yàn)結(jié)果表明,本文所提算法具有較高的檢測(cè)精度,同時(shí)檢測(cè)速度得到提升。
由于實(shí)驗(yàn)條件有限,數(shù)據(jù)集樣本多樣性較少,通過數(shù)據(jù)增強(qiáng)手段對(duì)數(shù)據(jù)集缺陷樣本多樣性提升有限,對(duì)網(wǎng)絡(luò)訓(xùn)練階段缺陷的分割效果還有提升的空間。下一步將采集更多的缺陷樣本,探索更加高效提升模型訓(xùn)練速度的方法,進(jìn)一步增強(qiáng)模型的泛化能力。