李濤,劉俊江,張聰,朱磊
基于深度學習的金屬表面缺陷檢測
李濤,劉俊江,張聰,朱磊
(齊齊哈爾大學 通信與電子工程學院,黑龍江 齊齊哈爾 161006)
由于金屬產品生產過程中各種因素的影響,金屬工件可能會存在一些表面缺陷.這會降低材料強度,縮短工件壽命,并且增加安全風險.因此,需要對金屬產品表面進行質量檢測,這也是保證工業生產質量的關鍵環節.與傳統人工檢測相比,基于機器視覺的表面缺陷檢測方法具有速度快、精度高等優點.提出了一種改進的YOLOv5算法,用于金屬表面缺陷檢測研究,在原YOLOv5算法的基礎上將空間金字塔池化結構SPP替換成SPPCSPC,提高模型對金屬表面缺陷的檢測能力.為了驗證算法的有效性,分別采用YOLOv3,YOLOv4,YOLOv5及改進的YOLOv5算法對1 800張金屬表面缺陷樣本圖像進行對比測試.結果表明,與YOLOv3,YOLOv4,YOLOv5原算法相比,改進的YOLOv5算法平均目標檢測精度均值分別提高了4.3%,3.3%,2%.通過大量圖片的學習,可以獲得更好的精確率.
金屬表面缺陷;空間金字塔池化;機器視覺;目標檢測
近年來,金屬表面缺陷檢測在工業生產和制造領域中越來越受到關注.金屬表面缺陷不僅會影響產品的外觀質量,還可能導致其在使用過程中發生失效,從而給生產企業帶來嚴重的經濟損失和聲譽損害.傳統的金屬表面缺陷檢測方法主要依靠人工目視檢查,但是這種方法不僅效率低下,而且存在主觀性和疲勞度等問題.為了提高金屬表面缺陷檢測的準確性和效率,越來越多的研究者探索基于深度學習[1]的方法.深度學習作為一種機器學習的分支,其優勢在于可以自動地從大量數據中學習并提取特征.因此,基于深度學習的金屬表面缺陷檢測方法可以通過對大量圖像數據的學習和訓練,實現對金屬表面缺陷的自動識別和分類.相比傳統的金屬表面缺陷檢測方法,基于深度學習的方法具有更高的準確性和效率,并且可以實現自動化及無損檢測.
本文旨在探究基于深度學習的金屬表面缺陷檢測方法,并以NEU-DET數據集(東北大學鋼材表面缺陷檢測數據集)為例進行實驗研究.首先,采用卷積神經網絡(CNN)對金屬表面缺陷進行特征提取和分類,然后,通過實驗對比YOLOv3[2],YOLOv4[3],YOLOv5[4]和改進后的YOLOv5,并對該方法的準確性和效率進行評估.結果表明,改進后的基于深度學習的金屬表面缺陷檢測方法可以取得較高的準確性和效率,具有廣泛的應用前景.未來,將進一步完善基于深度學習的金屬表面缺陷檢測方法,以提高其在實際應用中的準確性和效率,并且將其應用于更廣泛的金屬制造領域.隨著深度學習技術的不斷發展和應用,基于深度學習的金屬表面缺陷檢測方法將在未來得到更廣泛的推廣和應用,為工業生產和制造領域的發展做出更大的貢獻.
卷積神經網絡[5](Convolutional Neural Networks,CNN)近年來在圖像分類、目標檢測、圖像語義分割等領域得到了廣泛的應用,對于大型圖像的處理有出色的表現,經典的卷積神經網絡主要由輸入層、卷積層、池化層、全連接層組成.其中卷積層主要的作用是特征提取,卷積核的權重是可以學習的,可根據目標函數最優化得出合適的參數;池化層的主要作用是下采樣[6],用于有效地減少特征圖的維度大小,同時不損壞識別的結果;全連接層的作用主要是特征組合及分類,提供特征的復雜非線性變換.CNN由一層或多層隱藏層組成,多層的隱含層可以通過低級特征組合從而形成高級的特征,第一層卷積層可能只能提取一些低級的特征,如邊緣、線條和角等層級,更多層的網路能從低級特征中迭代提取更復雜的特征,創建層級結構可以提升性能和計算效率.
神經網絡[7]是通過對人的大腦神經網絡研究,信息處理后抽象簡化得來的,激活函數是非線性的,它們將非線性特性引入到網絡中.在神經元中,輸入的inputs通過加權求和后,還被作用了一個函數,這個函數就是激活函數.激活函數是非線性的,它們將非線性特性引入到神經網絡中,常用的激活函數有sigmoid,tanh,relu等.
損失函數[8]是用于計算預測值與目標值誤差的函數.反向傳播過程中需要對網絡中的每一個權重都計算損失函數的梯度,并通過梯度下降來更新權重使得損失函數達到最小.
深度學習與機器視覺領域的發展為金屬表面缺陷檢測任務提供了智能、便捷的缺陷檢測方法,該類方法主要是將算法部署在移動端對金屬表面缺陷進行實時、精準檢測,要求選取的算法具有較強的檢測能力和抗干擾能力.本文在YOLOv5算法的基礎上對金屬表面缺陷檢測任務進行了有針對性的改進.YOLOv5算法由骨干網絡、頸網絡、預測網絡三部分構成.骨干網絡主要采用帶有殘差結構的C3模塊對圖片進行特征提取;頸網絡由特征金字塔網絡[9](Feature Pyramid Networks,FPN)和金字塔注意力網絡[10](Pyramid Attention Network,PAN)組成,實現了特征增強與上下信息流融合;預測網絡擁有三層檢測層,每個檢測層的損失由定位、分類和置信度三類損失組成,其中分類和置信度損失通過二元交叉熵損失函數進行計算,而定位損失采用的是完全重疊度(Complete Intersection over Union,CIoU)損失函數.最后通過預設的置信度閾值對預測框進行篩選,實現對檢測目標的定位與分類.YOLOv5的整體結構見圖1.輸入端為經過處理后的640×640×3的輸入圖像;C3為特征提取模塊;P1至P5為網絡層數;SPPF為快速空間金字塔池化層;20×20×255,40×40×255,80×80×255為輸出特征圖的長、寬和維度,分別對應網絡對大、中、小不同尺度目標的檢測任務.

圖1 YOLOv5 網絡結構
考慮到金屬表面缺陷識別精度對工業生產的重要性,本文將使用SPPCSPC來替換SPP.SPPCSPC的網絡結構見圖2.它通過卷積、批歸一化、激活函數以及池化操作等來提升模型對金屬表面缺陷檢測的識別能力,能夠在增加少量參數的前提下提高對金屬表面缺陷數據集的特征提取能力.

圖2 SPPCSPC 模塊結構




在東北大學(NEU)的表面缺陷數據庫中,收集了六種典型的熱軋鋼帶表面缺陷,即軋痕(RS)、斑塊(Pa)、裂紋(Cr)、凹陷面(PS)、包容(In)和劃痕(Sc).該數據庫包括1 800張灰度圖像:六種不同類型的典型表面缺陷各300張樣本.
六種典型表面缺陷的樣本圖像見圖3,每張圖像的原始分辨率為200×200像素.從圖3中可以清楚地看到,類內缺陷在外觀上存在較大的差異,如劃痕(最后一列)可能是水平劃痕、垂直劃痕和斜向劃痕等.同時,類內缺陷也有類似的方面,如軋痕、裂紋和凹陷的表面.此外,由于光照和材料變化的影響,類內缺陷圖像的灰度是不同的.簡而言之,NEU表面缺陷數據庫包括兩個難題,即類內缺陷在外觀上存在較大差異,而類間缺陷具有相似的方面,缺陷圖像受到光照和材料變化的影響.

圖3 NEU-CLS
對于缺陷檢測任務,此數據集提供了注釋,表明每張圖像中缺陷的類別和位置.NEU-DET的一些檢測結果的實例見圖4.對于每個缺陷,黃色框表示其位置的邊界框,綠色標簽是類別得分.

圖4 NEU-DET
3.2.1 Mosaic數據增強 Mosaic數據增強的方式參考了CutMix[12]數據增強思想.CutMix數據增強將2張圖片進行拼接,而Mosaic采用4張圖片的拼接,增加數據量的同時可以豐富檢測物體的背景.
3.2.2 自適應錨框 在YOLO系列算法中,通常對不同的數據集都會設定初始長寬的錨框.在YOLOv3,YOLOv4中,初始錨框都是通過單獨算法得到的,常用的是K-means算法.本文將這種功能嵌入至代碼中,實現了每次訓練可以自適應地計算不同訓練集中的最佳初始錨框.初始錨框為[10,13,16,30,33,23]、[30,61,62,45,59,119]、[116,90,156,198,373,326],經過計算本文最佳初始錨框為[111,114,141,121,127,141]、[150,149,159,169,195,212]、[256,173,173,292,326,298].
3.2.3 自適應縮放圖片 數據集的大小往往都是大小不一,需要對其尺寸歸一化.然而,實際項目中的很多圖片長寬比不一致,縮放并填充后,兩端填充部分較多,存在很多冗余信息,影響模型速度及效果.本文方法對原始圖像進行自適應填充最少的灰度值,使得圖像高度或寬度兩端的灰度值最少,計算量也會隨之減少,速度也得到提升,具體步驟為:
(1)圖像縮放比例.假設原始圖像為1 000×800,縮放至416×416.將416×416除以原始圖像相應寬高,得到系數分別為0.416,0.52,取其較小值0.416.
(2)縮放后的尺寸.將原始圖片寬高乘以較小的系數0.416,則寬為416,高為332.
(3)灰邊的填充值.先將416-332=84,并采用取余的方式得需要填充的像素值84%32=20(32是由于網絡經過了5次下采樣,2的5次方為32,兩端各10個像素.在測試過程中采用灰色填充,訓練過程依舊使用原始的resize操作以提高物體的檢測、計算速度.
為了能夠判斷改進后的模型對于金屬表面缺陷的檢測性能是否優于其他網絡模型,本文用改進后的YOLOv5s模型與YOLOv3,YOLOv4,YOLOv5系列進行對比試驗.這些模型的不同是:首先,YOLOv4在輸入端使用了Mosaic數據增強,而YOLOv5在其基礎上還使用了自適應錨框計算、自適應圖片縮放.其次,YOLOv3的Backbone都采用了Darknet53,其借鑒了ResNet[13]的殘差結構,使其網絡結構更深.而YOLOv4則是將各種新的結構結合起來,其中就包括了CSPDarknet53[14]、Mish激活函數、Dropblock等.與YOLOv4不同的是,YOLOv5添加了Focus結構、CSP結構,并且設計了兩種CSP結構,一種應用于Backbone,一種應用于Neck中.再次,在Neck中,YOLOv3只使用了FPN結構;YOLOv4則是使用了SPP模塊、FPN+PAN結構;YOLOv5在YOLOv4的基礎上將一些普通卷積替換成了CSP結構,加強網絡特征融合能力.最后,在Prediction中,YOLOv3的損失函數使用的是BCE(Binary Cross Entropy)Loss以及MSE(Mean Squared Error)Loss;YOLOv4使用的是CIoU Loss和DIoU NMS[15];YOLOv5使用CIoU Loss和加權NMS[16-17].對比試驗的結果見表1.本文改進方法與YOLOv3相比,mAP(Mean Average Precision)提升了4.2個百分點,檢測速度也較快;與YOLOv4相比,mAP提升了3.3個百分點,召回率與FPS低于YOLOv4的原因是本文著重于mAP與參數量大小的改進;與原YOLOv5的兩個大小不同的模型相比,評價指標基本上都占優,檢測速度也滿足實時檢測的要求.綜上所述,改進后的模型在mAP、參數量都是最優的,基本上在性能上全面領先其他模型,能夠更好地部署到嵌入式設備中,滿足實時檢測的要求.因此,更加適合用于金屬表面缺陷的檢測.

表1 對比試驗結果
SPP 模塊的結構見圖5.頸部網絡是一系列混合組合圖像特征的特征聚合層,主要用于生成FPN(feature pyramid networks),然后將輸出的特征圖傳給預測網絡.由于該網絡的特征提取器采用了一種新的增強自下而上路徑的FPN結構,改善了低層特征的傳遞,增強了對不同尺度物體的檢測.因此,可以準確識別不同大小和尺度的同一目標物體.
預測網絡主要用于模型最后的檢測部分,對上一層輸出的特征圖應用錨框,輸出一個向量,包含目標物體的類別概率、物體得分、位置、對象周圍的邊界框.YOLOv5s架構的檢測網絡由三個檢測層組成,其輸入是尺寸分別為 80×80,40×40,20×20 的特征圖,用于檢測不同大小的圖像對象.每個檢測層最終輸出一個21通道的向量((2類+1類概率+4個周圍框位置坐標)×3個錨框),然后生成預測的邊界框和原圖中目標的類別并標注,實現圖像中金屬目標的檢測.

圖5 SPP 模塊的結構
本文算法的實驗環境——操作系統:Windows10;GPU:RTX 2080ti;內存:476G;深度學習框架:pytorch;編程語言:Python3.7.
目標檢測中的改進技巧對模型是否有用,與模型規模、網絡結構、數據集分布等情況有關.YOLOv5模型及其添加了改進技巧的模型在NEU-DET數據集上相關的訓練設置描述.
采用YOLOv5模型在COCO數據集上的預訓練權重,設置批次大小為8,訓練的最大次數為150.以改進實驗中mAP指標最高的模型即采用SPPCSPC來替換SPP改進的YOLOv5為例,在NEU-DET測試集上的曲線見圖6,圖像預測樣本見圖7.

圖6 改進YOLOv5后的P-R曲線

圖7 預測結果樣本
首先,由采用SPPCSPC來替換SPP改進的YOLOV5模型在測試集上的曲線可以看出,此時的目標檢測模型在NEU-DET數據集上mAP達到了72.90%.這說明,采用SPPCSPC來替換SPP有效地提高了在NEU-DET數據集上的識別能力.
其次,對照NEU-DET數據集中測試集樣本的預測結果樣本可以看出,目標檢測模型在缺陷類別識別方面未出現錯誤,整體識別效果較好.
實驗測試結果表明,分類識別與目標檢測功能基本滿足準確性與實時性的要求,為實際生產現場的應用提供了理論支持與技術支撐.但是,本文研究的內容仍然存在一些不足,有待進一步的改進與完善.
(1)與實際生產加工過程中的金屬產品表面缺陷種類的數量和同種缺陷不同表現的數量相比,本文中引入的公共數據集的缺陷數據是較少的,且不全面.可以考慮結合生產一線更多的數據,擴展數據集內容,加強模型的識別性能.(2)可以考慮對目標檢測模型的主干網絡做輕量化的處理,在保證檢測精度的情況下加快缺陷檢測速度,降低對計算機硬件參數的要求.(3)在金屬表面缺陷檢測系統的實現中,未對深度學習的網絡做模型加速部署,可以考慮優化模型部署方式,提高系統識別性能與可靠性.
本文基于YOLOv5網絡模型改進了一種工業生產場景下適用于不同的金屬表面缺陷檢測的算法模型,改進的模型在檢測任務中提高了目標檢測精度,這符合工業生產場景下目標檢測需要較高檢測精度的工作需求.本文模型在原YOLOv5模型的基礎上將空間金字塔池化結構SPP替換成SPPCSPC,顯著提升了整體網絡模型對小目標的檢測性能.改進的YOLOv5提高了檢測精度,通過這一系列的改進使得整體網絡模型更滿足于金屬表面缺陷檢測的工作環境需求.從最后的檢測結果來看,本文模型相較于YOLOv5網絡檢測精度有著顯著提升,并且也提高了整體網絡的魯棒性,具有更好的檢測性能和目標分辨能力,這也是金屬表面缺陷檢測領域的重要發展方向之一.
[1] Le Cun Y,Bengio Y,Hinton G.Deep learning[J].Nature,2015,521(7553):436-444.
[2] Redmon J,Farhadi A.Yolov3:An incremental improvement[J].arXiv preprint arXiv:2018,1804.02767.
[3] BOCHKOVSKIY A,WANG C Y,LIAO H Y M.Yolov4:Optimal speed and accuracy of object detection[J].arXiv preprint arXiv:2020,2004.10934.
[4] ZHU X,LYU S,WANG X,et al.TPH-YOLOv5:Improved YOLOv5 based on transformer prediction head for object detection on drone-captured scenarios[C]//Proceedings of the IEEE/CVF international conference on computer vision.2021:2778-2788.
[5] Albawi S,Mohammed T A,Al-Zawi S.Understanding of a convolutional neural network[C]//2017 international conference on engineering and technology(ICET).Antalya,Turkey,2017:1-6.
[6] 劉穎,劉紅燕, 范九倫, 等. 基于深度學習的小目標檢測研究與應用綜述[J].電子學報, 2020,48(3): 590-601.
[7] 周飛燕, 金林鵬,董軍.卷積神經網絡研究綜述[J].計算機學報,2017, 40(6):1229-1251.
[8] Schorfheide F.Loss functionbased evaluation of DSGE models[J].Journal of Applied Econometrics,2000,15(6):645-670.
[9] 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.2017:2117-2125.
[10] LI H,XIONG P,AN J,et al.Pyramid attention network for semantic segmentation[J].arXiv preprint arXiv:2018,1805.10180 .
[11] 楊斌,李成華,江小平,等.一種用于提升深度學習分類模型準確率的正則化損失函數[J].中南民族大學學報(自然科學版),2020,39(1):74-78.
[12] YUN S,HAN D,OhS J,et al.Cutmix:Regularization strategy to train strong classifiers with localizable features[C]//Proceedings of the IEEE/CVF international conference on computer vision.2019:6023-6032.
[13] WU Z,SHEN C,Van Den HENGEL A.Wider or deeper:Revisiting the resnet model for visual recognition[J].Pattern Recognition,2019,90:119-133.
[14] Misra D.Mish:A self regularized non-monotonic activation function[J].arXiv preprint arXiv:2019,1908.08681.
[15] 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,2020,34(7):12993-13000.
[16] Bodla N,Singh B,Chellappa R,et al.Soft-NMS——improving object detection with one line of code[C]//Proceedings of the IEEE international conference on computer vision.2017:5561-5569.
[17] ZHANG H,LI F,LIU S,et al.Dino:Detr with improved denoising anchor boxes for end-to-end object detection[J].arXiv preprint arXiv:2022,2203.03605 .
Metal surface defect detection based on deep learning
LI Tao,LIU Junjiang,ZHANG Cong,ZHU Lei
(School of Communication and Electronic Engineering,Qiqihar University,Qiqihar 161006,China)
Due to various factors in the production of metal products,some surface defects may exist on metal workpieces.This can reduce the strength of the material,shorten the life of the workpiece,and increase the safety risk.Therefore,it is necessary to carry out quality inspection on the surface of metal products,which is also a key link to ensure the quality of industrial production.Compared with the traditional manual inspection,the machine vision-based surface defect detection method has the advantages of high speed and high accuracy.An improved YOLOv5 algorithm is proposed for metal surface defect detection research,which replaces the spatial pyramid pooling structure SPP with SPPCSPC on the basis of the original YOLOv5 algorithm to improve the model′s ability to detect defects on metal surfaces.In order to verify the effectiveness of the algorithm,a comparative test is conducted on 1 800 samples of metal surface defects using YOLOv3,YOLOv4,YOLOv5,and an enhanced YOLOv5 algorithm.The results show that compared with the original algorithms of YOLOv3,YOLOv4,and YOLOv5,the mean average target detection accuracy of the improved YOLOv5 algorithm has been improved by 4.3%,3.3%,and 2%,respectively.A better accuracy rate can be obtained by learning from a large number of images.
metal surface defects;spatial pyramidal pooling structure;machine vision;target detection
TP391.41∶TG11
A
10.3969/j.issn.1007-9831.2024.01.008
1007-9831(2024)01-0036-07
2023-06-21
2022年度黑龍江省大學生創新創業訓練計劃項目(S202210232132); 黑龍江省教育科學“十四五”規劃重點課題(GJB1422319)
李濤(2001-),男,山西大同人,在讀本科生.E-mail:2471539653@qq.com
朱磊(1982-),女,吉林敦化人,教授,博士,從事機器學習與電磁超表面研究.E-mail:zhuzhubutterfly@163.com