尚潔 吳觀茂









摘? 要:為了提升工業零件缺陷檢測的精度和速度,在Mask R-CNN的基礎上,引入了引導錨框的anchor生成方案提升檢測精度;在此基礎上對Mask R-CNN網絡框架進行改進,去掉Mask分支,實現檢測速度的優化。采用的數據集是DAGM工業缺陷數據集,并與先前的代表方法進行對比實驗。實驗表明,改進后的算法在檢測精度方面對比原始算法提升了約1.94%,且速度也提升了1.2 frame/s,提升了工業零件缺陷檢測的速度和精度。
關鍵詞:工業缺陷檢測;Mask R-CNN;引導錨框
中圖分類號:TP391.4? ? ? ? ? ? 文獻標識碼:A文章編號:2096-4706(2022)03-0137-04
Industrial Parts Defect Detection Technology Based on Improved Mask R-CNN Algorithm
SHANG Jie, WU Guanmao
(College of Computer Science and Engineering, Anhui University of Science & Technology, Huainan? 232001, China)
Abstract: In order to improve the accuracy and speed of industrial parts defect detection, on the basis of Mask R-CNN, the anchor generation scheme of the guide anchor frame is introduced to improve the detection accuracy. on this basis, the Mask R-CNN network framework is improved and Mask branch is removed to realize the optimization of detection speed. The data set used is the DAGM industrial defect data set, and a comparison experiment with the previous representative method is carried out. Experiments show that the improved algorithm has improved by 1.94% in detection accuracy compared with the original algorithm, and the speed has also improved by 1.2 frame/s, the speed and accuracy of industrial parts defect detection are improved.
Keywords: industrial defect detection; Mask R-CNN; guide anchor frame
0? 引? 言
隨著計算機技術等信息產業在工業行業領域的廣泛應用,工業制造大數據研究正成為幫助政府指導企業轉型升級的重要支撐。在工業生產鑄造的過程中,由于生產技術等問題會不可避免的導致部分工業零件存在一些微小的表面缺陷。所以在工業零件缺陷檢測中,需要使用精確的目標檢測技術來定位小的有缺陷的工業零件。但是現有的檢測技術受限于人工檢測,十分費力;而且傳統的機器識別算法也需要借助人工的方式來進行圖像的處理,在實際的生產過程中往往很難達到機器視覺缺陷檢測系統所需的理想環境,使得無論是檢測的精度還是速度都無法得到保證。
近年來,受益于卷積神經網絡,深度學習領域發展迅速。Ross Girshick等[1]人基于深度學習技術,開創性地提出了R-CNN模型,使目標檢測領域迎來了嶄新的篇章;基于此,Girshick等[2]又提出了Fast R-CNN模型,大大提高了特征提取的速度;Ross B.Girshick等[3]又基于此提出了Faster R-CNN模型,目標檢測的精度大大提高。為了進一步突破檢測模型的速度瓶頸,Redmon等[4]推出了基于one-stage的YOLO模型,丟棄候選框的提取步驟,直接在特征圖上進行回歸操作;而后又出現了YOLO V4等[5],使得目標檢測的速度更上一層樓。
雖然比起R-CNN系列檢測算法,YOLO系列的檢測算法效率更高速度更快,但其局限性在于檢測較小目標時,由于YOLO的單個網格單元可以同時對相同類型的兩個邊界框進行回歸但是其局限性在于檢測小目標時,但是在工業零件的實際制造過程中,有缺陷的種類也很多,缺陷形成的可預見性差無規則。所以YOLO的檢測精度會低于R-CNN系列。
根據上述分析,本文將采用Mask R-CNN算法進行工業零件的檢測,以達到提升檢測精度和速度的目的。R-CNN算法問世至今,之后又涌現出很多在其基礎上的創新算法,先后出現了Fast R-CNN、Faster R-CNN以及Mask R-CNN算法。本文對Mask R-CNN進行改進,anchor生成策略引用融合引導錨框算法[6],來生成高質量的anchor,提高檢測精度;同時去掉Mask掩碼分支,提升算法的檢測速度。
1? Mask R-CNN算法
2017年,何凱明等[7]提出Mask R-CNN算法。它在Faster R-CNN的基礎特征網絡之后增加了一個Mask分支,來對每個檢測出來的目標進行語義分割。之后又對ROI Pooling模塊進行改進,引入興趣區域對齊層(Reigon of Internet Align layer, ROI Align)來解決Faster R-CNN中區域匹配不均的問題,來使特征圖與輸入像素逐一對齊,改善分割精度。因此,Mask R-CNN同時兼備分類、邊界框回歸以及實例分割的特點,大大改善了對小目標檢測的缺陷分割。
Mask R-CNN網絡整體結構主要分為這四個模塊:主干網絡(Backbone)、區域候選網絡(RPN)、ROI Align和R-CNN。Backbone通常包含殘差網絡(ResNet)和特征金字塔網絡(FPN)。FPN負責對ResNet輸出的5層特征圖進行圖像融合,來獲得細節信息更豐富的特征圖并且輸出到RPN模塊和ROI Align模塊。RPN用來生成目標候選區域,對獲取到的特征圖中的前景和后景部分進行分類以及bbox的回歸,最終得到前景的一個大概位置。從Backbone得到了特征圖和從RPN得到了目標候選區域之后輸入到ROI Align模塊,并且使用雙線性插值的方法[8]映射成固定維數的特征向量再經過全連接層輸出到R-CNN模塊。
1.1? RPN
區域建議網絡(RPN)將一張圖像(任意大小)作為輸入和輸出一組矩形對象建議,其中每個對象建議都有一個對象評分。其具體流程圖如圖1所示。首先圖像經過卷積神經網絡得到一張N×16×16的特征圖,接著經過3×3的卷積得到一個256×16×16的特征圖,接著再次經過兩次1×1的卷積分別得到18×16×16和36×16×16的特征圖,即16×16×9個結果,其中每個結果包含2個分數和4個坐標。再利用之前預先設定的anchors,經過后處理就得到了目標候選框。
1.2? ROI Align
RPN得到了目標候選框之后,會傳入給ROI Align。ROI Align原理如圖2所示。虛線框是一個5×5的特征圖,實線框是ROI區域。接下來要對實線框部分做2×2的池化操作來獲取ROI區域的特征圖。首先將該ROI區域劃分為4個大小相同的2×2區域,接著在其每個小區域中設置四個采樣點和該采樣點最近的4個特征點的像素值;然后利用雙線性插值計算得到每個采樣點的像素值;最后計算每個小區域的池化值來生成ROI區域的大小為2×2的特征圖。
1.3? Mask分支
為了使預測的掩碼的準確性更高,基于Faster R-CNN,Mask R-CNN增加了Mask分支,ROI Align操作之后得到的ROI會傳入此分支,來生成用于檢測目標的掩碼。此時,ROI Align會輸出14×14×256的特征圖;Mask分支會對其進行4次卷積操作和一次反卷積操作,4次卷積操作得到的特征圖大小為14×14×256,反卷積操作得到的特征圖大小是28×28×256。使輸出的特征圖對齊輸入的特征圖尺寸,此時會得到輸入的特征圖中每個像素對應的類別置信度,來實現實例分割的目的。
2? 錨框生成方法的改進
2.1? Mask R-CNN錨框生成算法
由于在Mask R-CNN中的錨框生成策略是根據相應的數據集事先預定好的尺寸,這種策略不適用于本文所使用的缺陷數據集,使得算法在生成ROI時需要進行大量的回歸工作,網絡的訓練時間也會大幅度增加,進而影響到算法的檢測效率。
2.2? 生成錨框方案的改進
針對上述問題,我們提出引用引導錨框方案來生成anchor,通過圖的特征來指導anchor的生成。引導錨框算法包含的兩個主要模塊是anchor生成模塊以及自適應特征模塊。
通常來說中心點的坐標和寬高能確定一個anchor,因此anchor生成模塊又分為兩個分支:anchor位置分支以及anchor的形狀分支,并且引入特征自適應模塊來調節anchor的感受野與特征圖。如圖3所示。根據圖像特征先進行anchor的坐標(位置)預測,接著再根據預測的anchor位置部分來預測相對應位置的anchor的形狀。最后根據anchor的位置和形狀來進行特征圖自適應匹配,得到質量高的anchor。引導錨框算法生成anchor方案具體步驟如下:
(1)對輸入的特征圖使用1×1的卷積操作,得到與特征圖相同的概率圖。概率圖上的位置對應于原圖的位置如公式(1)所示:
(i’,j’)=((i+0.5)s,(j+0.5)s)(1)
式中:i,j為概率圖的坐標,s為卷積的步長;
(2)通過閾值來過濾掉大約90%的低召回率區域,來得到存在目標的可能位置;
(3)使用1×1的卷積作用域特征圖FI,得到一個包含寬和高的雙通道映射圖:dw和dh;
(4)對dw和dh進行轉換得到最終的w和h,轉換公式如(2)所示:
w=σ · s · edw,h=σ · s · edh(2)
式中:σ—轉化的尺度因子;
(5)根據基礎anchor的形狀在每個位置單獨的變換特征,公式如(3)所示:
fi’=NT(fi,wi,hi)(3)
式中:fi—第i個位置的特征,wi,hi—相應位置的anchor形狀,NT—可變形卷積操作;
(6)得到用來確定anchor的四個參數,進行后續Mask R-CNN檢測流程。
所引用的方法首先通過識別有可能的目標區域來確定anchor的形狀,最終生成稀疏的anchor坐標。并設計一種自適應特征模塊來解決anchor感受野大小匹配不均的問題。我們只需要在模型中添加2個1×1的卷積層和1個3×3的可變形卷積,就能夠實現更加合理的anchor生成方案,大大提高檢測的效率和精準性。
3? 掩碼分支的改進
3.1? Mask R-CNN中的掩碼分支
如1.3小節所講,Mask R-CNN增加了掩碼分支之后,雖然在檢測的精度上有所提升,但是這在一定程度上了犧牲了速度的代價。
3.2? 掩碼分支的改進
對于工業零件缺陷檢測任務,在生產的過程中對檢測的速度是有一定的要求的,無需對缺陷樣本進行細致的分割。所以在進行工業零件缺陷檢測的時候,對Mask R-CNN結構的Mask分支[9]進行更改,將其舍去。舍去分支之后如圖4所示。
4? 實驗驗證
4.1? 數據集
本文的數據集樣本采用DAGM數據集,該數據集包含2 100個樣本,樣本圖像分辨率為512×512。DAGM一共包含十類缺陷樣本,每類給出一個原始未標記缺陷位置的樣本和一個標記有缺陷位置的樣本。并且圖像中缺陷的尺寸和位置的多樣性,且背景紋理復雜與缺陷部分極易混淆,大大加深了檢測的難度。
4.2? 實驗條件
本文在Windows10系統中采用的深度學習網絡框架為TensorFlow,代碼運行環境為Python3.6.10。避免過擬合以及加快訓練速度,我們使用SGD(隨機梯度下降)進行訓練,共迭代次數為20 000次,本實驗中的評價指標為mAP。
4.3? 實驗結果
首先將本文所改進的anchor生成方案引導錨框算法與MaskR-CNN的原始方案在數據集上進行對比實驗。實驗結果如表1所示。通過表1對比實驗發現,采用引導錨框算法生成的anchor方案對比原始Mask R-CNN的mAP達到了98.69%,而且檢測速度也達到了2.6 frame/s,精度和速度同時得到了提升。
繼續測試本文的第二個改進方案,實驗結果如表2所示。通過實驗可知改進之后的Mask R-CNN其檢測精度略微提升但是速度卻得到了改善,提升了1.1 frame/s。
上述兩個實驗表明本文所提出的兩種方案均能提升Mask R-CNN在工業數據集種的檢測性能,所以我們將以上兩種改進方案同時運用在Mask R-CNN算法種,并與原始Mask R-CNN算法進行比較。同時在此次實驗中加入Faster R-CNN,將上述兩種方法運用其中,進行觀察對比實驗。實驗結果如表3所示。由表3可知,使用改進的Mask R-CNN算法進行工業零件缺陷檢測時mAP和檢測速度均取得最佳的效果。
5? 結 論
針對工業零件的缺陷檢測,本文基于Mask R-CNN算法進行改進,提出引導錨框的anchor生成方案以及對Mask R-CNN的Mask分支進行改進。此外還進行了實驗對比,實驗表明兩種改進算法使得檢測效果均有所提升。又將兩種改進方案結合到一起,進一步提升了Mask R-CNN的檢測速度和精度。
參考文獻:
[1] 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 Recoginition.Columbus:IEEE,2014:580-587.
[2] GIRSHICK R.Fast R-CNN [C]//2015 IEEE International Conference on Computer Vision(ICCV).Santiago:IEEE,2015:1440-1448.
[3] REN S,HE K,GIRSHICK R,et al.Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks [J].IEEE Trans Pattern Anal Mach Intell,2017,39(6):1137-1149.
[4] 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.
[5] BOCHKOVSKIY A,WANG C Y,LIAO H Y M.YOLOv4:Optimal Speed and Accuracy of Object Detection [J/OL].arXiv:2004.10934 [cs.CV].[2022-01-02].https://arxiv.org/abs/2004.10934.
[6] HE K, GKIOXARI G,DOLLAR P, et al. Mask R-CNN [C]//2017 IEEE International Conference on Computer Vision(ICCV).Venice:IEEE,2017:2980-2988.
[7] WANG J,CHEN K,YANG S,et al.Region Proposal by Guided Anchoring [C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR).Long Beach:IEEE,2019:2960-2969.
[8] ZOPH B,CUBUK E D,GHIASI G,et al.Learning Data Augmentation Strategies for Object Detection [J/OL].arXiv:1906.11172 [cs.CV].[2022-01-03].https://arxiv.org/abs/1906.11172.
[9] YU X,GONG Y,JIANG N,et al.Scale Match for Tiny Person Detection [C]//2020 IEEE Winter Conference on Applications of Computer Vision(WACV).Snowmass Village:IEEE,2020:1246-1254.
作者簡介:尚潔(1996—),女,漢族,江蘇連云港人,碩士在讀,研究方向:目標檢測等;通訊作者:吳觀茂(1965—),男,漢族,安徽淮南人,副教授,博士,研究方向:計算機深度學習等。