吳敵 李明輝 馬文凱 李睿童 李艷



摘要:針對當前鋼材表面缺陷種類多、形態復雜等原因導致的檢測精度低的問題,本文提出了一種基于改進YOLOv5目標檢測網絡的缺陷檢測方法.首先,對于在檢測中小目標缺陷易被漏檢、錯檢的問題,增加了小目標檢測層;其次,對于缺陷圖像表現的背景復雜,且部分缺陷交叉、重疊等問題,引入了Transformer encoder block模塊和Convolutional block attention model(CBAM)模塊,使網絡能更加有效地對抗復雜背景信息,專注于目標對象的檢測;最后,使用NEU-DET數據集對該改進模型進行了實驗.結果表明,相較于原YOLOv5模型,該方法在缺陷檢測方面的精度提升了6.5%;相較于Faster-RCNN模型,其精度提高了約10%.因此,該方法在鋼材表面缺陷檢測上,具有較好的檢測精度和效率.
關鍵詞:目標檢測; 鋼材表面缺陷; YOLOv5; 注意力機制
中圖分類號:TP391.4文獻標志碼: A
Surface defect detection of steel based on improved Yolov5
WU Di1, LI Ming-hui1*, MA Wen-kai1, LI Rui-tong1, LI Yan2(1.College of Mechanical and Electrical Engineering, Shaanxi University of Science & Technology, Xi′an 710021, China; 2.School of Electrical and Control Engineering, Shaanxi University of Science & Technology, Xi′an 710021, China)
Abstract:In order to solve the problem of low detection accuracy caused by the variety and complexity of the surface defects of steel,we proposed a defect detection method based on improved YOLOV5 object detection network.Firstly,a small target detection layer is added to the problem that small defects are often to be missed and misdetected.Then,the Transformer encoder block module and the Convolutional block attention model(CBAM) are used to deal with the complex background of the defect image,which makes the network more effective against complex background information and more focus on object detection.Finally,the improved model is tested on NEU-DET datasets.The results show that the precision of the proposed method is 6.5% higher than that of the original YOLOv5 model and about 10% higher than that of the Faster-RCNN model.The experimental results show that the method has good accuracy and efficiency in steel surface defect detection.
Key words:object detection; steel surface defects; YOLOv5; attention mechanism
0引言
鋼鐵行業是國民經濟發展的支柱性產業,我國的鋼鐵年產量逐年上升,目前已位居全球第一,占全球鋼鐵總產量的半壁江山,2020年我國粗鋼產量達10.65億噸[1].結合2019年的數據來看,中國的鋼鐵行業仍處于上升發展時期,但以生產規模及效益所代表的舊的發展動力已經略顯乏力,行業總體盈利水平增長緩慢.因此,對于鋼鐵企業而言,需要考慮獲取新動力,不斷使產業鏈升級向高端水平邁進.除了提升裝備水平外,更要通過引入新技術使行業從基礎制造向智能制造轉型,以實現優質、高效、綠色的行業發展目標.
目前,在鋼材表面缺陷檢測作業方面,常用的檢測方法有以下四種:(1)人工檢測法;(2)渦流檢測法[2] ;(3)紅外檢測法[3] ;(4)漏磁檢測法[4].其中,后面三種因為技術或成本等原因得不到廣泛的應用.而目前采用最多的還是人工檢測方式.但這種檢測方式耗費人力,且效率較低.近年來,隨著機器視覺、深度學習等技術飛速發展,而其相關應用也越來越廣.目前也有了許多有關機器視覺在缺陷檢測方面的研究.基于機器視覺的檢測方法不僅成本低,效率高,而且通過逐漸的研究改進能獲得接近人工的檢測精度.
針對鋼板及熱軋鋼或冷軋帶鋼的表面缺陷檢測問題,目前已有許多使用傳統圖像檢測或深度學習方法進行的研究.徐科等[5]通過Tetrolet變換將鋼板圖像分解成子帶,并提取子帶的矩陣特征,最后通過支持向量機對降維后的特征矢量進行分類.胡聯亭[6]對于鋼板表面缺陷圖像首先使用包括濾波算法,直方圖均衡化以及Sobel邊緣檢測算子對圖像進行預處理,之后使用Fisher判別準則提取貢獻度較大的特征維度,最后提出AdaBoost.BK算法對缺陷進行識別,最高達到了85.89%的分類精度.以上方法雖然在鋼材的表面缺陷檢測上表現出了一定的效果,但其無論是在圖像的特征提取還是在特征識別方面使用的都是傳統算法,這導致模型的檢測精度較低且提升困難.
近年來,人工神經網絡、深度學習等技術的興起,其在圖像處理領域取得了許多驚人的成就.因此,也有許多的研究學者將深度學習技術與缺陷檢測工作相結合,取得了許多較好的結果[7].楊水山[8]提出基于CNN的帶鋼表面缺陷檢測算法,實現了對帶鋼表面是否具有缺陷的判斷,準確率達到99.99%以上.李鑫燦[9]在研究中對U-Net語義分割網絡進行改進,提出基于分組卷積和特征均勻重組的殘差網絡結構來實現多尺度的特征提取,通過過渡特征和密集連接改進得到缺陷精細分割網絡Nabla-net,并引入注意力機制使空間能夠進行自適應調整以及深度監督機制實現網絡剪枝.師偉婕等[10]則做了U-Net和Res-UNet在鋼鐵圖像缺陷檢測工作上的對比,結果顯示Res-UNet在鋼鐵圖像的缺陷位置和缺陷類別的識別方面更準確.
以上方法有的專注于目標缺陷分類,有的專注于圖像的分割,卻未將二者結合,在進行缺陷分類的同時做到有效定位.這將極大限制其在工業生產中的應用.方葉祥等[11]在金屬表面的缺陷研究中使用了改進的YOLOv3算法,主要改進包括使用直方圖均衡化對圖像進行預處理,使用數據增強方法模擬現實工作環境以及優化損失函數來提高模型對表面缺陷分類的準確性.劉洋[12]為了提高鋼材瑕疵檢測的速度,提出了基于Tiny-YOLOv3的R-Tiny-YOLOv3算法,該算法加入了殘差網絡以及空間金字塔池化SPP模塊最后選擇CIOU作為損失函數,該算法對鋼材瑕疵檢測精度達到71.5%,檢測速度達到39.8幀每秒,能夠滿足嵌入設備的實時檢測需求.
以上研究通過不同的方式分別改進了缺陷檢測模型各個方面的性能,但其在針對鋼鐵表面的獨特性缺陷上缺乏針對性的處理,特別是對小目標缺陷及鋼材表面復雜紋理背景圖像的識別和處理能力不足.這導致了缺陷檢測種類的不全面以及部分缺陷類型的檢測精度低,從而導致了模型整體性能的不理想.本文針對以上問題,首先引入小目標檢測層,增強檢測網絡對小目標缺陷的檢測能力.此外,還將原網絡中的部分CSP結構替換為Tansformer encoder block,并加入CBAM (Convolutional block attention module)模塊以處理復雜的背景紋理信息.
1相關工作
1.1鋼材缺陷檢測背景
基于機器視覺方法的缺陷檢測流程如下,首先通過工業相機獲取鋼材表面的圖像,在對圖像進行簡單的標號排序等預處理后將處理后的圖像輸入相應算法模型,由目標檢測算法給出圖片中缺陷的種類以及位置,再通過之前記錄的信息反向推算出相應缺陷在實際鋼材中位置.整個流程可以由一整套自動化程序實現,而本次研究的重點便在于其關鍵的目標檢測算法.
在鋼材生產加工的過程中,由于工藝不足或者操作失誤會在鋼材表面留下各種缺陷.通常鋼材表面的缺陷有以下七種:裂紋缺陷、劃傷、折疊缺陷、耳子(突起)缺陷特征、結疤(重皮)缺陷、焊疤缺陷、端部毛刺缺陷.
由以上可見鋼材表面的缺陷種類多樣.不同種類的缺陷特征差異較大導致不同缺陷在檢測時的精度差異較大,部分小目標缺陷檢測的精度不理想,同時鋼鐵表面缺陷圖像的背景復雜,紋理混亂,檢測目標之間也會出現覆蓋交叉的情況,具體情況如圖1所示.本文針對以上問題,結合鋼材檢測的實際特點和具體要求,在YOLOv5網絡模型的基礎上進行補充修改和調整,進行實驗.并對比其他網絡在相同條件下的實驗結果.
1.2目標檢測模型
目前,基于深度學習理論的目標檢測算法主要可分為兩條技術路線:Anchor based(基于候選框)和Anchor free(不基于候選框).其中,Anchor based方法中又可以分為One-stage(單階段檢測)和two-stage(二階段檢測).其中屬于單階段檢測的SSD、YOLO算法以及二階段檢測方法中的RCNN、Faster RCNN等都在表面缺陷檢測中有廣泛的應用.YOLOv5網絡是在YOLOv3,YOLOv4的基礎上進一步優化而來,在保證檢測精度的前提下YOLOv5迭代出四個不同版本,使YOLOv5在使用起來更加靈活方便.王淑青等[13]的研究表明,YOLOv5在缺陷檢測方面較其他網絡如Faster RCNN、SSD、YOLOv4有更優異的表現.
以YOLOv5s的網絡結構為例,如圖2所示,其中黃色框中的為網絡本體,藍色框中的為對網絡中模塊的分解說明.其結構可分為4個部分:
(1)輸入端(input).YOLOv5在輸入端采用Mosaic數據增強,自適應圖像縮放來增強網絡推理的能力并提高效率,使其對不同的輸入具有較強的適應性;
(2)主干網絡(backbone).在主干網絡中YOLOv5使用Focus結構和CSP結構來提取輸入圖像數據中的特征信息,該設計有效降低了計算成本和內存成本并增強了卷積網絡的學習能力;
(3)融合網絡(Neck).Neck部分主要是對之前提取的特征進行整理使其能夠被更好的利用從而提取出更有效的特征,此處YOLOv5采用FPN+PAN的結構,從自頂向下和自底向上兩個方向出發,同時增強了語義信息和位置信息的提取,同時還設計了的CSP2結構,進一步加強了網絡的特征融合能力;
(4)檢測頭(Prediction).檢測頭一般都是對損失函數的設計 ,損失函數又可以分為分類損失函數(Classificition Loss)和回歸損失函數(Bounding Box Regeression Loss),YOLOv5在此處采用CIOU_Loss作為回歸損失函數,最后采用加權NMS(非極大值抑制)來篩選目標框.
2基于改進YOLOv5的目標檢測
2.1增加小目標檢測層
由于鋼材表面缺陷種類較多,形態特征較復雜,在檢測過程中常有小目標缺陷被漏檢或錯檢.對此,本文在原有的三個檢測層的基礎上增加小目標檢測層,通過對小范圍內圖像特征的識別,來增加網絡對小目標檢測的能力.具體方案如圖3所示.圖3中的紅色錨框為原始錨框,分別為P3,P4,P5.其中,P3用于淺層的特征圖,由于淺層特征圖包含較多的低層級信息,適合用于檢測小目標,所以這一特征圖所用的錨框尺度較小;P5應用于深層特征圖,其特征圖中具有更多高層級的信息,如輪廓、結構等信息,適合用于大目標的檢測,所以這一特征圖所用的錨框尺度較大;同理,P4介于這兩個尺度之間,用來檢測中等大小的目標.而圖中藍色錨框為根據缺陷情況添加的更小的錨框,以此解決圖像中更小缺陷目標的檢測問題.
2.2Transformer encoder block模塊和CBAM模塊根據目前研究[14]表明,Tansformer encoder block模塊以及CBAM[15]結構都更有利于捕獲全局信息,抵抗混亂的信息,有效處理復雜背景.Transformer encoder block其結構如圖4所示,主要包含兩個子層,第一個子層是一個多頭注意力層,第二層是一個全連接層,二者使用殘差網絡連接.其中的LayerNorm和Dropout結構可以幫助網絡收斂,有效防止網絡過擬合.而多頭注意力結構不僅可以幫助當前節點關注當前的像素,而且還可以有效獲得上下文的語義.本文使用該transformer encoder block 模塊取代了圖2網絡中的部分CONV模塊以及CSP2_1模塊.本文將該模塊應用在backbone的末端及neck部分,此時圖片信息的分辨率較低,可以在有效提取特征信息的同時降低計算和存儲開銷.
CBAM(Convolutional block attention module)是一個簡單有效的注意力模塊,可以集成到CNN體系結構當中,并且可以以端到端的方式訓練.對于給定的特征數據,CBAM沿通道和空間這兩個獨立維度依次推斷注意力圖.然后將注意力圖和輸入的圖像特征相乘,進行自適應特征細化.CBAM模塊的結構如圖5所示,使用兩個順序子模塊用于細化通過CBAM的特征圖,同時還使用了殘差網絡的結構來增強對特征的提取.該模塊主要應用在neck部分,配合Transformer encoder block 模塊和Conv模塊來加強網絡的性能.改進后的網絡整體結構如圖6所示.
3實驗結果與分析
3.1數據來源
本次鋼材表面缺陷檢測實驗采用東北大學鋼材表面缺陷數據集(NEU-DET)[16],該數據集包含了6種常見的鋼材表面缺陷:crazing(細裂紋)、inclusion(雜質)、patches(斑塊)、pitted surface(表面麻點)、rolled-in scale(滾軋鱗片)、scratches(劃痕),具體表現如圖7所示.數據集中的圖像分辨率為200×200像素,一共1 800張圖片,本次實驗將其劃分為訓練集1 422張,驗證集378張.
3.2實驗設置
在本文的實驗環境,使用NVIDIA GTX1050Ti GPU進行訓練和測試,CUDA的版本是11.3,cuDNN的版本是8.2.1,Pytorch的版本是1.10.2,硬件和軟件環境的詳細信息如表1所示.
3.3實驗相關的評價指標
關于目標檢測領域的評價指標首先要考慮檢測框的準確度,該指標主要由IoU指標衡量,即檢測框和目標框面積的交并比,如圖8所示.實際運算中根據IoU大小判斷預測是否有效,一般當IoU≥0.5時判定為預測正確.
而對檢測結果的劃分可以用圖9 中的混淆矩陣表示.根據預測結果和實際情況的組合可分為以下四種情況TP(實際的和預測的標簽都是“真”),FN(實際標簽為“真”,預測標簽為“假”),FP(實際標簽為“假”,預測標簽為“真”),TN(實際的和預測的標簽都是“假”).根據以上四種情況的統計結果可以得到以下三個指標(公式(1)~(3)).精度(Precision,P)、召回率(Recall,R)和準確率(Aaccuracy,A).在此基礎上的綜合評價指標為平均精度 (Average Precision,AP)和平均精度均值 (mean AP over clasess,mAP).其中AP表示同一類別下,所有檢測結果的平均精度,而mAP則表示所有檢測類別平均精度的均值.
3.4結果討論
為證明本文改進后模型的檢測效果,以及驗證具體改進措施起到的作用,本次實驗除了設置原YOLOv5s網絡組以及Faster-RCNN網絡組(分別稱作V5-0和FF-RCNN)作為對照組外,還設置了三組消融實驗組:(1)增加小目標檢測層組;(2)增加Transformer encoder block模塊和CBAM結構組;(3)最終優化組.為方便描述,將以上三組消融實驗組依次稱作V5-1、V5-2、V5-3.
其中,實驗的總體結果如表2所示.根據表中的數據顯示,優化后的網絡(V5-3)相對于原網絡(V5-0),mAP大約有6%的提升,相對于Faster-RCNN網絡提升了大約10%.與消融實驗組(V5-1和V5-2)的結果進行對比表明,針對于原網絡做出的改進措施都起到了良好的效果,相對于原網絡大約提升了5%~6%的精度.
具體的消融實驗結果見圖10所示.根據圖10的檢測結果顯示,改進方法一通過增加小目標檢測層的方法能夠有效提高對于rolled-in_scale(軋制氧化皮)和scratches(劃痕)這兩種缺陷的檢測能力;而方法二則通過引入注意力模塊的方式有效增強了網絡對crazing(細裂紋),pitted -surface (表面點蝕),軋制氧化皮(rolled-in scale)這些缺陷的識別,證明了其對復雜背景信息有效的處理能力.最后,最終優化組能夠將兩種優化方案的優點有效結合,使其在絕大多數的情況下的檢測結果都能優于二者,做到了有效的取長補短.
算法的收斂情況如圖11所示.根據圖中曲線顯示,改進后的網絡相對于原網絡有明顯的改進.其中最優的權重在V3網絡第230次迭代時產生.
圖12展示了部分檢測結果(左為原標記圖片,右為檢測結果圖片).圖中檢測結果顯示,優化后的檢測網絡的檢測結果與數據集標注結果高度吻合.
4結論
本文使用一種基于YOLOv5的改進網絡對鋼材表面缺陷進行檢測,使用NEU-DET數據集進行實驗驗證.該方法通過增加小目標檢測層來增強對小目標缺陷的檢測效果,同時通過引入Transformer encoder block模塊和CBAM模塊,使網絡更有效的對抗復雜背景,更有效聚焦于任務目標的檢測.
實驗表明,本文中所提的改進模型相較于原模型,在總體平均檢測精度 (mAP)上提升了6%左右,相較于以Resnet50為骨干網絡的Faster-RCNN模型,mAP提升約10% .同時通過消融實驗證明,本文所提的兩種改進措施均能對原有網絡在鋼鐵表面缺陷檢測方面做出有效提升.并且融合后的網絡也能較好的發揮各改進網絡的優點,使檢測精度有更進一步的提升.然而,該改進模型也存在一些不足.如針對個別特征,優化方案融合效果表現不佳,以及對個別種類缺陷的整體檢測精度不足.因此,該優化網絡模型還有進一步優化的空間.
依據理論,本文中所提的方法同樣可以用于其它工業應用場景中,特別是對于存在小目標以及背景較復雜的目標檢測領域.同時,對于其表現的不足,需要進一步的研究改進,從而使模型的總體檢測精度能有更進一步的提升,以此來更好的滿足具體工業生產的需求.
參考文獻
[1] 龐永輝.基于深度學習的帶鋼表面缺陷檢測與識別方法研究[D].鄭州:華北水利水電大學,2021.
[2] 黃鳳英.鋼軌表面裂紋渦流檢測定量評估方法[J].中國鐵道科學,2017,38(2):28-33.
[3] 徐歡,殷晨波,李向東,等.基于有限元的焊縫缺陷紅外熱像檢測研究[J].熱加工工藝,2019,48(17):122-127,133.
[4] 田思洋,徐科,周東東.鋼板表面缺陷圖像的跨域翻譯[J].中國冶金,2019,29(4):54-59.
[5] 徐科,王磊,王璟瑜.基于Tetrolet變換的熱軋鋼板表面缺陷識別方法[J].機械工程學報,2016,52(4):13-19.
[6] 胡聯亭.基于機器視覺的鋼板表面缺陷識別研究[D].武漢:武漢科技大學,2018.
[7] 柴利,任磊,顧錁,等.基于視覺感知的表面缺陷智能檢測理論及工業應用[J].計算機集成制造系統,2022,28(7):1 996-2 004.
[8] 楊水山.冷軋帶鋼表面缺陷機器視覺自動檢測技術研究[D].哈爾濱:哈爾濱工業大學,2009.
[9] 李鑫燦.基于改進U-Net的鋼材缺陷檢測分割算法研究[D].哈爾濱:哈爾濱工業大學,2020.
[10] 師偉婕,黃靜靜,王茂發.基于兩種U型網絡的鋼鐵圖像缺陷檢測方法對比[J].北京信息科技大學學報(自然科學版),2021,36(1):63-68.
[11] 方葉祥,甘平,陳俐.金屬表面缺陷檢測的改進YOLOv3算法研究[J].機械科學與技術,2020,39(9):1 390-1 394.
[12] 劉洋.基于深度學習的工業鋼材瑕疵檢測研究[D].合肥:安徽建筑大學,2021.
[13] 王淑青,頓偉超,黃劍鋒,等.基于YOLOv5的瓷磚表面缺陷檢測[J].包裝工程,2022,43(9):217-224.
[14] Zheng Z,Wang P,Liu W,et al.Distance-IoU loss:Faster and better learning for bounding box regression[C]// Proceedings of the AAAI Conference on Artificial Intelligence.New York:IEEE Transactions on Cybernetics,2020:12 993-13 000.
[15] Woo S,Park J,Lee J Y,et al.Cbam:Convolutional block attention module[C]// Proceedings of the European conference on computer vision.Munich:Springer International Publishing,2018:3-19.
[16] 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,2019,69(4):1 493-1 504.
【責任編輯:蔣亞儒】