杭小虎 王海
摘要:隨著工業(yè)技術的發(fā)展,焊接機器人被廣泛應用于現(xiàn)代工業(yè)中的焊接工作,使焊接作業(yè)更加自動化和智能化。然而,受焊接環(huán)境、材料屬性和技術的限制,焊接機器人作業(yè)后產(chǎn)生的焊縫存在各種隱患和問題。為了準確識別焊縫類型并加以改進,研究人員利用人工智能算法和技術進行處理,特別是深度學習模型使視覺識別方面的準確度不斷提高,成為了主流方法?;谏疃葘W習,文章研究焊縫識別方法,選用卷積系列網(wǎng)絡、自注意力網(wǎng)絡和Transformer模型進行焊縫識別工作,為焊縫識別問題提供了新的解決方案。
關鍵詞:深度學習;焊縫圖像識別;卷積神經(jīng)網(wǎng)絡;注意力機制;工業(yè)智能
中圖分類號:TP311.1? 文獻標志碼:A
0 引言
自動化的普及使得焊接作業(yè)變成了以機器人為主,人工為輔的新型焊接作業(yè)模式,大大提高了現(xiàn)實工作中的焊接效率,減輕了人工的工作負擔,提高了生產(chǎn)效率。但是,這種由機器人進行焊接的方式同樣存在著不足和隱患。
實際上,焊接機器人和工人一樣,焊接機器人作業(yè)后產(chǎn)生的焊縫往往受到焊接所處環(huán)境、焊接材料屬性以及焊接機器人技術的限制,產(chǎn)生各種隱患和問題。這些問題是引發(fā)事故的重大隱患。因此,工業(yè)界和學術界正在專注于解決關于如何準確識別焊縫類型的問題,并有針對性地進行改進。
基于深度學習的焊接縫隙識別是利用深度學習技術,結合目標檢測、圖像識別等視覺領域的主流方法進行焊縫的質(zhì)量識別,進而輔助進行質(zhì)量評估。本文首先從圖像分類的技術發(fā)展路線出發(fā),對圖像識別領域,尤其是對焊縫進行處理中涉及的基礎理論進行了詳細陳述,進而梳理了焊縫識別的相關工作。之后介紹了焊縫識別中的數(shù)據(jù)形式和數(shù)據(jù)集特點,為實驗部分提供了參考。最后,通過復現(xiàn)焊縫識別中的關鍵技術,在自有數(shù)據(jù)集上進行充足的實驗,對比了不同方法的異同之處以及存在的問題和改進的方向,為后續(xù)焊縫識別問題的不斷優(yōu)化提供了科學的基礎和方向。
1 相關工作
1.1 圖像分類模型與方法
1.1.1 基于統(tǒng)計與機器學習的圖像識別
基于統(tǒng)計學習的圖像識別主要是利用傳統(tǒng)機器學習方法,如貝葉斯決策、SVM以及K近鄰等有監(jiān)督分類算法,以及聚類、馬爾科夫鏈、條件隨機場等無監(jiān)督分類算法對視覺圖像進行分類。對焊縫識別而言,有許多學者將機器學習算法與深度學習相結合,利用深度學習的特征學習能力學習更好的特征,再利用機器學習分類算法完成分類。
1.1.2 基于深度學習的圖像分類
基于深度學習的分類方法主要為卷積和注意力2個分支。對于卷積方法而言,從ALexNet到如今廣受歡迎的ResNet,卷積主要對圖像的二維信息進行分級建模,提供調(diào)整感受野的大小來學習不同尺度的信息。
基于注意力機制的方法是近幾年來新興的具有更加出色性能的分類方法。其中,ViT是Transformer模型在視覺中應用的第一個實例,也是焊縫識別目前常用的方法之一。
1.2 工業(yè)焊縫數(shù)據(jù)集與技術應用
本文采用的焊縫數(shù)據(jù)集是經(jīng)過實際焊接過程中激光跟蹤記錄得到的,采樣頻率一般為50 Hz,能夠檢測到寬度在55 mm以內(nèi)的焊縫。
采集得到的圖像原始分辨率為1 024×1 024,如圖1所示。原始圖像往往具有較多的噪聲和干擾像素。對于數(shù)據(jù)集的處理也聚焦在前期的去噪和調(diào)整像素等方面。
圖1 焊縫圖像
將采集到的焊縫圖像先經(jīng)過歸一化處理,得到歸一化圖像數(shù)據(jù),再調(diào)整圖像分辨率,使其降低至224×224和380×380,如圖2所示[1]。
對數(shù)據(jù)集的劃分,采取5折交叉驗證的策略,劃分為3部分。
圖2 焊縫圖像與標注圖像
2 理論與技術基礎
2.1 圖像數(shù)據(jù)稀疏表征
圖像數(shù)據(jù)稀疏表征是指將二維多通道的圖像數(shù)據(jù)進行向量量化,在特征空間中尋找一個最能代表圖像特征的目標向量,作為該圖像的表征,以此進行分類或者執(zhí)行其他任務。
圖像的稀疏表征通常具有以下幾個過程:(1)將圖像的樣本進行歸一化處理;(2)應用聚類算法對樣本進行聚類分析,得到聚類中心;(3)尋找所有樣本的最近鄰聚類中心。
稀疏表示的公式為:
minU,V∑Nn=1‖xn-unV‖2(1)
2.2 主成分分析法
主成分分析法(Principle Component Analysis,PCA)是經(jīng)典的機器學習算法,其原理是在原始數(shù)據(jù)的N維空間中尋找數(shù)據(jù)分布的最大分布量和分布方向,以此來進行后續(xù)分類或者其他機器學習任務。
焊縫識別的主成分分析法的基本原理是:將焊縫圖像進行預處理,將像素進行歸一化和去中心化,得到具有特定分布的數(shù)據(jù);隨后,將圖像數(shù)據(jù)集合應用主成分分析法,經(jīng)優(yōu)化得到分析結果;最后將結果結合分類問題優(yōu)化函數(shù)進行優(yōu)化求解,得到類別預測結果。
2.3 自編碼器
自編碼器是一種對稱式的神經(jīng)網(wǎng)絡結構,自編碼器具有相同的輸入和輸出內(nèi)容,是一種基于無監(jiān)督學習方式訓練的網(wǎng)絡類型。
自編碼器的優(yōu)化方式為預測其輸入內(nèi)容,也就是將模型優(yōu)化到能夠輸出自身的輸入,即可完成目標。在這個過程中,自編碼器學習到了輸入圖像的各級特征,如語義、紋理、形狀等,自編碼器的結構如圖3所示。
圖3 自編碼器結構
自編碼器的構成一般有以下3部分。(1)編碼模塊:負責對輸入圖像進行圖像編碼,以進行抽象表示。(2)隱藏層模塊:學習圖像的最小單位表示;(3)解碼器模塊:重建輸入。
2.4 手工特征與大數(shù)據(jù)方法
手工特征階段指的是基于SIFT特征的圖像識別方法,在進行實際應用中,由于卷積神經(jīng)網(wǎng)絡的普及和強大能力,手工特征如今正在逐漸退出主流任務中。
大數(shù)據(jù)方法指利用海量數(shù)據(jù)的規(guī)律性對模型進行魯棒性提升,以提高模型的分類精準度,常用的大數(shù)據(jù)方法包括數(shù)據(jù)增廣、模型集成以及模型微調(diào)。
2.5 深度神經(jīng)網(wǎng)絡
2.5.1 卷積神經(jīng)網(wǎng)絡
2012年,AlexNet橫空出世,首次證明了學習到的特征可以超越手工設計的特征,并一舉打破了計算機視覺研究的現(xiàn)狀。AlexNet使用了8層卷積神經(jīng)網(wǎng)絡,如圖4所示[2]。
圖4 AlexNet結構
雖然AlexNet證明深層神經(jīng)網(wǎng)絡卓有成效,但它沒有提供一個通用的模板來指導后續(xù)的研究人員設計新的網(wǎng)絡。使用塊的想法首先出現(xiàn)在牛津大學的視覺幾何組(Visual Geometry Group,VGG)的網(wǎng)絡中。通過使用循環(huán)和子程序,可以很容易地在任何現(xiàn)代深度學習框架的代碼中實現(xiàn)這些重復的架構。
但是,隨著卷積神經(jīng)網(wǎng)絡的層數(shù)不斷增加,由于新模型可能得出更優(yōu)的解來擬合訓練數(shù)據(jù)集,因此添加層似乎更容易降低訓練誤差。針對這一問題,李昱[3]的研究中提到的殘差網(wǎng)絡(ResNet)在2015年的ImageNet圖像識別挑戰(zhàn)賽奪魁,并深刻影響了后來的深度神經(jīng)網(wǎng)絡的設計。殘差網(wǎng)絡的核心思想是:每個附加層都應該更容易地包含原始函數(shù)作為其元素之一。于是,殘差塊(Residual Blocks)便誕生了,這個設計對如何建立深層神經(jīng)網(wǎng)絡產(chǎn)生了深遠的影響。
2.5.2 自注意力和Vision Transformer
注意力(Attention)是指人們對于外界不同事物的關注程度。隨著科技水平的進步,人們能夠接觸到的外界事物和信息越來越多,注意力也開始成為一種稀缺資源。在“注意力時代”,人們需要對外來的信息進行選擇性地接收,這一過程需要注意力的密切參與。
作為模仿人腦神經(jīng)工作原理的神經(jīng)網(wǎng)絡,在面對諸多信息和數(shù)據(jù)時,也需要提高注意力水平,才能更好地發(fā)掘和學習到關鍵的內(nèi)在聯(lián)系。因此,注意力機制應運而生。
注意力機制的思想并非近些年才有的。早在1964年,就有統(tǒng)計學家提出了類似的技術。當時的方法叫做Nadaraya-Watson核回歸。對于回歸問題,傳統(tǒng)方法往往使用平均匯聚來計算訓練集上的輸出值,以此做平均得到真實值。實際上,這種處理方式會有很大的誤差,當數(shù)據(jù)特征關系較為復雜時,僅僅使用平均匯聚難以突出關鍵因素的影響,反而平滑了關鍵因素的作用。
Nadaraya[4]和Watson[5]提出了更好的方法:根據(jù)輸入數(shù)據(jù)的關系對輸出進行加權,從而使影響力大的特征占據(jù)更大權重。
f(x)=∑ni=1K(x-xi)∑nj=1K(x-xj)yi(2)
對于函數(shù)K,使用高斯核進行計算。故Nadaraya-Watson核回歸也叫注意力匯聚函數(shù)。
Nadaraya-Watson核回歸是基于統(tǒng)計學和經(jīng)典機器學習思想的注意力機制,以神經(jīng)網(wǎng)絡和深度學習思想為根據(jù)的注意力機制是在2017年提出的。
Vaswani等[6]提出了真正的注意力機制,
首先定義了3個向量:Q(Query)查詢、K(Key)鍵、V(Value)值。注意力就是通過Q、K、V 3個向量的計算體現(xiàn)的。
其思想是,對于給定的K = [k1,k2,…,km]和V=[v1,v2,…,vm],使用Q = [q1,q2,…,qn]對K進行匹配,經(jīng)Softmax層得到各維的相關性大小,記為α(Q,K),也叫注意力分數(shù)。計算結果時,將注意力分數(shù)與V進行加權求和即可。
注意力分數(shù)的計算過程如圖5所示。
注意力的計算分為2類:加性注意力(Additive Attention)和縮放點積注意力(Scaled Dot-Product Attention)[7]。二者的區(qū)別在于計算Q與K的相關性時采用不同的函數(shù)操作。當查詢Q和鍵K的維度不相同時,使用加性注意力函數(shù)更加方便;當查詢Q與鍵K維度相同時,使用縮放點積注意力函數(shù)計算效率更高。以下是2種打分函數(shù)的計算公式:
(1)加性注意力:對于給定的查詢Q和鍵K,假設Q和K的維度分別為d_q和d_k,則打分函數(shù)為:
a(q,k)=WTvtanh(Wqq+Wkk)(3)
其中,可以被網(wǎng)絡學習的參數(shù)為Wq、Wk和Wv。在神經(jīng)網(wǎng)絡中的實現(xiàn)方式為:將Q和K拼接后放入一個多層感知機中,該感知機有一個隱藏層,不含有偏置項并使用tanh作為激活函數(shù)。
(2)縮放點積注意力:當查詢Q和鍵K的維度是d,且所有維度的元素均是相互獨立的隨機變量且都服從標準高斯分布時,這2個向量的點積的均值仍為0,方差為d。縮放的含義是將Q與K點積得到的結果除以d,那么點積的結果也服從標準正態(tài)分布。根據(jù)這一結果,縮放點積注意力打分函數(shù)的公式為:
a(q,k)=qTk/d(4)
當有多個Q和多個K時,縮放點積注意力可以合并計算。記Q=qi,i = n,K = kj,j = m,則打分函數(shù)可以寫為:
a(Q,K)=QKT/d(5)
在確定打分函數(shù)后,注意力就可以通過Softmax(a(q,k))計算得出。
Transformer模型作為一個編碼器-解碼器架構的應用實例,整體上具有和編碼器-解碼器架構相同的特征。從結構上,Transformer模型加入了位置編碼、多頭自注意力、Add&Norm歸一化層和遮蔽多頭自注意力等。
從整體的角度看,Transformer的編碼器由若干個相同的編碼器層順序疊加而成,每一個編碼器層都有2個子層:第一個子層是多頭自注意力(Multi Head Self Attention),該層負責形成對序列的注意力權重,第二個子層是基于位置順序的前饋全連接網(wǎng)絡(Position-Wise Feed-Forward Network)[8]。在計算注意力權重時,查詢Q、鍵K和值V均來自于同一個序列內(nèi)部且三者相等。子層之間利用殘差結構進行連接,保證了網(wǎng)絡不會因為深度增加而性能退化。
Transformer的解碼器同樣是由多個解碼器層疊加而成,與編碼器層不同的是,解碼器層包含3個不同的子層:第一個子層是遮蔽多頭注意力(Masked Multi Head Attention),第二個子層是和編碼器層相同的多頭自注意力(Multi Head Self Attention),第三個子層是基于位置順序的前饋全連接網(wǎng)絡(Position-Wise Feed-Forward Network)。前向計算時,第一個子層的輸入是上一層解碼器層的輸出,而第二個子層的輸入是來自編碼器的輸出和第一個子層的輸出。在計算注意力時,查詢Q來自于第一個子層,鍵K和值V均來自于編碼器。其結構如圖6所示。
圖6 Transformer結構
Transformer在視覺領域的應用,最為重要的是視覺變壓器(Vision Transformer,ViT)。ViT通過將圖片劃分為塊(Patch)的方式,將視覺的分類問題轉(zhuǎn)變?yōu)門ransformer擅長的序列建模問題。其結構如圖7所示。
圖7 ViT patch結構
2.6 遷移學習方法
在模型訓練方面,遷移學習的方式往往采用預訓練模型微調(diào)的形式。在前期,通過收集焊縫識別涉及的實際場景圖像,制作數(shù)據(jù)集。借助大數(shù)據(jù)庫訓練的大型視覺模型,結合項目自建數(shù)據(jù)集進行微調(diào)訓練,使得模型能夠通過參數(shù)的微調(diào)支持新數(shù)據(jù)集的建模和識別[9]。
3 實驗與分析
3.1 實驗環(huán)境與配置
本文的實驗內(nèi)容為基于卷積神經(jīng)網(wǎng)絡(ResNet網(wǎng)絡、VGGNet網(wǎng)絡以及GoogleNet網(wǎng)絡)和基于自注意力機制(CNN網(wǎng)絡+自注意力機制、Vision Transformer)的焊縫識別實驗。在數(shù)據(jù)集上,使用本文第二章中介紹的自有數(shù)據(jù)集進行實驗。
本文使用的軟硬件環(huán)境如表1所示。
本文的實驗環(huán)境是基于Anaconda配置的虛擬Python環(huán)境,項目中使用的部分依賴庫如表2所示。
3.2 實驗結果
最終實驗結果如表3所示。
3.3 實驗分析
對于基于卷積的模型而言,其分類準確度往往在0.9以下,而基于自注意力機制的模型準確度一般在0.9以上。這一規(guī)律證明了注意力機制的強大建模能力也是可以應用到焊縫識別中的。
對于ViT而言,其具有最好的R@1指標,即預測的候選類別中,第一個就為目標類別的能力最強,這也體現(xiàn)了ViT的視覺建模能力是遠超其他模型的。
3.4 實驗總結
(1)本文的數(shù)據(jù)集劃分方式為簡單分割,例如將數(shù)據(jù)集按照7∶3的比例分為訓練集和驗證集。后續(xù)可以考慮使用K折交叉驗證等方式劃分數(shù)據(jù)集,驗證不同策略對于預測結果的影響。(2)本文使用的模型訓練基于傳統(tǒng)方式的卷積結構,使用交叉熵損失作為損失函數(shù),使用Adam優(yōu)化算法對參數(shù)進行更新,并加入了驗證集。使用早停的思想進行訓練。后續(xù)可以考慮驗證不同損失函數(shù)的效果,使用不同的優(yōu)化算法進行訓練,并改進早停的機制,真正實現(xiàn)早些停止訓練。
4 討論與展望
本文在模型方面進行了對比和實驗,后期可以考慮在原有Transformer模型的基礎上,通過修改注意力計算公式或特征傳遞方式來提高模型的性能。目前已有學者對此做了許多研究,并設計了若干改進模型。對于焊縫識別問題,仍需要分析其在CNN模型及經(jīng)典Transformer模型中的問題,對模型有針對性地進行改進以達到預期的結果。
在焊縫識別這個問題上,主流的方法仍是基于卷積神經(jīng)網(wǎng)絡或者融合了卷積層或注意力層的神經(jīng)網(wǎng)絡,本質(zhì)上并沒有改變。雖然目前的模型可以得到較為不錯的結果,但是從特征關系的表征和學習上看,這些工作仍有不足之處。最近幾年Transformer模型火遍深度學習整個領域,而且越來越多的問題被證實可以使用Transformer進行解決。與此同時,深度學習在工業(yè)領域的應用仍處于相對初級的階段。因此,對Transformer模型加以改進,并應用到焊縫識別這個問題中是開創(chuàng)性的,也是具有研究價值的。
5 結語
本文所做的主要工作是使用不同的深度學習模型對焊縫識別數(shù)據(jù)進行預測,實現(xiàn)了利用深度學習進行焊縫識別的功能。具體的工作有如下幾個方面:(1)總結了焊縫識別領域使用的經(jīng)典算法和模型;(2)實現(xiàn)了CNN系列模型以及簡化的Transformer模型,并使用焊縫識別數(shù)據(jù)集進行了訓練測試;(3)總結了實驗過程中的問題和不足,并思考了其中的解決方向。
參考文獻
[1]周思羽,劉帥師,楊宏韜,等.基于融入注意力機制的改進U-Net魯棒焊縫識別算法[EB/OL].(2023-01-04)[2023-11-02].http://kns.cnki.net/kcms/detail/11.5946.TP.20230104.1212.011.html.
[2]雷錚強,顏元.環(huán)焊縫缺陷漏磁內(nèi)檢測圖像識別技術研究[J].石油管材與儀器,2022(5):32-36.
[3]李昱.基于結構光的焊接機器人焊縫圖像識別算法研究[D].長春:長春工業(yè)大學,2022.
[4]NADARAYA E A.On estimating regression[J].Theory of Probability & Its Applications,1964(1):141-142.
[5]WATSON G S.Smooth regression analysis[J].Sankhy:The Indian Journal of Statistics(Series A),1964(2):359-372.
[6]VASWANI A,SHAZEER N,PARMAR N,et al.Attention is all you need[C].California:Conference and Workshop on Neural Information Processing Systems,2017.
[7]郭文強.基于磁光成像的鐵磁性構件焊縫重構和裂紋識別方法研究[D].成都:電子科技大學,2022.
[8]劉霞,金忠慶.基于改進卷積神經(jīng)網(wǎng)絡的飛機桁架焊縫缺陷識別與測試[J].航空制造技術,2021(增刊2):34-38.
[9]李元.焊縫激光識別傳感系統(tǒng)魯棒性分析[D].沈陽:沈陽工業(yè)大學,2021.
(編輯 沈 強編輯)
Research on weld image recognition method based on deep learning
Hang? Xiaohu, Wang? Hai
(School of Intelligent Manufacturing and Information Institute, Jiangsu Shipping College, Nantong 226010, China)
Abstract:? With the development of industrial technology, welding robots have become the main force of welding work in modern industry, turning welding operation into an automatic and intelligent process. However, welding seams produced by welding robots are often limited by the welding environment, welding material properties and welding process parameters. Therefore, it is necessary to use image processing technology to identify welds accurately. Based on this starting point, this paper conducts an in-depth study of deep learning-based weld identification methods, such as convolutional series network, self-attention network and the current hot Transformer model for weld identification work, to obtain ideal results and provide a new solution to the problem of weld identification.
Key words: deep learning; weld image identification; convolutional neural network; attention mechanism; industrial intelligence