于海濤,李福龍,劉亞姣,王 江,于利峰,張春暉,劉寶順,馬永福
1.天津大學 電氣自動化與信息工程學院,天津 300072
2.河北津西鋼鐵集團股份有限公司,河北 唐山 063000
在型鋼生產過程中,鑒于工藝和環境復雜性,型鋼表面不可避免地存在如凹坑、結疤、劃傷、擊傷等多種類型表面缺陷,嚴重影響了型鋼質量,降低了鋼材的使用壽命。因此,表面缺陷檢測是鋼鐵生產的重要環節之一[1-2]。傳統人工檢測方法由于缺乏嚴格的定性定量標準,嚴重依賴檢測人員的主觀判斷,存在漏檢率高、效率低下等問題,難以滿足高效精準的型鋼表面多類別缺陷檢測需求[3]。
隨著人工智能和深度學習的快速發展,利用機器視覺對表面缺陷進行精準定位與準確識別在技術上逐漸成熟可行[4-5]。當前基于深度學習的目標檢測算法主要包括以RCNN家族為代表的兩階段目標檢測算法和以YOLO系列模型為代表的單階段目標檢測算法[6-9]。前者使用區域候選網絡(region proposal network,RPN)提取目標信息,通過分離特征提取與目標回歸等兩個過程,具有檢測精度高的優點,被廣泛應用于鋼材表面缺陷檢測任務中:如王立中等改進了Faster R-CNN中的Resnet101特征提取網絡,并應用于帶鋼表面缺陷檢測,驗證了Faster-RCNN模型在鋼材表面缺陷檢測問題上的有效性[10];翁玉尚等人在此基礎上提出了一種檢測帶鋼表面缺陷的改進Mask-RCNN模型,通過使用k-means II聚類算法改進了區域建議網絡錨框生成精度,進而提升了檢測準確率[11];韓強等人進一步提出了一種特征融合和級聯檢測網絡的Faster R-CNN鋼材表面缺陷檢測算法,通過融合特征圖的方式達到減少特征提取過程中結構信息丟失的目的,缺陷檢測精度達到98.29%[12]。然而,雖然兩階段算法具有較高的檢測精度,卻存在檢測效率低的問題,不適于型鋼表面微小缺陷的快速檢測[13]。
與兩階段算法相比,單階段目標檢測算法利用回歸思想,將分類與定位任務相合并,直接計算出多個目標的分類結果與位置坐標,速度更快,被廣泛應用于實時檢測系統中[14]。如程婧怡等人針對金屬表面缺陷檢測提出了改進YOLOv3模型,通過加入DIoU邊框回歸損失為邊界框移動方向提供了更準確的位置信息,加快了模型的收斂,在NEW-DET數據集上取得了31.6 frame/s的檢測速度[15];袁野等人提出一種檢測冰箱金屬表面缺陷的Metal-YOLOv3模型,通過優化損失函數和選取合適的先驗框等方法提升了檢測效率[16]。上述研究在表明YOLO模型在缺陷檢測領域的高效性,但采用YOLO模型存在檢測精度較低、難以檢測相對集中且較小的缺陷對象等問題。
近期研究表明利用注意力機制可有效提高小目標檢測準確率[17]。當前注意力機制主要包括通道注意力(channel-attention)、空間注意力(spatial-attention)和自注意力(self-attention),其中自注意力模型在目標檢測領域效果最好[18],但同樣存在檢測效率低的問題。前兩種模型沒有充分利用圖像多尺度特征信息的優勢,與自注意力模型相比檢測效果略差。
針對上述問題,考慮到型鋼表面缺陷具有形態多樣、微小尺度缺陷較多的特點,本文以YOLOv3模型作為基礎架構,提出了一種基于空間注意力和通道注意力的雙重多尺度注意力模型DMSA(dual multi-scale attention,DMSA),并將其與改進的YOLOv3模型相結合,顯著提升了型鋼表面微小尺度缺陷的檢測精度和多尺度缺陷的檢測效率。本文的主要貢獻如下:
(1)構建了基于通道和空間注意力的雙重多尺度注意力模型DMSA,強化了多尺度融合特征圖中小尺度缺陷特征的分配權重,提高了小尺度缺陷目標的檢測精度。
(2)改進了YOLOv3模型,使用深度可分離卷積(depth separable convolution,DSC)替代特征提取主干網絡中的標準卷積,削減模型計算量,提高檢測速度,并構建了多尺度長距離上下文特征提取層(multi-scale long-distance context,MLC)替代原模型上采樣操作之前的卷積過程,增強了模型對微小尺寸缺陷的特征提取能力。
(3)將DMSA模型和改進的YOLOv3模型相融合,構建了型鋼表面多尺度缺陷檢測模型DMSA-YOLOv3,與原YOLOv3模型相比顯著提高了多尺度缺陷檢測精度和檢測速度。
綜合考慮型鋼表面缺陷檢測速度與精度要求,本文在原YOLOv3模型基礎上,構建了如圖1所示的DMSAYOLOv3缺陷檢測模型,其新增模塊由紅色虛線方框標出。DMSA-YOLOv3模型首先添加了第二個殘差模塊中的128×128尺度輸出特征圖,用于獲取型鋼表面小尺度缺陷特征信息,并與原YOLOv3模型三種小尺度輸出特征圖共同作為DMSA模型輸入。通過對四種特征圖進行位置信息編碼和通道關聯性計算,DMSA模型分別獲取多尺度特征圖的空間與通道注意力權重。為解決融合注意力模型后造成的檢測速度下降問題,DMSAYOLOv3模型使用深度可分離卷積替代YOLOv3模型特征提干網絡中的標準卷積,實現特征提干網絡的輕量化處理;同時,將上采樣操作之前和通道堆疊之后的卷積過程替代為構建的多尺度長距離上下文特征提取層,利用改進金字塔模塊和長程連接模塊全面獲取型鋼表面不同尺寸缺陷信息。新增模塊強化了DMSA-YOLOv3模型對小尺度缺陷的特征提取能力,增加了特征圖中小尺度缺陷目標特征信息,可以有效提高多類別缺陷檢測準確率和檢測精度。

圖1 DMSA-YOLOv3模型架構Fig.1 Architecture of DMSA-YOLOv3 model
DMSA模型結構如圖2所示,首先計算四種不同尺度特征圖的空間注意力權重,增加小尺度缺陷特征關注度并抑制復雜背景噪聲影響,提高小尺度缺陷目標定位精度;再計算多尺度融合特征圖的通道注意力權重,通過密集連接方式將包含微小尺度缺陷輪廓信息的淺層特征圖和包含多種缺陷類型語義信息的深層特征圖相結合,強化淺層特征圖中對小尺度缺陷特征的表征能力與特征權重,提高小尺度缺陷目標的檢測準確率。

圖2 DMSA模型架構Fig.2 Architecture of DMSA
與主流空間注意力模型CBAM(convolutional block attention module)使用大尺寸卷積來獲取位置信息不同,為避免卷積操作導致部分位置信息受損,從而嚴重影響小尺度目標注意力權重計算精度的問題,DMSA模型通過將空間注意力分解為橫向和縱向兩個并行的一維特征編碼,完成空間坐標信息的高效整合,建立了全局范圍內各像素之間的長程依賴關系,進而獲取特征圖中每個像素點的空間注意力權重。對于輸入特征圖x i∈RH×W中任一像素點(h,w),DMSA模型分別沿水平和垂直兩個方向編碼其位置信息,其所分配得到的空間注意力權重為Attspatial=Attrow(h)·Attcol(w),其中At trow(h)和Attcol(w)分別表示該像素點在第h行和第w列分配得到的空間注意力權重,具體計算公式為:

式中,x(i,j)表示特征圖中坐標(i,j)處的像素值;s(x,y)為相似性評估函數,DMSA模型中使用交叉熵損失函數。
為有效結合淺層特征圖中小尺度缺陷輪廓特征和深層特征圖中多種缺陷類型的語義特征,DMSA借鑒了Dense Net設計思想,使用密集連接方式融合多尺度特征圖。如圖2所示,對于每種尺度的空間注意力特征圖,DMSA模型按照其通道數拆為四份,除一份自留,另外三份特征圖均通過上采樣操作或經一個或多個卷積核大小為3×3、步長為2的卷積操作縮放為其他三種尺度的特征圖并進行堆疊,之后,DMSA模型使用式(2)計算每張特征圖的通道注意力權重:

通過全局位置信息編碼與多通道注意力整合,DMSA模型在強化YOLOv3模型所提取小尺度缺陷注意力權重的同時弱化了所提取復雜背景特征的干擾,從而有效提升模型對小尺度缺陷目標的檢測精度。
DMSA模型的引入改善了小尺度缺陷目標的檢測效果,但也導致了檢測模型計算量增加,檢測速度下降。針對該問題,使用深度可分離卷積替代YOLOv3模型DarkNet53特征提干網絡中的標準卷積,實現網絡的輕量化處理。
標準卷積操作如圖3(a)所示。對于3個輸入特征通道,其對應的卷積核通道個數也為3個,標準卷積分別將每個輸入通道與單個卷積核實行卷積操作,并將各通道卷積結果累加得到輸出結果。標準卷積輸出特征圖通道數與卷積核通道數相等。按照上述計算過程,對于Ci個單個尺寸為H×W的輸入通道,分別使用Co個大小為k×k的卷積核對相應通道進行步長為1的卷積運算,最終得到Co×H×W的輸出,標準卷積參數量Ws為:

圖3 普通卷積與深度可分離卷積Fig.3 Normal convolution and depth separable convolution

與標準卷積相比,深度可分離卷積將其拆分為逐通道卷積和點向卷積兩個階段。如圖3(b)所示,在逐通道卷積階段,輸入特征圖中的每個通道不再與所有卷積核進行卷積操作,而是僅和與之對應的單通道卷積核進行卷積操作,各輸入通道之間相互獨立,取消了通道之間特征融合,保持了卷積后輸出特征圖通道數量。逐通道卷積參數量Wd為:

之后,點向卷積使用標準卷積方式,采用1×1大小卷積核對所有通道的輸出特征圖進行整合處理,進而改變輸出特征圖的通道數。點向卷積參數量Wl為:

因此,采用深度可分離卷積可以顯著削減標準卷積操作的參數量與計算量,使網絡更加輕量化,提高模型檢測效率。
DMSA模型需要包含豐富小尺度缺陷形態信息的輸入特征圖用以特征強化與壓縮。由于YOLOv3模型使用全局池化方式對特征圖進行降維處理以解決大分辨率圖像中多目標檢測問題,每次全局池化都會犧牲空間分辨率,多次池化后會造成細節信息丟失,嚴重影響小尺度目標檢測準確率。為了對輸入圖像中微小尺度缺陷進行全面精準的特征提取,本文在YOLOv3模型的基礎上構建了如圖4所示的多尺度長距離上下文特征提取層,替代上采樣操作之前的卷積過程。

圖4 多尺度長距離上下文特征提取層Fig.4 Multi-scale long-distance context feature extraction
以32×32輸入尺度特征圖為例,改進金字塔模塊在特征提取前使用大小為1×1×256的卷積核實現通道降維,幫助網絡學習到一組不同特征,降低冗余特征數量。針對普通全局池化過程中因空間分辨率降低導致的小目標不可見問題,改進金字塔模塊摒棄了原始模塊中的標準卷積和全局池化操作,通過設置的擴張率分別為1、3、5和7的四個并行空洞卷積進行特征提取,在保持空間分辨率的前提下增大特征圖的感受野,提高模型對小尺度缺陷精準定位能力。四個分支的輸出結果使用特征堆疊方式緊密連接,通過對多尺度局部特征重用以提升網絡性能。最后,改進金字塔模塊再次使用大小為1×1×1 024的卷積核完成四個分支輸出特征圖的特征交互。
為了獲取原始輸入特征圖中的淺層信息,本文基于殘差網絡思想構建了與改進金字塔模塊并行的長距離上下文特征提取模塊。該模塊同樣使用1×1×1 024的卷積核提取輸入圖像特征,然后將長距離特征提取圖與改進金字塔模塊獲取的局部多尺度特征圖逐元素融合,得到包含豐富的小尺度缺陷信息的多尺度長距離上下文特征提取圖作為DMSA模型輸入。
為了優化所提出的DMSA-YOLOv3模型的檢測精度,使用三種不同的計算誤差構成本文的損失函數以調整網絡參數[16]:


實驗選用多類別平均精度(mean average precision,mAP)、每秒幀數(frames per second,FPS)和最小可檢測缺陷(minimum detected defections,MDD)作為模型評價指標。mAP為模型檢測精度評價指標,其計算公式為:

式中,AP(average precision)表示各個類型缺陷的平均檢測精度;N表示缺陷種類數。計算AP需要引入召回率(Recall)和查準率(Precision):

式中,TP(true positive)表示預測為正樣本且確實為正樣本的數量;FP(false positive)表示預測為正樣本但實際為負樣本的數量;FN(false negative)表示預測為負樣本但實際為正樣本的數量;AP即為不同召回率下查準率曲線與橫縱坐標軸圍成的面積;mAP為所有種類缺陷的AP平均值;FPS表示每秒可以完成目標檢測的圖像幀數,為模型檢測速度評價指標;MDD表示模型可檢測出最小缺陷大小(像素×像素),并轉換為標準面積(mm2),其中每兩個像素代表1 mm距離。
本文所用型鋼表面缺陷數據集包含結疤、凹坑、劃傷、掉肉和擊傷五種缺陷類型,每類缺陷400張,共計2 000張缺陷圖像,均為1 024×1 024像素的BMP格式單通道灰度圖。對五種缺陷尺寸分布的統計結果發現缺陷標記框具有多尺度特性,不同缺陷之間尺寸差距明顯,檢測模型難以學習多尺度缺陷;同時,深度學習模型的訓練需要大量數據支撐,少樣本訓練易造成模型過擬合,影響缺陷檢測效果。為緩解正負樣本分布不均衡和多尺度缺陷特征問題,引入四種數據增廣方法和CutScale數據增強方法對數據進行預處理。通過修正缺陷圖像的灰度值、加入高斯白噪聲、進行伽馬變換和水平或垂直翻轉的方法,對缺陷圖像的亮度、對比度與缺陷位置進行調整。四種增廣方法將每種缺陷類型圖像擴充為1 500張,共計7 500張。CutScale數據增強方法通過人工標定手段,使四種缺陷在原圖中的面積占比均得到不同程度的提升,在保持原圖背景的基礎上擴大了缺陷尺度,有利于檢測模型學習到不同尺度的H型鋼表面缺陷特征。
本文中所有實驗均在Windows10系統上使用Python編程語言完成,硬件環境為Intel Xeon Silver 4110 CPU、NVIDIA 2080Ti GPU和64 GB SAMSUNG RAM,并使用FaceBook公司開發的pytorch1.6深度學習框架搭建實驗所需的各個模型。實驗數據集包括15 000張圖像,其中正樣本缺陷圖像7 500張,每類缺陷各1 500張;負樣本背景圖像7 500張。數據集按4∶1隨機分為訓練集和測試集。實驗采用批次迭代法訓練網絡模型,批訓練大小設置為32,迭代次數設置為50次。模型初始學習率設置為0.01,經20次迭代后更新為0.001,權重衰減率為0.000 2。
雙重多尺度注意力模型DMSA強化小尺度缺陷特征圖的可視化結果如圖5所示,紅色部分越深說明模型對該部分關注度越高。

圖5 注意力模型可視化Fig.5 Visualization of attention model
可視化結果表明,DMSA模塊可以有效改善模型對多類別缺陷的定位精度與識別準確率。對于凹坑和掉肉兩種小尺度類型缺陷,DMSA模塊有效提高了模型對缺陷區域的定位精度:原YOLOv3模型未檢測到型鋼表面右上方凹坑缺陷,改進后DMSA-YOLOv3模型實現了該缺陷的精準識別;DMSA模塊同時壓縮了掉肉缺陷的檢測區域。擊傷缺陷對比圖表明,DMSA模塊有效弱化并抑制了特征圖上方復雜背景信息的干擾,從而加強了模型對于缺陷目標的感知能力,增加特征圖中缺陷目標的表征信息,提高模型檢測準確率。
為準確衡量所提出DMSA-YOLOv3模型檢測性能,使用YOLOv3模型和YOLOv5L模型作為縱向對比模型,并使用另外兩種經典目標檢測模型SSD和Faster-RCNN作為橫向對比模型[19]。所有實驗均在相同參數設置下進行。五種模型在部分缺陷圖像中的檢測效果如圖6所示。實驗結果表明,所提出DMSA-YOLOv3模型取得了最佳檢測效果。針對凹坑和掉肉缺陷,DMSAYOLOv3模型準確檢測出小尺度缺陷目標,與其他模型相比精度更高;Faster-RCNN模型雖然可以檢出缺陷類型,但存在定位不精確的問題;另外三種模型均存在不同程度漏檢現象:YOLOv3模型可以檢測出大尺度凹坑和掉肉,卻忽略了小尺度凹坑缺陷;YOLOv5L模型和SSD模型漏檢更為嚴重,均無法檢測出掉肉和凹坑缺陷。針對劃傷、擊傷和結疤等三種其他類型缺陷,五種模型均能準確檢測出目標,由于SSD和YOLOv5L模型選取了小的卷積核導致感受野變窄,無法完全標注缺陷位置信息,尤以擊傷和結疤兩種缺陷更為明顯;另外三種模型則實現了缺陷的無差別完全標注。表1所示為五種模型對不同缺陷的檢測精度,表現為可檢出最小缺陷尺度。

圖6 本文算法檢測效果對比Fig.6 Comparison of detection effect of algorithm in this paper

表1 不同模型檢測精度對比Table 1 Comparison of detection precision of various models mm2
YOLO系列三種模型作縱向對比,DMSA-YOLOv3模型mAP值達到97.6%,與YOLOv3模型92.9%和YOLOv5L模型84.2%的準確率相比分別提升了4.7和13.4個百分點,主要是因為多尺度長距離上下文特征提取層和雙重多尺度注意力模型的引入使得YOLOv3模型對于小目標檢測能力得到顯著提升,從而提高了其在整體數據集上的缺陷檢測準確率。為評估各項改進方法對DMSA-YOLOv3模型表面缺陷檢測結果的影響,設計了消融實驗。實驗內容與檢測結果如表2所示,其中表2(a)表示不同消融模型對多種類型缺陷的檢測準確率,表2(b)表示消融模型對不同類型缺陷的檢測精度。“√”表示使用了某種改進方法。

表2 DMSA-YOLOv3消融實驗Table 2 Ablation experiments of DMSA-YOLOv3
模型1(YOLOv3+DSC)僅使用深度可分離卷積對YOLOv3模型特征提取主干網絡進行輕量化處理。由于深度可分離卷積弱化了主干網絡的特征提取能力,導致模型1對各類型缺陷的檢測精度均落后于YOLOv3模型。檢測結果表明,凹坑和掉肉兩種缺陷精度損失最為嚴重,與YOLOv3模型相比分別降低了8.4和6.6個百分點。模型1不適于微小尺度缺陷檢測。與模型1相比,模型2(YOLOv3+DSC+MLC)引入了空洞空間金字塔池化模塊,通過設置四種不同的空洞卷積核擴張率增大特征圖的感受野,動態捕捉多尺度上下文特征信息,增強了小目標缺陷特征提取能力。檢測結果表明,模型2有效改善了凹坑和掉肉缺陷的檢出率,使得整體檢測準確率提高了2.6個百分點。DMSA-YOLOv3模型使用所提出改進方法組合對缺陷進行檢測。與模型2相比,DMSA-YOLOv3模型利用雙重多尺度注意力模型對多尺度特征進行篩選融合與無效特征剔除,進一步提升了檢測效果,獲得了最高檢測準確率。橫向對比結果表明YOLO系列模型檢測準確率顯著高于SSD模型,其中DMSA-YOLOv3模型比其高出19.5個百分點;Faster-RCNN模型作為當前最先進的兩階段模型之一,其檢測準確率僅略低于DMSA-YOLOv3模型1.8個百分點,達到95.8%,高于另外兩種YOLO模型。
由于多種類型缺陷對模型檢測效果具有不同的作用,為驗證各類缺陷檢測魯棒性,需分析不同模型針對單一類型缺陷的檢測性能。圖7所示為五種檢測模型在四種缺陷類型上的PR曲線。可以發現,模型對不同類型缺陷的檢測結果具有明顯差別,對于劃傷、擊傷和結疤三種缺陷整體檢測效果更好,準確率更高,對于凹坑和掉肉缺陷檢測準確率明顯下降。從圖7可知,對任一類型缺陷,不同模型之間檢測準確率差異表現為SSD<YOLOv5L<YOLOv3<Faster-RCNN<DMSA-YOLOv3,DMSA-YOLOv3均取得了最高的檢測精度。

圖7 不同檢測模型對四種類型缺陷的檢測結果Fig.7 Detection results of four types of defects by different detection models
多種模型迭代損失曲線如圖8所示。在前十次訓練過程中,五種模型多類別精度損失均呈現顯著下降趨勢,其中DMSA-YOLOv3模型收斂速度最快。在50次迭代訓練完成后,各模型損失曲線已完全收斂。多種方法單次迭代時間對比如表3所示。由于兩階段Faster-RCNN模型通過使用大量參數提高定位精度,單次迭代需要更長時間完成錨框偏差計算與參數更新,其訓練時間顯著高于另外三種單階段目標檢測模型。同時,由表3可知,改進后的DMSA-YOLOv3模型與原YOLOv3模型相比訓練速度提高了兩倍以上,僅略低于YOLOv5L輕量化模型,可以實現缺陷檢測模型的快速訓練與在線部署。

圖8 各模型損失曲線Fig.8 Loss curve of each model

表3 不同模型訓練迭代時間對比Table 3 Comparation of consuming time of training iteration of various models
檢測速度直接決定模型的效率,是衡量本文所提出DMSA-YOLOv3模型檢測性能的又一重要指標。檢測速度分析過程包括總檢測時間(T)、平均單張圖像檢測時間(t)和單位時間檢測圖像張數(FPS)三個參數,并定義FPS為唯一評價指標。總檢測時間表示完全處理3 000張測試集數據所需時間,單位為秒;平均單張圖像檢測時間計算公式為t=T/3 000×1 000=T/3,單位為毫秒;FPS計算公式為FPS=3 000/T,表示檢測模型每秒可處理圖像幀數。五種檢測模型在測試集上的實驗結果如表4所示。本文所提出DMSA-YOLOv3模型檢測速度達到了55.3 frame/s,與YOLOv3模型相比提高了79.55%。這是因為使用深度可分離卷積對YOLOv3模型特征提取主干網絡進行了輕量化處理。由于深度可分離卷積計算量僅為標準卷積計算量的1/9,DMSAYOLOv3模型的檢測速度得到了顯著提升。然而,其速度略低于輕量化檢測模型YOLOv5L的57.2 frame/s,這是因為引入的空洞卷積在提升圖像分辨率的同時也增加了模型的計算量,導致單張圖像檢測時間增加。

表4 不同模型檢測速度對比Table 4 Comparison of detection speed of various models
本文針對型鋼表面多尺度缺陷的快速精準檢測問題,提出了DMSA-YOLOv3目標檢測模型,實現了多種類型缺陷的精準分類與定位。所提出目標檢測模型以YOLOv3模型作為基礎架構,首先,構建了結合通道注意力機制和空間注意力機制的雙重多尺度注意力模型DMSA,通過對YOLOv3模型輸出進行多尺度特征融合,強化小尺度缺陷特征的注意力權重,提高了模型對于小尺度缺陷目標的檢測精度。其次,針對引入DMSA模型導致檢測效率下降的問題,使用深度可分離卷積對特征提取主干網絡進行輕量化處理,提高目標檢測速度;最后,利用構建的多尺度長距離上下文特征提取層強化特征提干網絡對小尺度缺陷目標的特征提取能力,增加了DMSA模型輸入特征圖中小尺度缺陷目標的特征信息,進一步提高了模型對小尺度缺陷的檢測準確率。實驗結果表明,所提出DMSA-YOLOv3目標檢測模型的多類別缺陷平均檢測精度為97.6%,檢測速度為55.3 frame/s,與YOLOv3模型相比分別提高4.7個百分點和24.5 frame/s,在不影響檢測準確率的情況下大幅度提高了檢測效率,同時提高了微小尺度缺陷的檢出與定位能力。該模型完全滿足型鋼高速生產現場表面缺陷檢測的速度與精度要求,可廣泛地推廣應用于型鋼、鋼軌等復雜鋼材的缺陷實時檢測中。