韓 強,張 喆,續欣瑩,謝新林
(1.太原理工大學 電氣與動力工程學院,太原 030024;2.太原科技大學 先進控制與裝備智能化山西省重點實驗室,太原 030024)
我國是全球第一鋼鐵生產大國,2019年全球粗鋼產量18.7億t,其中中國粗鋼產量9.96億t,占全球粗鋼產量的53.3%.雖然中國粗鋼產量占據全球粗鋼產量的半壁江山,但是從鋼鐵行業的績效水平看,中國企業與國際鋼鐵行業的平均水平還存在一定差距[1]。《中國制造2025》發展戰略明確提出:著力發展智能裝備和智能產品,推進生產過程智能化,培育新型生產方式,全面提升企業研發、生產、管理和服務的智能化水平[2]。
目前,多數企業仍采用人工檢測的方式檢測缺陷。長期高強度的工作會影響檢查員的工作狀態,導致檢查準確率低且出現遺漏。隨著工業要求的提高和科學技術的發展,無損檢測被廣泛使用在各種材料的缺陷檢測中,特別是金屬材料。徐長航等[3]在含缺陷鋼制試件紅外熱像檢測實驗的基礎上,利用多種圖像處理技術,實現了裂紋、圓孔等不同類型缺陷的提取與識別。張學武等[4]提出了一種基于紅外成像的強反射金屬表面缺陷視覺檢測方法,利用CCD視覺傳感器獲取受檢測金屬表面的紅外影像資料,對微小缺陷可達到92.8%的檢測率和95.42%的識別率。JOUNG et al[5]將紅外成像技術應用在管道缺陷的檢測上。同時,基于機器視覺的圖像處理方法也被廣泛應用。董家順等[6]利用一種改進K-means灰度正反求和的檢測方法對鋼管表面缺陷進行了檢測。YOU et al[7]提出了一種可以從太赫茲成像系統獲得的圖像中準確提取缺陷輪廓的方法。JEON et al[8]提出了一種結合光照法的濾波方案,用于鋼鐵表面缺陷檢測。SON et al[9]提出了一種測定鋼橋表面銹蝕面積的方法,該方法包括:顏色空間轉換、基于J48決策樹算法的銹蝕區域分類。該方法對119個試件的銹蝕區域劃分的平均準確率約為97.95%,整個處理過程平均只需0.57 s.LIAO et al[10]提出了一種由3種不同方法組成的圖像自動處理算法,采用最小二乘支持向量機,對缺陷半徑進行預測。王宇等[11]提出了一種利用機器視覺來檢測金屬零件表面缺陷的系統。這些基于機器視覺的圖像處理方法在一定程度上提高了檢測效率,滿足了自動化的要求,但是適應性較差[12]。
隨著人工智能和大數據時代的到來,深度學習算法被越來越多地應用在缺陷檢測中。因為深度學習算法具有準確性高、效率高、適應性強的特點,深度學習逐漸成為缺陷檢測的重要研究方向。XU et al[13]使用基于機器視覺的方法來檢測金屬表面缺陷,可以在不均勻的光照條件下檢測裂縫、凹痕甚至其他缺陷。黃鳳榮等[14]提出了一種Faster R-CNN算法為框架的零件表面缺陷檢測算法,并引入多級ROI池化層結構,該算法將缺陷檢測的均值平均精度mAP從原算法的54.7%提高到97.9%,檢測速度最快達到4.9 f/s(f表示幀數).SHEN et al[15]開發了一種機器視覺系統,適用于檢測變形、腐蝕和劃痕的軸承缺陷。HE et al[16]提出了一種新的物體檢測框架分類優先網絡(CPN)和一種新的分類網絡多組卷積神經網絡(MG-CNN)來檢測鋼材的表面缺陷,可以使帶鋼熱軋表面缺陷的檢測精度超過94%,分類率超過96%.YI et al[17]提出了基于深度卷積神經網絡的端到端鋼帶表面缺陷檢測方法。HE et al[18]將機器視覺應用于金屬表面缺陷檢測中,其缺陷分類任務的準確率可達到99.67%,缺陷檢測任務的準確度可達到82.3%.李維剛等[19]針對熱軋帶鋼表面缺陷檢測中存在的檢測速度慢、檢測精度低等問題,提出了一種改進的YOLOv3算法模型。改進后的YOLOv3算法在NEU-DET數據集上平均精度均值達到了80%,較原有的YOLOv3算法提高了11%,實時檢測速度保持在50 f/s(f表示幀數).湯勃等[20]針對小樣本的鋼板表面缺陷分類檢測問題,提出基于卷積神經網絡帶標記的鋼板表面缺陷檢測系統。方葉祥等[21]提出了基于改進YOLOv3算法的實時缺陷檢測方法,該方法對鋼材表面的壓痕與劃痕的檢測精度分別為92%和90%.代小紅等[22]提出了一種基于改進RCNN的金屬材料工件表面缺陷檢測算法,在圖像預處理過程中,運用了圖像缺陷定位標注與圖像數據的增強處理的方法,引入多級ROI池化層結構設計算法,實現高效并準確檢測零件表面缺陷的目的,檢測精度可達97.36%.方鈞婷等[23]提出了一種基于注意力機制的級聯網絡缺陷檢測算法,對金屬表面缺陷進行高質量分類和定位。朱超平等[24]采用了改進型的Faster-RCNN目標檢測算法,引入了深度生成式對抗網絡,對汽車輪轂表面缺陷進行檢測。盡管在金屬缺陷檢測中已經進行了許多相關研究,但是仍然存在精度低的問題。導致缺陷檢測精度低的原因是多方面的,包括深度神經網絡在檢測時特征圖中結構信息的減少。
針對深度神經網絡在目標檢測時特征圖中結構信息減少的問題,本文提出一種基于特征融合和級聯檢測網絡的Faster R-CNN(FF R-CNN)檢測算法,以提高檢測精度。FF R-CNN采用對特征圖進行融合的方法,來減少特征圖中結構信息的消失。通過對比多種融合方式對檢測結果的影響,確定了檢測精度最高的融合方式,并通過級聯檢測網絡進一步提高算法的檢測精度。在NEU-DET鋼材缺陷樣本數據集上進行缺陷檢測實驗,驗證了FF R-CNN算法的可行性和有效性。
目前,深度神經網絡對于目標的檢測性能已得到證明。深度神經網絡主要分為雙階段目標檢測算法與單階段目標檢測算法。雙階段目標檢測算法首先提取圖像中的候選框,然后對候選框二次修正,得到精度較高的檢測結果,但是檢測速度慢;單階段目標檢測算法直接對圖像進行計算,生成檢測結果,檢測速度快,但檢測精度低。雙階段目標檢測算法Faster R-CNN系列的深度神經網絡,檢測精度一般要優于單階段目標檢測算法SSD和YOLOv2[25].
Faster R-CNN網絡結構如圖1所示。

圖1 Faster R-CNN網絡結構Fig.1 Faster R-CNN network structure
Faster R-CNN的網絡結構可分為4個部分,即主干網絡、RPN網絡、ROI池化層以及分類回歸網絡。將這4部分按照功能劃分,可分為特征提取部分,RPN網絡與檢測網絡部分。特征提取部分為主干網絡,檢測網絡包括ROI池化層以及分類回歸網絡。
Faster R-CNN通過主干網絡提取圖像的特征圖,并且將特征圖作為RPN網絡和ROI池化層的輸入;RPN網絡生成區域建議框,通過邊界框回歸得到相對準確的區域建議框;ROI池化層將RPN網絡生成的區域建議框與主干網絡提取的特征圖相結合,生成建議特征圖,并且輸入分類回歸網絡;分類回歸網絡對建議特征圖進行缺陷分類與回歸,得到區域建議框內目標的類別與準確位置。
Faster R-CNN的主干網絡可以是VGG-16,ResNet-50或其他特征提取網絡。本文用VGG-16作為FF R-CNN的主干網絡。VGG-16的網絡結構如圖2所示。

圖2 VGG-16網絡結構Fig.2 VGG-16 network structure
VGG-16網絡由13個卷積層,5個池化層和3個全連接層組成。在所有卷積層中,使用的卷積核為3×3,步長為1.池化層使用的池化核大小為2×2,步長為2.在所有的卷積層中,卷積操作不會改變輸入矩陣的大小。而在所有的池化層中,池化操作會將輸出矩陣的尺寸變為輸入矩陣的二分之一。
對VGG-16的網絡而言,可以將VGG-16的13個卷積層和5個池化層劃分為不同的Block,從前到后依次編號為Block1-Block5.每個Block包含多個卷積層和一個池化層,并且在同一Block中,不同卷積層輸出矩陣的大小相同。每個卷積層被稱為conv3-X-Y,其中conv3表示卷積核大小為3×3,X為卷積層的通道數,Y為該卷積層的位置。例如:Block1包含2個卷積層(conv3-64-1,conv3-64-2),1個max池化層;Block3包含3個卷積層(conv3-256-1,conv3-256-2,conv3-256-3),1個max池化層;Block5包含3個卷積層(conv3-512-1,conv3-512-2,conv3-512-3),1個max池化層。
RPN網絡是Faster R-CNN中最重要的改進。Faster R-CNN直接使用RPN生成區域建議框,這也是Faster R-CNN的巨大優勢,能極大提升區域建議框的生成速度。
通過主干網絡,Faster R-CNN網絡提取圖像的特征圖。RPN網絡對特征圖進行處理,得到一個尺寸為m×n的特征圖,對應將原圖劃分為m×n個區域,原圖的每個區域的中心由這個特征圖上的一個像素點坐標表示。通過錨點(anchor)機制,可以在每個像素點對應原圖的區域生成k個可能存在目標的候選框。RPN就是用來判斷每個像素點對應的k個區域是否包含目標,若包含目標,則修正區域建議框,并輸入檢測網絡。
檢測網絡包括ROI池化層以及分類回歸網絡。ROI池化層的主要作用是將主干網絡提取出的特征圖與RPN得到的區域建議框相結合,并將結合的特征圖轉換為7×7的恒定特征大小。將ROI池化層結合的特征向量輸入到分類回歸網絡進行分類和回歸,Faster R-CNN網絡最終得到缺陷的精確位置和類型。
對比傳統的Faster R-CNN算法,FF R-CNN在特征提取部分和檢測網絡部分提出改進。在特征提取部分,使用VGG-16來提取鋼材表面的圖像特征,并且通過特征圖的融合來減少特征圖中結構信息的減少;在檢測網絡階段,通過級聯2個IOU閾值不同的檢測網絡進行目標的分類和定位,以提高檢測精度。FF R-CNN網絡結構如圖3所示。

圖3 FF R-CNN網絡結構Fig.3 FF R-CNN network structure
VGG-16由卷積層、池化層和全連接層組成,用于提取圖像特征。距離網絡輸入部分較近的特征圖稱為低層特征圖,尺寸較大,結構信息準確,全局語義信息較弱,這樣的特征有利于目標的定位,但不利于目標的分類。通過卷積與池化操作,主干網絡逐漸減小了特征圖的大小,這意味著通過卷積和池化獲得的特征圖的接受度也變得越來越大。距離網絡輸出部分越近的特征圖稱為高層特征圖,尺寸較小,語義信息豐富,但結構信息有所減少,這樣的特征圖有利于目標的分類,但是不利于目標的定位。所以需要特征融合來保證特征圖中的結構信息不被減少,使得分類任務與定位任務均能有更高的精度。
如圖3所示,本文提出的FF R-CNN算法模型結構選擇將Block3的conv3-256-1和conv3-256-3融合,融合為新的conv3-512-4;將Block5的conv3-512-1和conv3-512-3融合,融合為新的conv3-1024-4.通過特征融合,得到了同時具有低層結構信息和高層語義信息的特征圖。表1為VGG-16與改進后主干網絡的結構對比。

表1 VGG-16與改進后的主干網絡結構對比Table 1 Comparison of VGG-16 and improved backbone network structure
FF R-CNN在Faster R-CNN的檢測網絡后增加了一個IOU閾值更高的檢測網絡,并且將2個檢測網絡進行級聯。檢測網絡以固定的IOU閾值訓練后獲得的邊界框比輸入建議框更準確,即邊界框的IOU高于原始輸入區域建議框[26]。同時,如果輸入區域建議框的IOU接近于檢測網絡訓練時設置的閾值,則模型對于目標的檢測精度會更高。但是,在訓練過程中盲目提高IOU閾值將導致負樣本過多。該模型很難正確學習到真實的目標特征,并且容易發生擬合不足的問題。因此,盲目提高IOU閾值對模型的檢測效果有負影響。
因此,FF R-CNN在檢測網絡部分級聯兩個檢測網絡D1-net和D2-net,并為D1-net和D2-net設置不同的IOU閾值。D1-net的IOU閾值為0.5,D2-net的IOU閾值為0.6.每個檢測網絡都是基于各自IOU閾值的正負樣本訓練得到。
FF R-CNN通過特征提取網絡提取到特征圖,之后由RPN網絡生成區域建議框,將這些區域建議框與特征圖結合送入IOU閾值為0.5的分類回歸網絡,得到經過修正的邊界框,再將這些邊界框送入IOU閾值為0.6的分類回歸網絡,得到更精確的邊界框。
為了驗證FF R-CNN的有效性,本文在NEU-DET鋼材表面缺陷樣本數據集上進行了測試。
NEU鋼材表面缺陷樣本數據集是缺陷分類數據集,包括裂紋、夾雜物、斑塊、凹面、軋制氧化皮和劃痕6種缺陷。每個缺陷類別包含300個圖像。6種缺陷圖像的示例如圖4所示。
NEU表面缺陷數據集只能完成缺陷分類任務。為了使NEU表面缺陷數據集能夠執行缺陷檢測任務,NEU-DET鋼材表面缺陷樣本數據集提供了XML文件的注釋。根據XML文件的注釋,分類數據集將可以作為檢測數據集使用。NEU-DET鋼材表面缺陷樣本數據集準確注釋圖像中每個缺陷的類型以及缺陷的左上角和右下角坐標,缺陷的邊界框由左上角坐標和右下角坐標確定。
本文在NEU-DET鋼材表面缺陷樣本數據集上進行鋼材表面缺陷檢測實驗。本文將NEU-DET鋼材表面缺陷樣本數據集分為訓練集和測試集,訓練集包含1 800張圖像,測試集包含180張圖像,在測試集中,6類缺陷均有30張圖像。利用訓練集,分別訓練了Faster R-CNN,僅在主干網絡部分進行特征融合的Faster R-CNN和FF R-CNN,并且在測試集上對3個網絡的性能進行了驗證。本文通過平均準確度(PA),評估了檢測實驗的結果,平均準確度能夠綜合考慮準確度(precision,P)和召回率(recall,R)兩個重要檢測指標。
(1)
(2)
(3)
式中:PT,PF和NF分別代表真陽性,假陽性和假陰性的數量。計算平均PA(PA,m)以評估整體性能,其計算公式為:
(4)
其中,Nc為檢測缺陷的類別數。
實驗的硬件環境為Intel Xeon E5-2620 CPU,NVIDIA TITAN Xp GPU,12GB顯存。軟件環境為CentOS 7,MX-NET架構,算法實現編程語言為Python.訓練時設置學習率(Learning rate)為0.001,訓練迭代次數為50次,Batch size取128.

圖4 6種類型的缺陷圖像示例Fig.4 Examples of six types of defect image
對Faster R-CNN、特征融合的Faster R-CNN與FF R-CNN做消融實驗,實驗結果如表2所示。Faster R-CNN的PA,m為84.06%,特征融合的Faster R-CNN的PA,m為95.92%,FF R-CNN的PA,m為98.29%.

表2 消融實驗Table 2 Ablation test
FF R-CNN提出的改進(特征融合和級聯檢測網絡)均能使檢測精度有明顯的提高。通過特征融合,主干網絡提取的特征圖同時具有低層結構信息和高層語義信息,特征圖包含了更多的圖像特征,使得PA,m提高了11.86%.通過級聯檢測網絡,第二個檢測網絡的IOU有所提高,因此檢測精度更高,PA,m提高了2.37%.NEU-DET鋼材表面缺陷樣本數據集中的6類缺陷檢測結果如圖5所示。

圖5 六類缺陷的檢測結果Fig.5 Test results of six kinds of defect
由圖5可以看出,本文提出的FF R-CNN與特征融合后的Faster R-CNN檢測效果均好于Faster R-CNN.其中,在裂紋、夾雜物、斑塊、凹面與軋制氧化皮的缺陷檢測中,FF R-CNN的檢測精度明顯高于Faster R-CNN.FF R-CNN與特征融合后的Faster R-CNN檢測效果對比,在裂紋、夾雜物與斑塊缺陷檢測中,FF R-CNN的效果更好。在劃痕檢測中,特征融合后的Faster R-CNN的檢測效果略優于FF R-CNN.
3.3.1主干網絡
對VGG-16與ResNet-50做對比實驗,實驗結果如表3所示。

表3 主干網絡Table 3 Detection results of different backbone networks
VGG-16的檢測精度為84.06%,優于ResNet-50的81.86%.VGG-16每秒可處理12.23張缺陷圖像,比ResNet-50更好。考慮到檢測速度,本文選擇VGG-16作為Faster R-CNN的主干網絡。
3.3.2特征融合
確定了VGG-16作為主干網絡,為了驗證特征融合能夠提高檢測精度,并確定最優的特征融合方案。本文實驗了多種特征融合方式,實驗結果如表4所示。

表4 特征融合檢測結果Table 4 Detection results of different feature fusion stratogios
策略A選擇將Block3中的conv3-256-1與conv3-256-3融合,Block4中的conv3-512-1與conv3-512-3融合,Block5中的conv3-512-1與conv3-512-3融合,PA,m可以提高8.12%;策略D選擇將Block3中的conv3-256-1與conv3-256-3融合,Block4中的conv3-512-1與conv3-512-3融合,PA,m可以提高10.59%.策略C選擇將Block4中的conv3-512-1與conv3-512-3融合,Block5中的conv3-512-1與conv3-512-3融合,PA,m可以提高10.92%.將Block3的conv3-256-1與conv3-256-3融合,Block5的conv3-512-1與conv3-512-3融合的策略B具有最佳的檢測精度,PA,m可以提高11.86%.上述融合方法檢測速度差異較小,Block3和Block5的特征融合策略的檢測精度明顯優于其他融合策略,可以實現最佳檢測。
3.3.3級聯檢測網絡
本文在進行特征融合后的Faster R-CNN后級聯一個IOU閾值為0.6檢測網絡,構成了FF R-CNN.對經過訓練后的FF R-CNN用測試集進行實驗,實驗結果見表5.與Faster R-CNN相比,FF R-CNN的檢測精度得到了極大的提高。Faster R-CNN的PA,m為84.06%.通過特征融合,本文將PA,m提高了11.86%,提高至95.92%.加入級聯檢測網絡后,本文的FF R-CNN將PA,m提高了2.37%,達到98.29%.

表5 級聯IOU閾值檢測結果Table 5 Detection results of cascading IOU threshold
表5表明,通過級聯不同IOU閾值的檢測網絡,在一定程度上提高FF R-CNN算法模型在NEU-DET數據集上的[4]檢測精度。策略A將IOU閾值為0.5的檢測網絡與IOU閾值為0.7的檢測網絡級聯,可以將PA,m提升1.71%;策略C將IOU閾值為0.5的檢測網絡與IOU閾值為0.6的檢測網絡級聯,可以將PA,m提升2.37%;策略B將IOU閾值為0.6的檢測網絡與IOU閾值為0.7的檢測網絡級聯,可以將PA,m提升2.06%.通過對比可知策略C的檢測精度優于其他級聯策略。
檢測網絡的級聯,增加了算法模型的復雜度,使得計算量增加,檢測速度下降,但是下降的程度并不明顯。在檢測速度沒有明顯下降的情況下,FF R-CNN的檢測精度提高了2.37%.通過實驗結果可知,本文所提出的FF R-CNN可以大大提高NEU-DET鋼材表面缺陷樣本數據集的檢測精度。部分檢測實例如圖6所示。

圖6 部分檢測實例Fig.6 Test example
3.3.4與其他模型的比較
將本文的算法模型與Faster R-CNN,SSD,YOLOV3模型進行對比,結果如表6所示。從表中可知,Faster R-CNN與SSD,YOLOV3對比,在NEU-DET鋼材表面缺陷樣本數據集上,Faster R-CNN的檢測精度為84.06%,要優于SSD的80.73%和YOLOV3的82.67%,但是SSD,YOLOV3的檢測速度更快。本文提出的FF R-CNN算法模型在檢測精度上明顯優于SSD與YOLOV3,這表明本文提出的方法更適合應用在實際生產過程中。

表6 不同模型檢測結果對比Table 6 Comparison of test results of different models
針對鋼材表面缺陷檢測的檢測精度低的問題,本文提出了一種高檢測精度的鋼材表面缺陷檢測算法,稱為特征融合和級聯檢測網絡的Faster R-CNN(FF R-CNN).在FF R-CNN中,對VGG-16特征提取網絡進行了特征融合。通過實驗對比,選擇對Block3和Block5進行特征融合,使其對鋼材表面缺陷具有更好的檢測效果。另外,FF R-CNN在主干網絡之后級聯2個IOU閾值不同的檢測網絡,進一步提高算法的檢測精度。在公共數據集NEU-DET上進行的實驗表明,FF R-CNN在檢測精度方面具有明顯的優勢,該算法將檢測精度從Faster R-CNN算法的84.06%提高到98.29%,檢測速度達到12.26 f/s,能夠滿足智能制造的生產需求,并且該算法模型還具有一定的泛化能力。雖然本文檢測算法模型能夠較好地完成鋼材表面缺陷的檢測任務,但是在檢測速度上仍有提升的空間,接下來將對檢測速度的提升做進一步的工作。