摘 要:針對(duì)鋼材表面缺陷檢測(cè)的難點(diǎn),提出一種基于YOLOv5算法的鋼材表面缺陷檢測(cè)方法。采用二等分的方法進(jìn)行數(shù)據(jù)擴(kuò)充,提高了模型的魯棒性和泛化性;加入了通道注意力機(jī)制,提升了網(wǎng)絡(luò)對(duì)重要特征的提取能力;增加了全局上下文特征提取模塊,增強(qiáng)了模型對(duì)全局上下文特征的提取能力以及對(duì)不同尺寸缺陷的檢測(cè)能力;增加了微小目標(biāo)檢測(cè)頭,提升了網(wǎng)絡(luò)對(duì)于微小瑕疵的檢測(cè)能力。改進(jìn)后的算法在NEU-DET數(shù)據(jù)集和GC10-DET數(shù)據(jù)集上的檢測(cè)精度分別達(dá)到了83.1%和76.24%,較原YOLOv5算法提升了8.11個(gè)百分點(diǎn)和6.03個(gè)百分點(diǎn)。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的算法性能優(yōu)異,具有先進(jìn)性,可以為鋼材表面缺陷檢測(cè)提供新的研究思路,助力于工業(yè)生產(chǎn)與發(fā)展。
關(guān)鍵詞:鋼材表面缺陷檢測(cè);深度學(xué)習(xí);目標(biāo)檢測(cè);YOLOv5;空洞卷積;微小目標(biāo)檢測(cè)頭
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2025)03-00-05
0 引 言
鋼材是一種被廣泛使用的金屬材料,在汽車制造、船舶與海洋工程、航空航天等領(lǐng)域有著重要作用。但是在鋼材的實(shí)際生產(chǎn)中,難免出現(xiàn)劃痕、裂縫、夾雜物等缺陷。這些缺陷嚴(yán)重影響了鋼材的強(qiáng)度、韌性、硬度等性能。因此,為了保證鋼材的生產(chǎn)質(zhì)量,需要對(duì)鋼材表面缺陷進(jìn)行檢測(cè)[1]。
在日常生產(chǎn)中,對(duì)于鋼材表面缺陷的問(wèn)題,常使用人工觀測(cè)的方法進(jìn)行檢測(cè),但是這種檢測(cè)方法效率低下,且容易出現(xiàn)漏檢等問(wèn)題。隨著深度學(xué)習(xí)的飛速發(fā)展,目標(biāo)檢測(cè)算法在鋼材表面缺陷檢測(cè)中得到廣泛應(yīng)用。使用目標(biāo)檢測(cè)算法對(duì)鋼材表面進(jìn)行檢測(cè)具有兩個(gè)顯著優(yōu)勢(shì)。首先,使用目標(biāo)檢測(cè)算法進(jìn)行鋼材表面缺陷檢測(cè)可以自動(dòng)識(shí)別和定位缺陷,節(jié)省大量的人工成本。其次,使用目標(biāo)檢測(cè)算法可以在短時(shí)間內(nèi)處理大量的樣本,這種高效的識(shí)別方式極大地提高了生產(chǎn)效率[2]。
基于目標(biāo)檢測(cè)算法的鋼材表面缺陷檢測(cè)可以分為兩類。一類是單階段目標(biāo)檢測(cè)算法,如:SSD[3]、YOLO[4]等。另一類是兩階段目標(biāo)檢測(cè)算法,如:R-CNN[5]、Faster R-CNN[6]等。文獻(xiàn)[7]對(duì)YOLOv3單階段目標(biāo)檢測(cè)算法做出了改進(jìn),通過(guò)加權(quán) K-means 聚類算法優(yōu)化先驗(yàn)框參數(shù),并基于NEU-DET數(shù)據(jù)集進(jìn)行訓(xùn)練與測(cè)試,實(shí)驗(yàn)結(jié)果表明,其精度和圖像處理能力基本可以滿足工業(yè)需求。文獻(xiàn)[8]采用CNN+Transformer的方法進(jìn)行檢測(cè),其中CNN與Transformer分別負(fù)責(zé)提取局部和全局信息?;贜EU-DET數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明,此算法的性能基本可以滿足工業(yè)需求,但是由于Transformer參數(shù)量較大,對(duì)檢測(cè)速度會(huì)有所影響。不同于上述使用單階段目標(biāo)檢測(cè)算法,文獻(xiàn)[9]采用兩階段目標(biāo)檢測(cè)算法Faster R-CNN并基于NEU-DET數(shù)據(jù)集進(jìn)行鋼材表面缺陷檢測(cè)研究,檢測(cè)精度(mAP)達(dá)到了82.3%。盡管上述方法相較于常見(jiàn)算法在速度和檢測(cè)精度方面都有所提升,但提升幅度有限,且速度與精度之間無(wú)法達(dá)到平衡。因此,在鋼材實(shí)際生產(chǎn)中,迫切需要一種能夠在缺陷檢測(cè)速度和精度之間取得平衡的算法。
本文提出了一種基于YOLOv5算法[10]的鋼材表面缺陷檢測(cè)模型,以解決鋼材表面缺陷檢測(cè)過(guò)程中常見(jiàn)的問(wèn)題。具體地說(shuō),本文以YOLOv5算法為基礎(chǔ),針對(duì)鋼材缺陷樣本質(zhì)量差的問(wèn)題,運(yùn)用SE注意力機(jī)制模塊提取重要特征,增強(qiáng)網(wǎng)絡(luò)檢測(cè)能力。針對(duì)鋼材表面缺陷檢測(cè)中缺陷尺寸相差較大且尺寸分布不均勻的問(wèn)題增加了全局上下文特征提取模塊。針對(duì)鋼材表面缺陷檢測(cè)中微小缺陷較難檢出的問(wèn)題提出了增加微小目標(biāo)檢測(cè)頭的方法。 針對(duì)長(zhǎng)方形樣本無(wú)法適配Mosaic數(shù)據(jù)增強(qiáng)以及數(shù)據(jù)量不足的問(wèn)題提出二等分?jǐn)?shù)據(jù)增強(qiáng)算法。
1 改進(jìn)的YOLOv5算法
1.1 通道注意力機(jī)制SE模塊
在鋼材缺陷檢測(cè)中,樣本質(zhì)量的好壞是決定檢測(cè)結(jié)果的重要因素。然而鋼材生產(chǎn)線環(huán)境一般無(wú)法控制,導(dǎo)致采集到的圖片參差不齊。較差的樣本會(huì)極大地降低鋼材缺陷的檢測(cè)準(zhǔn)確率。因此,本文將SE模塊加入YOLOv5算法主干網(wǎng)絡(luò)可以在網(wǎng)絡(luò)提取特征后為特征圖添加一個(gè)通道注意力掩碼,以增強(qiáng)模型提取重要通道特征的能力,抑制較差樣本中的干擾特征,提高模型整體性能。
SE模塊的整體結(jié)構(gòu)如圖1所示。特征圖輸入SE模塊將經(jīng)過(guò)平均池化結(jié)果壓縮為與原輸入特征通道數(shù)相同的向量,計(jì)算公式如下:
(1)
接著,通過(guò)全連接、激活函數(shù)ReLU、全連接、激活函數(shù)Sigmoid操作生成通道注意力掩碼1×1×C,以表征輸入特征每個(gè)通道的重要程度,之后將通道注意力掩碼與原輸入特征每個(gè)通道進(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é)特征提取和通道維度的變換。通過(guò)并聯(lián)不同空洞率的空洞卷積,可以獲取不同尺寸的感受野,解決因鋼材樣本表面缺陷尺寸差異較大而導(dǎo)致漏檢的問(wèn)題。與普通卷積相比,空洞卷積在獲得同等大小的感受野時(shí)具有計(jì)算量較小的優(yōu)勢(shì)。1×3和3×1卷積主要用于提取特征圖的邊緣特征和細(xì)節(jié)特征,以確保能夠準(zhǔn)確檢測(cè)位于鋼材邊緣的缺陷。此外,當(dāng)五條支路獲取圖像多尺度特征后,經(jīng)過(guò)CBAM混合注意力模塊再與輸入特征融合,即可得出最終的全局上下文特征。
簡(jiǎn)而言之,假設(shè)XContext與YContext是全局上下文特征提取模塊的輸入與輸出,則全局上下文特征提取模塊可表示為:
YContext=FContext(WContext , XContext) (2)
式中:FContext表示全局上下文特征提取網(wǎng)絡(luò);WContext表示FContext的網(wǎng)絡(luò)參數(shù)。
全局上下文特征可以增強(qiáng)模型對(duì)于不同尺度缺陷的提取能力,進(jìn)而增強(qiáng)模型檢測(cè)的準(zhǔn)確率,這一結(jié)論將在實(shí)驗(yàn)中得到證明。
1.3 微小目標(biāo)檢測(cè)頭
為提高鋼材表面缺陷檢測(cè)準(zhǔn)確率,本文在原YOLOv5算法的基礎(chǔ)上不僅添加了全局上下文提取模塊,還添加了一個(gè)檢測(cè)頭,主要用于鋼材表面微小缺陷的檢測(cè),如圖3所示的Neck網(wǎng)絡(luò)中灰色部分。
如果忽略SPPF后新增的全局上下文特征提取模塊,輸入微小目標(biāo)檢測(cè)頭的特征圖就是將原YOLOv5第17層提取得到的特征圖進(jìn)行進(jìn)一步的特征提取與升維。假設(shè)輸入原圖尺寸為640×640×3,那么輸入微小目標(biāo)檢測(cè)頭前的Neck網(wǎng)絡(luò)會(huì)將尺寸為256×80×80的特征圖升維至128×160×160并輸入至微小目標(biāo)檢測(cè)頭,由于特征圖尺寸較大,所以其感受野較小。因此與原YOLOv5算法相比,新增的檢測(cè)頭能夠檢測(cè)更小的目標(biāo)。
簡(jiǎn)而言之,假設(shè)XEighteen是第20層CSP2_1模塊的輸入特征圖,YTwenty-Four是第25層CSP2_1模塊的輸出特征圖,則新增微小目標(biāo)檢測(cè)頭部分可以表示為:
YTwenty-Four=FTiny(WTiny , XEighteen) (3)
式中:FTiny表示微小目標(biāo)檢測(cè)頭的Neck部分網(wǎng)絡(luò);WTiny表示FTiny的網(wǎng)絡(luò)參數(shù)。
由于負(fù)責(zé)提取特征圖并輸入至微小目標(biāo)檢測(cè)頭的卷積核的感受野較小,因此微小目標(biāo)檢測(cè)頭大幅度增加了模型對(duì)微小缺陷的檢出能力,進(jìn)而增強(qiáng)了網(wǎng)絡(luò)的檢測(cè)準(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個(gè)類別的缺陷,分別是:劃痕(Sc)、裂縫(Cr)、氧化皮(RS)、夾雜物(In)、點(diǎn)蝕表面(PS)以及斑塊 (Pa)。每種類別都有300張圖像,共1 800個(gè)樣本,采用灰度圖像的形式呈現(xiàn),圖像尺寸為200×200。部分帶標(biāo)簽的圖像如圖4所示。
2.1.2 GC10-DET數(shù)據(jù)集
GC10-DET為真實(shí)工業(yè)場(chǎng)景中收集的鋼材表面缺陷數(shù)據(jù)集。GC10-DET數(shù)據(jù)集包含10個(gè)類別的鋼材表面缺陷,分別是:腰部折痕 (Wf)、沖孔(Pu)、折痕(Cr)、焊縫(Wl)、軋坑(Rp)、新月形縫隙(Cg)、夾雜物(In)、水斑(Ws)、絲斑(Ss)、油斑(Os)。共3 570個(gè)樣本,采用灰度圖像的形式呈現(xiàn),圖像尺寸為2 048×1 000。部分帶標(biāo)簽的圖像如圖5所示。
2.2 數(shù)據(jù)集預(yù)處理與二等分?jǐn)?shù)據(jù)增強(qiáng)
通過(guò)數(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ù)集中樣本的長(zhǎng)寬差距較大,具體如圖6所示。這會(huì)導(dǎo)致在使用Mosaic數(shù)據(jù)增強(qiáng)時(shí)產(chǎn)生大量無(wú)效區(qū)域。因此,針對(duì)上述問(wèn)題對(duì)GC10-DE 數(shù)據(jù)集中的樣本進(jìn)行了二等分處理。將GC10-DET數(shù)據(jù)集中2 048×1 000的圖像分成兩張1 024×1 000的圖像,當(dāng)分割線穿過(guò)瑕疵時(shí)會(huì)根據(jù)左圖或者右圖剩余面積是否占原面積10%來(lái)判定是否保留此缺陷。二等分處理不僅解決了上述問(wèn)題還增加了樣本數(shù)量,進(jìn)而增加了模型的泛化性。
3 仿真實(shí)驗(yàn)
3.1 配置環(huán)境及評(píng)測(cè)標(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)平臺(tái)的相關(guān)硬件參數(shù)見(jiàn)表1。
在訓(xùn)練過(guò)程中,將本文改進(jìn)的YOLOv5算法的訓(xùn)練批次設(shè)置為100,使用隨機(jī)梯度下降算法,初始學(xué)習(xí)率為0.01,衰減系數(shù)為0.000 5,動(dòng)量設(shè)置為0.937。
本文主要通過(guò)平均精度以及召回率(Recall)兩個(gè)指標(biāo)對(duì)模型的性能進(jìn)行評(píng)估,表達(dá)式如下:
(4)
Recall= (5)
式中:TP表示正樣本預(yù)測(cè)為正;FN表示正樣本預(yù)測(cè)為負(fù);Recall表示召回率;AP表示某一類的準(zhǔn)確率;mAP表示所有類的平均準(zhǔn)確率。
此外,本文還將算法每秒處理圖像的幀數(shù)(FPS)作為輔助評(píng)估標(biāo)準(zhǔn)。
3.2 實(shí)驗(yàn)結(jié)果
為驗(yàn)證改進(jìn)方法的有效性,首先對(duì)本文提出的上下文特征提取模塊和微小目標(biāo)檢測(cè)頭模塊進(jìn)行消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見(jiàn)表2。
上述實(shí)驗(yàn)證明了SE模塊、全局上下文模塊和微小目標(biāo)檢測(cè)頭均能提升模型的整體性能。
其次,對(duì)于數(shù)據(jù)預(yù)處理中提出的二等分操作也進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見(jiàn)表3。
實(shí)驗(yàn)證明,二等分操作對(duì)網(wǎng)絡(luò)性能的提升有著顯著的作用。
最后將改進(jìn)的YOLOv5算法與現(xiàn)有算法進(jìn)行對(duì)比,結(jié)果見(jiàn)表4。
從表4中可以看出,改進(jìn)的YOLOv5模型與SSD、Faster-RCNN、原YOLOv5、YOLOv7模型相比,mAP有著明顯的提升。此外,相比于原YOLOv5算法,改進(jìn)后的算法在兩個(gè)數(shù)據(jù)集上的召回率分別增加了10個(gè)百分點(diǎn)和12個(gè)百分點(diǎn)。充分說(shuō)明了改進(jìn)后的算法可以有效提升模型對(duì)于各尺寸鋼材缺陷的檢出能力。改進(jìn)效果如圖7所示。
4 結(jié) 語(yǔ)
本文基于YOLOv5算法提出了一種改進(jìn)算法,用于鋼材表面缺陷檢測(cè)。在該算法中,引入了SE注意力模塊,以增強(qiáng)模型提取重要特征的能力,抑制質(zhì)量較差樣本中的干擾特征帶來(lái)的負(fù)面影響;引入了全局上下文特征提取模塊,通過(guò)并聯(lián)不同的卷積層,使網(wǎng)絡(luò)能夠提取多尺度的特征,從而增強(qiáng)模型對(duì)不同尺寸缺陷的檢測(cè)能力;采用了CBAM模塊,以增強(qiáng)模型對(duì)全局上下文信息的提取能力、魯棒性和泛化性。此外,針對(duì)鋼材微小缺陷容易漏檢的問(wèn)題,提出了微小目標(biāo)檢測(cè)頭,該微小目標(biāo)檢測(cè)頭相比原始的YOLOv5檢測(cè)頭具有更小的感受野,從而極大地提高了對(duì)鋼材較小尺寸缺陷的提取能力。通過(guò)在兩個(gè)數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)可知,改進(jìn)的YOLOv5算法在mAP和Recall方面均有提升。此外,該算法的性能也優(yōu)于現(xiàn)有大部分算法,進(jìn)一步證明了本文提出算法的先進(jìn)性。此外,本文提出的網(wǎng)絡(luò)結(jié)構(gòu)尚存優(yōu)化潛力,將會(huì)在后續(xù)的研究中進(jìn)一步優(yōu)化。本文提出的網(wǎng)絡(luò)結(jié)構(gòu)能夠應(yīng)用到其他需要微小目標(biāo)檢測(cè)的工作生產(chǎn)領(lǐng)域,可以為鋼材表面缺陷檢測(cè)提供新的研究思路,助力工業(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算法的帶鋼表面缺陷檢測(cè)[J]. 電子學(xué)報(bào),2020,48(7):1284-1292.
[8] 唐東林,楊洲,程衡,等. 淺層卷積神經(jīng)網(wǎng)絡(luò)融合Transformer的金屬缺陷圖像識(shí)別方法[J]. 中國(guó)機(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.