谷 靜 謝澤群 張心雨
(西安郵電大學 電子工程學院,陜西西安 710121)
隨著工業水平的提高,焊接技術已被廣泛應用于裝備制造、冶金工業、航空航天等重要領域。但在焊接時,受生產設備及工藝的影響,焊接件存在裂紋、氣孔、未熔合及未焊透等各種缺陷[1],傳統無損檢測需要檢測人員在計算機輔助下,從大量焊縫缺陷圖像[5]中進行識別,長時間、多批次的檢測工作造成人眼視覺疲勞,導致漏檢誤檢,因此,如何利用深度學習等新興技術實現焊縫缺陷圖像的自動識別成為當前研究的熱點[2]。
近幾年,深度學習領域隨著計算機性能的逐步提升得到了快速發展。2014年,Girshick等[3]提出區域卷積神經網絡(Regions with Convolutional Neural Network,RCNN)模型,其利用選擇性搜索方法和支持向量機進行候選區域選擇和目標檢測,并采用目標區域池化共享計算提出快速區域卷積神經網絡(Fast RCNN)模型,提高了模型的工作效率;Ren等[4]針對Fast RCNN模型提取候選特征區域時間較慢的問題,引入區域生成網絡(Region Proposal Network,RPN),并將其與檢測網絡共享圖像的卷積特征,設計了Faster RCNN模型。侯春萍等[5]將深度學習中亞歷克斯網絡與Faster RCNN框架訓練的檢測器組成級聯網絡進行電網絕緣子缺陷的自動檢測,為故障檢修提供基礎;王森等[6]針對全卷積網絡(Fully Convolutional Network,FCN)模型易丟失局部信息和精細化描述能力不足問題,通過深度增加和添加高尺度反卷積層等措施構建改進FCN模型,并提出基于改進FCN模型裂紋缺陷識別方法,算法有效增大裂紋信息選擇和擴充局部精細細節,取得較好的檢測精度;Cha等[7]將Faster RCNN模型應用于高壓電線缺陷檢測,并通過圖像旋轉圖像和加入正態分布的高斯雪花進一步提升檢測效果;張玉燕等[8]提出基于Faster RCNN模型的點陣結構內部缺陷檢測方法,結合工業CT圖像,通過設計特征提取網絡,實現對斷層缺陷的快速、智能檢測定位;Takeshi等[9]將Faster RCNN模型應用于火花塞缺陷的精確檢測和提取,在利用圖論方法檢測并校正焊縫直線后,通過Faster RCNN模型構建判別系統,算法提高了缺陷檢測的效率和準確率;李宜汀等[10]提出基于Faster RCNN的表面缺陷識別與定位算法,算法在區域規劃和K折交叉驗證基礎上,將稀疏濾波思想引入模型并提取雙重深度特征輸入,提升了模型的位置檢測和識別的精度。
與人工設計的特征比起來,深度學習神經網絡提取的特征魯棒性更好,語義信息更豐富,已在人臉識別、語義識別、目標檢測等領域取得了巨大成果[11],為此,根據已有研究,針對傳統Faster RCNN模型在焊縫缺陷中對較小目標檢測不理想問題對提出改進Faster RCNN焊縫缺陷算法,改進算法將淺層網絡與高層網絡提取的特征共同作為后續環節的輸入,以增強特征對缺陷細節的描述能力,并優化錨點參數以提高目標框定位的準確性,改進RPN結構,增加滑動窗口來提高模型的檢測能力。實驗驗證了算法的有效性。
卷積神經網絡的淺層網絡能夠提供更多的細節信息,是屬于細節化特征,但其所提供的語義信息比較稀疏;相反,深層網絡提供的特征經過多次下采樣,保留了整體信息而忽略細節信息,所以語義信息十分豐富,為整體化的特征。
小尺寸缺陷目標是指由于待測目標自身的實際物理尺寸過小或者與拍攝設備距離偏遠導致其在圖片中占比較小[12],如圖1所示為焊接過程中常見的小尺寸缺陷目標。其中,圖1(a)描述了焊縫缺陷中的氣孔,其實際的物理尺寸相比較其他類別缺陷而言要小很多,圖1(b)描述了在焊接中常遇到的短裂紋缺陷,圖1(c)描述了焊接未熔合造成的缺陷,圖1(d)為焊接未焊透造成的小缺陷目標。

圖1 各類焊縫缺陷X射線影像圖Fig.1 X-ray images of various weld defects
原始Faster RCNN模型通常選取VGG16網絡作為特征提取網絡,并其最后一層即CONV5層的輸出特征圖作為RPN的輸入,其較豐富的語義信息,對較大尺寸的缺陷目標具有較為理想的檢測效果,但對小尺寸缺陷目標的檢測效果不盡如意。為此,提出一種改進的多特征Faster RCNN方法,將淺層網絡提取的特征圖與深層網絡提取的特征圖共同作為后續環節輸入,在保持原始模型豐富的語義信息的同時,增加模型的細節描述能力,改進Faster RCNN模型的流程圖如圖2所示。

圖2 改進Faster RCNN流程圖Fig.2 Flowchart of the proposed improve Faster RCNN
從圖2可以看出,改進算法主要包含4個主要執行步驟。
1)特征提取:通過VGG16的CONV1層、CONV2層和CONV5層提取待檢測圖片多尺度特征,并將各層提取的特征圖輸送給各層對應的RPN網絡;
2)區域候選網絡:RPN網絡先通過softmax函數判斷特征圖的錨點的前后景屬性,然后再利用邊界框回歸來修正錨點,以獲得精確候選框,根據精確候選框,分別在各層的特征圖(feature map)上求取特征映射,得到候選框特征;
3)目標區池化(RoI Pooling):該層收集CONV1層、CONV2層和CONV5層輸出的特征圖及RPN網絡輸出的候選目標區域,并對每個區域進行最大池化操作,將候選區域轉換成維度一致的特征向量,然后輸入全連接層判定目標的類別;
4)目標分類(Classification):利用目標區域特征圖計算目標區域的類別,同時再利用邊界框回歸算法重定位檢測框的最終精確位置。
淺層網絡選用CONV1層和CONV2層的原因是其提取的特征更注重保留圖像的邊緣、紋理等細節,有利于小氣孔、短裂紋等微小缺陷目標的檢測。
不同層提取的特征圖送往其對應的RPN,由于各層神經元的感受野不同,因而每個RPN的錨點盒大小參數需要分別設置,具體的參數見表1。

表1 不同RPN的錨點尺寸參數Tab.1 Anchorscales parameters for different RPNs提取層參 數CONV1(2 4)CONV2(4 8)CONV5(4 8 16 32)
由于CONV5層的輸出特征圖中含有小缺陷目標,因而添加尺寸為4的錨點參數,以生成多個小面積的錨點盒來檢測小尺寸缺陷目標。另一方面,裂紋缺陷通常表現為條形,長寬比變化較為強烈,未焊透和未熔合缺陷比較相似,通常為細直黑線,部分在焊縫邊緣的未熔合缺陷表現為如圖1(c)中所示的不規則的黑色區域。為了能夠更準確的描述并檢測長條形缺陷目標,將CONV5層對應的RPN中錨點的長寬比設為(1∶3,1∶1,3∶1),同時,在RPN網絡中原始3×3滑動窗口基礎上,增加1×1和5×5的滑動窗口,三種不同的滑動窗口通過卷積之后再進行特征融合,改進的RPN結構如圖3所示。

圖3 改進模型中RPN結構圖Fig.3 RPN structure diagram in improved model
由于改進模型主要通過在模型后續環節引入較低層提取特征和增加滑動窗口來保留圖像的邊緣、紋理等細節及優化模型錨點的長寬比設置,來提高對小缺陷目標和不同尺寸缺陷目標的檢測準確性,原模型的后續環節保持不變,因而改進算法與原網絡模型相比,其計算復雜度和缺陷檢測時間基本保持不變,從而在保持原網絡模型運行效率的同時,提高對微波焊接缺陷目標的檢測能力。
數據集的大小和質量直接影響網絡學習的性能,文中實驗采用智利天主教大學發布的無損檢測X射線圖像數據集GDXray[13,14],其焊縫X射線圖片的像素尺寸為500×5000,以500×500對圖片進行裁剪、旋轉和翻轉,并與實驗室收集圖片混合組成2340張圖片的實驗數據集,按照8:2的比例分為訓練集和測試集,訓練圖片的批量大小設置為64。
模型的前向傳播的公式為
Y=sn(…(s2(s1(Xω1+b1)ω2+b2)…)ωn+bn)
(1)
式中:i=1,2,…,n,X、Y——網絡的輸入與輸出矩陣;ωi——權值矩陣;bi——偏置矩陣,si——各神經元激活函數,其在最后一層選用Softmax函數進行分類計算,其他層選用Relu函數,因為Relu函數在激活狀態下的梯度值較大且保持一致,可以有效減少訓練過程中的梯度消失或梯度爆炸等問題。
實驗完成一次前向傳播后,計算損失函數值,并更新算法權值,然后重新進行前向傳播,直至損失函數取最小值,損失函數交叉熵,其表達式為
(2)
式中:yij——期望輸出值;k——樣本的總類別數;N——訓練樣本總數;pi(x)——softmax函數。
交并比(Intersection over Union,IoU)指標可用于衡量同一圖像上不同區域的重合度,其表示為預測區域與真實標記區域之間的交集與并集的比值,表達式為
(3)
式中:D——模型預測區域;G——真實標記區域。
真正例、假正例和假反例是常用的基礎指標,通常情況,如果fIoU>0.5則認為該缺陷檢測結果為真正例,反之,如果fIoU≤0.5則認為該缺陷檢測結果為假正例,假反例表示有真實框但無檢測結果。在此基礎上,檢測精準率fpre和召回率frec的定義為
(4)
(5)
式中:fTP——檢測真正例指標;fFP——檢測的假正例指標;fFN——檢測的假反例指標。
平均精度(Average Precision,AP)是將某類目標的檢測結果按照置信度排序,然后按閾值得到精準率fpre和召回率frec的積分并計算其平均值,可以得到平均精度,其計算表達式為
(6)

實驗在tensorflow框架下運行,將最大迭代次數設為4000次。實驗過程采用變量控制方法。RPN的錨點長寬比由(1∶2,1∶1,2∶1)優化為(1∶3,1∶1,3∶1),并加入anchor scales為4的參數,參數優化前后的實驗結果對比見表2,表2中數據為多次實驗結果的平均值。

表2 長寬比變化對算法識別率影響(單位:%)Tab.2 Effect of aspect ratio changes(Unit:%)識別率裂紋未焊透未熔合氣孔fAP原始參數57.157.559.164.359.5更改參數60.858.960.364.661.2提高比例3.71.41.20.31.7
從表2實驗結果可以看出,錨點長寬比優化后,裂紋缺陷的識別率提高了3.7%,對長條形未焊透和未熔合缺陷的定位及識別率分別提高了1.4%和1.2%,氣孔的識別率只提高了0.3%,主要因為氣孔的面積相對較小,且長寬比基本沒有變化。參數優化后,模型的總體識別準確率提高了1.7%。
文中改進Faster RCNN模型,在傳統特征提取方法基礎上,將淺層網絡提取的特征與高層網絡提取的特征聯合作為后續環節的輸入,并根據各類缺陷的特點,設置相應的錨點參數以提高目標框定位準確性,測試數據的實驗檢測結果見表3,表3中數據為多次實驗結果的平均值。

表3 模型改進前后的識別率實驗結果(單位:%)Tab.3 Results before and after model improvement(Unit:%)識別率裂紋未焊透未熔合氣孔fAP原始模型60.858.960.364.661.2改進模型67.461.363.679.868.0提高比例6.62.43.315.26.8
從表3實驗比較結果可以看出,傳統Faster RCNN模型中增加淺層網絡特征圖后,未焊透缺陷和熔合缺陷的識別率分別提高了2.4%和3.3%,而氣孔缺陷和裂紋缺陷的識別率分別提高了15.2%和6.6%,有了明顯的識別準確率提高,主要因為改進模型增加了更多淺層特征圖的細節信息,有利于氣孔和短裂紋等微小缺陷的識別。改進模型的平均準確率提高了6.8%。

圖4 部分缺陷檢測實驗結果圖Fig.4 Partial defect detection experiment results
部分檢測結果如圖4所示,其中圖4(a)為原始網絡模型缺陷檢測結果,圖4(b)為文中改進Faster RCNN模型的缺陷檢測結果。從圖4實驗結果可以看出,改進Faster RCNN模型成功識別出了原始模型未識別出的小氣孔缺陷和特征較弱的短裂紋缺陷,同時對于長寬變化劇烈的裂紋等缺陷目標的檢測和定位更加準確。
為進一步驗證文中改進Faster RCNN模型的缺陷檢測性能,將其與已有文獻中的SPP-Net[13]和改進SSD網絡模型[15]進行檢測性能比較,多次實驗結果平均值見表4。

表4 不同網絡模型缺陷檢測結果比較Tab.4 Comparison of defect detection for different models實驗比較模型平均檢測精度(%)SPP-Net49.3SSD網絡模型55.7文中改進模型68.0
從表4可以看出,改進Faster RCNN模型對焊縫缺陷識別的準確率明顯高于SPP-Net和SSD網絡,具有更好的實用性。
綜合分析實驗仿真結果可知,文中改進Faster RCNN模型取得最優的缺陷檢測結果,對于微小缺陷目標仍取得較好的檢測精度,主要因為改進模型能夠充分利用低層特征豐富的細節信息,同時,不同尺度的特征圖所提取的不同特征共用同樣的分類和邊框回歸網絡,相當于廣義上的多任務聯合,可有效的避免數據量偏小造成的過擬合現象。
針對傳統Faster RCNN模型在進行焊縫缺陷檢測時對微小缺陷檢測效果不理想問題,設計了改進Faster RCNN模型,通過多層特征網絡提取不同尺度特征圖并共同作用于模型后續環節,從而增加模型輸入的細節信息,提高對較小缺陷的檢測效果;改進RPN結構,加入多種滑動窗口,從而優化了模型錨點的長寬比設置,提高檢測能力,實驗驗證了算法的有效性。