李屹 魏建國 劉貫偉










摘? 要:表面缺陷自動化檢測在社會各個行業有廣泛應用前景,可以大幅度提升效率。基于卷積神經網絡架構的目標檢測模型是自動化表面缺陷檢測與識別的重要方法。折中檢測速度與精確度,選擇tiny-YOLOv3網絡作為表面缺陷檢測的模型。將視覺注意力機制引入tiny-YOLOv3網絡結構并比較不同類別注意力機制在網絡不同位置對于模型表現的影響,從而提出一種對于原網絡改進的方法。改進的tiny-YOLOv3網絡結構在表面缺陷數據集上測試結果較原始tiny-YOLOv3網絡在mAP值上提升2.3%。
關鍵詞:缺陷檢測;注意力機制;神經網絡
中圖分類號:TP391.4? ? ? ? ? 文獻標識碼:A文章編號:2096-4706(2022)04-0095-05
Research on Surface Defect Detection Based on Improved tiny-YOLOv3 Network
LI Yi1, WEI Jianguo2, LIU Guanwei1
(1.Cashway Fintech Co., Ltd., Tianjin? 300308, China; 2.College of Intelligence and Computing, Tianjin University, Tianjin? 300072, China)
Abstract: Automatic detection of surface defects has a wide application prospect in various industries of society, which can greatly improve the efficiency. The target detection model based on convolutional neural network architecture is an important method for automatic surface defect detection and recognition. To compromise the detection speed and accuracy, choose tiny-YOLOv3 network as the model for surface defect detection. The visual attention mechanism is introduced into the tiny-YOLOv3 network structure and the influence of different types of attention mechanisms in different network positions on the performance of the model are compared, then a method to improve the original network is proposed. The testing results of the improved tiny-YOLOv3 network structure in the surface defect dataset show that the mAP value is 2.3% higher than that of the original tiny-YOLOv3 network.
Keywords: defect detection; attention mechanism; neural network
0? 引? 言
在工業品質量檢測過程中,表面缺陷的檢測與分類是質量檢測的一個重要步驟。人工對于上述方面的質檢存在人力成本高,效率低,在某些場景準確率低,危險性大等問題,因此對于物體表面缺陷的自動化和智能化檢測與分類成為目標檢測的一個重要應用領域[1,2]。目標檢測算法通常包括對于物體邊界框的界定與對目標物體的分類。目標檢測算法包括傳統檢測算法與基于深度學習的檢測算法。傳統目標檢測算法主要步驟包括對輸入圖像進行候選框的提取,對候選區域進行特征提取,再利用分類器進行分類等幾個步驟。在特征提取過程中,傳統方法主要使用的特征包括HOG[3],LBP[4],Haar[5]等特征。分類器可以選為SVM[6],BP神經網絡等。例如文獻[3]中使用HOG+SVM方式進行人體檢測。近年來基于深度學習的檢測算法發展迅速,在各類數據集上的結果不斷突破,逐漸在目標檢測領域成為主流算法。基于深度學習的目標檢測算法主要包括兩類。一類為兩步檢測算法,即先對檢測目標生成候選區域,再對檢測目標進行分類和邊界框回歸。兩步檢測算法代表算法為R-CNN[7]、Fast-Rcnn[8]、Faster-Rcnn[9]等。2014年Girshick提出利用選擇性搜索方法獲取ROI區域,再將不同ROI區域送入巻積神經網絡,用SVM和回歸算法分別得到檢測目標的分類與邊界框信息。Fast-RCNN算法提出先使用巻積神經網絡對圖像提取特征,再在特征圖像上定位出ROI區域所對應特征圖塊后將特征圖塊送入全連接層進行回歸與分類。由于不需要重復提取特征,從而加快速度。Faster-RCNN算法在網絡結構上與Fast-RCNN相同,但使用區域生成網絡代替了通過選擇性搜索生成候選區域方法,從而大大提高效率。另一類算法不單獨生成候選區域,通過巻積神經網絡提取圖像特征后將邊界框的回歸任務與目標的分類任務同時完成。此類方法代表算法為YOLO系列算法與SSD算法。YOLO[10]系列算法將圖像劃分為S×S個網格,每個網絡預測K個邊界框的位置與置信度。YOLOv2[11]在神經網絡中加入BN層,并使用archor box。YOLOv3[12]則使用Darknet53的網絡結構并使用多尺度特征進行檢測。SSD[13]使用VGG19作為特征提取器,直接在多個特征尺度的巻積層上進行預測,而非在全連接層上進行預測。
目標檢測算法在很多場景下對實時性要求較高,并且算法需要部署在移動端或是邊緣設備上。由于此種情況下計算資源有限,上述算法在某些情況下難以滿足速度要求,而tiny-YOLOv3網絡可以在一定程度上解決此類問題。tiny-YOLOv3將YOLOv3網絡特征提取部分的層數大幅度減少,并只在兩個特征尺度上進行預測。由于網絡層數大幅度減小,檢測精度有所降低。本文提出一種改進的tiny-YOLOv3網絡結構,將不同類型注意力模塊加入網絡的特征提取部分并對不同加入位置進行比較,使檢測精度有所提高。并在表面缺陷檢測數據集上進行了測試。
1? 理論基礎
1.1? YOLO系列算法檢測原理
YOLO系列目標檢測算法將待檢測目標圖像分為S×S個網格,S代表圖像在某一方向所分割的區間數。如果一個目標落入了這個網格單元之中,則這個網格負責預測此目標。網格單元會對該目標的邊界框的位置與置信度進行預測。邊界框的置信度定義為是否包含目標物體的概率,即:否則為1。代表預測框與真實框面積的交并比。
(1)
式中c代表置信度,P(object)代表物體是否落在邊界框中,如果邊界框不包含預測目標,則P(object)值為0,否則為1。代表預測框與真實框面積的交并比。每個邊界框的維度為4+1,4代表邊界框的中心位置坐標(x,y)以及邊界框的寬和高(w,h)。而1代表預測置信度c。每個單元格含有B個邊界框,如在YOLOv3中每個單元格使用B=3種不同寬高比的邊界框進行預測。
1.2? tiny-YOLOv3網絡結構
YOLOv3在YOLOv2的darknet-19模塊上引入殘差并增加了網絡深度,加深后的網絡含53個巻積層,命名為darknet53。tiny-YOLOv3是YOLOv3的輕量化網絡,網絡結構如圖1所示:tiny-YOLOv3網絡可以在兩個特征尺度上進行檢測,相比于YOLOv3網絡減少了一個特征尺度。特征提取網絡相較于YOLOv3大大化簡,取消了殘差連接部分。圖1中CBL代表空間維度為3×3的卷積層+批歸一化層+激活函數,此網絡激活函數使用leaky relu函數。CBL層后接2×2單元格上的最大池化層,將特征圖在空間方向縮減2倍或保持不變。CL層中不包含批歸一化函數,激活函數使用linear relu函數。每次卷積之后所得的特征維度在圖1中右側標注。其中class代表目標類別數。
1.3? 注意力機制
注意力機制最初被應用于機器翻譯,現在已經成為神經網絡中的一個重要概念,在圖像識別,語音識別與自然語言處理等領域已有廣泛應用。注意力機制可以利用人類視覺注意力機制進行解釋,例如人類視覺系統傾向于關注輔助判斷的部分信息,并忽略掉不相關的信息。在圖像處理領域,注意力機制主要包括通道注意力與空間注意力[14,15]。通道注意力的提出主要是為解決特征圖中不同通道的重要性不同而帶來的損失。通道注意力機制處理過程如圖2所示,輸入特征圖的維度為h×w×c,h,w,c分別代表高,寬與通道數。特征圖在空間方向分別經過平均池化與最大池化后得到1×1×c的特征圖,兩特征經過相同的全連接層將通道數壓縮為c/r,r為壓縮率,通常選為16。再經過第二個全連接層后將通道數擴張為c,將兩特征圖相加后經過sigmoid函數后得到各個通道的權重系數,再與池化之前的特征圖相乘后得到通道注意力模塊的輸出。
空間注意力模塊主要關注圖像之中哪部分特征更加重要,處理過程如圖3所示。給定空間維度為h×w×c的特征圖,空間注意力模塊首先在通道方向進行最大池化與平均池化,分別得到h×w×1的特征,將兩組特征在通道方向上拼接后經過7×7卷積層與sigmoid函數得到特征在空間方向的權重系數,再與輸入的特征相乘即可得到新的特征。CBAM模塊則將通道注意力與空間注意力的特點相結合,將特征圖先送入通道注意力模塊后再送入空間注意力模塊。CBAM模塊的處理過程如圖4所示。
2? 目標檢測算法設計
2.1? 網絡模型架構
卷積神經網絡中淺層網絡可以學習到圖像的局部特征,具有較小的感受野,而深層網絡可以學習到更抽象的特征,具有更大的感受野與更多的通道數。由于通道注意力模塊關注神經網絡某層的不同通道對于學習結果的貢獻,因此通道注意力模塊應添加在神經網絡中具有最大通道數的卷積層后。空間注意力模塊關注空間中哪部分特征對網絡學習能獲得更好的效果,淺層特征為圖像局部特征,深層特征為圖像更抽象,更全局的特征,不同于CBAM模塊將空間注意力添加在通道注意力模塊之后,本文認為空間注意力模塊添加在淺層特征后較添加在深層特征后對于學習效果可能更有提升。經過添加注意力模塊改進的tiny-YOLOv3網絡結構如圖5所示。
2.2? 損失函數
算法中所使用的損失函數包括三部分,分別為邊界框回歸損失,邊界框置信度損失與目標分類損失。本實驗采用的邊界框回歸損失為CIOU損失,目標檢測中所使用邊界框損失函數包括L1,L2損失與IOU損失兩類。由于在相同的L1,L2損失下邊界框仍可以產生不同的交并比,文獻[16]中首次提出使用IOU作為邊界框損失函數。之后GIOU,DIOU,CIOU[17,18]損失又相即提出。GIOU[17]考慮到了IOU損失中兩邊界框不相交而無法度量的問題,DIOU[18]將中心點距離因素加入損失函數,CIOU[18]則將邊界框重疊面積,中心點距離,邊界框長寬比三個因素同時加入損失函數中。CIOU損失函數表達式為式(2)~(5):
式(2)中第二項為IOU損失,計算方法見式(3),其中B與Bt分別代表預測邊界框與真實邊界框。式(2)中第三項為對于邊界框中心點的懲罰,其中p(c,ct)代表預測框與真實框之間的歐式距離,而d代表預測邊界框與真實邊界框最小外接矩形對角線的長度。第四項為對于邊界框長寬比的懲罰,其中a,v的計算方式分別見式(4)與式(5)。式(5)中ht,wt,h,w 分別代表真實邊界框與預測邊界框的長與寬。
目標檢測任務的總損失函數表達式為式(6),其中i,j分別為圖像單元格與邊界框的索引。式(6)中第一項為邊界框與真實框之間交并比損失函數,其中表示某個邊界框是否為正樣本,正樣本值為1,否則為0。第二項是正樣本的置信度損失函數,其中為第i個單元格中第j個邊界框的預測置信度值,而為真實值。第三項是負樣本的邊界框置信度損失,第四項是正樣本的分類損失,其中為預測物體屬于某個類別的概率,為真實概率。因為正負樣本數量差別較大,因此在訓練中令系數λnoobj=0.5可均衡正負樣本使損失函數不趨于零。
3? 實驗
實驗使用DAGM2007數據集。DAGM2007數據集是物體表面缺陷的數據集,數據集包含十類表面缺陷,為人工合成,但類似于現實世界中的問題。從此數據集中選出1 046副含有缺陷的圖像,利用圖像翻轉90,180,270度與沿圖像水平豎直軸鏡像對稱方式對數據集增擴至6 276副圖像,并以9比1的比例劃分為訓練集與測試集。
實驗中所用顯卡為RTX-3090。初始學習率為0.01,最終學習率為0.000 5。學習率使用cos函數進行衰減。選用Adam[19]作為優化算法。在目標檢測任務中使用mAP值作為衡量檢測算法優劣的主要標準。mAP值為mean average precision,即AP值在數據集中所有類別上的平均值。AP值則為每一類中precision-recall值曲線下的面積。而precision與recall值的定義則見式(7),(8)。式(7),(8)中TP,FP,FN分別代表真陽性,偽陽性,偽陰性的樣本數目。
本文在數據集上測試了在特征提取網絡中幾種不同的注意力模塊添加方式的目標檢測結果,分別為原始tiny-YOLOv3網絡,在第7個CBL結構后加入cbam模塊的網絡,在第7個CBL結構后加入通道注意力模塊的網絡,在第1個CBL結構后加入空間注意力和在第7個CBL結構后加入通道注意力的網絡,在特征提取網絡后只加入通道注意力,并將不同方法經過訓練后所得到的檢測結果進行對比,結果如表1所示。
從表1中實驗結果可以看出,通道注意力對于模型效果提升較大,加入通道注意力后再加入空間注意力能使模型性能有所提升。空間注意力加入在淺層后檢測效果相對于在深層加入使檢測結果略有提升。
4? 結? 論
為了使tiny-YOLOv3網絡能在缺陷檢測數據集中取得更好的性能,本文通過對于注意力模塊在網絡不同位置的研究,提出一種改進的tiny-YOLOv3網絡從而提升檢測效果。并從實驗結果中分析了不同注意力機制對于對網絡性能的影響,相較于空間注意力機制,通道注意力機制對于檢測效果提升更大。空間注意力機制將不同權重賦予圖像不同部分,而樣本中待檢測目標空間分布未必一致,因此改進空間注意力機制使所賦權重能更好匹配待檢測目標可成為未來的研究方向。
參考文獻:
[1] 黃鳳榮,李楊,郭蘭申,等.基于Faster R-CNN的零件表面缺陷檢測算法 [J].計算機輔助設計與圖形學學報,2020,32(6):883-893.
[2] 李維剛,葉欣,趙云濤,等.基于改進YOLOv3算法的帶鋼表面缺陷檢測 [J].電子學報,2020,48(7):1284-1292.
[3] DALAL N,TRIGGS B.Histograms of Oriented Gradients for Human Detection [C]//2005 IEEE Computer Society Conference on Computer Vision & Pattern Recognition.San Diego:IEEE,2005(1):886-893.
[4] OJALA T,PIETIKAINEN M,MAENPAA T.Multiresolution Gray-Scale and Rotation Invariant Texture Classification with Local Binary Patterns [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(7):971-987.
[5] LIENHART R,MAYDT J.An Extended Set of Haar-Like Features for Rapid Object Detection [C]//Proceedings.International Conference on Image Processing.Rochester:IEEE,2002(1):I-I.
[6] SUYKENS J,VANDEWALLE J.Least Squares Support Vector Machine Classifiers [J].Neural Processing Letters,1999,9(3):293-300.
[7] GIRSHICK R,DONAHUE J,DARRELL T,et al.Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation [C]//2014 IEEE Conference on Computer Vision and Pattern Recognition.Columbus:IEEE,2014,580-587.
[8] GIRSHICK R.Fast R-CNN [C]//2015 IEEE International Conference on Computer Vision(ICCV).Santiago:IEEE,2015:1440-1448.
[9] REN S,HE K,GIRSHICK R,et al.Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks [J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2017,39(6):1137-1149.
[10] REDMON J,DIVVALA S,GIRSHICK R,et al.You Only Look Once:Unified,Real-Time Object Detection [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas:IEEE,2016,779-788.
[11] REDMON J,FARHADI A.YOLO9000:Better,Faster,Stronger [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Honolulu:IEEE,2017:6517-6525.
[12] REDMON J,FARHADI A.YOLOv3:An Incremental Improvement [J/OL].arXiv:1804.02767 [cs.CV].[2021-12-03].https://arxiv.org/abs/1804.02767.
[13] LIU W,ANGUELOV D,ERHAN D,et al.SSD:Single Shot MultiBox Detector [C]//Computer Vision – ECCV 2016.Cham:Springer,2016:21–37.
[14] JIE H,LI S,GANG S.Squeeze-and-Excitation Networks [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:7132-7141.
[15] WOO S,PARK J,LEE J Y,et al.CBAM:Convolutional Block Attention Module [J/OL].arXiv:1807.06521 [cs.CV].[2021-11-03].https://arxiv.org/abs/1807.06521.
[16] YU J,JIANG Y,WANG Z,et al.UnitBox:An Advanced Object Detection Network [C]//MM’16:Proceedings of the 24th ACM international conference on Multimedia.Amsterdam:Association for Computing Machinery,2016:516–520.
[17] REZATOFIGHI H,TSOI N,GWAK J Y,et al.Generalized Intersection Over Union:A Metric and a Loss for Bounding Box Regression [C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).Long Beach:IEEE,2019:658-666.
[18] ZHENG Z,WANG P,LIU W,et al.Distance-IoU Loss:Faster and Better Learning for Bounding Box Regression [J/OL].arXiv:1911.08287 [cs.CV].[2021-11-13].https://arxiv.org/abs/1911.08287.
[19] KINGMA D,BA J.ADAM:A Method for Stochastic Optimization [J/OL].arXiv:1412.6980 [cs.LG].[2021-11-23].https://arxiv.org/abs/1412.6980.
作者簡介:李屹(1984—),男,漢族,山東濱州人,工程師,博士研究生,研究方向:圖像處理、計算機視覺。