杜健準(zhǔn),高向東*,黎揚(yáng)進(jìn),肖小亭,孫友松,盧新釗
(1.廣東工業(yè)大學(xué) 廣東省焊接工程技術(shù)研究中心,廣州 510006;2.廣東精泰人防工程有限公司,肇慶 526238)
視覺傳感器具有測量精度高、與工件無接觸、易于提取圖像信息等優(yōu)點(diǎn),因此視覺傳感是解決焊縫跟蹤問題的首選方案[1-4]。被動(dòng)視覺傳感需要采集熔池圖像,由于熔池圖像的噪聲干擾十分強(qiáng)烈,一般難以定位焊縫中心[5];光視覺傳感的優(yōu)勢在于能夠識別微間隙焊縫,然而磁光傳感器調(diào)試難度大,容易丟失焊縫信息[6-7];線激光視覺傳感器對焊接過程產(chǎn)生的噪聲具有較強(qiáng)抗性,適用于工業(yè)環(huán)境。針對線激光視覺傳感,主流焊縫識別方法還是傳統(tǒng)的形態(tài)學(xué)方法,即在已知焊縫類型的前提下,運(yùn)用圖像處理技術(shù)提取特定的焊縫幾何形態(tài)特征[8-11],傳統(tǒng)算法能實(shí)現(xiàn)焊縫跟蹤的一個(gè)前提是激光條紋圖像受污染程度小,因此這類方法只能應(yīng)用于特定環(huán)境。焊縫圖像在焊接過程中容易受到弧光、飛濺、煙塵等噪聲污染,因此跟蹤算法需要具備良好的抗噪能力[12-13]。
然而在實(shí)際工業(yè)環(huán)境,傳統(tǒng)跟蹤算法難以長時(shí)間穩(wěn)健、準(zhǔn)確地跟蹤焊縫[14]。因此,尋求一種新穎且高效的焊縫跟蹤方法具有十分重要的應(yīng)用價(jià)值。在目標(biāo)跟蹤算法領(lǐng)域,按照實(shí)現(xiàn)原理的不同可分為生成式模型和鑒別式模型[15]。生成式模型傾向于通過建立模型來描述目標(biāo)特性,跟蹤時(shí)找到與目標(biāo)模型相似程度最大的區(qū)域,從而確定當(dāng)前時(shí)刻的目標(biāo)位置,代表算法有光流法、卡爾曼濾波等。這種方法需要建立準(zhǔn)確的目標(biāo)模型,然而焊縫跟蹤系統(tǒng)模型生成難度太大,一般在工程上難以實(shí)現(xiàn)。參考文獻(xiàn)[16]中利用角點(diǎn)檢測算法提取焊縫亞像素特征點(diǎn)后采用光流法跟蹤,其檢測精度較高,然而該方法忽略了背景信息,過度依賴于目標(biāo)模型。參考文獻(xiàn)[17]中在利用斜率分析法提取焊縫特征點(diǎn)的基礎(chǔ)上加入卡爾曼濾波進(jìn)行最優(yōu)狀態(tài)估計(jì),進(jìn)一步提高了跟蹤精度,卡爾曼濾波一般只能用于線性系統(tǒng),因此該方法不適用于復(fù)雜的焊縫跟蹤系統(tǒng)。鑒別式模型將跟蹤類比成一個(gè)分類問題,將包含目標(biāo)的正樣本與包含背景的負(fù)樣本同時(shí)加入樣本集,可有效提高分類器性能,如跟蹤-學(xué)習(xí)-檢測(tracking-learning-detection,TLD)算法、核相關(guān)濾波、深度學(xué)習(xí)類方法。參考文獻(xiàn)[18]中采用高斯核相關(guān)檢測焊縫,能在強(qiáng)烈的噪聲環(huán)境中獲取焊縫位置并實(shí)時(shí)跟蹤,然而該方法在跟蹤失敗的情況下難以再次識別焊縫,不適合用于長時(shí)間跟蹤。參考文獻(xiàn)[19]中提出了一種基于深度學(xué)習(xí)框架的視覺跟蹤與目標(biāo)檢測相結(jié)合的焊縫跟蹤方法,其跟蹤性能良好,但深度學(xué)習(xí)類方法目前需要解決缺乏訓(xùn)練樣本和實(shí)時(shí)性較差的問題。
綜上所述,過往的焊縫跟蹤方法仍然存在噪聲干擾下跟蹤精度低、實(shí)時(shí)性差和跟蹤失敗后難以重新檢測到焊縫中心位置的問題。為了解決以上問題,本文中提出將屬于鑒別式模型的TLD算法應(yīng)用于焊縫跟蹤過程[20],為了提高算法效率,對TLD算法進(jìn)行改進(jìn)。試驗(yàn)結(jié)果表明,該算法能在跟蹤漂移、跟蹤失效的情況下準(zhǔn)確、實(shí)時(shí)地檢測出焊縫位置。
圖1中展示了焊縫跟蹤試驗(yàn)裝置的硬件組成原理。主要包括弧焊機(jī)、激光視覺傳感器、工控機(jī)、驅(qū)動(dòng)器、兩軸運(yùn)動(dòng)平臺。其中線激光器和互補(bǔ)金屬氧化物半導(dǎo)體(complementary metal oxide semiconductor,CMOS)相機(jī)構(gòu)成了激光視覺傳感器。工作時(shí),線激光器投射可見波段的激光條紋到工件表面,激光條紋的形變信息能夠反映焊縫輪廓的幾何特征。CMOS相機(jī)負(fù)責(zé)采集包含焊縫信息的激光形變圖像并傳入工控機(jī),經(jīng)過圖像預(yù)處理和目標(biāo)跟蹤算法后獲得焊縫中心的位置信息。通過參考文獻(xiàn)[21]中的標(biāo)定方法,獲得視覺傳感器的測量分辨率為0.051mm/pixel。
Fig.1 Schematic diagram of the hardware composition of the weld seam tracking testing equipment
圖2中展示了不銹鋼板對接焊縫的真實(shí)圖片及其對應(yīng)的激光條紋。為了提高圖像處理的效率,首先在激光條紋圖像截取了感興趣區(qū)域(region of interest,ROI)。將原圖轉(zhuǎn)化為灰度圖,統(tǒng)計(jì)激光條紋圖像縱軸方向的灰度值總和,統(tǒng)計(jì)情況如圖3所示。記極值點(diǎn)ye的縱坐標(biāo)為vmid,原圖橫軸中心坐標(biāo)為umid,則ROI圖的中心坐標(biāo)為(umid,vmid),在中心周圍截取了像素大小為400pixel×200pixel的區(qū)域作為ROI,圖4是ROI圖。
Fig.2 Butt joint of stainless steel platea—actual image of weld seam b—laser stripe image
Fig.3 Statistical graph of the sum of the gray values on the vertical axis in the laser stripe image
Fig.4 ROI image
TLD算法是一種長時(shí)間跟蹤算法,它在跟蹤的基礎(chǔ)上引入檢測模塊,從而具備跟蹤失敗后重新識別焊縫的能力[22]。TLD算法的核心思想是:跟蹤模塊利用中值流法跟蹤特征點(diǎn)來獲取目標(biāo)的運(yùn)動(dòng)軌跡,由此計(jì)算目標(biāo)在下一時(shí)刻的位置;檢測模塊通過滑動(dòng)窗口掃描焊縫圖像的目標(biāo)及其周圍區(qū)域,產(chǎn)生候選樣本,以此來進(jìn)行分類,根據(jù)分類結(jié)果可以定位目標(biāo)的位置;最后將跟蹤器與檢測器所獲得的結(jié)果進(jìn)行融合,輸出當(dāng)前目標(biāo)的最終位置。同時(shí),學(xué)習(xí)模塊通過正負(fù)(positive-negative,P-N)學(xué)習(xí)智能劃分樣本,并更新各個(gè)分類器的參量,以此提高跟蹤的準(zhǔn)確性。圖5是該算法流程圖。
Fig.5 Flowchart of the TLD algorithm
在焊接開始前,以焊縫特征點(diǎn)為中心,截取大小為W×H的圖像區(qū)域,將其標(biāo)記為跟蹤目標(biāo)。在目標(biāo)區(qū)域周圍選擇若干個(gè)與其重疊度較大的候選區(qū)域,每個(gè)候選區(qū)域作一定范圍內(nèi)的仿射變換,由此來生成正樣本集。再選出若干距離較遠(yuǎn)的候選區(qū)域作為負(fù)樣本。這樣能夠解決訓(xùn)練樣本不足的問題,令檢測分類器初步具備識別目標(biāo)的能力。跟蹤過程中正負(fù)樣本集為動(dòng)態(tài)更新,即不會(huì)過度累積樣本,生成焊縫圖像正負(fù)樣本的結(jié)果如圖6所示。
Fig.6 Schematic diagram of the sample generation
在跟蹤模塊中首先要確定有效特征點(diǎn)。在縱軸方向上激光條紋的光強(qiáng)近似服從高斯分布,而在跟蹤過程中,同一列的激光條紋像素點(diǎn)主要沿糾偏方向移動(dòng),即沿焊縫圖像的橫坐標(biāo)方向移動(dòng)。因此,為了精準(zhǔn)計(jì)算出焊縫偏差,特征點(diǎn)選擇規(guī)則如下:在目標(biāo)區(qū)域內(nèi),遍歷圖像中V型焊縫特征點(diǎn)的所在列,若像素點(diǎn)屬于激光條紋區(qū)域(即灰度值大于背景閾值)則將其標(biāo)記為有效特征點(diǎn)。圖7a中展示了第t幀圖像檢測到的特征點(diǎn)。
Fig.7 Process diagram of the median flow tracking
跟蹤模塊利用中值流法跟蹤特征點(diǎn),中值流法是一種改進(jìn)的盧卡斯-卡納德(Lucas-Kanade,LK)光流法。LK光流法能夠計(jì)算相鄰時(shí)刻特征點(diǎn)的運(yùn)動(dòng)矢量,光流方程為:
Ixu+Iyv+It=0
(1)
式中,I代表激光條紋圖像;Ix,Iy,It分別是t時(shí)刻激光條紋圖像I的特征點(diǎn)灰度值對x,y,t方向求導(dǎo);u,v分別為x,y方向的光流速率。
光流方程誤差函數(shù)可以表示為[23]:
(2)
式中,在空間范圍w內(nèi)的光流為定值。函數(shù)E分別對u,v求導(dǎo),當(dāng)導(dǎo)數(shù)值為0時(shí),即可得到該點(diǎn)的光流矢量U:
(3)
(4)
令前向-后向誤差作為指標(biāo),找到誤差較小的特征點(diǎn),通過統(tǒng)計(jì)這些特征點(diǎn)的位置變化規(guī)律,可以預(yù)測下一時(shí)刻矩形框的位置,圖7b為第t+1幀焊縫圖像通過中值流法跟蹤到的特征點(diǎn)。
檢測模塊利用一個(gè)多尺度窗口對當(dāng)前幀的焊縫圖像進(jìn)行掃描并獲得若干個(gè)目標(biāo)候選樣本,然后將它們輸入級聯(lián)分類器進(jìn)行分類,其中包含目標(biāo)的樣本為正樣本,反之為負(fù)樣本。檢測模塊在ROI圖中搜索目標(biāo),因此候選樣本數(shù)量大幅減少,算法實(shí)時(shí)性能顯著提升。
焊縫中心的最終位置是由綜合模塊輸出得到的,在此之前綜合模塊接收了跟蹤與檢測的結(jié)果。若跟蹤出現(xiàn)失效或漂移的現(xiàn)象,檢測模塊會(huì)找到焊縫特征點(diǎn)的位置并糾正跟蹤模塊,一般情況下跟蹤和檢測共同決策,輸出焊縫特征點(diǎn)的位置。
學(xué)習(xí)模塊的P-N學(xué)習(xí)算法負(fù)責(zé)對誤分類的樣本重新標(biāo)記,這樣有助于提高分類器的性能。從時(shí)域的角度分析,在時(shí)間序列上跟蹤模塊跟蹤到的一系列焊縫特征點(diǎn)構(gòu)成了一條較平滑的軌跡,該軌跡與焊槍糾偏軌跡相對一致。當(dāng)跟蹤器跟蹤到的焊縫特征點(diǎn)所在區(qū)域被檢測器誤分類為負(fù)樣本時(shí),學(xué)習(xí)模塊會(huì)重新將其標(biāo)記為正樣本。從空域的角度分析,在跟蹤過程中,跟蹤器跟蹤到的焊縫特征點(diǎn)有可能出現(xiàn)“漂移”現(xiàn)象,從而導(dǎo)致與檢測器的分類結(jié)果不一致。此時(shí)檢測器找出焊縫特征點(diǎn)最可能出現(xiàn)的位置,并且將其它區(qū)域標(biāo)記為負(fù)樣本。
為了驗(yàn)證算法的有效性,制定了如下的試驗(yàn)方案:選擇10mm厚V型坡口和5mm厚不帶坡口的不銹鋼板,分別用于V型焊縫和搭接焊縫跟蹤,V型坡口寬度為8mm,傳感器在路徑上的運(yùn)動(dòng)速率為2mm/s,傳感器的采集速率為5frame/s,在工作平面O-xy坐標(biāo)系上,焊縫跟蹤起點(diǎn)和終點(diǎn)坐標(biāo)分別為(0,0)和(100,10),激光視覺傳感器移動(dòng)總路程為100mm,圖8中展示了焊縫與傳感器路徑。
Fig.8 Weld seam and sensor path
對傳感器采集到的圖像運(yùn)行改進(jìn)TLD目標(biāo)跟蹤算法,進(jìn)行兩種焊縫的跟蹤試驗(yàn)。圖9中展示了應(yīng)用改進(jìn)TLD算法跟蹤后的不同情況。圖中“×”點(diǎn)標(biāo)示了焊縫特征點(diǎn)的位置,虛線框和實(shí)線框分別為跟蹤模塊和檢測模塊的輸出。 圖9a中出現(xiàn)了跟蹤漂移現(xiàn)象,檢測模塊糾正了這種錯(cuò)誤,并輸出焊縫跟蹤點(diǎn)的正確位置;圖9c中跟蹤模塊失效,不過檢測模塊找到目標(biāo),故選擇檢測模塊輸出作為最終結(jié)果;圖9b、圖9d中的結(jié)果為跟蹤成功。綜上各種情況,改進(jìn)TLD算法均能成功識別焊縫。
Fig.9 Target tracking results
一般V型焊縫和搭接焊縫以圖9所示的特征點(diǎn)作為焊縫中心,將跟蹤到的特征點(diǎn)像素坐標(biāo)值轉(zhuǎn)換到激光測量坐標(biāo)系中,并以此作為分析模型。
傳統(tǒng)的線激光圖像處理算法的工作流程通常包括平滑濾波、提取骨架、擬合直線、提取特定像素點(diǎn)。應(yīng)用改進(jìn)TLD算法和傳統(tǒng)圖像處理算法進(jìn)行兩種焊縫的跟蹤試驗(yàn),圖10中展示了不同算法的跟蹤路徑,表1、表2為數(shù)據(jù)統(tǒng)計(jì)情況。
由圖10和表1、表2可知,改進(jìn)TLD算法相比傳統(tǒng)圖像處理算法檢測精度更高,兩種焊縫跟蹤平均絕對誤差分別為0.062mm和0.052mm。結(jié)果表明,改進(jìn)TLD算法能精確定位焊縫特征點(diǎn),單幀圖像算法運(yùn)行時(shí)間大約為60ms。
Fig.10 Tracking paths of different weldsa—tracking path (V-shaped weld) b—tracking path (lapped weld)
Table 1 Data statistics of testing results for V-shaped weld tracking
Table 2 Data statistics of testing results for lapped weld tracking
傳統(tǒng)圖像處理算法提取焊縫激光條紋單一或特定的幾何特征,難以滿足焊接自動(dòng)化的要求。TLD算法將跟蹤與檢測結(jié)合,是一種多層次特征提取的智能學(xué)習(xí)算法。改進(jìn)TLD算法的優(yōu)點(diǎn)在于具備跟蹤失敗后重新識別焊縫的能力,且跟蹤焊縫穩(wěn)健、準(zhǔn)確。試驗(yàn)結(jié)果表明,該算法能同時(shí)跟蹤V型焊縫、搭接焊縫,平均絕對誤差分別為0.062mm和0.052mm,單幀圖像算法運(yùn)行時(shí)間大約為60ms,本文中提出的方法能滿足工業(yè)檢測的要求。