




















摘" 要: 為了更有效地識別鋼材表面的細小和復雜缺陷,提出一種改進YOLOv8的鋼材表面缺陷檢測算法。首先,在原模型的Neck部分引入空間和通道重構卷積SCConv模塊,提高模型對小尺度目標缺陷的識別能力;其次,將CA注意力機制模塊融合到原始的Backbone中,使模型能夠更好地關注目標缺陷的特征信息;接著,采用高效層聚合網絡(RepGFPN)模塊作為頸部網絡,充分融合不同尺度的特征,提高特征融合能力;最后,引入輕量級上采樣算子CARAFE,進一步提升模型的檢測效果。實驗結果顯示,在公開的NEU?DET數據集上,改進后模型的平均精度均值(mAP)達到了81.1%,相較于原始YOLOv8模型,mAP提高了2.7%,精確率提升了3.9%。與此同時,在GC10?DET數據集上的實驗也表明改進模型具有良好的魯棒性,證明了所提算法能夠有效地完成鋼材表面缺陷的檢測任務。
關鍵詞: 鋼材表面缺陷; 缺陷檢測; YOLOv8算法; 坐標注意力機制; 高效層聚合網絡; 識別能力
中圖分類號: TN911.73?34; TP391.41" " " " " " "文獻標識碼: A" " " " " " " " " " "文章編號: 1004?373X(2025)04?0173?08
Improved YOLOv8 steel surface defect detection algorithm
XU Lianrong, LIANG Shaohua
(School of Computer Science, Yangtze University, Jingzhou 434023, China)
Abstract: In order to more effectively identify the fine and complex defects on the steel surface, an improved YOLOv8 steel surface defect detection algorithm is proposed. The spatial and channel reconstruction convolution SCConv (spatial and channel recon?struction convolution) module is introduced into the Neck part of the original model to improve the model's ability to identify the defects of small?scale target. The CA attention mechanism module is integrated into the original Backbone, so as to make the model can better pay attention to the feature information of the target defect. The high?efficiency layer aggregation network (RepGFPN) module is used as the neck network to fully integrate features of different scales and improve the feature fusion ability. The lightweight upsampling operator CARAFE (content?aware reassembly of features) is introduced to further improve the detection effect of the model. The experimental results show that the average precision (mAP) of the improved model can reach 81.1% on the public NEU?DET dataset, which is 2.7% higher than that of the original YOLOv8 model, and the accuracy is increased by 3.9%. The experiments on the GC10?DET dataset also show that the improved model has good robustness, which proves that the proposed algorithm can effectively complete the detection task of steel surface defects.
Keywords: steel surface defect; defect detection; YOLOv8 algorithm; coordinate attention mechanism; high?efficiency layer aggregation network (RepGFPN); recognition ability
0" 引" 言
鋼材作為一種重要的金屬材料,在機械制造、航空航天等眾多領域中扮演著不可或缺的角色。然而,在實際生產加工過程中,受到原料質量、設備性能及生產工藝等多方面因素的影響,鋼材表面易出現開裂、斑塊等各類缺陷,這些表面缺陷不僅損害了鋼材的外觀質量,還會大幅降低其抗壓性、耐磨性,進而縮短使用壽命。因此,進行有效的鋼材表面缺陷檢測至關重要。
傳統的缺陷檢測方法,如漏磁檢測法[1]、渦流檢測法、人工視覺檢測等,普遍存在效率低下、精度不高、實施難度大等問題。
隨著人工智能技術的快速發展,基于深度學習的目標檢測方法開始被廣泛采用,有效地解決了這些問題。這些方法主要可分為兩類:一類是Faster R?CNN[2]、Mask R?CNN[3]等代表的兩階段目標檢測算法,通過生成候選區域,再進行分類的檢測方式;另一類是SSD(Single Shot Multibox Detector)[4]、YOLO(You Only Look Once)[5]等代表的單階段目標檢測算法,通過合并定位和分類任務,實現快速高效的檢測。在此背景下,國內外眾多學者對鋼材表面缺陷檢測進行了深入研究,并取得了顯著成果。例如,文獻[6]基于YOLOv5提出了目標檢測算法(YOLO?GR),通過引入GhostV2 Bottleneck輕量化模塊作為主干特征提取網絡,既減少模型參數量,又在NEU?DET數據集上將檢測的平均精度均值(mean Average Precision, mAP)從73.5%提升到了76.1%。文獻[7]提出了一種基于多尺度輕量化注意力機制的YOLO?Steel鋼材表面缺陷檢測方法,該方法在保持與YOLOv5s相近的時間和空間復雜度的同時,將mAP值提高了1.8%。文獻[8]提出了一種基于PC?YOLOv7的鋼材表面缺陷檢測算法,在減小模型尺寸的同時,顯著提高了準確率,將mAP值從74.3%提升至78.5%。盡管上述檢測方法各有優勢,但在檢測精度上仍有進一步的提升空間。本文提出了一種改進的YOLOv8算法,旨在增強對鋼材表面不同尺度缺陷的檢測能力。本文的主要工作和貢獻如下。
1) 引入SCConv(Spatial and Channel Recon?struction Convolution)模塊,提高模型對小尺度目標缺陷的識別能力,減少漏檢問題。
2) 添加坐標注意力機制(Coordinate Attention, CAR)模塊,將其與原有的Backbone中的C2f模塊融合,形成全新的C2f?CA模塊,增強模型的特征提取能力。
3) 引入高效層聚合網絡(Efficient Reparameterized Generalized?FPN, RepGFPN)作為模型的頸部網絡,有效地提取和融合高層語義特征和低層空間特征,進一步提高模型的檢測精度。
4) 使用CARAFE(Content?Aware ReAssembly of FEatures)上采樣算子替換傳統上采樣模塊,更有效地保留和恢復特征圖中的細節信息,增強模型的表征能力。
1" YOLOv8算法
YOLOv8是目前YOLO系列中最新的模型,它是在YOLOv5的基礎上進行融合改進的,其網絡結構分為輸入端(Input)、主干網絡(Backbone)、頸部(Neck)以及頭部(Head)四個核心部分。相較于YOLOv5,YOLOv8引入了C2f模塊以取代原有的C3模塊,促進更豐富的梯度流信息的獲取。
頭部結構方面,YOLOv8采用了當下流行的解耦頭設計,并且摒棄了傳統的基于錨點(Anchor?Based)的方法,轉向更為高效的無錨點(Anchor?Free)設計。在損失函數的選擇上,YOLOv8采用了Task?Aligned Assigner來動態分配正樣本,并結合BCE Loss用于分類損失,結合DFL Loss和CIOU Loss用于回歸損失。
2" 改進的YOLOv8算法
YOLOv8提供了5個不同規模的版本:n、s、m、l和x,鑒于對平衡模型尺寸與計算效率的考量,本文選擇了YOLOv8n作為預訓練模型,并對其進行了改進。首先在Backbone部分將CA模塊與C2f模塊相融合,構建全新的C2f?CA模塊,增強目標特征信息;其次將高效層聚合網絡(RepGFPN)作為模型的頸部網絡,提高模型的多尺度檢測能力;然后在小目標層增加空間和通道重構卷積(SCConv)模塊,以增強模型對微小缺陷的識別能力;最后使用CARAFE上采樣算子替換最近鄰上采樣模塊,確保模型能夠在更廣闊的感知范圍內聚合上下文信息。改進后的YOLOv8n模型結構如圖1所示。
2.1" SCConv模塊
本文引入了一種高效的卷積模塊SCConv[9],旨在提高模型對小尺度目標缺陷的識別能力。SCConv由空間重構單元(SRU)和信道重構單元(CRU)兩部分組成,有效地削減了卷積層內的空間和通道冗余,進而優化了模型的整體性能。SUR原理圖如圖2所示。
首先對輸入特征X進行標準化,公式如下:
[Xout=GN(X)=γX-μσ2+ε+β]" " " "(1)
式中:[μ]和[σ]是X的均值和標準差;[ε]是為了除法穩定性而添加的一個很小的正數;[γ]和[β]是可訓練參數。
2.1.1" SRU結構
SRU利用分離和重建操作,有效抑制了空間維度上的冗余,同時增強了特征的表示能力。其原理是利用[GN]層中的可訓練參數[γ]計算得到相關權重[Wγ],公式為:
[Wγ=γij=1Cγj," i,j=1,2,…,C]" " " " (2)
再將權重[Wγ]與[Xout]相乘得到的值通過Sigmoid函數映射與閾值門控后分為兩部分:信息權重[w1]和非信息權重[w2]。最后,將輸入特征X分別與[w1]和[w2]相乘,得到信息豐富的特征[Xw1]和信息較少的特征[Xw2],采用交叉重建操作獲得空間細化特征[Xw]。
2.1.2" CRU結構
通過SRU結構獲得空間細化特征[Xw]后,接著要利用CRU結構獲得通道細化特征Y。
CRU結構主要通過分割(Split)、轉換(Transform)和融合(Fuse)三個步驟來減少特征在通道維度上的冗余。CRU原理圖如圖3所示。
首先將空間細化特征[Xw]的通道分割為兩個,隨后通過壓縮特征圖的通道來提高計算效率。經過分割和擠壓操作后,將空間細化特征[Xw]分為上部分[Xup]和下部分[Xlow]。接著[Xup]通過高效的GWC(Group?wise Convolution)和PWC(Point?wise Convolution)操作降低計算成本并增強信息傳遞,再對卷積運算后輸出求和,得到輸出特征[Y1];[Xlow]則被輸入到底部轉換階段,該階段重用了特征[Xlow]并利用PWC操作來獲得輸出特征[Y2]。
然后通過全局池化得到通道統計信息,并利用通道軟注意操作生成特征重要性向量[β1]和[β2],隨后將上部分輸出特征[Y1]和下部分輸出特征[Y2]各自乘以向量[β1]和[β2],最后通過合并得到通道細化特征[Y]。
2.2" CA注意力機制
在鋼材表面缺陷數據集中,有些小目標缺陷的特征信息容易被忽略。為了使小目標缺陷的特征信息得到更多的關注,提高網絡對目標特征的感知能力,本文在主干網絡中引入了CA(Coordinate Attention)注意力機制模塊。CA注意力機制[10]是一種既簡單又高效的注意力機制,它通過融合位置信息到通道注意力中,使得網絡能夠在廣闊的區域內進行特征提取,同時顯著減少了計算成本。CA通過兩個關鍵步驟,即Coordinate信息嵌入和CA生成來實現對通道信息和長距離依賴的精確位置編碼。
在信息嵌入階段,輸入X經過池化核編碼通道,得到高度h處第c個通道的輸出,表示為:
[zhc(h)=1Wxc(h,i)," 0≤ilt;W] (3)
同理其在寬度為w處的輸出可以表示為:
[zwc(w)=1Hxc(j,w)," 0≤ilt;H]nbsp; " " " (4)
在坐標注意力生成階段,首先將上述步驟產生的兩個特征圖在空間維度上進行拼接,經共享的1×1卷積轉換函數[F1]對其進行處理,處理過程如式(5)所示。
[f=δF1zh,zw]" " " " " (5)
式中:[zh,zw]為拼接操作;[δ]代表非線性激活函數;[f∈RC/[r·(H+W)]]是中間特征圖,編碼了水平和垂直空間信息。進一步地,將f分割并通過1×1卷積變換得到2個張量[gh]和[gw],處理過程如式(6)和式(7)所示。
[gh=σ(Fh(fh))]" " " " " " " " "(6)
[gw=σ(Fw(fw))]" " " " " " " " " (7)
式中:[σ]為Sigmoid激活函數;輸出的[gh]和[gw]分別擴展并用作注意力權重。
通過乘法加權計算得到坐標注意模塊的輸出,如式(8)所示。
[yc(i,j)=xc(i,j)·ghc(i)·gwc(j)]" " " "(8)
將CA模塊與C2f模塊融合成C2f?CA模塊,提升目標特征表達,進一步改善檢測效果。改進前后的C2f?CA模塊如圖4所示。
2.3" 高效層聚合網絡(RepGFPN)
YOLOv8使用PAN?FPN[11?12]結構構建頸部模塊,實現自上而下和自下而上的網絡結構,促進高層語義信息和低層空間信息的交互。然而,僅靠相鄰層傳遞特征信息可能導致下采樣過程中小目標信息丟失。為此,引入帶有跨尺度連接的RepGFPN[13]作為頸部網絡,促進大尺度和小尺度特征信息交流,增強了模型的特征融合能力。RepGFPN是在GFPN[14]的基礎上改進而來的,通過優化GFPN的拓撲結構和融合方式來改善模型效果。RepGFPN采用對不同尺度特征使用不同的通道數的策略,利用CSPStage模塊替代原有的3×3卷積進行特征融合。這種設計不僅顯著提高了目標檢測的準確性,而且幾乎沒有增加額外的計算負擔。RepGFPN結構示意圖見圖5。基于RepGFPN的優異性能,本文將RepGFPN作為模型的頸部網絡,大大提升了特征融合的效果。
2.4" 上采樣算子CARAFE
受工業環境的影響,鋼材表面缺陷數據集中存在較大的背景噪聲,部分缺陷信息識別困難,加上傳統的上采樣方法未能充分利用特征圖的語義信息,從而會影響模型的檢測精度。
為提高特征圖質量,使模型能夠更好地捕獲特征圖中的細節信息,使用上采樣算子CARAFE[15]替換最近鄰插值上采樣。CARAFE上采樣流程如圖6所示。
CARAFE主要由核預測模塊和特征重組模塊組成。整個上采樣具體過程如下。
在核預測模塊中,對于輸入尺寸為[H]·[W]·[C]、上采樣倍率為[σ]([σ]為整數)的特征圖X,首先將其特征通道數從[C]壓縮至[Cm]。通過內容編碼將通道數從[Cm]擴展至[σ2]·[k2up]。隨后,在空間維度上將這些通道展開,形成尺寸為[σH·σW·k2up]的上采樣核。最后,通過Softmax歸一化處理權重。
在特征重組模塊中,將輸出特征圖中的每個像素點映射回對應位置,并提取以該點為中心的大小為[kup]·[kup]的區域,與預測上采樣核進行點積運算,以獲得最終的上采樣結果。
3" 實驗結果與分析
3.1" 數據集介紹
實驗采用東北大學發布的鋼材表面缺陷數據集(NEU?DET),其中包含6種常見的鋼材表面缺陷,即開裂(crazing)、內含物(inclusion)、斑塊(patches)、點蝕面(pitted_surface)、氧化軋皮(rolled?in_scale)和劃痕(scratches),一共有1 800張分辨率為200×200的灰度圖。實驗將數據集按照8∶1∶1的比例隨機劃分為訓練集(1 440張)、驗證集(180張)和測試集(180張)。數據集部分圖像如圖7所示。
3.2" 實驗環境
本文實驗中,CPU版本為AMD Ryzen 7 6800H with Radeon Graphics" 3.20 GHz,GPU版本為RTX 3060(6 GB),深度學習框架為PyTorch 1.9,CUDA的版本是11.1,Python的版本是3.8。模型參數設置如表1所示。
3.3" 評價指標
本文使用精確率(P)、召回率(R)、平均精度均值(mean Average Precision, mAP)、模型參數量(Params)和計算量(GFLOPs)等指標評估模型性能。其中:模型參數量(Params)反映了模型的大小,參數量越大,模型所占內存就越大;計算量(GFLOPs)用來衡量模型的復雜度;mAP是指IoU閾值為0.5時,各個類別的平均精度均值,mAP值越高,說明模型的檢測效果越好。
mAP的計算公式如下所示:
[P=TPTP+FP]" " " " " " " (9)
[R=TPTP+FN]nbsp; " " " " " " (10)
[mAP=1ni=1n01P(R)dR]" " " " (11)
式中:TP表示真正例的個數;FP表示假正例的個數;FN表示假負例的個數。
3.4" 實驗結果分析
3.4.1" 消融實驗
為了測試改進方法是否有效,本文在NEU?DET數據集上設計了5組消融實驗,每組實驗的實驗環境都相同。消融實驗結果如表2所示。
從表2可以分析出,將CA注意力機制與C2f模塊融合后,模型參數量和計算量(GFLOPs)基本保持不變,且mAP提升了0.5%。這表明,在幾乎不增加模型參數量的情況下,引入CA注意力機制能夠提高模型檢測精度。第3組實驗引入RepGFPN模塊,參數量和GFLOPs有所增加,這是因為模型復雜度有所增加,但mAP達到了79.8%,提升了0.9%。第4組實驗新增了SCConv模塊,GFLOPs略微增加,但mAP提升了1.1%,證明SCConv模塊有效提高了模型的檢測能力;最后一組實驗引入上采樣算子CARAFE,模型參數量和計算量均有所增加,但進一步提高了模型的檢測精度,mAP達到了81.1%,與基線模型相比,提升了2.7%。
3.4.2" 對比實驗
為了評估改進后模型的檢測效果,將改進算法分別與YOLOv5、YOLOv7?tiny、YOLOv8n等算法在NEU?DET數據集上進行對比實驗,結果如表3所示。從表3可以看出,改進算法雖然增加了少量的參數量和計算量,但在精確率和平均精度均值(mAP)上均達到了最高水平,mAP值分別比YOLOv5、YOLOv7?tiny、YOLOv8n高出4.4%、9.1%、2.7%。在進行鋼材表面缺陷檢測任務時,本文模型算法比其他主流算法更具有優勢。
3.4.3nbsp; 檢測效果對比
為了更直觀地展現模型改進前后的檢測效果差異,圖8呈現了一組效果對比圖。從圖8可以清楚地觀察到,原YOLOv8n模型在識別特定目標缺陷時存在漏檢和誤檢的問題。相比之下,改進的YOLOv8n模型顯著提升了對這些問題的處理能力。以“inclusion”類缺陷為例,原模型在檢測時出現了誤檢情況,而改進的模型則展現出了更精準的檢測效果,也極大地減少了漏檢的情況。總體來看,改進的YOLOv8n模型在整體檢測性能上具有更好的效果,更好地解決了漏檢和誤檢問題,展現了其在鋼材表面缺陷檢測領域的優越性能和實用價值。
3.4.4" 通用性驗證
為了驗證改進后的YOLOv8n模型在實際工業應用中的通用性,在GC10?DET數據集上進行了一系列對比實驗。該數據集涵蓋了沖孔、異物、焊縫、絲斑、水斑、壓痕、折痕、油斑、腰折、月牙彎等10種常見表面缺陷,共有2 294張灰度圖像。實驗采用8∶1∶1的比例隨機劃分訓練集、驗證集和測試集,同時其他參數設置與第3.2節描述一致,實驗結果如表4所示。
從表4可以觀察到,與YOLOv7?tiny模型相比,改進后的YOLOv8n模型不僅在平均精度均值(mAP)上有所提升,還在參數量和計算量上展現出了明顯的優勢。相對于原YOLOv8n模型,改進后的模型雖然在參數量和計算量上略有增加,但其mAP值從65.7%提升至68.2%,實現了2.5%的增長。這一結果充分表明改進模型在處理實際工業場景中的表面缺陷檢測任務時,不僅有更高的精度,還具備一定的通用性。
4" 結" 語
針對鋼材表面缺陷檢測精度低的問題,提出了一種基于改進YOLOv8n的鋼材表面缺陷檢測模型。該模型引入了SCConv 、CA注意力機制、RepGFPN結構和上采樣算子CARAFE,這些改進增強了特征提取和融合的效果,提高了模型對小尺寸目標缺陷的檢測能力,有效降低了漏檢率。改進后的模型與原模型相比,雖然參數量和計算量略有增加,但在檢測精度上有著明顯的提升。未來的研究方向將聚焦在簡化網絡結構和對模型進行輕量化處理上,使模型在鋼材表面缺陷檢測中能展現出更好的性能。
注:本文通訊作者為梁少華。
參考文獻
[1] 鄧永樂.基于陣列渦流探頭的鋼帶漏磁檢測方法與系統[D].武漢:華中科技大學,2021.
[2] HE K, GKITSIOS S, DOLLáR P, et al. Rethinking the faster R?CNN architecture for temporal action localization [J]. IEEE transactions on pattern analysis and machine intelligence, 2021, 43(7): 2202?2210.
[3] LIU Y, WANG R, SHAN S, et al. Deep learning for mask R?CNN based object detection and instance segmentation in remote sensing imagery [J]. ISPRS journal of photogrammetry and remote sensing, 2020, 162: 154?173.
[4] ZHANG Z, ZHAO X, WRIGHT J, et al. Bridging the gap between anchor?based and anchor?free detection via adaptive training sample selection [C]// Proceedings of the Chinese Conference on Computer Vision and Pattern Recognition. Beijing: IEEE, 2022: 9759?9768.
[5] REDMON J, FARHADI A. YOLOv4: optimal speed and accuracy of object detection [J]. Journal of computer vision and pattern recognition, 2020, 38(5): 1023?1034.
[6] 吳亞尉,明幫銘,何劍鋒,等.基于YOLO?GR算法的輕量化鋼材表面缺陷檢測[J].組合機床與自動化加工技術,2023(11):107?111.
[7] 周彥,孟江南,王冬麗,等.基于多尺度輕量化注意力的鋼材缺陷檢測[J].控制與決策,2024,39(3):901?909.
[8] 趙春華,羅順,譚金鈴,等.基于PC?YOLOv7算法鋼材表面缺陷檢測[J].國外電子測量技術,2023,42(9):137?145.
[9] LI J, WEN Y, HE L. SCConv: spatial and channel reconstruct?ion convolution for feature redundancy [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Vancouver: IEEE, 2023: 6153?6162.
[10] HOU Q, ZHOU D, FENG J. Coordinate attention for efficient mobile network design [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville, TN, USA: IEEE, 2021: 13713?13722.
[11] LIU S, QI L, QIN H, et al. Path aggregation network for instance segmentation [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 8759?8768.
[12] LIN T Y, DOLLáR P, GIRSHICK R, et al. Feature pyramid networks for object detection [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 2117?2125.
[13] XU X, JIANG Y, CHEN W, et al. DAMO?YOLO: a report on real?time object detection design [EB/OL]. [2023?01?12]. https://arxiv.org/abs/2211.15444?context=cs.CV.
[14] XIE X, LIAO Q, MA L, et al. Gated feature pyramid network for object detection [C]// Pattern Recognition and Computer Vision: First Chinese Conference. Guangzhou: IEEE, 2018: 199?208.
[15] WANG J, CHEN K, XU R, et al. Carafe: content?aware reassembly of features [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision. Long Beach: IEEE, 2019: 3007?3016.
作者簡介:徐蓮蓉(2000—),女,湖北天門人,碩士研究生,主要研究方向為目標檢測。
梁少華(1965—),男,湖北荊州人,碩士研究生,副教授,主要從事人工智能、計算機視覺方面的教學與研究工作。