陸家林,程 穎,馮 賽,李明哲,張寧華,孫家宇
(天津科技大學機械工程學院,天津 300457)
鋼材是發展現代工業技術的基本材料,隨著工業制造能力的提升,鋼材廣泛應用于建筑行業、海洋工程、航天工程,對鋼材也提出了更嚴苛的要求。然而由于生產工藝限制,鋼材在生產過程中不可避免地存在深度各異的表面缺陷,如劃痕、裂紋、凹面等。這些缺陷不僅會影響產品外觀,同時會導致鋼材耐磨性、韌性等性能下降,縮短鋼材的使用壽命。因此,分析與掌握如何提高鋼材表面質量是現代鋼材生產廠家亟需解決的重要問題。而要解決鋼材表面質量問題,其前提是要實現對鋼材表面缺陷的檢測。目前,國內外對鋼材表面缺陷檢測做了大量的研究,常用的鋼材表面缺陷檢測主要包括超聲檢測、紅外檢測,以及基于圖像識別等缺陷檢測方法。如陳超等[1]利用激光超聲檢測技術,通過提取鋼材不同深度缺陷的透射波信號,并以PSO-BP神經網絡進行分析與識別,實現了鋼材表面0.1~3 mm深度缺陷的檢測。劉凌等[2]結合非接觸式超聲耦合技術和相控陣超聲波檢測技術,實現了對鋼管材表面和內部的缺陷檢測,提高了超聲波檢測的工作效率。方葉祥等[3]通過利用特征金字塔與殘差層融合特征的方式改進YOLOv3算法,實現了快速準確地檢測鋼材表面缺陷,檢測精度達到90%以上。陳勁等[4]通過結合紅外熱成像法和超聲波法檢測,實現了對鋼材內部空洞和表面缺陷的檢測,為更全面地評定鋼材質量提供了一種更簡便快捷的方法。陶顯等[5]基于圖像識別,采用卷積神經網絡對鋼材表面缺陷進行了檢測,為鋼材表面缺陷檢測提供了一種新思路。上述檢測方法雖一定程度上實現了鋼材表面的缺陷檢測,但在檢測精度上有待進一步改善,且能夠滿足實際生產檢測需求的檢測方法還待研究。為解決以上檢測方法存在的問題,本文基于Faster R-CNN目標檢測算法,提出一種基于機器視覺的鋼材表面缺陷檢測方法。
Faster R-CNN算法是一種端到端的目標檢測算法,網絡結構如圖1所示,分為4個部分,具體如下。
圖1 Faster R-CNN網絡結構Fig.1 Network structure of fast R-CNN
(1)主干網絡
Faster R-CNN算法的主干網絡通常為VGG-16、ResNet等網絡,負責提取輸入圖像特征。通過查閱參考文獻,本文選用VGG-16網絡作為主干網絡,其結構如圖2所示。
圖2 VGG-16網絡結構Fig.2 VGG-16 network structure
(2)RPN網絡
RPN網絡負責提取候選框,其基本原理如圖3所示。當輸入模型圖像通過主干網絡進行特征提取后輸入RPN,RPN對特征圖進行滑窗以產生描框。將描框得分高的部分作為推薦區域,即為候選框。
圖3 RPN原理Fig.3 RPN principle
(3)ROI池化
ROI池化負責對特征圖進行一定比例的縮放,以使特征圖滿足預設定大小。目前,常用的縮放方式首先是將區域提案劃分為大小相同的n等分,然后找到每個部分的最大值,最后復制最大值并輸出[6]。
(4)R-CNN檢測網絡
R-CNN網絡負責分類與識別候選框樣本類別。首先根據實際情況設定一個閾值a,然后計算真實與預測目標框的交并比(IoU),最后判斷IoU與a大小,即可確定候選框樣本類別。當IoU>a,則判定其為正樣本;反之則為負樣本。
Faster R-CNN算法具有魯棒性強、檢測精度高的特點,但在特征提取階段存在容易丟失結構信息的問題,同時在R-CNN網絡檢測過程中對區域建議框的分類與定位精度有待提高。因此,為進一步提高網絡的檢測精度,本文從主干網絡和檢測網絡兩個方面進行改進[7-8]。
1.2.1 主干網絡
為解決Faster R-CNN網絡容易丟失結構信息的問題,本文通過對主干網絡特征進行融合,實現Faster RCNN網絡改進。首先,分別將VGG-16網絡Block3的conv3-256-1與conv3-256-3進行融合,VGG-16網絡Block5的conv3-512-1與conv3-512-3進行融合。然后對融合后的特征進行再次融合。設置每個Block之后為最大池化,全連接層不變。通過上述操作,可使主干網絡盡可能地保留結構信息。主干網絡Block3和Block5改進前后結構對比如表1所示。
表1 主干網絡改進前后結構對比Tab.1 Comparison of backbone network structure before and after improvement
1.2.2 R-CNN檢測網絡
R-CNN網絡可通過增大IoU閾值使區域建議框更準確,進而提高模型的檢測準確性,但過度增大IoU閾值容易導致模型擬合不足的問題。為解決該問題,提高模型的檢測準確性,本文采用級聯兩個不同IoU閾值的RCNN檢測網絡對模型進行改進。分別設置兩個R-CNN檢測網絡的IoU閾值0.5和0.6,并根據其IoU閾值劃分分別對正負樣本進行訓練修正區域建議框,即可得到更準確的邊界框,進而提高檢測效果[10-12]。
基于上述對Faster R-CNN網絡的改進思路,本文將基于機器視覺的鋼材表面缺陷檢測設計如圖4所示。首先,采用融合特征的VGG-16提取輸入模型的鋼材表面圖像,以減少鋼材表面圖像的結構信息丟失。其次,采用RPN網絡提取生成鋼材缺陷特征圖候選框。然后采用ROI池化將鋼材表面缺陷特征圖進行縮放。最后,先后采用IoU閾值為0.5和0.6的R-CNN檢測網絡對特征圖進行分類與識別,得到鋼材表面缺陷檢測結果。
圖4 基于Faster R-CNN網絡的鋼材表面缺陷檢測流程Fig.4 Steel surface defect detection process based on Fast R-CNN network
本次實驗在Linux Centos7操作系統上進行,基于MXNet框架下進行測試。系統環境CPU為2.10 GHz的E5-2620,GPU為NVIDIA1080,內存為64 GB,編譯器為Pycharm Community 1.3,解釋器為Python 3.7。
本次實驗數據來自NEU-CLS數據集,共1 800張鋼材表面缺陷圖像,具體如表2所示。
表2 NEU-CLS數據集數據分布情況Tab.2 Data distribution of NEU-CLS dataset
本次實驗選用平均準確度(AP)作為評估模型性能的指標,其計算方法如式(1)。選用平均AP(mAP)評估整體性能,其計算方法如式(4)。選用每秒幀率(幀/s)評估模型運行效率。
式(1)~(3)中:T P為真正例;FP為假正例;F N為假負例。
式(4)中:N c為檢測缺陷類別數。
3.4.1 模型驗證
(1)主干網絡驗證
為驗證所提模型改進主干網絡的有效性,實驗對比了不同主干網絡作為提取特征的模型性能,結果如表3所示。由表可知,相較于ResNet-50,VGG-16作為模型的主干網絡的平均檢測準確率更高,達到84.06%,提高了2.3%;檢測速度由6.2幀/s提升到12.23幀/s,提高了近一倍。由此說明,所提模型以VGG-16作為主干網絡,可提高模型的檢測性能,模型改進有效。
表3 特征提取效果驗證Tab.3 verification of feature extraction effect
(2)融合策略驗證
為驗證模型特征融合的有效性,實驗采用不同融合策略構建模型,并對比了其平均檢測精度與檢測速度,結果如表4所示。由表可知,策略B的平均檢測準確率最高,達到95.92%,檢測速度最快,達到22.45幀/s,說明該融合策略可達到最佳檢測效果,即融合Block3和Block5的融合策略最好,所提模型的改進有效。
表4 不同特征融合策略對比Tab.4 Comparison of different feature fusion strategies
(3)檢測網絡驗證
為驗證所提模型對不同IoU閾值檢測網絡的級聯效果,實驗對比了不同級聯IoU閾值時模型性能,結果如表5所示。由表可知,級聯一個IoU=0.6的檢測網絡可提高網絡的平均檢測精度,達到98.29%,提高了2.37%。相較于級聯一個IoU=0.7檢測網絡,具有一定的優越性。由此說明,所提模型具有一定的有效性,對檢測網絡的改進有效。
表5 級聯不同IoU閾值的檢測網絡性能對比Tab.5 performance comparison of detection networks cascaded with different IOU thresholds
所提模型消融實驗結果如表6所示。由表可知,相較于特征融合前,特征融合后的模型mAP值提高了11.86%;相較于級聯網絡前,級聯網絡后模型的mAP值提高了2.37%;相較于改進前模型,所提模型檢測準確率提高了14.23%,達到98.29%。分析其原因是,特征融合后產生的特征圖同時包含了高層和底層信息,進而提高了模型的檢測準確率,而級聯網絡可提高模型的IoU,使模型的檢測準確率得到提高[13-15]。由此說明,特征融合和級聯網絡可明顯提升模型的檢測準確率,即所提模型具有一定的有效性。
表6 消融實驗結果Tab.6 Ablation experimental results
3.4.2 模型對比
為進一步驗證所提模型的有效性,實驗對比了所提模型與特征融合前后Faster R-CNN模型對實驗數據集的檢測效果,結果如圖5所示。由圖可知,相較于改進前,所提模型和FFaster R-CNN模型對各類鋼材表面缺陷的預測準確率均得到了明顯提升,說明特征融合可有效提升Faster R-CNN模型對鋼材表面缺陷的檢測準確率。相較于FFaster R-CNN模型,所提模型對大部分類別的鋼材表面缺陷檢測準確率均得到了不同程度地提升,說明級聯檢測網絡可一定程度上提高模型的檢測準確率。由此說明,采用特征融合與級聯檢測網絡對提升Faster RCNN模型的檢測準確率具有一定的有效性,即所提模型有效。
圖5 模型檢測結果對比Fig.5 Comparison of model test results
為進一步驗證所提模型的優越性,實驗對比了所提模型與傳統檢測模型的檢測效果,結果如表7所示。由表可知,相較于其他傳統檢測模型,所提模型在對鋼材表面缺陷檢測的精度和速率上具有一定的優勢,平均檢測準確率達到98.29%,檢測速度達到12.26幀/s,可滿足鋼材表面缺陷檢測需求。
表7 模型檢測結果對比Tab.6 Comparison of model test results
3.4.3 實例驗證
為驗證所提模型的實際應用效果,實驗采用所提模型對存在缺陷的鋼材表面進行了檢測,結果如圖6所示。由圖可知,所提模型可較為準確地檢測不同類別的鋼材表面缺陷,具有較強的泛化性能。
圖6 部分檢測實例Fig.6 Partial detection examples
綜上所述,所提的基于機器視覺的鋼材表面缺陷檢測方法,通過融合VGG-16網絡Block3和Block5特征,可減少結構信息的丟失,使模型的平均檢測準確率和檢測速度得到進一步提升,達到95.92%和22.45幀/s;通過在檢測網絡后級聯一個IoU閾值為0.6的檢測網絡,可實現對網絡區域建議框更精確地分類與定位,使模型的平均檢測精度達到98.29%。改進后的Faster R-CNN算法平均檢測準確率和檢測速度分別達到84.06%和12.23幀/s,相較于基于Faster R-CNN、SSD和YOLO-V3等算法的傳統檢測方法,所提方法平均檢測精度和檢測速度均得到不同程度的提升,達到98.29%和12.26幀/s,具有一定的有效性和優越性,可滿足不同類別的鋼材表面缺陷檢測需求。