蔣美仙,鄭碧佩,鄭佳美,吳光華,周 健
(浙江工業(yè)大學 機械工程學院,浙江 杭州 310023)
制造金屬構件時,受焊接環(huán)境和工藝的影響,焊接處常常會產生裂紋等缺陷。傳統(tǒng)焊縫缺陷檢測依靠人工目視檢測,存在許多弊端,如要求檢測人員具有足夠豐富的經驗,檢測人員重復相同工作易產生視覺疲勞無法保證檢測精度等,更不能滿足現代化生產要求。半自動化檢測系統(tǒng)需要進行大量標注工作,由工人對焊縫缺陷的特征進行設計,容易受現場檢測環(huán)境、圖像背景紋理等因素的干擾,造成誤檢和漏檢問題。近年來隨著深度學習的發(fā)展,基于深度學習的焊縫缺陷檢測的相關研究已經取得了一定的成效。Allende等[1]采用一種以特征選擇算法和人工神經網絡為基礎的在線焊縫質量監(jiān)測處理技術,利用SFFS算法實現維數減小,對焊縫缺陷運用PCA算法進行檢測識別,打破了基于特征的焊縫缺陷檢測的局限。Yuan等[2]提出一種改進的產品表面缺陷檢測方法,實驗結果表明該方法在各種表面缺陷檢測中是有效的,與其他閾值分割法如最大熵法、價重法、奧圖法和修正的價重法相比,該方法展示了更好的分割結果。Huang等[3]提出了一種基于深度學習的全卷積網絡提取特征缺陷并進行語義分割的圖像識別算法。
通過查閱文獻可知:焊縫缺陷檢測研究大多遵循圖像分割、特征提取和缺陷分類等3個步驟。目前大多數基于深度學習的檢測方法使用的數據集都是基于數據研究,在圖像數據標注等環(huán)節(jié)需要人工參與,還未達到完全自動化,焊縫缺陷檢測領域還有廣闊的研究空間。筆者通過將深度學習技術應用到焊縫缺陷檢測中,設計自動化焊縫缺陷檢測算法,可以實時檢測焊接質量,推動焊接技術的自動化、智能化發(fā)展。
通過線陣激光三維掃描儀,沿著焊縫方向進行掃描,能夠快速獲取焊接部位的三維模型,如圖1所示為焊接部位三維點云圖。
圖1 焊接部位三維點云圖
金屬構件的焊接是在兩個平面的交界處,單純從二維角度拍攝,焊縫缺陷很難在二維圖像上得到呈現。缺乏焊縫的深度信息,容易對咬邊、破洞等缺陷產生誤判,故在算法內部設計擬合焊縫兩邊兩個平面,再分別垂直于這兩個垂直平面投影至二維深度圖,以45°角投影得到另外一個深度圖。從這3 個角度投影得到3 張深度圖,能夠在圖像上將焊縫缺陷更好地展現出來。
制造現場環(huán)境復雜,對焊縫缺陷識別前,一般需要采用圖像預處理技術改善圖像質量,圖像預處理流程包括圖像填充、圖像降噪及圖像增強,采用雙線性插值法[4]進行圖像填充,采用中值濾波算法[5]進行圖像降噪,采用Sin函數[6]進行圖像增強,其流程如圖2所示。
圖2 焊縫圖像與處理流程
使用原始生成的對抗網絡擴展圖像樣本時,通常會獲得圖像質量較低的人工樣本。當把這些低質量的樣本圖像用于后續(xù)的分類任務中時,最終評估指數將下降,因此使用循環(huán)一致性對抗網絡進行圖像數據擴展。焊縫樣本數據擴充結果示意圖見圖3,焊縫樣本數據擴充后樣本數量見表1。
圖3 焊縫樣本數據擴充示意圖
表1 擴充后樣本數據數量
焊縫缺陷檢測主要有兩個步驟,分別是定位和缺陷分類。定位包括焊縫區(qū)域定位和焊縫缺陷定位,準確地定位到焊縫區(qū)域是檢測的基礎。不同缺陷表現出的缺陷特征也不同,分析破洞、咬邊、裂紋和焊偏等4 種主要的焊縫缺陷特征。破洞缺陷的特征是在焊縫區(qū)域出現不規(guī)則性空洞;咬邊缺陷的特征是在焊縫邊緣區(qū)域出現類似于齒印的形狀;裂紋缺陷的特征是在焊縫區(qū)域出現細長的空洞;焊偏缺陷的特征是焊縫的紋路在某一段突然變窄。
設計4 種基于缺陷特征的焊縫缺陷檢測方法,分別基于閾值分割判定、基于邊緣寬度均勻性判定、基于區(qū)域厚度均勻性判定和基于邊緣矢量均勻性判定,這4 種方法的共同前提是定位焊縫邊緣。定位焊縫邊緣從左投影圖及右投影圖切入,焊縫區(qū)域對應的深度圖在焊縫左、右邊界梯度變化較快,從深度圖梯度變化的角度,可以通過梯度變化在左投影圖上搜索焊縫左邊緣、在右投影圖上搜索焊縫右邊緣,最后可在45°投影圖上將焊縫邊緣顯示出來,并進行后續(xù)的焊縫缺陷檢測。以左投影中搜索焊縫左邊界為例,其算法邏輯及結果如表2和圖4所示。
表2 搜索焊縫左邊界算法邏輯
圖4 焊縫左邊緣查找結果示例
分別進行基于閾值分割判定、基于邊緣寬度均勻性判定、基于區(qū)域厚度均勻性判定和基于邊緣矢量均勻性判定等焊縫缺陷檢測。閾值分割有固定閾值分割和自適應閾值分割。在有先驗認知的情況下可以使用固定閾值,根據三維點云投影得到焊縫的深度圖,其圖像灰度值具有不可預測性,故不宜采用固定閾值進行圖像分割,選擇采用自適應閾值分割的方法;邊緣寬度均勻性判定主要根據焊縫的橫向寬度均勻性指標進行焊縫的缺陷檢測,若焊縫有邊緣性缺陷,則邊緣寬度將表現出不均勻,如咬邊、焊偏等,可通過邊緣寬度均勻性指標進行檢測;區(qū)域厚度均勻性判定方法與邊緣寬度均勻性判定方法的思路類似,其區(qū)別是邊緣寬度均勻性判定是通過計算焊縫邊緣的寬度波動方差來進行判定,而區(qū)域厚度均勻性判定則是通過計算焊縫區(qū)域的厚度波動方差來進行判定。對于破洞、氣孔等缺陷,其焊縫區(qū)域在深度圖上會表現出厚度值波動較大的特征,可以通過區(qū)域厚度均勻性將其檢測出來;邊緣矢量均勻性判定是對邊緣寬度均勻性判定的補充,通過焊縫邊緣相鄰像素的矢量夾角的波動情況來檢測邊緣缺陷。
Deeplab網絡發(fā)展至今出現了幾代網絡模型,2015年Chen等[7]在Deeplab網絡基礎上提出了Deeplab-V2網絡,He等[8]將空洞卷積與空間金字塔池化方法相結合提出ASPP算法,Deeplab-V2網絡設計了不同的空洞卷積核。2017年Chen等[9]在此基礎上聯級多個空洞卷積模塊,并對ASPP進行改進,提出Deeplab-V3網絡。Deeplab-V3網絡是在Deeplab-V1網絡及Deeplab-V2網絡基礎上作了進一步改善,添加了BN層,以獲得多尺度信息。此外,與Deeplab-V1網絡及Deeplab-V2網絡不同,全連接條件隨機場作為后階段處理過程,獨立于卷積網絡之外,沒有完整融入到分割模型的訓練中,因此Deeplab-V3網絡減少了全連接條件隨機場的使用。ResNet(Residual neural network)網絡是優(yōu)秀的深度卷積神經網絡架構,Deeplab-V3網絡中運用了ResNet網絡相關方法。
Deeplab-V3的模型結構[10]如圖5所示,該模型由一個編碼器與一個解碼器構成。編碼器的作用是捕獲焊縫的邊界,包括兩個模塊,分別是Xception模塊和ASPP模塊。前者可以利用較少的參數抓取焊縫特征,后者則可以通過池化不同分辨率的特征,以捕獲焊縫的信息;Xception模型結構[10]如圖6所示,該模型由一個編碼器和一個解碼器構成。編碼器的作用是捕獲焊縫的邊界,包括兩個模塊,分別是Xception模塊和ASPP模塊。前者可以利用較少的參數抓取焊縫特征,而后者則可以通過池化不同分辨率的特征,以捕獲焊縫的信息。ASPP模塊結構[10]如圖7所示,該模塊包括ASPP1,ASPP2,Aspp3,ASPP4,ASPP5等5 個部分。其中ASPP1模塊中的卷積含有256 個通道且卷積核為1;ASPP2,ASPP3,ASPP4模塊中的卷積均為256 個通道,卷積核均為3,擴張率分別為6,12,18;ASPP5模塊中的卷積含有256 個通道且卷積核為1。ASPP1,ASPP2,Aspp3,ASPP4,ASPP5等5 個部分均包含ReLU激活函數,其中ASPP5模塊中增加了全局池化且與雙線性插值操作。
圖5 Deeplab-V3網絡模型結構網
圖6 Xception模型結構圖
圖7 空洞空間金字塔池化結構圖
由圖5~7可知:Deeplab-V3網絡不僅可以有效進行圖像分割,還可以對樣本進行標注生成標簽圖,標簽使用W顏色通道標注當前焊縫缺陷的區(qū)域,標簽圖像如圖8所示。
圖8 標簽圖
基于MNet的Deeplab-V3模型訓練數據集來源于Deeplab-V3網絡的分割及標注,數據集一共有12 764 張圖片和對應的標簽圖片,圖片分辨率為80×160。數據集混合了不同時間、不同作業(yè)環(huán)境的圖片,包括夜間、早上和下午。模型使用Pytorch框架進行訓練,訓練時將數據集隨機分為訓練集和驗證集,其中訓練集大小為數據集的90%,驗證集大小為數據集的10%,設置epoch=10,bach_size=4。表3為Deeplab-V3模型在焊縫數據集下的訓練誤差和驗證誤差收斂情況。
表3 Deeplab-V3模型的訓練誤差和驗證誤差收斂情況
基于MNet的Deeplab-V3焊縫缺陷檢測流程如圖9所示,以滑動窗口為基礎的MNet網絡對標簽圖進行處理后生成概率圖,基于概率圖生成邊界框進行高斯平滑,再做非極大值抑制操作計算生成焊縫缺陷檢測結果。
圖9 MNet網絡檢測方法流程
基于Deeplab-V3網絡分割的焊縫缺陷圖像數據集構建分類測試集、訓練集和驗證集,并基于循環(huán)一致性生成對抗網絡擴充的樣本數據,將切割出的缺陷子塊進行4 個角度旋轉(0°,90°,180°,270°),最終得到缺陷圖像子塊的數量如表4所示。
表4 缺陷子塊數量表
對焊縫缺陷圖像子塊集使用3 種不同的優(yōu)化算法訓練MNet模型,分別是Momentum,RMSProp和Adam。不同損失函數的分類準確率如表5所示。
表5 優(yōu)化函數結果對比表
Adam優(yōu)化算法明顯優(yōu)于Momentum和RMSProp,它使用的epoch數量更少,卻能達到更高的準確率。使用Adam算法后,結果的平均準確率大約提升11%。可見,合適的優(yōu)化算法不但能夠減少訓練次數,而且還能提升準確率。
基于AHP和FCE[11-12]的焊縫缺陷檢測方法評價,先建立評價指標體系,運用層次分析法確定各指標權重,再運用模糊綜合評判法對兩種焊縫缺陷檢測方法進行綜合評價,計算出綜合隸屬度、綜合得分和指標得分率,最后得出兩種焊縫缺陷檢測方法綜合得分。基于特征的焊縫缺陷檢測方法綜合得分為75.05 分,基于深度學習的焊縫缺陷檢測方法綜合得分為90.890 分。綜上可知基于深度學習的焊縫缺陷檢測方法優(yōu)于基于特征的焊縫缺陷檢測方法。
焊縫缺陷檢測系統(tǒng)主要包括五大模塊,軟件整體流程如圖10所示。設計焊縫缺陷檢測系統(tǒng)的登陸界面如圖11所示。圖12為系統(tǒng)圖像處理的主界面,顯示了一幅焊縫圖像,用戶可以進行圖像變換、圖像缺陷提取、圖像分割和邊緣檢測等操作。
圖10 軟件整體流程圖
圖11 焊縫缺陷檢測系統(tǒng)界面
圖12 圖像處理主界面
圖像處理操作后,進行焊縫圖像識別操作,先提取焊縫缺陷的特征不變矩參數和形狀特征參數,再通過深度學習模型訓練數據完成對缺陷的識別,最后由等級評定模塊完成焊縫等級評定。圖13~15分別為焊縫缺陷檢測界面、焊縫等級評定界面和焊縫等級評定結果界面。
圖13 焊縫缺陷檢測界面
圖14 焊縫缺陷評定界面
圖15 焊縫缺陷等級評定結果界面
焊縫缺陷檢測具有成像難、易受噪聲干擾等特點,傳統(tǒng)的焊縫檢測方法存在許多弊端。首先,采用三維激光線掃方式獲取焊接部位的三維點云模型,得到了3 個角度的投影,利用循環(huán)一致性對抗網絡對焊縫樣本數據進行擴充;其次,提出了基于Deeplab-V3模型焊縫缺陷自動化檢測算法,并與傳統(tǒng)的基于特征的焊縫缺陷檢測算法進行對比,得出基于深度學習的焊縫缺陷檢測的檢測效果較好;最后,開發(fā)了焊縫缺陷檢測系統(tǒng),進行測試和校驗,驗證了基于Deeplab-V3模型的焊縫缺陷檢測模型的可行性和有效性。同時,實際工廠車間檢測環(huán)境復雜,而且焊接種類多樣,深度神經網絡參數規(guī)模大,要實現一種適用于復雜環(huán)境的基于深度神經網絡的焊縫缺陷檢測,并達到良好的檢測效果,還需進一步研究。