吳健生,王健全,付美霞,王振乾,盧一凡
(北京科技大學(xué),北京 100083)
帶鋼作為基礎(chǔ)工業(yè)原料廣泛應(yīng)用于建筑、造船、汽車等領(lǐng)域。由于工業(yè)生產(chǎn)環(huán)境復(fù)雜,帶鋼表面會產(chǎn)生許多類型缺陷,如劃痕、裂紋、凹陷等,輕則影響鋼的強(qiáng)度,重則引發(fā)安全事故。以前通常由經(jīng)驗豐富的技術(shù)工人目測缺陷,效率低。為此,研究人員不斷探索基于機(jī)器視覺的帶鋼表面缺陷檢測方法。王宇等[1]基于金屬零件表面缺陷的基本特征、種類,提出利用機(jī)器視覺技術(shù)檢測方法。吳旭東等[2]提出基于光度學(xué)特征和支持向量機(jī)分類的機(jī)器視覺檢測方法。與人工檢測相比,機(jī)器視覺法具有成本低,受環(huán)境干擾小的優(yōu)點,但是需要手動設(shè)計特征提取器,而設(shè)計過程復(fù)雜,且只適用于特定任務(wù),局限性較大。
近年來,深度學(xué)習(xí)的快速發(fā)展為解決傳統(tǒng)缺陷檢測魯棒性差、效率低等問題提供了新思路?;谏疃葘W(xué)習(xí)的算法無需手動設(shè)計特征提取器即可進(jìn)行缺陷檢測,已成為缺陷檢測的主流方式。馬燕婷等[3]提出了基于YOLOv5網(wǎng)絡(luò)改進(jìn)的帶鋼缺陷檢測算法??苄聩i等[4]提出了基于Faster-RCNN的帶鋼缺陷檢測算法。Faster-RCNN算法比YOLOv5算法檢測速度慢,但是精度有所保證,應(yīng)用更廣泛。Faster-RCNN[5]是通用模型,為兩階段目標(biāo)檢測算法,因為該算法主干網(wǎng)絡(luò)由固定大小和結(jié)構(gòu)的卷積核組成,難以提取形狀不規(guī)則的特征,無法適應(yīng)多尺度缺陷且無法抑制復(fù)雜背景對鋼表面的干擾,所以直接用于缺陷檢測效果仍然有限。本文改進(jìn)了Faster-RCNN網(wǎng)絡(luò),采用可變形卷積模 塊[6],F(xiàn)PN[7]多 尺 度 檢 測 模 塊 及 CBMA[8]注 意力模塊,進(jìn)一步提高了帶鋼表面缺陷檢測的精度。
圖1為Faster-RCNN網(wǎng)絡(luò)架構(gòu)。
圖1 Faster-RCNN網(wǎng)絡(luò)架構(gòu)Fig.1 Network Architecture of Faster-RCNN
Faster-RCNN網(wǎng)絡(luò)架構(gòu)主要由CNN特征提取網(wǎng)絡(luò)、區(qū)域候選網(wǎng)絡(luò)(Region Proposal Network,RPN)、感興趣區(qū)域池化層(Region of Interest Pooling,ROI Pooling)、檢測網(wǎng)絡(luò)構(gòu)成。其中CNN特征提取網(wǎng)絡(luò)可以是ResNet或者VGGNet等,由一組卷積層、池化層、激活層組成,用于提取圖像的特征。RPN網(wǎng)絡(luò)由分類器 (Classifier)和邊框回歸(Bounding Box Regressor)兩部分組成,其中分類器判斷生成的錨框(anchors)中是否有目標(biāo),邊框回歸是為了修正anchors以獲取更為準(zhǔn)確的候選框。ROI池化層將RPN輸出的候選框映射到特征圖中以生成感興趣區(qū)域。檢測網(wǎng)絡(luò)同樣由分類器和邊框回歸構(gòu)成,不過該分類器的輸出為感興趣區(qū)域中物體所屬的類別,而邊框回歸用于回歸更加精確的目標(biāo)檢測框。
在Faster-RCNN基礎(chǔ)上,分別對原網(wǎng)絡(luò)架構(gòu)中的特征提取網(wǎng)絡(luò)、RPN網(wǎng)絡(luò)進(jìn)行改進(jìn)。在主干網(wǎng)絡(luò)部分,在ResNet-50的后4個塊中引入可變形卷積模塊,并采用FPN網(wǎng)絡(luò)融合多尺度特征;在RPN網(wǎng)絡(luò)中,對輸入特征圖使用即插即用的CBAM注意力模塊以抑制復(fù)雜背景對缺陷檢測的干擾。圖2為3×3標(biāo)準(zhǔn)卷積和可變形卷積中的采樣位置。
圖2 3×3標(biāo)準(zhǔn)卷積和可變形卷積中的采樣位置Fig.2 Sampling Positions in 3×3 Standard Convolution and Deformable Convolution
1.3.1 可變形卷積模塊
圖3為可變形卷積采樣效果。
圖3 可變形卷積采樣效果Fig.3 Sampling Effect for Deformable Convolution
與標(biāo)準(zhǔn)卷積相比,可變形卷積增加了每個采樣點位置的偏移,從而導(dǎo)致采樣點的變化,圖2的卷積核可以在訓(xùn)練過程中自動調(diào)整尺度和感受野的大小,以適應(yīng)不同對象的不同形狀和大小的特性[6],如圖3缺陷圖片中的采樣效果所示,可變形卷積單元中添加的偏移是網(wǎng)絡(luò)結(jié)構(gòu)的一部分,由另一個并行標(biāo)準(zhǔn)卷積單元計算。圖4為可變形卷積計算過程。
圖4 可變形卷積計算過程Fig.4 Calculation Process for Deformable Convolution
式中,pn為R網(wǎng)格中所有位置的窮舉。
然而可變形卷積的操作是不同的,規(guī)則網(wǎng)格R通過增加一個偏移量進(jìn)行擴(kuò)張,同樣的位置p0表達(dá)式如下:
式中,?p0為由輸入特征圖與另一個卷積生成的偏移矩陣。
由于采樣位置變得不規(guī)則,是偏移矩陣,而偏移通常為小數(shù),因此應(yīng)通過雙線性插值實現(xiàn),計算公式如下:
式中,p 為任意位置(p=p0+pn+?p0);q 為窮舉特征圖中x所有整數(shù)位置;G為二維雙線性插值核,其被劃分為兩個一維核,計算公式如下:
1.3.2 FPN模塊
在深度卷積神經(jīng)網(wǎng)絡(luò)中,淺層網(wǎng)絡(luò)提取的特征是淺層特征,尺寸大,幾何信息豐富,語義信息弱,有利于目標(biāo)定位,但不利于目標(biāo)分類。由于池化操作,高層網(wǎng)絡(luò)提取的特征是高層特征,尺寸小,幾何信息少,語義信息豐富,有利于目標(biāo)分類,但不利于目標(biāo)檢測,特別是對于小目標(biāo)的檢測。傳統(tǒng)的圖像金字塔采用輸入多尺度圖像的方式構(gòu)建多尺度的特征,即給定輸入圖像,通過預(yù)處理獲得不同尺度的圖像,構(gòu)造出一個圖像金字塔。其中,中間的圖像是原始圖像,經(jīng)過上采樣處理可得到尺寸大的圖像,下采樣處理可得到尺寸小的圖像。通過這種方式雖能提高算法的檢測精度,但是由于需要對每一張輸入圖像進(jìn)行特征提取等操作,運(yùn)算量大,效率低。卷積神經(jīng)網(wǎng)絡(luò)提取的不同特征圖尺寸不斷減小,F(xiàn)PN(特征金字塔網(wǎng)絡(luò))模塊利用此特點構(gòu)建多尺度特征金字塔,使得RPN網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)能在多尺度特征圖上分別預(yù)測不同尺度的目標(biāo),大大提高檢測模型的精度。
FPN多尺度檢測模塊包含兩個部分:第一部分是自底向上的過程,第二部分是自頂向下和側(cè)向連接的融合過程,F(xiàn)PN模塊結(jié)構(gòu)如圖5所示。
圖5 FPN模塊結(jié)構(gòu)Fig.5 Structure of FPN Module
其中自底向上的過程是ResNet的卷積過程,每個階段對應(yīng)了一個特征金字塔的級別,并且每個階段的最后一個殘差塊的輸出特征作為對應(yīng)FPN多尺度檢測模塊中相應(yīng)級別的特征,記為{C1、C2、C3、C4、C5}。 而自頂向下的過程是通過上采樣(up-sampling)的方式將頂層的小特征圖放大到和上一個階段特征圖一樣的大小。這樣既可利用頂層較強(qiáng)的語義特征(利于分類),又可利用底層豐富的幾何信息(利于定位)。同時為了將高層語義特征和底層的精確定位能力結(jié)合,采用側(cè)向連接結(jié)構(gòu)將上一層經(jīng)過上采樣后和當(dāng)前層分辨率一致的特征通過相加的方法進(jìn)行融合。
1.3.3 CBAM模塊
CBAM模塊由通道注意力模塊和空間注意力模塊組成,結(jié)構(gòu)見圖6。通道注意力模塊結(jié)構(gòu)如圖7所示,可對含缺陷信息的通道賦予更高的權(quán)重以關(guān)注缺陷特征,而對于含背景的通道賦予更低的權(quán)重以抑制背景特征,該模塊檢測輸入特征的每個通道,以找到最感興趣的區(qū)域。
圖6 CBAM模塊結(jié)構(gòu)Fig.6 Structure of CBAM Module
圖7 通道注意力模塊結(jié)構(gòu)Fig.7 Structure of Channel Attention Module
在通道注意力模塊中,給定輸入特征,首先分別執(zhí)行全局平均池化和最大池化操作可將輸入特征圖尺寸從C×H×W變?yōu)镃×1×1;然后經(jīng)過共享多層感知器模塊,先將通道數(shù)壓縮為原來的1/r(r為減少率)倍,再擴(kuò)張到原通道數(shù),經(jīng)過ReLU激活函數(shù)得到兩個激活后的結(jié)果;將這兩個輸出結(jié)果進(jìn)行逐元素相加,再通過一個sigmoid激活函數(shù)得到通道注意力模塊的輸出結(jié)果,再將這個輸出結(jié)果和原輸入特征相乘,即可輸出C×H×W大小特征圖,計算公式如下:
式中,σ為sigmoid函數(shù);W0和W1為兩個輸入共享權(quán)重。
與通道注意力模塊相比,空間注意力模塊更關(guān)注特征圖上的有效信息,可以指示缺陷在輸入特征圖中的空間位置,結(jié)構(gòu)見圖8。
圖8 空間注意力模塊結(jié)構(gòu)Fig.8 Structure of Space Attention Module
在該模塊中,首先,對來自通道注意力模塊的特征圖分別執(zhí)行平均池化和最大池化操作得到兩個1×H×W的特征圖,并將二者連接起來生成新特征圖。然后通過7×7卷積核大小的卷積操作得到單通道的特征圖,再經(jīng)過一個sigmoid函數(shù)得到空間注意力的特征圖,最后將輸出結(jié)果和原圖相乘獲得C×H×W特征圖,計算公式如下:
式中,σ 為 sigmoid 函數(shù); f7×7為卷積核為 7×7 的卷積運(yùn)算。
為了驗證本模型的性能,在公開的熱軋帶鋼表面缺陷數(shù)據(jù)集NEU-DET[9]做了大量實驗。該數(shù)據(jù)集由東北大學(xué)收集,包含1 800張圖像,共有六種典型表面缺陷,具體包括軋制氧化鐵皮、斑塊、開裂、劃痕、點蝕表面 、夾雜物。每種類型的缺陷有300張,每張圖片的分辨率為200×200像素。
采用普遍認(rèn)可的指標(biāo)來評估帶鋼表面缺陷檢測的性能,包括精度(Precision)、召回率(Recall)、平均精度(AP)、和所有類別缺陷平均精度的平均值(mAP)。上述各項指標(biāo)計算公式如下:
式中,TP、FP和FN分別為正樣本被正確識別的數(shù)量、預(yù)測錯誤的負(fù)樣本數(shù)量、負(fù)樣本被預(yù)測錯誤的數(shù)量。N是缺陷類別的數(shù)量。
在Ubuntu20.04中使用 4塊 RTX3090 NVIDIA GPU進(jìn)行帶鋼表面缺陷檢測實驗。數(shù)據(jù)集NEU-DET按7:2:1的比例分為訓(xùn)練集、驗證集和測試集。在參數(shù)設(shè)置方面,學(xué)習(xí)率為0.02,動量為0.9,權(quán)重衰減為0.001。在訓(xùn)練階段,采用隨機(jī)梯度下降(SGD)法訓(xùn)練檢測器,另外為了避免模型過擬合,對輸入圖像進(jìn)行數(shù)據(jù)增強(qiáng),如翻轉(zhuǎn)、旋轉(zhuǎn)和裁剪。
將本模型在NEU-DET數(shù)據(jù)集的檢測結(jié)果和其他模型進(jìn)行比較,結(jié)果見表1。
表1 各模型在NEU-DET數(shù)據(jù)集上的檢測結(jié)果對比Table 1 Comparison of Testing Results of Various Models Based on NEU-DET Data Set
由表1中數(shù)據(jù)可知,本模型在帶鋼數(shù)據(jù)集上mAP值為0.795,優(yōu)于其他模型。對于特征不明顯、邊界不清晰的缺陷如軋制氧化鐵皮,實現(xiàn)了最優(yōu)的AP值,說明本模型對這些類型缺陷特征的提取更有效。而對于缺陷特征明顯的如點蝕表面、斑塊等,雖未取得最優(yōu)效果,但和其他模型效果相差不大,可見本模型并沒有降低明顯特征提取效果。為清晰地看出改進(jìn)效果,將本模型與Faster-RCNN的缺陷檢測結(jié)果進(jìn)行對比,如圖9所示,F(xiàn)aster-RCNN對開裂、軋制氧化鐵皮等邊界不清晰、特征不明顯的缺陷出現(xiàn)了誤檢,而本模型顯然效果更好。
圖9 缺陷檢測結(jié)果對比Fig.9 Comparison of Defect Testing Results
為了驗證采用模塊的效果,在NEU-DET數(shù)據(jù)集上進(jìn)行了消融實驗。首先搭建了基于ResNet50的Faster-RCNN網(wǎng)絡(luò),然后在此網(wǎng)絡(luò)基礎(chǔ)上,逐步融合FPN模塊、ResNet50-DCN可變形卷積模塊、CBAM模塊分別進(jìn)行實驗,消融實驗結(jié)果見表2。
表2 消融實驗結(jié)果Table 2 Testing Results by Ablation
由表2可知,在Faster-RCNN基礎(chǔ)上,逐步融合后的模型mAP值不斷提高,由0.711提高至0.795,提高了8.4%。分步來看,當(dāng)融合了FPN模塊后,整體的mAP值提高了3.7%,軋制氧化鐵皮缺陷的檢測精度甚至提高了14.4%。當(dāng)然,有些缺陷的檢測精度有所下降,如夾雜物,深度學(xué)習(xí)的不可解釋性導(dǎo)致改進(jìn)模型時會出現(xiàn)這樣的情況。引入可變形卷積后,對于特征不明顯、邊界不清晰的缺陷如開裂、軋制氧化鐵皮,檢測精度分別提高了11.8%、8.5%,整體mAP值提高了3.2%。融合CBAM模塊后,對于特征不明顯的缺陷如開裂,檢測精度提高了1.5%,而劃痕提高了5.1%,各類缺陷檢測精度整體提高1.5%。綜上所述,所有添加的模塊不同程度提高了模型檢測的精度,足以證明采用模塊的有效性。
工業(yè)生產(chǎn)過程中無法產(chǎn)生大量的缺陷數(shù)據(jù),會導(dǎo)致模型擬合過度,檢測結(jié)果變差。因此,下一步研究重點將放在小樣本帶鋼表面缺陷檢測上,這是一個有價值的研究方向。
針對目前帶鋼表面缺陷檢測方法無法適應(yīng)缺陷形狀不規(guī)則、尺度不一、背景復(fù)雜等問題,本文提出了一種基于Faster-RCNN的改進(jìn)網(wǎng)絡(luò)。主干網(wǎng)絡(luò)采用了可變形卷積模塊以有效提取不規(guī)則缺陷特征,引入FPN多尺度檢測模塊增強(qiáng)模型對小目標(biāo)特征的提取能力,區(qū)域選擇網(wǎng)絡(luò)中添加CBMA注意力模塊以抑制復(fù)雜背景的影響使網(wǎng)絡(luò)更聚焦于缺陷特征。在NEU-DET數(shù)據(jù)集上的實驗結(jié)果表明,本模型提高了帶鋼表面缺陷檢測的精度。由于工業(yè)生產(chǎn)過程中無法產(chǎn)生大量的缺陷數(shù)據(jù)將導(dǎo)致模型擬合過度,檢測結(jié)果變差,因此,下一步研究重點將放在小樣本帶鋼表面缺陷檢測上,這是一個有價值的研究方向。
致謝
這項工作得到了國家重點研發(fā)計劃(2020YFB1708800)、廣東省重點研究與開發(fā)計劃(2020B010113007)、廣東省基礎(chǔ)與應(yīng)用基礎(chǔ)研究基金聯(lián)合基金(2021A1515110577)、中央高?;A(chǔ)研究基金項目(FRF-MP-20-37)、北京科技大學(xué)青年教師學(xué)科交叉研究項目 (中央高?;究蒲袠I(yè)務(wù)費(fèi)專項資金)資助項目(FRF-IDRY-21-005)、中國博士后科學(xué)基金(2021M700385)的支持。