陳 琳,陳英蓉,龐再軍,劉冠良,潘海鴻
(廣西大學(xué)機械工程學(xué)院,南寧 530004)
焊接作為重要的材料加工工藝,廣泛的應(yīng)用在航天、造船等行業(yè),受焊接過程中各種參數(shù)穩(wěn)定性的影響,焊縫會出現(xiàn)如內(nèi)部小孔、夾渣、未焊透、裂紋等各種缺陷,而這些焊接缺陷影響焊接工件的使用壽命。為了保證焊接工件的產(chǎn)品質(zhì)量,工業(yè)檢測中通常采用超聲波檢測法、射線檢測法、磁粉檢測法、渦流檢測法、滲透檢測法等[1]對焊縫缺陷進行檢測,但是超聲波檢測法對缺陷定量分析存在困難,磁粉檢測法、渦流檢測法和滲透檢測法用于檢測工件表面及近表面缺陷,由于X射線檢測法速度快可實現(xiàn)實時監(jiān)測,通過其得到焊接缺陷圖像既可定性顯示焊接缺陷,又可測量尺寸,在工業(yè)監(jiān)測中X射線檢測法得到廣泛應(yīng)用,并采用的圖像處理方法對缺陷進行識別。
國內(nèi)外學(xué)者對X射線焊接缺陷圖像檢測的研究主要從傳統(tǒng)方法和深度學(xué)習(xí)方法兩方面進行。傳統(tǒng)方法首先在圖像中定位焊接缺陷,然后分割出焊接缺陷,并采用手工提取特征和編碼,最后利用分類器進行分類。李波等[2]使用小波變換降低圖像噪聲,通過邊緣檢測提取焊縫圖像的缺陷特征,整體正確率可至91.8%。陸藝丹等[3]利用區(qū)域標(biāo)記法分割出有效區(qū)域,可對焊接點中氣孔分布以及面積等缺陷參數(shù)進行自動監(jiān)測,可縮短檢測時間。但是傳統(tǒng)方法存在著識別準(zhǔn)確率低、識別速度慢等問題。故需要進一步改進,提高識別效率。由于卷積神經(jīng)網(wǎng)絡(luò)(CNN)可自主從焊接缺陷樣本上學(xué)習(xí)特征,可解決傳統(tǒng)方法存在著識別準(zhǔn)確率低、識別速度慢等問題。劉涵等[4]利用聚類算法對區(qū)域內(nèi)任意形狀大小的缺陷和噪聲干擾點進行分割,采用CNN和Softmax分類器相結(jié)合的算法進行分類,準(zhǔn)確率提高到94.6%。TRIPICCHIO等[5]主要利用遷移學(xué)習(xí)在小型和不平衡的焊接缺陷數(shù)據(jù)集上實現(xiàn)焊接缺陷分類。樊丁等[6]采用超像素分割算法和改進的ELU激活函數(shù)構(gòu)建CNN模型,提高焊接缺陷圖像的識別準(zhǔn)確率至97.8%。郭文明等[7]制作數(shù)據(jù)集WDXI,根據(jù)平均灰度值提取焊接面積,利用自適應(yīng)直方圖均衡進行圖像增強,利用雙中線模糊降噪,利用基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)進行分類。
上述方法在焊接缺陷圖像檢測中已實現(xiàn)顯著效果,但是依然存在一定的誤判率,而實際的工業(yè)檢測對X射線焊接缺陷圖像識別準(zhǔn)確率提出更高的要求。針對這些問題,本文給出一種基于EC(EfficientNet and CBAM)雙流模型的X射線焊接缺陷識別及分類方法,提高焊接內(nèi)部缺陷檢測的準(zhǔn)確率,使得缺陷檢測更加準(zhǔn)確,智能化。
EC(EfficientNet and CBAM)雙流模型由并行的網(wǎng)絡(luò)組成,并使用EfficientNet[8]作為并行網(wǎng)絡(luò)的基礎(chǔ)網(wǎng)絡(luò)(baseline),為提高模型泛化能力,避免訓(xùn)練過程梯度消失等問題,加入BN[9](batch normalization)層對特征提取訓(xùn)練過程進行優(yōu)化;為提高網(wǎng)絡(luò)局部特征注意力,引入CBAM[10](convolutional block attention module)機制;為降低模型計算量,提升模型收斂性能,采用GAP[11](global average pooling)和Softmax作為焊接缺陷分類器。EC雙流模型的結(jié)構(gòu)如圖1所示。
圖1 EC雙流網(wǎng)絡(luò)框架
EC雙流模型是一個端到端的模型,其基礎(chǔ)網(wǎng)絡(luò)EfficientNet采用新的模型復(fù)合擴張方法,結(jié)合神經(jīng)結(jié)構(gòu)搜索技術(shù),從網(wǎng)絡(luò)深度、網(wǎng)絡(luò)寬度、輸入分辨率三個維度來放大網(wǎng)絡(luò),該模型采用簡單、高效復(fù)合系數(shù)和更結(jié)構(gòu)化的方式對CNN進行放大,在計算量相當(dāng)?shù)那闆r下,其識別精度往往要優(yōu)于Inception[12]、ResNet[13]等模型。由于焊接缺陷圖像數(shù)據(jù)集比較小,為節(jié)省訓(xùn)練時間,提高各種類型缺陷分類準(zhǔn)確率,實驗采用ImageNet預(yù)訓(xùn)練EfficientNet模型作為缺陷特征提取網(wǎng)絡(luò),然后根據(jù)焊接缺陷特征微調(diào)模型參數(shù)。
EC雙流模型首先利用第一個網(wǎng)絡(luò)流EfficientNet網(wǎng)絡(luò)得到粗粒度焊接缺陷特征圖,第二個網(wǎng)絡(luò)流提取其細(xì)特征,并嵌入注意力機制CBAM生成注意力圖,通過注意力圖與粗粒度特征結(jié)合達到對焊接缺陷特征信息增強,實現(xiàn)對感興趣區(qū)域即缺陷區(qū)域的關(guān)注,減少與背景不相關(guān)信息對特征提取干擾。其過程如圖2所示,先經(jīng)過EfficientNet提取特征得到特征圖,再利用BN層對圖像的像素點計算均值和方差,并對數(shù)據(jù)做歸一化處理,見式(1)。使得EC雙流模型訓(xùn)練過程中CBAM模塊中每一層神經(jīng)網(wǎng)絡(luò)的輸入保持均值為0、方差為1的標(biāo)準(zhǔn)正態(tài)分布見式(2)。
(1)
(2)
為了關(guān)注更加細(xì)粒度的特征,EC雙流模型插入輕量化的注意力通用模塊CBAM,以實現(xiàn)注意力機制。CBAM包含兩個部分,CAM(channel attention module)和SAM(spatial attention module),分別進行通道與空間上的注意力。CAM關(guān)注焊接缺陷圖像的數(shù)據(jù)部分,將經(jīng)過BN層的數(shù)據(jù)利用最大池化層和平均池化層匯聚空間信息生成兩個1×1×N的特征向量,并將得到特征向量輸入多層感知機實現(xiàn)參數(shù)共享,特征融合后經(jīng)過Sigmoid激活函數(shù)得到焊接缺陷圖像的通道注意力圖,見式(3)。
SAM關(guān)注焊接缺陷圖像特征間的空間關(guān)系,將CAM得到的通道注意力圖利用最大池化層和平均池化層匯聚通道上生成兩個W×H×1的特征向量,并使得兩個向量成為W×H×2的特征圖,并利用卷積核對此特征圖提取特征,得到W×H×1的特征圖,經(jīng)過Sigmoid激活函數(shù)得到焊接缺陷圖像的空間注意力圖,見式(4)。空間注意力集中在輸入圖像的位置部分,是對通道注意力的補充。二者串聯(lián)一起實現(xiàn)CBAM的注意力機制。最后將EfficientNet得到粗粒度特征圖和CBAM得到的注意力特征圖結(jié)合得到第二個網(wǎng)絡(luò)流的焊接缺陷圖像特征圖。
(1)CAM(channel attention module)
W0∈RC/γ×CW1∈RC×C/γ
(3)
式中,σ是激活函數(shù);W0、W1是多層感知機的權(quán)重。
(2)SAM(spatial attention module)
Ms(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))=
(4)
式中,σ是激活函數(shù);f7×7是7×7的卷積網(wǎng)絡(luò)。
EC雙流模型的兩個網(wǎng)絡(luò)分別得到兩種特征圖,并通過外積的方式將其匯合成最終的特征信息,并輸入GAP層,如圖2所示。最終在模型最后一層達到特征融合,特征融合能得到與目標(biāo)數(shù)量一樣多的特征圖,GAP對所接收到的每一個特征圖都進行全局平均池化降維操作,將尺寸為h×w×d的張量縮小為1×1×d大小的張量,并將得到特征張量輸入到Softmax激活函數(shù)實現(xiàn)焊接缺陷分類。采用GAP替代全連接層,能有效降低參數(shù)計算量,防止過擬合現(xiàn)象發(fā)生。
圖2 CBAM機制網(wǎng)絡(luò)結(jié)構(gòu)圖
為了評價所提出模型對焊接缺陷分類測試結(jié)果,訓(xùn)練完成后分別計算精度(precision)和召回率(recall),并利用綜合評價指標(biāo)F1作為準(zhǔn)確率和召回率的評估值。
(5)
(6)
(7)
式中,TP為預(yù)測為正的正樣本;FP為預(yù)測為正的負(fù)樣本;FN為預(yù)測為負(fù)的正樣本;precision為精度;recall為召回率。
焊接缺陷數(shù)據(jù)集由兩部分組成,分別是焊接缺陷GDXray[14]數(shù)據(jù)集和實驗采集X射線焊接缺陷數(shù)據(jù)。在整張原始的焊接缺陷圖像中,感興趣區(qū)域所占比例比較小,利用整張圖像進行訓(xùn)練計算量過大,根據(jù)焊接缺陷的類型和大小,將含有缺陷圖像裁切為64×64大小作為感興趣區(qū)域。焊接缺陷數(shù)據(jù)集包含裂紋、未焊透、小孔、夾渣4類缺陷如圖3所示,共5762張圖片。最后將數(shù)據(jù)集分為訓(xùn)練集和測試集,其中訓(xùn)練集5185張,測試集577張。分類卷積神經(jīng)網(wǎng)絡(luò)實驗并未對圖片進行其他預(yù)處理。
圖3 部分X射線焊接缺陷圖像
實驗是在Ubuntu18.04操作系統(tǒng)上進行,軟件環(huán)境為Anaconda3.6.0,python3.7,CUDA10.0,cuDNN8.0,采用的第三方庫是Numpy,Matplotlib,TensorFlow,Keras。硬件采用GPU為NVIDIA Tesla P100顯卡。CPU為Intel Xeon Gold 6126。
在實驗的過程中涉及到batch_size大小、學(xué)習(xí)率、優(yōu)化器、迭代次數(shù)等參數(shù)如表1所示。
表1 實驗參數(shù)設(shè)置
EC雙流模型采用不同模型作為特征提取基礎(chǔ)網(wǎng)絡(luò),分別利用ResNet50、VGG16、VGG19和EfficientNet這4種預(yù)訓(xùn)練網(wǎng)絡(luò)模型作為EC雙流模型基礎(chǔ)網(wǎng)絡(luò)進行對比試驗。在焊接缺陷圖像測試集得到結(jié)果如表2所示,與ResNet50、VGG網(wǎng)絡(luò)相比,EfficientNet識別準(zhǔn)確率提升約7.28%,召回率Recall和綜合指標(biāo)F1分別提升15.6%、16.4%,實驗結(jié)果可知,采用EfficientNet作為基礎(chǔ)網(wǎng)絡(luò)能有效提升焊接缺陷識別準(zhǔn)確率。
表2 不同特征提取網(wǎng)絡(luò)在雙流模型上的性能
圖4是在數(shù)據(jù)集上模型訓(xùn)練和測試情況,隨著迭代次數(shù)增加識別準(zhǔn)確率呈增長趨勢,損失值由快變慢呈降低趨勢;在迭代次數(shù)為10時,模型基本達到穩(wěn)定收斂狀態(tài)。在相同的訓(xùn)練參數(shù)下,進行多次訓(xùn)練后發(fā)現(xiàn),每次訓(xùn)練后得到識別準(zhǔn)確率穩(wěn)定在99.13%。實驗結(jié)果證明,采用BN和GAP優(yōu)化EC雙流模型具有比較好魯棒性。
(a)EC雙流模型的正確率 (b)EC雙流模型的損失值
圖5根據(jù)EC雙流模型在測試集上分類結(jié)果繪制得到的混淆矩陣,得到更多識別精度與分類結(jié)果。
圖5 測試集分類結(jié)果的混淆矩陣
為進一步驗證所提的EC雙流模型的性能,在參數(shù)一致情況下(同表1所示),將其與VGG16、BCNN(VGG16)、Xception進行對比實驗。
圖6是4種模型在測試集上準(zhǔn)確率變化情況,圖7是4種模型在測試集上的損失值變化情況。
圖6 各個模型的迭代正確率
圖7 各個模型的迭代損失值
在相同的迭代次數(shù)下,隨著迭代次數(shù)的增加,EC雙流模型和BCNN逐漸收斂,曲線變化趨于平緩;Xception波動大收斂慢。EC雙流模型在4種方法中收斂速度最快,準(zhǔn)確率最高,損失值最小。
由表3可知,EC雙流模型比VGG16參數(shù)量減少25.6%,準(zhǔn)確率高13.69%;EC雙流模型相對于BCNN準(zhǔn)確率提升2.6%,參數(shù)量下降96%;EC雙流模型相比Xception準(zhǔn)確率提升0.98%,但參數(shù)量和耗時卻只有Xception 1/2。這說明所提方法在數(shù)據(jù)集上識別準(zhǔn)確率高,可以用于X射線焊接缺陷質(zhì)量檢測。
表3 各個網(wǎng)絡(luò)分類結(jié)果對比
本文針對裂紋、氣孔、夾渣、未焊透4種典型焊縫缺陷數(shù)據(jù)集進行擴充得到數(shù)據(jù)集,通過建立EC雙流模型,經(jīng)訓(xùn)練后可實現(xiàn)缺陷類型的自動識別,并具有較高的準(zhǔn)確率、魯棒性及抗干擾能力?;贓C雙流模型的X射線圖像缺陷類型的自動識別技術(shù),可有效提高對焊縫典型缺陷類型識別的效率和準(zhǔn)確性。缺陷自動識別網(wǎng)絡(luò)的識別效果顯示:各類缺陷間的識別和區(qū)分能力較好,該結(jié)論對于降低檢測人員主觀因素干擾和工作強度具有重要的應(yīng)用價值。但是仍有一些問題待解決,例如單張圖片的預(yù)測時間比較長,后續(xù)工作需要進行復(fù)雜度優(yōu)化,減少缺陷檢測時間。