唐 溪,姚錫凡,董 藝,張峻銘
(1.華南理工大學 機械與汽車工程學院,廣東 廣州 510640;2.廣州城市理工學院 機械工程學院,廣東 廣州 510800)
基于離線編程或者示教再現(xiàn)的傳統(tǒng)焊接機器人效率低下,且難以應對焊接熱變形、工件尺寸一致性差、工件定位精度低等問題,因此通過視覺傳感器檢測、定位焊縫從而實現(xiàn)焊縫焊縫跟蹤的自動焊機器人逐漸得到發(fā)展[1]。目前視覺傳感器被廣泛地應用于焊縫跟蹤[2-3]、焊接質(zhì)量控制與評估[4-5]、焊接前初始焊接位置的識別與引導等領(lǐng)域。作為機器人焊接自動化的關(guān)鍵環(huán)節(jié)之一,焊接前初始焊接位置的識別與引導要求視覺傳感器可以映射焊接環(huán)境以消除工件位置不確定性。
在初始焊接位置的識別與引導任務中使用的視覺傳感器主要有激光視覺傳感器和被動視覺傳感器兩類,兩者的區(qū)別在于是否使用激光輔助標記焊縫特征點。其中,激光視覺傳感器因具有較高的魯棒性和精度而得到廣泛應用。文獻[6]采用激光條紋標識并提取焊縫特征點坐標,取Z軸坐標值的二階差小于閾值的位置作為初始焊接位置。文獻[7]利用激光條紋特征與初始點特征的關(guān)系實現(xiàn)窄焊縫初始點的識別與對準。文獻[8]通過分析激光視覺傳感器運動掃描過程中激光條紋幾何形狀的變化,來判斷焊縫起始點的位置,檢測精度和速度較高。文獻[9]以增量運動策略沿焊縫末端往復運動,通過分析運動過程中激光條紋的分離與相交變化規(guī)律,準確地識別角接焊縫的初始焊接位置。文獻[10]采用激光條紋斜率差的變化來判斷角接焊縫初始點位置,具有較高的精度和速度。上述幾種方法通過分析運動過程中激光條紋三維信息和幾何信息的變化來判斷焊縫起始點位置,但是因為沒有提取工件表面輪廓信息,所以無法得到工件的位姿信息,僅適用于工件位置和形狀變化不大的焊接場景。
針對上述問題,有學者用激光視覺傳感器掃描并重建了工件三維輪廓,然后通過點云處理等手段獲取工件姿態(tài),從而實現(xiàn)工件位姿估計和初始焊接位姿引導,在工件位置和形狀變化較大的焊接場合有較好的效果。文獻[11]用激光視覺傳感器掃描待焊工件,得到焊件輪廓點云數(shù)據(jù),并通過背景去除、平面擬合以及平面交線求解的方式實現(xiàn)焊縫及焊縫初始點的識別與定位。文獻[12]通過多段掃描獲取大型工件輪廓信息,并用三次平滑樣條曲線建立復雜空間曲線焊縫模型,實現(xiàn)搭接型焊縫起點的檢測。然而,上述幾種用激光視覺傳感器掃描從而獲取工件輪廓三維信息的方法,雖然可以通過后續(xù)點云數(shù)據(jù)的處理得到工件位姿,但是工件輪廓三維重建的過程比較費時,且點云處理過程比較消耗計算資源。
與激光視覺傳感器不同,被動視覺傳感器可以不采用激光輔助而直接獲取待焊工件圖像,且采集的圖像有豐富的細節(jié),可以在機器人靜止狀態(tài)下直接提取焊縫初始位置信息。文獻[13]通過模版匹配獲取焊縫初始點所在區(qū)域,并用角點檢測提取出焊縫起始點的亞像素坐標,由于傳統(tǒng)的模版匹配方法容易受到環(huán)境噪音的干擾,不適用于工件形狀復雜、投影一致性差的焊接場景。文獻[14]提出一種基于形態(tài)學的圖像處理算法來獲取焊縫初始點,但是該方法僅適用于直線焊縫。文獻[15]提出一種基于角點檢測的初始焊縫位置識別方法,在圖像預處理后,用Harris算子在全局環(huán)境下檢測出焊縫初始位置。文獻[16]則將改進的Harris算法和灰度掃描方法相結(jié)合,基于單相機雙位置的配置,采用粗略定位和精細提取結(jié)合的模式提取焊縫初始點,定位精度可達1.48 mm。由于基于角點檢測的方法容易被焊接生產(chǎn)環(huán)境中的背景噪音干擾,因此焊縫初始點特征提取較為困難且魯棒性不強。目前,卷積神經(jīng)網(wǎng)絡依靠其較強的適應性和強大的特征提取能力而被廣泛地應用于圖像處理領(lǐng)域[17-18]。例如文獻[19]在大口徑管道初始焊接位置的自動識別時使用脈沖耦合神經(jīng)網(wǎng)絡(Pulse-Coupled Neural Network, PCNN)進行圖像預處理,該算法在實際焊接環(huán)境中具有較高的魯棒性。
針對目前焊縫起始向量檢測與機器人初始焊接位姿估計方法研究的不足,受關(guān)鍵點檢測[20]方法的啟發(fā),本文提出一種基于改進CenterNet的焊縫起始向量檢測及機器人位姿估計方法,采用基于深度學習的中心點回歸算法實現(xiàn)檢測焊縫的起始點位置和角度,并結(jié)合傳統(tǒng)圖像處理提取底板邊線,實現(xiàn)初始焊接位姿的估計。為解決模型參數(shù)量過大、檢測速度較低的問題,設計了以ResNet50為基礎(chǔ)的主干特征提取網(wǎng)絡,并通過融合網(wǎng)絡深淺層特征和多尺度特征,提高網(wǎng)絡對焊縫起始矢量坐標和角度的檢測精度。在特征融合過程中使用卷積塊注意力模塊(Convolutional Block Attention Module, CBAM)實現(xiàn)特征的加權(quán)融合,從而突出有效特征并抑制無效特征。針對工件姿態(tài)和初始焊接位姿估計的問題,提出一種基于LSD[26](line segment detector)直線檢測的工件底板邊線檢測算法,用于提取底板邊線。最后,使用極線約束匹配獲取對應點,并用雙目三角測量原理得到工件表面關(guān)鍵點的三維坐標,從而得到工件位姿和初始焊接位姿矢量。
在焊接場合下,使用雙目立體視覺識別定位工件初始焊接位置,引導焊接機器人的焊槍對準初始焊接位置,其原理如圖1所示。兩臺交匯布置的雙目相機同時獲取待焊工件圖像,包含焊縫以及底板邊線二維信息,通過處理焊縫圖像可以提取底板邊線和焊縫起始向量特征,結(jié)合立體匹配技術(shù)和雙目三角測量原理,可得到圖像中初始焊縫和底板邊線的深度信息,從而進一步獲取工件在機器人基坐標系下的姿態(tài)信息,引導焊槍對準初始焊接位置。
通過目標檢測得到點Xc在左右相機成像平面上投影點的齊次像素坐標:P1=(u1,v1,1)和P2=(u2,v2,1),則點Xc與投影點齊次坐標P1、P2的關(guān)系如式(1)所示:
(1)
其中:s1為比例系數(shù),M1、M2分別為左相機與右相機的內(nèi)參矩陣,R和t表示右相機坐標系相對于左相機坐標系的旋轉(zhuǎn)矩陣和平移向量。
從而求得世界點Xc在左相機坐標系下的三維坐標值,如下所示:
z=s1。
(2)
(3)
CenterNet[21]網(wǎng)絡采用編碼—解碼(encoder-decoder)結(jié)構(gòu)的全卷積神經(jīng)網(wǎng)絡提取圖像特征信息,通過網(wǎng)絡輸出的關(guān)鍵點熱力圖來預測物體的中心點,并基于關(guān)鍵點回歸來預測目標的其他屬性。該方法廣泛地應用于2D目標檢測、3D目標檢測、人體姿態(tài)檢測以及旋轉(zhuǎn)目標檢測等領(lǐng)域,具有較高的檢測精度和檢測速度。針對焊縫起始向量檢測任務的需要,本文設計了如圖3所示的焊縫起始向量檢測算法框架。該框架針對原始CenterNet網(wǎng)絡的不足,設計了輕量高效的主干特征提取網(wǎng)絡,并提出了新的檢測結(jié)構(gòu)。該檢測結(jié)構(gòu)包含3個檢測分支,分別為焊縫起始點熱力圖預測、起始點偏移量預測和起始向量角度預測。
CenterNet分析了3種不同結(jié)構(gòu)的主干特征提取網(wǎng)絡,分別是卷積殘差網(wǎng)絡[22](convolutional Residual Networks, ResNet),堆疊沙漏網(wǎng)絡[23](Stacked Hourglass Network, Hourglass),以及深層聚合網(wǎng)絡[24](Deep Layer Aggregation, DLA)。但是上述主干網(wǎng)絡不能滿足機器人自動化焊接對于檢測精度和檢測速度的要求??紤]到深度卷積神經(jīng)網(wǎng)絡淺層特征包含更為豐富的位置信息,但是語義信息不足;網(wǎng)絡深層特征語義信息豐富,有利于熱力圖中心點回歸預測,但是定位信息粗略。因此,提出的Weldsv-ResNet主干特征提取網(wǎng)絡通過深淺層特征和多尺度特征融合來減少卷積過程中的信息損失,并通過引入注意力機制增強有效特征表達,從而提高檢測精度。該網(wǎng)絡的結(jié)構(gòu)如圖4所示。
Weldsv-ResNet主干特征提取網(wǎng)絡以ResNet50為編碼結(jié)構(gòu),在編碼階段,經(jīng)過一系列卷積與池化操作降低特征空間維度;解碼階段,通過3次上采樣操作(upsample block)和多次特征融合逐步恢復目標細節(jié),并嵌入殘差塊(Residual block),防止網(wǎng)絡過擬合。在主干網(wǎng)絡編碼層和解碼層間使用跳連接實現(xiàn)網(wǎng)絡深層特征和淺層特征的融合,從而減少定位信息的丟失,提高焊縫起始向量的定位精度。在網(wǎng)絡解碼層中,以通道疊加的方式聚合上采樣過程中獲得的多尺度特征,提高網(wǎng)絡對于角度和尺度變化的適應性。在多尺度特征融合和深淺層特征融合過程中,容易將無效特征引入最終輸出的特征圖中,影響檢測精度,因此使用卷積塊注意力機制[25](CBAM block)學習特征融合權(quán)重,從而抑制無效特征,提高檢測精度。
焊縫起始向量的檢測需要準確獲取焊縫起始點的像素坐標和起始向量的角度。然而,在編碼—解碼過程中容易丟失網(wǎng)絡淺層定位信息,因此引入深淺層特征融合機制以提高焊縫起始點定位精度。如圖5所示,在深淺層特征融合時,網(wǎng)絡編碼層特征圖由跳連接旁路引出,與網(wǎng)絡解碼層特征圖進行相加融合。在跳連接旁路中,使用殘差塊來調(diào)整從編碼層引出的特征的通道數(shù),殘差結(jié)構(gòu)中的1×1卷積用于跨通道融合。經(jīng)過殘差塊處理的特征使用CBAM注意力機制重新調(diào)整特征在空間維度和通道維度上的權(quán)重,然后再與解碼層特征進行相加融合,從而使網(wǎng)絡充分利用有效特征,提高檢測精度。
由于焊接前機器人和工件位置的不確定性導致焊縫圖像投影一致性差,焊縫的角度和大小容易劇烈變化,僅利用單一尺度的特征不能適應角度和尺度變化劇烈的焊縫圖像數(shù)據(jù),為了提高網(wǎng)絡對于多尺度、多角度焊縫起始向量檢測的魯棒性,在解碼層引入多尺度特征融合。如圖6所示,解碼層中分辨率為162、322、642的特征圖,先用1×1卷積核壓縮通道數(shù),再分別用8倍、4倍、2倍的上采樣提高其分辨率,上采樣使用雙線性插值法。上采樣后的特征圖經(jīng)過3×3卷積處理后與解碼層中分辨率為1282的特征圖進行通道疊加,并使用CBAM注意力機制模塊學習不同尺度特征融合的權(quán)重,得到最終的高分辨率特征圖。分辨率較高的特征圖能夠保留目標細粒度特征,有利于焊縫起始點的準確識別和定位。分辨率較小的特征圖,能提供大尺度的特征信息,提高模型對于焊縫起始向量角度變化的預測能力。最終輸出的特征圖中融合了不同尺度特征圖的信息,能夠提升網(wǎng)絡對焊縫角度和尺度變化的敏感度。
特征融合能夠減少有用信息的損失,但也容易產(chǎn)生大量干擾檢測效果的特征。使用CBAM可以自適應調(diào)整特征在通道域和空間域上的融合權(quán)重,從而突出有效特征,抑制無效特征。如圖7所示,輸入的特征F∈?C×H×W先按通道進行全局最大池化和均值池化,所得兩個一維向量經(jīng)過共享多層感知機(shared MLP)處理后相加。相加結(jié)果經(jīng)過Sigmoid激活得到一維通道注意力Mc∈?C×1×1,所得通道注意力與輸入特征按元素相乘得到新的特征F′。新特征F′按空間進行全局最大池化和均值池化,產(chǎn)生的二維向量經(jīng)過拼接后進行卷積和Sigmoid激活操作,得到二維空間注意力Ms∈?1×H×W。將所得二維空間注意力與特征圖F′按元素相乘得到通道域和空間域都經(jīng)過加權(quán)處理的特征圖F″,具體過程如下:
F′=Mc(F)?F,
F″=Ms(F′)?F′。
(4)
模型訓練的損失函數(shù)由熱力圖關(guān)鍵點預測損失Lk、關(guān)鍵點偏移量預測損失Loff和關(guān)鍵點角度預測損失Langle三部分組成,損失函數(shù)如式(5)所示:
Ldet=Lk+λangleLangle+λoffLoff。
(5)
式中λoff和λangle分別為關(guān)鍵點偏移量預測損失Loff和關(guān)鍵點矢量角度預測損失Langle的權(quán)重系數(shù),本文根據(jù)實驗確定λoff=1,λangle=0.03。
(1)熱力圖關(guān)鍵點預測損失 預測關(guān)鍵點位置和類別的損失函數(shù)采用式(6)所示的Focal Loss函數(shù),可以改善樣本不均衡等問題。
(6)
(7)
(8)
根據(jù)機器人焊接生產(chǎn)的任務需要,采集并標注焊縫圖像數(shù)據(jù)集。如圖8所示,焊縫數(shù)據(jù)集包含角接、搭接和對接3種目前生產(chǎn)中常見的焊縫類型。數(shù)據(jù)集包含黑白和彩色圖像,像素分別為2 048×1 536和1 600×1 200。焊縫圖像數(shù)據(jù)采集時充分考慮了機器人初始姿態(tài)的多樣性,采集的焊縫圖像囊括了不同角度和高度拍攝的焊縫圖像。數(shù)據(jù)集使用labelme標注,標注完的數(shù)據(jù)經(jīng)過處理得到包含焊縫類別C、焊縫起點像素坐標(u,v)以及焊縫起始向量角度θ(0≤θ≤359.99)的標簽數(shù)據(jù)。數(shù)據(jù)集共計5 234張,按8∶1∶1的比例劃分,得到訓練集4 186張、驗證集524、測試集524張。
在模型訓練時,由于相機采集的原始圖像尺寸較大,訓練時加載的圖像數(shù)據(jù)經(jīng)過填充和縮放得到像素512×512的圖像作為模型輸入。為了均衡檢測精度和檢測效率,模型輸出采用的降采樣倍率R=4。模型訓練使用Adam優(yōu)化器,設置初始學習率為5×10-4,batch size為10,迭代訓練140輪。訓練過程中,每輪結(jié)束用驗證集進行驗證,當損失函數(shù)值超過4次未能降低時,學習率便衰減為原來的0.5倍。在加載訓練數(shù)據(jù)時,使用實時數(shù)據(jù)增強,包括圖像的縮放、翻轉(zhuǎn)、旋轉(zhuǎn)、色域畸變等數(shù)據(jù)增強方法,以提高模型的泛化能力。訓練模型使用的計算機配備Intel Core i9-9900K處理器,并用NVIDIA GeForce RTX 2080Ti顯卡加速訓練過程。
對焊縫初始向量檢測網(wǎng)絡的性能進行評估,需要綜合考慮模型的檢測精度、檢測速度和模型部署時硬件的限制,故將模型參數(shù)大小納入評估范圍。使用平均檢測精度(mean Average Precision, mAP)來評估模型檢測精度。為保證雙目視覺定位精度,對焊縫起始向量檢測的平均定位誤差、平均角度誤差以及誤差分布情況進行評估。網(wǎng)絡的檢測速度用每秒檢測的幀數(shù)(Frame per Second, FPS)作為評價指標。
獲取的焊縫起始向量vs尚不足以獲取工件姿態(tài)信息,需進一步獲取世界坐標系下工件初始焊縫的起始向量以及工件底板邊線向量,以獲取工件姿態(tài)。因此提出一種基于LSD直線檢測的工件底板邊線條件篩選算法,用于提取圖像中距離焊縫起始點最近的底板邊線ve。在提取出焊縫起始向量和工件底板邊線后,使用極線約束匹配方法求取對應點,并通過三角化得到世界坐標系下的三維坐標以及三維矢量。在實際焊接生產(chǎn)中,不同焊縫類型的焊接需要焊槍與工件底板保持不同的夾角,利用焊縫起始向量檢測獲得的焊縫類別和獲取的工件底板法向量,可以自適應求取焊槍位姿。算法的總體框架如圖9所示。
求取工件姿態(tài)從而求取焊槍的位姿,除了需要工件焊縫的起始矢量外,還需要提取工件底板邊線特征以獲取工件底板所在平面和其法向量。LSD直線段檢測算法可以在常數(shù)時間內(nèi)得到亞像素精度的直線段檢測結(jié)果,對圖像中的直線特征提取有著較高的靈敏度。工件底板邊線條件篩選算法先用LSD檢測出焊縫圖像中的直線特征,然后以焊縫起始向量檢測網(wǎng)絡檢測到的焊縫起始點像素坐標(u,v)和矢量角度θ為篩選條件,并結(jié)合邊線的形態(tài)特征和分布規(guī)律,完成噪音線段的去除以及底板邊線的提取。
以圖10所示的焊縫圖像為例,由于相機安裝在焊槍運動方向一側(cè),焊縫起始點的左側(cè)區(qū)域Ⅰ不包含底板邊線。為減少干擾,可以先去除無效區(qū)域Ⅰ,再用LSD提取直線。但在焊縫起始點右側(cè)仍然存在大量噪音線段,噪音線段的來源包括焊槍、工作臺和工件表面劃痕、工件焊縫和其他底板邊線等。
針對上述噪聲來源,設計噪聲線段初步篩選條件。對于焊槍上的誤檢線段,可以設置圖10中區(qū)域Ⅱ?qū)母信d趣區(qū)域(Region of Interest, ROI)來篩選去除噪音線段,若線段的兩個端點都處于ROI區(qū)域內(nèi),則視為噪音。對于因焊縫產(chǎn)生的誤檢線段,利用焊縫起始向量的角度θ和角度篩選閾值τ來確定線段篩選的角度范圍,通過實驗確定τ的最佳角度為22°。令θ′=θmod180°,已知α∈[0,180°)為檢測出線段的角度,則判定線段為誤檢測線段的條件有如下3種:
(1)對于τ<θ′<180°-τ,當α滿足|θ′-α|≤τ時,線段為誤檢測線段;
(2)對于θ′≤τ,當α滿足0≤α≤τ+θ′或180°+θ′-τ≤α≤180°時,線段為誤檢測線段;
(3)對于θ′≥180°-τ,當α滿足θ′-τ≤α≤180°或0≤α≤θ′+τ-180°時,線段為誤檢測線段。
對于其他誤檢測線段,通過計算線段與焊縫起始點(u,v)的距離以及線段長度進行篩選。當線段與焊縫起始點距離d>ε時,視為噪音并剔除,其中ε為距離篩選閾值,實驗確定最佳閾值ε=25pixel。鑒于圖像中由于表面劃痕等因素產(chǎn)生的誤檢線段長度較短,通過自適應閾值的長度篩選去除噪音線段,當線段長度l<0.1MaxLen時,視為噪音線段,其中MaxLen為圖像中檢測出的所有線段長度的最大值。
如圖11所示,利用上述條件完成線段的初步篩選,從而獲得一個以邊線線段為主,包含少量噪聲線段的線段列表。鑒于包含邊線特征的線段數(shù)量多、相互間距離和斜率相近,使用直線分組篩選算法提取目標線段組。
由于線段斜率不連續(xù),為了方便分組篩選,根據(jù)線段上兩個端點求得線段的角度α∈[0,180°)。如圖12所示,分組前對列表中的線段按照其角度由小到大排序,然后在已經(jīng)完成排序的線段列表上采用滑動窗口的方法,以線段的角度為指標進行分組。已知線段列表長度為n,對于任意的1≤i≤j≤n,若滿足αj-αi≤Δα,則將下標為i~j間的線段分為一組,得到線段集合groupk,其中Δα為分組的角度閾值,也是滑動窗口的角度步長,實驗確定了最佳閾值Δα=2°。
從滑動窗口分組得到的若干個線段集合中篩選出線段總長最大的線段集合作為目標邊線特征對應的線段集合。對最終分組篩選出的目標線段集合,用式(9)求出該集合中所有線段的加權(quán)平均角度αavg,將該角度作為工件底板邊線的角度值,式中l(wèi)i和αi為所得線段組內(nèi)的第i條線段的長度和角度。
(9)
用雙目立體視覺求取空間點的三維坐標,需要獲取空間點在兩幅圖像上對應點的像素坐標。作為一種對應點匹配方法,極線約束匹配通過極線約束方程建立兩幅圖像中對應點像素坐標間的代數(shù)關(guān)系。由1.2節(jié)的雙目立體視覺模型可知,左右相機的內(nèi)參矩陣分別為M1和M2,兩個相機坐標系間的旋轉(zhuǎn)矩陣和平移向量為R和t,空間點Xc在左右相機上的投影點的齊次像素坐標為P1和P2,則P1和P2滿足式(10)所示關(guān)系:
(10)
式中[t]×為平移向量t=[tx,ty,tz]的反對稱矩陣,其定義如式(11)所示:
(11)
由極線約束方程可知,已知空間點Xc在左側(cè)圖像中投影點的齊次像素坐標為P1,則空間點Xc在右側(cè)圖像中投影點位于式(10)所確定的極線上。如圖13所示,已知a點是在左圖像上檢測到的焊縫初始向量上的一點,則其在右圖像上的對應點為a′。a′通過a點在右圖像上對應的極線La和右圖像上檢測到的焊縫起始向量的交點確定。同理,通過極線約束得到左圖像底板邊線上一點b,在右圖像中對應點b′。鑒于焊縫起始點在圖像中唯一,通過唯一性約束得到左右焊縫圖像中焊縫起始點s和s′的對應關(guān)系,從而得到位于工件底板上的3對匹配點。利用1.2節(jié)建立的雙目立體視覺模型,通過三角化可以得到3對匹配點對應的空間點A,B,S的三維坐標。
R=cosαI+(1-cosα)nnT+n^sinα。
(12)
式中:I為單位矩陣,α為位姿向量相對于機器人基坐標Z軸方向上單位矢量的旋轉(zhuǎn)角度,n為旋轉(zhuǎn)軸的單位向量,n^為單位向量n的反對稱矩陣。
為了更好地評估Weldsv-ResNet主干網(wǎng)絡的檢測效果,分別使用ResNet50、ResNet101、DLA34和Hourglass網(wǎng)絡作為對比實驗,網(wǎng)絡訓練過程中得到的損失函數(shù)值曲線如圖15所示。
ResNet系列的網(wǎng)絡在編解碼過程中淺層位置信息容易丟失,因此訓練初期網(wǎng)絡的學習能力較弱,損失函數(shù)值較高。DLA34與Hourglass則通過淺層特征映射減少編解碼過程中信息的缺失,因此網(wǎng)絡的收斂能力和擬合能力較強。而提出的Weldsv-ResNet在特征融合的基礎(chǔ)上引入注意力機制,無效特征得到抑制,因此最終穩(wěn)定收斂于一個更小的損失函數(shù)值,從而證明了算法改進的有效性。
分別取上述幾種網(wǎng)絡在訓練過程中得到的最優(yōu)網(wǎng)絡權(quán)重,在測試集上進行焊縫起始向量檢測對比實驗,測試結(jié)果如表1所示。
表1 焊縫起始向量檢測結(jié)果
由表1可知,Weldsv-ResNet的平均檢測精度達到了98.66%,相比ResNet50、ResNet101和DLA34網(wǎng)絡分別提高了12.17%、12.07%和6.79%,而檢測速度比原始ResNet50僅降低了12%。與檢測精度同樣較高的Hourglass相比,Weldsv-ResNet的平均檢測精度雖然僅有0.31%的微弱提升,但是檢測速度相比Hourglass卻提升了83.3%。ResNet101相比ResNet50有更深的網(wǎng)絡結(jié)構(gòu),但是僅獲得較小的精度提升,采用特征映射與融合的DLA34和Hourglass相比,ResNet系列算法具有較高的精度提升,證明了特征融合機制的有效性。實驗結(jié)果表明,改進后的Weldsv-ResNet在保證檢測速度的同時,獲得了較高的檢測精度和召回率。
為了進一步討論所提主干網(wǎng)絡在焊縫起始向量檢測上的精度和魯棒性,實驗對比了幾種主干網(wǎng)絡在焊縫起始向量位置預測以及角度預測兩方面的誤差分布情況,結(jié)果如表2和表3所示。
表2 焊縫起始向量位置誤差實驗結(jié)果對比
表3 焊縫起始向量角度誤差實驗結(jié)果對比
由表2和表3可知,ResNet系列主干網(wǎng)絡在焊縫起始向量檢測任務中所獲得的位置誤差和角度誤差的均值和方差較大,因此檢測精度較低且魯棒性較差。雖然ResNet101相比ResNet50有更多的編碼層以及更深的網(wǎng)絡結(jié)構(gòu),但位置預測精度卻略低于ResNet50,這是因為較深的網(wǎng)絡結(jié)構(gòu)更容易丟失淺層位置信息,所以影響了定位精度。相比之下Hourglass和DLA34均有效利用了淺層位置信息,因此獲得了較高的檢測精度和魯棒性。Weldsv-ResNet通過深淺層特征融合有效保留了淺層位置信息,通過多尺度特征融合以提高模型焊縫角度和尺度變化的敏感性,并通過注意力機制強化有效特征表達,從而獲得較好的檢測精度和魯棒性。對于焊縫起始向量位置預測,誤差小于20 pixel的比例達到94.01%,平均位置誤差為8.7 pixel,方差為8.7 pixel;對于角度預測,其誤差小于10°的比例達到95.61%,均值和方差分別為3.9°和15.9°,可見Weldsv-ResNet的檢測精度和魯棒性均基本滿足焊接生產(chǎn)中初始焊縫引導的要求。在焊接生產(chǎn)中常見的3種焊縫類型上的檢測效果如圖16所示(經(jīng)過裁剪)。
工業(yè)焊接生產(chǎn)需要焊縫起始點檢測模型同時具有檢測精度高和檢測速度快等優(yōu)點,且規(guī)模較小的模型更有利于在工業(yè)焊接生產(chǎn)環(huán)境的部署。實驗對比分析了不同網(wǎng)絡的參數(shù)量以及顯存占用,結(jié)果如表4所示。
表4 模型規(guī)模對比
由表4可知,Weldsv-ResNet網(wǎng)絡以ResNet50為基礎(chǔ)編碼結(jié)構(gòu),引入深淺層特征融合、多尺度特征融合以及CBAM注意力機制,并使用輕量化上采樣模塊和殘差結(jié)構(gòu)。雖然Weldsv-ResNet相比ResNet50模型參數(shù)增加了67.6%,顯存占用增加了22.0%,但是各項參數(shù)與ResNet101基本持平。與DLA34相比,Weldsv-ResNet的網(wǎng)絡模型參數(shù)較大,但是顯存占用僅增加27.3%。與精度較高的Hourglass相比,Weldsv-ResNet網(wǎng)絡模型參數(shù)僅為Hourglass的28.7%,顯存占用僅為Hourglass的65.7%,從而在控制模型規(guī)模、保證檢測速度的同時獲取了更高的檢測精度。
為進一步驗證改進措施的有效性,設計消融實驗來評估各項改進措施對模型檢測性能提升的幫助。實驗的損失函數(shù)曲線如圖17所示,實驗結(jié)果對比如表5所示。
表5 消融實驗結(jié)果
由圖17可知,多尺度特征融合、深淺層特征融合以及CBAM注意力機制的引入有效地提高了模型的收斂能力和擬合精度,模型經(jīng)過訓練后可以穩(wěn)定收斂于更低的損失函數(shù)值,獲得良好的泛化能力以及檢測精度。
由表5可知,ResNet50與深淺層特征融合的結(jié)合和單純的ResNet50相比,將mAP提高了4.89%,這是因為深淺層特征融合能夠保留更多淺層特征的位置信息以及深層特征的語義信息,有利于提高焊縫初始向量的檢測和定位精度。通過在深淺層特征融合過程中添加CBAM注意力機制,可以自適應調(diào)整特征融合權(quán)重,從而抑制無效特征的干擾,因此mAP相比單純的深淺層特征融合提高了2.07%。使用多尺度特征融合可以保留不同分辨率特征的信息,從而提高模型對于焊縫角度和尺度劇烈變化的檢測敏感性,使mAP相比原始的ResNet提高了3.71%。特征融合時CBAM模塊的使用也進一步將mAP提高了4.76%。對比完整的改進網(wǎng)絡與去除CBAM機制的改進網(wǎng)絡,進一步證明了特征融合過程中使用注意力機制可以在消耗資源較少的情況下有效提升模型性能。總的來說,通過在原始ResNet50網(wǎng)絡中添加深淺層特征融合和多尺度特征可以有效提高檢測精度,而CBAM的使用可以在消耗極小資源的情況下給模型的檢測精度帶來較大的提升。
如圖18所示為工件位姿與焊槍姿態(tài)求取的實驗平臺。該實驗平臺包含一臺伯朗特六自由度焊接機器人,機器人型號為BRTIRWD1506A。雙目相機使用??低昅V-CA032-10GC型黑白工業(yè)相機,相機像素為2 048×1 536,圖像采集幀率為37.5 fbs。雙目相機與焊槍一同安裝在機器人末端法蘭上。實驗時,上位機控制雙目相機采集待焊工件圖像,所得圖像經(jīng)過上位機處理后得到待焊工件位姿。工件位姿轉(zhuǎn)換為焊槍位姿后發(fā)送給焊接機器人,從而實現(xiàn)初始焊接位姿的引導。
由于雙目相機采用“手在眼上”的安裝方式,將三維坐標從相機坐標系轉(zhuǎn)換到機器人坐標系時,需要使用機器人末端位姿數(shù)據(jù),因此機器人重復定位精度對視覺定位精度有較大的影響。為了驗證焊接機器人的重復定位精度,取工作空間中8個固定點,每個固定點由焊接機器人末端工具以12種不同的姿態(tài)接觸,獲取8組位姿數(shù)據(jù),每組位姿數(shù)據(jù)取平均值作為固定點實際坐標值,得到不同姿態(tài)下機器人對某一個固定點重復定位的絕對誤差,結(jié)果如圖19所示。
由圖19可知,當焊接機器人末端工具尖端以不同的姿態(tài)接觸空間中某個固定點時,示教器顯示坐標與平均值坐標的絕對偏差在0.7 mm范圍內(nèi)波動,絕對偏差的平均值在約0.5 mm范圍內(nèi)波動。產(chǎn)生這種誤差主要與機器人自身的機械結(jié)構(gòu)的剛度、精度和傳感器精度有關(guān)。
工件位姿的可靠求取需要在檢測出焊縫起始向量的基礎(chǔ)上進一步提取工件底板邊線,為驗證底板邊線提取算法的可靠性,參照焊接生產(chǎn)場景,獲取大量測試圖片,實驗結(jié)果如表6所示。
表6 底板邊線檢測結(jié)果
由表6可知,在包含對接、角接和搭接3種類型焊縫的測試數(shù)據(jù)上,工件底板邊線檢測算法分別得到98.5%、96.3%、93.5%的檢出率。這表明算法能夠適應環(huán)境中的背景噪音、焊縫起始向量檢測誤差以及工件形態(tài)差異,具有一定的準確性和魯棒性。
在獲取焊縫起始向量和工件底板邊線后,通過向量運算和坐標系變換,得到工件底板的法向量以及用于焊接機器人初始焊接位姿引導所用的焊槍位姿。焊槍位姿用機器人基坐標系下的直角坐標X、Y、Z和歐拉角RX、RY、RZ表示。為驗證所求焊槍位姿的精度,分別以角接、搭接、對接3種不同類型的待焊工件進行待焊工件初始焊接位姿引導實驗。
實驗采用的初始焊接位姿為:對接型工件的初始焊接位姿垂直工件表面,如圖14a中向量vn所示;搭接和角接型工件采用圖14b中向量vt所示位姿。為便于獲取工件實際的姿態(tài)和焊槍初始焊接姿態(tài),試驗時固定工件,由機械臂帶動相機以不同姿態(tài)拍攝每類工件各20組待焊工件圖像。鑒于初始焊接位姿的引導無需考慮焊槍繞其Z軸旋轉(zhuǎn)的歐拉角RZ,因此實驗采用RZ=0。首先用所提方法得到焊縫起始向量和工件底板邊線,然后求出焊槍的初始焊接位姿,所得位姿數(shù)據(jù)與真實焊槍初始焊接姿態(tài)對比得到如圖20所示的焊槍位置與姿態(tài)相對誤差。
由圖20a和20b可知,對接型焊縫的初始焊接位姿在X、Y、Z三個方向的最大誤差范圍為-2.5 mm~2.2 mm,初始焊接位姿歐拉角RX、RY的誤差范圍在-15°~13°之間;由圖20c和20d可知,對于角接型焊縫,檢測得到的初始焊接位姿在X、Y、Z三軸方向上的最大誤差范圍為-2.2 mm~1.8 mm,初始焊接位姿的歐拉角RX、RY的誤差范圍為-18°~18°;由圖20e和20f可知,對于對接型焊縫,檢測得到的初始焊接位姿在X、Y、Z三軸方向上的最大誤差范圍為-2.0 mm~2.2 mm,初始焊接位姿的歐拉角RX、RY的誤差范圍為-15°~25°。說明使用上述方法通過單次拍攝的待焊工件圖像便基本可以得到較為準確的工件初始焊接位姿信息。
為了提高工件姿態(tài)檢測和焊槍初始位姿估計的精度和魯棒性,在焊接機器人運動到初始焊接位置前多次獲取待焊工件在不同姿態(tài)下的圖像,得到多組焊槍位姿數(shù)數(shù)據(jù),取多組位姿數(shù)據(jù)的平均值作為最終焊槍位姿。對3種類型工件,分別進行20組定位實驗,得到如圖21所示的焊槍初始位姿引導精度的絕對誤差分布數(shù)據(jù)。
由圖21可知,在焊槍對準初始焊接位置前多次拍攝焊縫圖像,并取初始焊接位姿數(shù)據(jù)的平均值為最終焊槍姿態(tài),可以有效提高焊槍對準精度。從誤差分布范圍來看,3種焊縫類型在X、Y、Z三個方向上的絕對值誤差波動范圍分別小于0.3 mm、0.35 mm、0.5 mm,在RX、RY方向的絕對值誤差波動范圍分別小于4.5°和3.0°,可見定位的精度和魯棒性得到提高。焊槍位置與姿態(tài)絕對誤差的均值如表7所示。
表7 焊槍位置與姿態(tài)絕對誤差均值
結(jié)合圖21和表7可知,對于3種焊縫類型,焊槍定位的絕對值誤差在X、Y、Z三個方向上的最大值分別小于1.0 mm、0.95 mm、1.35 mm。對于焊槍姿態(tài)而言,在RX、RY方向的絕對值誤差的最大值分別小于9.5°和7.0°。從平均絕對誤差角度來看,所得的焊槍位姿在X、Y、Z三軸上絕對定位誤差最大值為1.07 mm,焊槍位姿歐拉角絕對誤差的最大誤差為7.99°。相比之下,僅用單一位姿數(shù)據(jù)引導焊槍對準初始焊接位置的精度較低,在位置和角度方面的最大誤差分別達到2.5 mm和25°??梢姡啻尾杉讣D像并使用平均值引導焊槍對準的方法可以有效提高對準的精度,且具有較高的穩(wěn)定性。對于焊接機器人初始焊接位置對準的誤差來源,主要包括焊縫特征提取誤差、相機標定誤差、手眼標定誤差、機器人誤差等因素。考慮到焊接機器人不同姿態(tài)下對同一點的重復定位精度為0.5 mm,機器人自身的誤差為焊接機器人初始焊接位置對準的主要誤差來源,這也從側(cè)面體現(xiàn)了所提出方法的可靠性。
針對傳統(tǒng)方法無法識別圖像中焊縫起始向量、缺少待焊工件姿態(tài)信息以及難以估計初始焊接位姿等問題,本文提出一種基于改進CenterNet的焊縫起始向量檢測及機器人位姿估計方法。為了快速精準地提取焊縫起始向量,為焊縫起始向量檢測網(wǎng)絡設計了輕量高效的主干特征提取網(wǎng)絡。該主干網(wǎng)絡以ResNet50為基礎(chǔ)編碼結(jié)構(gòu),通過多尺度特征融合、深淺層特征融合以及通道與空間注意力機制的使用,在有效提高檢測速度的同時,得到了較高的檢測精度。為實現(xiàn)機器人初始焊接位姿估計,提出工件底板邊線條件篩選算法,并使用極線約束匹配和雙目三角測量原理得到工件表面若干特征點的三維信息,最終獲取工件姿態(tài)和焊槍位姿。實驗結(jié)果表明,設計的主干網(wǎng)絡在平均檢測精度、召回率、平均定位誤差和平均角度誤差等方面有著顯著優(yōu)勢,檢測速度和模型規(guī)模基本滿足焊接生產(chǎn)的實時性和輕量化的要求。模型消融試驗結(jié)果進一步證明了各項改進措施的有效性。最后,通過實驗證實了邊線檢測算法的可靠性,通過對比單次檢測與多次檢測取平均值在初始焊接位姿對準時產(chǎn)生的誤差,表明多次檢測取均值可以有效提升對準精度??偟膩碚f,基于改進CenterNet的焊縫起始向量檢測與機器人位姿估計方法,能夠以較高的速度、精度和魯棒性引導焊機器人對準初始焊接位姿。
受限于焊件數(shù)據(jù)采集和標定的困難,模型的設計和訓練受到影響,工件底板邊線檢測采用的是傳統(tǒng)方法,因此對環(huán)境變化的適應性存在不足。在后續(xù)研究中,擬設計邊線檢測網(wǎng)絡,采用基于深度學習的圖像處理方法提取底板邊線,以提高邊線檢測算法的環(huán)境適應性。