谷長(zhǎng)江 高法欽
摘 要:缺陷檢測(cè)是生產(chǎn)中重要的環(huán)節(jié),基于鋼板表面缺陷特征不明顯和難以提取導(dǎo)致的檢測(cè)精度不足問(wèn)題,文章在YOLOv5s檢測(cè)網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行改進(jìn),首先基于DO-Conv過(guò)參數(shù)化模塊改進(jìn)網(wǎng)絡(luò)特征提取模塊,然后使用ULSAM注意力機(jī)制改進(jìn)網(wǎng)絡(luò)的頸部(Neck),提出改進(jìn)的YOLOv5s缺陷檢測(cè)網(wǎng)絡(luò)?;贜EU-DET數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明,改進(jìn)的YOLOv5s缺陷檢測(cè)網(wǎng)絡(luò)檢測(cè)平均準(zhǔn)確率達(dá)76.6%,較YOLOv5s和YOLOv4分別提升了7.8%和6.3%,有效提高了鋼材表面缺陷檢測(cè)精度。
關(guān)鍵詞:YOLOv5s;缺陷檢測(cè);注意力機(jī)制;過(guò)參數(shù)化
中圖分類(lèi)號(hào):TP399 文獻(xiàn)標(biāo)志碼:A
0 引言(Introduction)
鋼材作為國(guó)民生產(chǎn)中重要的材料,在其生產(chǎn)、加工及運(yùn)輸過(guò)程中不可避免地有缺陷產(chǎn)生,其中尤為嚴(yán)重的就是生產(chǎn)過(guò)程中產(chǎn)生的缺陷,這類(lèi)缺陷的影響較大,常常造成殘次品或無(wú)法滿足實(shí)際使用需要等。傳統(tǒng)的目標(biāo)檢測(cè)主要是采用人工方式進(jìn)行檢測(cè),這種方法受主觀因素影響較大,因此研究基于深度學(xué)習(xí)的鋼材表面缺陷檢測(cè)算法具有重大意義。
隨著深度學(xué)習(xí)在圖像領(lǐng)域的不斷應(yīng)用,缺陷檢測(cè)也逐漸成為其中一個(gè)應(yīng)用分支[1]。傳統(tǒng)的機(jī)器圖像如無(wú)損檢測(cè)、微波檢測(cè)方法的應(yīng)用存在對(duì)材料有限制等問(wèn)題而無(wú)法廣泛應(yīng)用[2-3]?;趫D像深度學(xué)習(xí)的缺陷檢測(cè)技術(shù)沒(méi)有目標(biāo)材料限制要求且不需要直接接觸被檢測(cè)物體而逐漸被應(yīng)用于更多領(lǐng)域的材料缺陷檢測(cè)任務(wù)中。
研究者們?cè)阡摬谋砻嫒毕輽z測(cè)領(lǐng)域已進(jìn)行了大量研究。2017年,邢健夫[4]使用AlexNet構(gòu)建了一套對(duì)鋼材缺陷進(jìn)行分類(lèi)的網(wǎng)絡(luò),并使用數(shù)據(jù)增強(qiáng)技術(shù)對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充,最終提高了缺陷分類(lèi)的準(zhǔn)確性。2020年,徐鏹等[5]在YOLOv3網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行改進(jìn),采用MobileNet模塊提升了帶鋼表面缺陷的檢測(cè)速度。
然而,對(duì)于鋼材表面缺陷檢測(cè)任務(wù),上述研究仍存在很多問(wèn)題,例如對(duì)小目標(biāo)不敏感、缺陷檢測(cè)的精度依舊有待提高等。針對(duì)小目標(biāo)檢測(cè)問(wèn)題,本文通過(guò)使用ULSAM 注意力機(jī)制,加強(qiáng)了上下文特征信息的融合和對(duì)小目標(biāo)的特征提取能力。針對(duì)缺陷檢測(cè)精度不高的現(xiàn)象,本文提出基于DO-Conv的特征提取模塊,利用過(guò)參數(shù)化帶來(lái)的強(qiáng)大特征提取能力提升模型的性能[6]。并通過(guò)實(shí)驗(yàn)證明,本文所提方法有效提升了鋼材表面缺陷檢測(cè)精度。
1 YOLOv5s算法及其改進(jìn)(YOLOv5s algorithmand its improvements)
1.1 YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv5是繼YOLOv4之后提出的YOLO系列的又一名新成員,它的特征提取網(wǎng)絡(luò)是基于跨階段的局部網(wǎng)絡(luò)架構(gòu)的暗網(wǎng)(CSPDarknet)[7]。CSPDarknet擁有較高的計(jì)算效率,同時(shí)YOLOv5系列為了面向不同的檢測(cè)任務(wù),提出了如YOLOv5-t、YOLOv5-s、YOLOv5-m、YOLOv5-l等多個(gè)不同版本,這使得YOLOv5系列比YOLOv4系列擁有更廣的適用領(lǐng)域[8]。其中應(yīng)用最多的就是YOLOv5s網(wǎng)絡(luò),它在網(wǎng)絡(luò)復(fù)雜性與網(wǎng)絡(luò)精度方面取得了良好的協(xié)調(diào)。因此,本文針對(duì)YOLOv5s網(wǎng)絡(luò)進(jìn)行研究。
圖1是YOLOv5s網(wǎng)絡(luò)的結(jié)構(gòu)圖。YOLOv5s網(wǎng)絡(luò)分為Backbone特征提取網(wǎng)絡(luò)、neck上下文特征融合網(wǎng)絡(luò)及Head預(yù)測(cè)網(wǎng)絡(luò)三個(gè)部分。其中,SPPF結(jié)構(gòu)使用集連方法構(gòu)建模塊,這在很大程度上擴(kuò)大了模塊的感受野。
1.2 YOLOv5s網(wǎng)絡(luò)檢測(cè)原理
YOLOv5s是一種基于深度學(xué)習(xí)的目標(biāo)檢測(cè)模型,它使用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)圖像中物體的檢測(cè)。YOLOv5s采用了單階段目標(biāo)檢測(cè)的方法,該方法可以在單次推理中完成目標(biāo)檢測(cè)、定位和分類(lèi)任務(wù)。
在YOLOv5s中,網(wǎng)絡(luò)使用多個(gè)卷積層提取圖像特征。Neck部分完整對(duì)Backbone部分提取到的特征進(jìn)行進(jìn)一步融合,由此得到更豐富的目標(biāo)特征,以便實(shí)現(xiàn)對(duì)目標(biāo)的預(yù)測(cè)。Neck網(wǎng)絡(luò)部分采用的是特征金字塔+路徑聚合(FPN+PAN)結(jié)構(gòu)。LIN等[9]提出著名的特征金字塔網(wǎng)絡(luò)(Feature PyramidNetworks,F(xiàn)PN),目的是對(duì)網(wǎng)絡(luò)內(nèi)部不同深度的特征信息進(jìn)行融合。Mosaic數(shù)據(jù)增強(qiáng)技術(shù)是在YOLOv4網(wǎng)絡(luò)的基礎(chǔ)上提出的,經(jīng)實(shí)驗(yàn)證明,Mosaic能有效緩解特征不明顯的現(xiàn)象,因此YOLOv5s中也使用了這種方法[10]。
首先,網(wǎng)絡(luò)使用一組卷積層提取圖像特征。其次,網(wǎng)絡(luò)使用類(lèi)似于FPN的結(jié)構(gòu)生成多個(gè)分辨率的特征圖。這些特征圖可以用來(lái)預(yù)測(cè)目標(biāo)的位置和類(lèi)別。最后,YOLOv5s使用了一種稱(chēng)為非極大值抑制(Non-Maximum Suppression)的方法移除重疊的檢測(cè)框,并輸出最終的檢測(cè)結(jié)果。
YOLOv5s的損失函數(shù)如公式(1):
其中,α、β、γ 是協(xié)調(diào)三個(gè)損失的超參數(shù),Lconf 表示該檢測(cè)點(diǎn)是否存在目標(biāo)的置信度損失,Lobj 表示目標(biāo)分類(lèi)的損失,Lbbox 表示目標(biāo)真實(shí)框與預(yù)測(cè)框之間偏離導(dǎo)致的損失。
1.3 YOLOv5s的改進(jìn)
1.3.1 基于DO-Conv改進(jìn)YOLOv5s
DO-Conv是一種過(guò)參數(shù)化(Over-Parameter)方法[11],它的思想是通過(guò)將一次卷積分離成兩個(gè)可學(xué)習(xí)的訓(xùn)練步驟,最終在推理時(shí)將這兩個(gè)步驟結(jié)合成一個(gè)卷積操作,它包含一個(gè)深度卷積操作和一個(gè)普通的矩陣乘法即線形層。其中,深度卷積公式如下:
通過(guò)一次深度卷積可以讓原有尺度為Cin×(M ×N )的輸入特征轉(zhuǎn)換為尺度為Cin×D 的輸入特征,對(duì)于h×w 大小的特征圖而言,D 指的是h×w 個(gè)空間點(diǎn)位,M ×N 指的是滑動(dòng)窗口時(shí)卷積核W 的個(gè)數(shù),Cin 表示輸入特征的尺度為C。
DO-Conv的具體流程圖如圖2所示,其中W 表示卷積權(quán)重,I 表示輸入特征,P 表示卷積參數(shù),O 表示輸出特征,o為公式(2)表示的運(yùn)算操作,*表示普通卷積操作。圖2是DOConv推理時(shí)的流程,可以看出,輸入特征相當(dāng)于進(jìn)行了兩次卷積,根據(jù)DO-Conv研究推理得出,圖2中的計(jì)算流程等價(jià)于圖3所示的流程。
從圖3中可以看出,DO-Conv采用了類(lèi)似Inception的思想,但不同的是DO-Conv采用深度方向的堆疊方法。
1.3.2 ULSAM
ULSAM(超輕量級(jí)子空間注意力模塊),是一種用于緊湊型CNN的新型注意力模塊。ULSAM可以為每個(gè)特征圖子空間學(xué)習(xí)不同的注意力圖,減少緊湊型CNN的特征圖中的空間和通道冗余。同時(shí),為每個(gè)子空間學(xué)習(xí)不同的注意力圖,可以實(shí)現(xiàn)多尺度的特征表示,特別是對(duì)于細(xì)粒度的圖像分類(lèi)任務(wù)。ULSAM是一個(gè)能夠高效地學(xué)習(xí)特征圖子空間的模塊,它是基于跨通道相互依賴(lài)性的注意力模塊構(gòu)建的。
ULSAM計(jì)算流程圖如圖4所示,DW 表示分組卷積,PW表示點(diǎn)積,1×1表示卷積核大小,Softmax是激活函數(shù)。
為了增強(qiáng)網(wǎng)絡(luò)對(duì)特征的識(shí)別能力,本文在將特征送入預(yù)測(cè)網(wǎng)絡(luò)之前,使其通過(guò)一個(gè)ULSAM模塊,以更好地提取特征。改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖5所示。
2 實(shí)驗(yàn)與分析(Experiment and analysis)
2.1 實(shí)驗(yàn)環(huán)境
為了驗(yàn)證本研究改動(dòng)對(duì)小目標(biāo)缺陷件檢測(cè)的有效性和先進(jìn)性,在CPU為RX3600,GPU為Ge Force RTX3060,開(kāi)發(fā)語(yǔ)言為Python,深度學(xué)習(xí)框架為pytorch的環(huán)境下進(jìn)行實(shí)驗(yàn)。
2.2 數(shù)據(jù)集簡(jiǎn)介
數(shù)據(jù)集來(lái)源于東北大學(xué)的NEU-DET鋼材表面缺陷數(shù)據(jù)集[12]。圖像類(lèi)別包括裂紋(CR,Crazing)、夾雜(IN,Inclusion)、斑塊(PA,Patches)、麻點(diǎn)(PS,Pitted_Surface)、壓入氧化鐵皮(RS,Rolled-in_Scale)及劃痕(SC,Scratches)。每種類(lèi)型的缺陷圖片包含300幅尺寸為200×200的圖像,共計(jì)1 800張。使用xml格式定位缺陷位置并對(duì)其進(jìn)行分類(lèi)。數(shù)據(jù)集按7∶2∶1的比例隨機(jī)分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。
2.3 模型訓(xùn)練
本文提出的改進(jìn)YOLOv5s算法的初始設(shè)置情況如下:初始學(xué)習(xí)率為0.01,訓(xùn)練300個(gè)epoch,若訓(xùn)練結(jié)束驗(yàn)證集損失未穩(wěn)定,則相應(yīng)增加epoch 值,如果訓(xùn)練長(zhǎng)時(shí)間不收斂,超過(guò)50個(gè)epoch,則提前結(jié)束。模型訓(xùn)練目標(biāo)的類(lèi)別置信度閾值是0.5,DIoU 閾值是0.45。當(dāng)兩個(gè)預(yù)測(cè)框之間的DIoU 值超過(guò)了設(shè)置閾值時(shí),則刪除該預(yù)測(cè)框。將輸入圖像進(jìn)行分類(lèi)處理后,輸出結(jié)果作為最終結(jié)果。
評(píng)價(jià)指標(biāo)主要分為模型指標(biāo)和精度指標(biāo)兩大類(lèi)。模型指標(biāo)為模型的參數(shù)量大小Params,模型推理時(shí)的浮點(diǎn)數(shù)GFLOPs。精度指標(biāo)采用精確率(Precision,P)、召回率(Recall,R)和平均準(zhǔn)確率(Mean Average Precision,MAP)三項(xiàng)作為網(wǎng)絡(luò)模型的性能指標(biāo)。P、R、MAP 和AP 公式如下:
其中,TP 為正確預(yù)測(cè)的正例;FP 為錯(cuò)誤預(yù)測(cè)的負(fù)例;FN 為錯(cuò)誤預(yù)測(cè)的正例;n 為類(lèi)別數(shù);AP 為每種檢測(cè)類(lèi)型的準(zhǔn)確性。
2.4 結(jié)果與分析
為了驗(yàn)證本文方法的優(yōu)越性,首先將其與主流算法進(jìn)行了性能比較,然后通過(guò)消融實(shí)驗(yàn)驗(yàn)證了改進(jìn)YOLOv5s算法的有效性。
2.4.1 算法的對(duì)比實(shí)驗(yàn)
改進(jìn)YOLOv5s與YOLOv3、YOLOv4和YOLOv5s三種常用算法的評(píng)價(jià)指標(biāo)見(jiàn)表1[13-16]。下述算法的GFLOPs 是在輸入圖像大小為640×640時(shí)獲得的。
上述改進(jìn)模型的Params 和GFLOPs 是在推理時(shí)獲得的。所有模型均是在初始學(xué)習(xí)率為0.01、IoU 閾值為0.5的條件下計(jì)算,訓(xùn)練結(jié)束時(shí)模型損失均已收斂。由表1中的結(jié)果可知:本文提出的改進(jìn)YOLOv5s算法以76.6%的平均準(zhǔn)確率、76.2%的精確率、70.3%的召回率排第一,其綜合性能優(yōu)于其他幾種算法。
2.4.2 消融實(shí)驗(yàn)
本文設(shè)立3組不同條件的實(shí)驗(yàn),未改動(dòng)的YOLOv5s、僅添加DO-Conv的YOLOv5s,以及添加了ULSAM注意力機(jī)制與DO-Conv的YOLOv5s(本文改進(jìn)算法),通過(guò)比較3組實(shí)驗(yàn)的MAP 驗(yàn)證本文所提算法的有效性。這3組實(shí)驗(yàn)的MAP 見(jiàn)表2。
由表2可知,改動(dòng)后算法的檢測(cè)精度得到了大幅提升,通過(guò)使用注意力機(jī)制融合特征以及通過(guò)DO-Conv增強(qiáng)特征提取能力,可以有效提升模型的精度。
3 結(jié)論(Conclusion)
本文提出的基于YOLOv5s的鋼板缺陷檢測(cè)方法通過(guò)DO-Conv增強(qiáng)特征提取能力,引入U(xiǎn)LSAM 模塊提升了算法對(duì)NEU-DET鋼板缺陷識(shí)別的精度。針對(duì)鋼材表面缺陷檢測(cè)問(wèn)題,本文對(duì)YOLOv5s算法進(jìn)行改進(jìn):引入DO-Conv模塊,進(jìn)一步增強(qiáng)模型對(duì)特征的提取能力;引入U(xiǎn)LSAM 注意力機(jī)制,增強(qiáng)特征融合能力,更好地提取目標(biāo)特征。實(shí)驗(yàn)結(jié)果驗(yàn)證了本文提出的新算法的有效性,研究成果為鋼材表面缺陷檢測(cè)提供了一種算法基礎(chǔ)。接下來(lái),將在提升模型檢測(cè)速度及檢測(cè)精度方面做進(jìn)一步研究。
參考文獻(xiàn)(References)
[1] 袁洪強(qiáng),杜國(guó)鋒,余澤禹,等. 基于輕量神經(jīng)網(wǎng)絡(luò)的鋼材表面缺陷快速識(shí)別[J]. 科學(xué)技術(shù)與工程,2021,21(34):14651-14656.
[2] 李翰超,古陽(yáng),于亞婷. 基于渦流無(wú)損檢測(cè)技術(shù)的金屬表面缺陷三維模擬分析[J]. 電子科技大學(xué)學(xué)報(bào),2020,49(6):942-948.
[3] GAO B,ZHANG H,WOO W L,et al. Smooth nonnegativematrix factorization for defect detection using microwavenondestructive testing and evaluation[J]. IEEETransactions on Instrumentation and Measurement,2014,63(4):923-934.
[4] 邢健夫. 基于卷積神經(jīng)網(wǎng)絡(luò)的熱軋帶鋼表面缺陷識(shí)別及系統(tǒng)開(kāi)發(fā)[D]. 沈陽(yáng):東北大學(xué),2017.
[5] 徐鏹,朱洪錦,范洪輝,等. 改進(jìn)的YOLOv3網(wǎng)絡(luò)在鋼板表面缺陷檢測(cè)研究[J]. 計(jì)算機(jī)工程與應(yīng)用,2020,56(16):265-272.
[6] YE H,ZHU X D,LIU C Y,et al. Furniture image classificationbased on depthwise group over-parameterized convolution [J]. Electronics,2022,11(23):3889.
[7] WANG X,GAO J S,HOU B J,et al. A lightweight modifiedYOLOX network using coordinate attention mechanismfor PCB surface defect detection[J]. IEEE SensorsJournal,2022,22(21):20910-20920.
[8] 楊暢暢,李慧玲,潘廣通. 基于改進(jìn)YOLOv4算法的鋁型材表面缺陷檢測(cè)[J]. 組合機(jī)床與自動(dòng)化加工技術(shù),2022(11):66-69.
[9] LIN T Y,DOLLáR P,GIRSHICK R,et al. Feature pyramidnetworks for object detection[C]∥IEEE. Proceedingsof the IEEE Conference on Computer Vision and PatternRecognition. New York:IEEE,2017:936-944.
[10] 顏學(xué)坤,楚建安. 基于YOLOv5改進(jìn)算法的印花圖案疵點(diǎn)檢測(cè)[J]. 電子測(cè)量技術(shù),2022,45(4):59-65.
[11] PANDEY E,KUMAR S. Exploring the generalization capacityof over-parameterized networks[J]. InternationalJournal of Intelligent Systems and Applications in Engineering,2023,11(1s):97-112.
[12] HE Y,SONG K C,MENG Q G,et al. An end-to-end steelsurface defect detection approach via fusing multiple hierarchicalfeatures[J]. IEEE Transactions on Instrumentationand Measurement,2020,69(4):1493-1504.
[13] 程婧怡,段先華,朱偉. 改進(jìn)YOLOv3的金屬表面缺陷檢測(cè)研究[J]. 計(jì)算機(jī)工程與應(yīng)用,2021,57(19):252-258.
[14] 方葉祥,甘平,陳俐. 金屬表面缺陷檢測(cè)的改進(jìn)YOLOv3算法研究[J]. 機(jī)械科學(xué)與技術(shù),2020,39(9):1390-1394.
[15] 庾彩紅,黃海松,曾鋒,等. 基于YOLO_v4的空心杯電樞表面缺陷實(shí)時(shí)檢測(cè)[J]. 組合機(jī)床與自動(dòng)化加工技術(shù),2021(6):59-62,66.
[16] CHEN S H,LAI Y W,KUO C L,et al. A surface defect detectionsystem for golden diamond pineapple based on CycleGANand YOLOv4[J]. Journal of King Saud University-Computerand Information Sciences,2022,34(10):8041-8053.
作者簡(jiǎn)介:
谷長(zhǎng)江(1997-),男,碩士生。研究領(lǐng)域:目標(biāo)檢測(cè),缺陷檢測(cè),圖像處理。本文通信作者。
高法欽(1974-),男,博士,副教授。研究領(lǐng)域:機(jī)器學(xué)習(xí)與智能感知,機(jī)器視覺(jué)定位與產(chǎn)品外觀檢測(cè)重構(gòu)研究。