摘 要:針對鋼材表面缺陷檢測的難點(diǎn),提出一種基于YOLOv5算法的鋼材表面缺陷檢測方法。采用二等分的方法進(jìn)行數(shù)據(jù)擴(kuò)充,提高了模型的魯棒性和泛化性;加入了通道注意力機(jī)制,提升了網(wǎng)絡(luò)對重要特征的提取能力;增加了全局上下文特征提取模塊,增強(qiáng)了模型對全局上下文特征的提取能力以及對不同尺寸缺陷的檢測能力;增加了微小目標(biāo)檢測頭,提升了網(wǎng)絡(luò)對于微小瑕疵的檢測能力。改進(jìn)后的算法在NEU-DET數(shù)據(jù)集和GC10-DET數(shù)據(jù)集上的檢測精度分別達(dá)到了83.1%和76.24%,較原YOLOv5算法提升了8.11個百分點(diǎn)和6.03個百分點(diǎn)。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的算法性能優(yōu)異,具有先進(jìn)性,可以為鋼材表面缺陷檢測提供新的研究思路,助力于工業(yè)生產(chǎn)與發(fā)展。
關(guān)鍵詞:鋼材表面缺陷檢測;深度學(xué)習(xí);目標(biāo)檢測;YOLOv5;空洞卷積;微小目標(biāo)檢測頭
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2025)03-00-05
0 引 言
鋼材是一種被廣泛使用的金屬材料,在汽車制造、船舶與海洋工程、航空航天等領(lǐng)域有著重要作用。但是在鋼材的實(shí)際生產(chǎn)中,難免出現(xiàn)劃痕、裂縫、夾雜物等缺陷。這些缺陷嚴(yán)重影響了鋼材的強(qiáng)度、韌性、硬度等性能。因此,為了保證鋼材的生產(chǎn)質(zhì)量,需要對鋼材表面缺陷進(jìn)行檢測[1]。
在日常生產(chǎn)中,對于鋼材表面缺陷的問題,常使用人工觀測的方法進(jìn)行檢測,但是這種檢測方法效率低下,且容易出現(xiàn)漏檢等問題。隨著深度學(xué)習(xí)的飛速發(fā)展,目標(biāo)檢測算法在鋼材表面缺陷檢測中得到廣泛應(yīng)用。使用目標(biāo)檢測算法對鋼材表面進(jìn)行檢測具有兩個顯著優(yōu)勢。首先,使用目標(biāo)檢測算法進(jìn)行鋼材表面缺陷檢測可以自動識別和定位缺陷,節(jié)省大量的人工成本。其次,使用目標(biāo)檢測算法可以在短時間內(nèi)處理大量的樣本,這種高效的識別方式極大地提高了生產(chǎn)效率[2]。
基于目標(biāo)檢測算法的鋼材表面缺陷檢測可以分為兩類。一類是單階段目標(biāo)檢測算法,如:SSD[3]、YOLO[4]等。另一類是兩階段目標(biāo)檢測算法,如:R-CNN[5]、Faster R-CNN[6]等。文獻(xiàn)[7]對YOLOv3單階段目標(biāo)檢測算法做出了改進(jìn),通過加權(quán) K-means 聚類算法優(yōu)化先驗(yàn)框參數(shù),并基于NEU-DET數(shù)據(jù)集進(jìn)行訓(xùn)練與測試,實(shí)驗(yàn)結(jié)果表明,其精度和圖像處理能力基本可以滿足工業(yè)需求。文獻(xiàn)[8]采用CNN+Transformer的方法進(jìn)行檢測,其中CNN與Transformer分別負(fù)責(zé)提取局部和全局信息?;贜EU-DET數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明,此算法的性能基本可以滿足工業(yè)需求,但是由于Transformer參數(shù)量較大,對檢測速度會有所影響。不同于上述使用單階段目標(biāo)檢測算法,文獻(xiàn)[9]采用兩階段目標(biāo)檢測算法Faster R-CNN并基于NEU-DET數(shù)據(jù)集進(jìn)行鋼材表面缺陷檢測研究,檢測精度(mAP)達(dá)到了82.3%。盡管上述方法相較于常見算法在速度和檢測精度方面都有所提升,但提升幅度有限,且速度與精度之間無法達(dá)到平衡。因此,在鋼材實(shí)際生產(chǎn)中,迫切需要一種能夠在缺陷檢測速度和精度之間取得平衡的算法。
本文提出了一種基于YOLOv5算法[10]的鋼材表面缺陷檢測模型,以解決鋼材表面缺陷檢測過程中常見的問題。具體地說,本文以YOLOv5算法為基礎(chǔ),針對鋼材缺陷樣本質(zhì)量差的問題,運(yùn)用SE注意力機(jī)制模塊提取重要特征,增強(qiáng)網(wǎng)絡(luò)檢測能力。針對鋼材表面缺陷檢測中缺陷尺寸相差較大且尺寸分布不均勻的問題增加了全局上下文特征提取模塊。針對鋼材表面缺陷檢測中微小缺陷較難檢出的問題提出了增加微小目標(biāo)檢測頭的方法。 針對長方形樣本無法適配Mosaic數(shù)據(jù)增強(qiáng)以及數(shù)據(jù)量不足的問題提出二等分?jǐn)?shù)據(jù)增強(qiáng)算法。
1 改進(jìn)的YOLOv5算法
1.1 通道注意力機(jī)制SE模塊
在鋼材缺陷檢測中,樣本質(zhì)量的好壞是決定檢測結(jié)果的重要因素。然而鋼材生產(chǎn)線環(huán)境一般無法控制,導(dǎo)致采集到的圖片參差不齊。較差的樣本會極大地降低鋼材缺陷的檢測準(zhǔn)確率。因此,本文將SE模塊加入YOLOv5算法主干網(wǎng)絡(luò)可以在網(wǎng)絡(luò)提取特征后為特征圖添加一個通道注意力掩碼,以增強(qiáng)模型提取重要通道特征的能力,抑制較差樣本中的干擾特征,提高模型整體性能。
SE模塊的整體結(jié)構(gòu)如圖1所示。特征圖輸入SE模塊將經(jīng)過平均池化結(jié)果壓縮為與原輸入特征通道數(shù)相同的向量,計(jì)算公式如下:
(1)
接著,通過全連接、激活函數(shù)ReLU、全連接、激活函數(shù)Sigmoid操作生成通道注意力掩碼1×1×C,以表征輸入特征每個通道的重要程度,之后將通道注意力掩碼與原輸入特征每個通道進(jìn)行點(diǎn)乘,得到經(jīng)通道注意力機(jī)制加權(quán)后的輸出特征。
1.2 全局上下文特征提取模塊
全局上下文特征提取模塊結(jié)構(gòu)如圖2所示,其主要由普通卷積、空洞卷積、1×3和3×1卷積、CBAM(Convolutional Block Attention Module)模塊組成。其中,普通卷積主要負(fù)責(zé)特征提取和通道維度的變換。通過并聯(lián)不同空洞率的空洞卷積,可以獲取不同尺寸的感受野,解決因鋼材樣本表面缺陷尺寸差異較大而導(dǎo)致漏檢的問題。與普通卷積相比,空洞卷積在獲得同等大小的感受野時具有計(jì)算量較小的優(yōu)勢。1×3和3×1卷積主要用于提取特征圖的邊緣特征和細(xì)節(jié)特征,以確保能夠準(zhǔn)確檢測位于鋼材邊緣的缺陷。此外,當(dāng)五條支路獲取圖像多尺度特征后,經(jīng)過CBAM混合注意力模塊再與輸入特征融合,即可得出最終的全局上下文特征。
簡而言之,假設(shè)XContext與YContext是全局上下文特征提取模塊的輸入與輸出,則全局上下文特征提取模塊可表示為:
YContext=FContext(WContext , XContext) (2)
式中:FContext表示全局上下文特征提取網(wǎng)絡(luò);WContext表示FContext的網(wǎng)絡(luò)參數(shù)。
全局上下文特征可以增強(qiáng)模型對于不同尺度缺陷的提取能力,進(jìn)而增強(qiáng)模型檢測的準(zhǔn)確率,這一結(jié)論將在實(shí)驗(yàn)中得到證明。
1.3 微小目標(biāo)檢測頭
為提高鋼材表面缺陷檢測準(zhǔn)確率,本文在原YOLOv5算法的基礎(chǔ)上不僅添加了全局上下文提取模塊,還添加了一個檢測頭,主要用于鋼材表面微小缺陷的檢測,如圖3所示的Neck網(wǎng)絡(luò)中灰色部分。
如果忽略SPPF后新增的全局上下文特征提取模塊,輸入微小目標(biāo)檢測頭的特征圖就是將原YOLOv5第17層提取得到的特征圖進(jìn)行進(jìn)一步的特征提取與升維。假設(shè)輸入原圖尺寸為640×640×3,那么輸入微小目標(biāo)檢測頭前的Neck網(wǎng)絡(luò)會將尺寸為256×80×80的特征圖升維至128×160×160并輸入至微小目標(biāo)檢測頭,由于特征圖尺寸較大,所以其感受野較小。因此與原YOLOv5算法相比,新增的檢測頭能夠檢測更小的目標(biāo)。
簡而言之,假設(shè)XEighteen是第20層CSP2_1模塊的輸入特征圖,YTwenty-Four是第25層CSP2_1模塊的輸出特征圖,則新增微小目標(biāo)檢測頭部分可以表示為:
YTwenty-Four=FTiny(WTiny , XEighteen) (3)
式中:FTiny表示微小目標(biāo)檢測頭的Neck部分網(wǎng)絡(luò);WTiny表示FTiny的網(wǎng)絡(luò)參數(shù)。
由于負(fù)責(zé)提取特征圖并輸入至微小目標(biāo)檢測頭的卷積核的感受野較小,因此微小目標(biāo)檢測頭大幅度增加了模型對微小缺陷的檢出能力,進(jìn)而增強(qiáng)了網(wǎng)絡(luò)的檢測準(zhǔn)確率,這一結(jié)論將在實(shí)驗(yàn)中得到證明。
2 數(shù)據(jù)準(zhǔn)備
2.1 數(shù)據(jù)集
2.1.1 NEU-DET數(shù)據(jù)集
NEU-DET數(shù)據(jù)集為東北大學(xué)發(fā)布的熱軋帶鋼的表面缺陷數(shù)據(jù)集。NEU-DET數(shù)據(jù)集包含6個類別的缺陷,分別是:劃痕(Sc)、裂縫(Cr)、氧化皮(RS)、夾雜物(In)、點(diǎn)蝕表面(PS)以及斑塊 (Pa)。每種類別都有300張圖像,共1 800個樣本,采用灰度圖像的形式呈現(xiàn),圖像尺寸為200×200。部分帶標(biāo)簽的圖像如圖4所示。
2.1.2 GC10-DET數(shù)據(jù)集
GC10-DET為真實(shí)工業(yè)場景中收集的鋼材表面缺陷數(shù)據(jù)集。GC10-DET數(shù)據(jù)集包含10個類別的鋼材表面缺陷,分別是:腰部折痕 (Wf)、沖孔(Pu)、折痕(Cr)、焊縫(Wl)、軋坑(Rp)、新月形縫隙(Cg)、夾雜物(In)、水斑(Ws)、絲斑(Ss)、油斑(Os)。共3 570個樣本,采用灰度圖像的形式呈現(xiàn),圖像尺寸為2 048×1 000。部分帶標(biāo)簽的圖像如圖5所示。
2.2 數(shù)據(jù)集預(yù)處理與二等分?jǐn)?shù)據(jù)增強(qiáng)
通過數(shù)據(jù)增強(qiáng)可以增加樣本的多樣性,提升模型的泛化性和魯棒性。在本文改進(jìn)的YOLOv5算法中,采用了多種數(shù)據(jù)增強(qiáng)方法,包括Mosaic數(shù)據(jù)增強(qiáng)、隨機(jī)水平翻轉(zhuǎn)、圖像縮放和圖像平移。其中,圖像縮放系數(shù)設(shè)為0.5,圖像平移系數(shù)設(shè)為0.1。需要注意的是,GC10-DET數(shù)據(jù)集中樣本的長寬差距較大,具體如圖6所示。這會導(dǎo)致在使用Mosaic數(shù)據(jù)增強(qiáng)時產(chǎn)生大量無效區(qū)域。因此,針對上述問題對GC10-DE 數(shù)據(jù)集中的樣本進(jìn)行了二等分處理。將GC10-DET數(shù)據(jù)集中2 048×1 000的圖像分成兩張1 024×1 000的圖像,當(dāng)分割線穿過瑕疵時會根據(jù)左圖或者右圖剩余面積是否占原面積10%來判定是否保留此缺陷。二等分處理不僅解決了上述問題還增加了樣本數(shù)量,進(jìn)而增加了模型的泛化性。
3 仿真實(shí)驗(yàn)
3.1 配置環(huán)境及評測標(biāo)準(zhǔn)
本文實(shí)驗(yàn)使用的編譯環(huán)境為PyCharm,代碼基于Pytorch框架編寫,Python版本為3.8,CUDA版本為11.6。CPU采用Intel Core i7-12700,GPU采用RTX 3090 24 G顯卡。實(shí)驗(yàn)平臺的相關(guān)硬件參數(shù)見表1。
在訓(xùn)練過程中,將本文改進(jìn)的YOLOv5算法的訓(xùn)練批次設(shè)置為100,使用隨機(jī)梯度下降算法,初始學(xué)習(xí)率為0.01,衰減系數(shù)為0.000 5,動量設(shè)置為0.937。
本文主要通過平均精度以及召回率(Recall)兩個指標(biāo)對模型的性能進(jìn)行評估,表達(dá)式如下:
(4)
Recall= (5)
式中:TP表示正樣本預(yù)測為正;FN表示正樣本預(yù)測為負(fù);Recall表示召回率;AP表示某一類的準(zhǔn)確率;mAP表示所有類的平均準(zhǔn)確率。
此外,本文還將算法每秒處理圖像的幀數(shù)(FPS)作為輔助評估標(biāo)準(zhǔn)。
3.2 實(shí)驗(yàn)結(jié)果
為驗(yàn)證改進(jìn)方法的有效性,首先對本文提出的上下文特征提取模塊和微小目標(biāo)檢測頭模塊進(jìn)行消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表2。
上述實(shí)驗(yàn)證明了SE模塊、全局上下文模塊和微小目標(biāo)檢測頭均能提升模型的整體性能。
其次,對于數(shù)據(jù)預(yù)處理中提出的二等分操作也進(jìn)行了對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表3。
實(shí)驗(yàn)證明,二等分操作對網(wǎng)絡(luò)性能的提升有著顯著的作用。
最后將改進(jìn)的YOLOv5算法與現(xiàn)有算法進(jìn)行對比,結(jié)果見表4。
從表4中可以看出,改進(jìn)的YOLOv5模型與SSD、Faster-RCNN、原YOLOv5、YOLOv7模型相比,mAP有著明顯的提升。此外,相比于原YOLOv5算法,改進(jìn)后的算法在兩個數(shù)據(jù)集上的召回率分別增加了10個百分點(diǎn)和12個百分點(diǎn)。充分說明了改進(jìn)后的算法可以有效提升模型對于各尺寸鋼材缺陷的檢出能力。改進(jìn)效果如圖7所示。
4 結(jié) 語
本文基于YOLOv5算法提出了一種改進(jìn)算法,用于鋼材表面缺陷檢測。在該算法中,引入了SE注意力模塊,以增強(qiáng)模型提取重要特征的能力,抑制質(zhì)量較差樣本中的干擾特征帶來的負(fù)面影響;引入了全局上下文特征提取模塊,通過并聯(lián)不同的卷積層,使網(wǎng)絡(luò)能夠提取多尺度的特征,從而增強(qiáng)模型對不同尺寸缺陷的檢測能力;采用了CBAM模塊,以增強(qiáng)模型對全局上下文信息的提取能力、魯棒性和泛化性。此外,針對鋼材微小缺陷容易漏檢的問題,提出了微小目標(biāo)檢測頭,該微小目標(biāo)檢測頭相比原始的YOLOv5檢測頭具有更小的感受野,從而極大地提高了對鋼材較小尺寸缺陷的提取能力。通過在兩個數(shù)據(jù)集上的對比實(shí)驗(yàn)可知,改進(jìn)的YOLOv5算法在mAP和Recall方面均有提升。此外,該算法的性能也優(yōu)于現(xiàn)有大部分算法,進(jìn)一步證明了本文提出算法的先進(jìn)性。此外,本文提出的網(wǎng)絡(luò)結(jié)構(gòu)尚存優(yōu)化潛力,將會在后續(xù)的研究中進(jìn)一步優(yōu)化。本文提出的網(wǎng)絡(luò)結(jié)構(gòu)能夠應(yīng)用到其他需要微小目標(biāo)檢測的工作生產(chǎn)領(lǐng)域,可以為鋼材表面缺陷檢測提供新的研究思路,助力工業(yè)生產(chǎn)與發(fā)展。
注:本文通訊作者為付興魁。
參考文獻(xiàn)
[1] WEN X, SHAN J, HE Y, et al. Steel surface defect recognition: A survey [J]. Coatings, 2022, 13(1): 17.
[2] WANG Y, WANG H, XIN Z. Efficient detection model of steel strip surface defects based on YOLO-v7 [J]. IEEE access, 2022, 10: 133936-133944.
[3] YANG F, HUANG L, TAN X, et al. FasterNet-SSD: A small object detection method based on SSD model [J]. Signal, image and video processing, 2023, 18: 173-180.
[4] LI M, WANG H, WAN Z. Surface defect detection of steel strips based on improved YOLOv4 [J]. Computers and electrical engineering, 2022, 102: 108208.
[5] FU M, WU J, WANG Q, et al. Region-based fully convolutional networks with deformable convolution and attention fusion for steel surface defect detection in industrial Internet of Things [J]. IET signal processing, 2023, 17(5): 12208.
[6] YE X, YE J, HE Z, et al. A novel defect detection method for ferrite shield surface defects by improved faster R-CNN [J]. Scientific programming, 2022.
[7] 李維剛,葉欣,趙云濤,等. 基于改進(jìn)YOLOv3算法的帶鋼表面缺陷檢測[J]. 電子學(xué)報(bào),2020,48(7):1284-1292.
[8] 唐東林,楊洲,程衡,等. 淺層卷積神經(jīng)網(wǎng)絡(luò)融合Transformer的金屬缺陷圖像識別方法[J]. 中國機(jī)械工程,2022,33(19): 2298-2305.
[9] HE Y, SONG K, MENG Q, et al. An end-to-end steel surface defect detection approach via fusing multiple hierarchical features [J]. IEEE transactions on instrumentation and measurement, 2020, 69(4): 1493-1504.
[10] SHI J, YANG J, ZHANG Y. Research on steel surface defect detection based on YOLOv5 with attention mechanism [J]. Electronics, 2022, 11(22): 3735.