郭海冰
(1.沈陽新松機(jī)器人自動(dòng)化股份有限公司工業(yè)機(jī)器人BG 遼寧省沈陽市 110168)
(2.天津新松機(jī)器人自動(dòng)化有限公司研發(fā)中心 天津市 300100)
自動(dòng)化是未來發(fā)展的必然趨勢,利用機(jī)器代替人工進(jìn)行自動(dòng)操作,不僅可以顯著提高生產(chǎn)效率,而且可以有效改善生產(chǎn)質(zhì)量。而快速有效的焊縫跟蹤是實(shí)現(xiàn)焊接自動(dòng)化的關(guān)鍵步驟[1]。目前,焊縫跟蹤的傳感器主要有光學(xué)式、機(jī)械式、電弧式和電磁式等[2]。其中,基于結(jié)構(gòu)光的視覺傳感器具有主動(dòng)性、非接觸、精度高、抗電磁干擾能力強(qiáng)和能獲取物體三維信息等優(yōu)點(diǎn),被廣泛應(yīng)用在焊縫跟蹤領(lǐng)域[3]。
焊縫焊接過程中,盡管已經(jīng)在硬件方面采取了一系列措施,如在視覺傳感器上加裝擋板來阻隔飛濺、煙塵,在視覺傳感器前端加裝濾光片以濾除弧光等[4],飛濺、弧光、煙塵等噪聲還會對焊縫圖像產(chǎn)生很大的干擾。圖1為結(jié)構(gòu)光視覺傳感器采集的原始焊縫圖像。因此,濾除這些噪聲干擾以獲得高質(zhì)量的焊縫圖像,并精確提取合格的焊縫特征是實(shí)現(xiàn)焊縫跟蹤的關(guān)鍵所在。
傳統(tǒng)的圖像濾波算法如高斯濾波、中值濾波等很難提取出焊縫圖像中的干擾信息。劉習(xí)文[5]、何銀水[6]等人采用頻域?yàn)V波方法對圖像做了一些預(yù)處理工作,效果不錯(cuò),但由于耗時(shí)過長,無法滿足機(jī)器人運(yùn)動(dòng)中實(shí)時(shí)性的要求。王平[7]采用連續(xù)的多幀圖像進(jìn)行運(yùn)算,能夠過濾掉圖像中不同區(qū)域的干擾,但無法過濾掉圖像中相同區(qū)域的干擾信息,濾波后的圖像仍然有很多噪聲點(diǎn)。
本文針對線結(jié)構(gòu)光焊縫圖像的特點(diǎn),采用動(dòng)態(tài)ROI提取、LOG濾波、均值濾波、Otsu自適應(yīng)閾值二值化圖像、去孤立塊、角度濾波等圖像預(yù)處理方法,有效地去除了飛濺、弧光、煙塵等干擾,然后利用圖像細(xì)化、毛刺去除以及隨機(jī)采樣一致性算法與最小二乘法相關(guān)聯(lián)的方式精確提取到了焊縫特征點(diǎn)。
動(dòng)態(tài)ROI提取是從每幅原始圖像中劃分出目標(biāo)所在區(qū)域,從而去除多余的無用信息,這樣既可以提高處理速度,還可以消除ROI區(qū)域之外的干擾信息,提高精度。
焊縫跟蹤過程中由于焊縫特征的一致性,前后相鄰兩幀圖像基本類似,使用上一幀圖像獲取的焊縫特征信息,可以很容易獲取當(dāng)前幀圖像的ROI區(qū)域。如圖2所示,設(shè)前一幀圖像處理后的焊縫三個(gè)特征點(diǎn)坐標(biāo)FP1(u1,v1),F(xiàn)P2(u2,v2),F(xiàn)P3(u3,v3),通過這3個(gè)坐標(biāo)點(diǎn)可以規(guī)劃出繞著激光線的一個(gè)不規(guī)則區(qū)域。假設(shè)ROI邊緣到激光中心線的間距為2n,則ROI角點(diǎn)P1到P6的坐標(biāo)為:


圖1:原始焊縫圖像

圖2:焊縫圖像動(dòng)態(tài)ROI

圖3:LOG濾波后的圖像

焊接過程中,激光器與目標(biāo)之間的距離變化很小,因此焊縫圖像中激光條紋的寬度基本一致。一維LOG濾波器非常適用于處理這種寬度幾乎不變的焊縫圖像,其對列方向上尺寸遠(yuǎn)遠(yuǎn)大于或小于激光條紋寬度的干擾噪聲具有較強(qiáng)的濾除效果。

圖4:均值濾波后的圖像

圖5:二值化后的圖像

圖6:去孤立塊及角度濾波后的圖像

圖7:細(xì)化后的圖像
一維LOG濾波器的函數(shù)形式為:

將其進(jìn)行離散處理后為:

其中,w為激光條紋寬度。
LOG濾波后的焊縫圖像如圖3所示。激光條紋影響大不,而噪聲基本上都變成了離散的、孤立的小塊干擾。
利用均值濾波對焊縫圖像進(jìn)行平滑處理,模糊灰度急劇變化的邊緣,同時(shí)抑制噪聲。采用5×5窗口的均值濾波后的圖像如圖4所示。
由于焊接環(huán)境的不穩(wěn)定性與不可預(yù)測性,所以對跟蹤過程中采集的每一張焊縫圖像進(jìn)行分割處理時(shí)都要進(jìn)行具體分析,確定最佳的分割閾值。本文采用Otsu自適應(yīng)閾值將焊縫圖像從灰度圖像轉(zhuǎn)化為二值圖像,處理速度快,且目標(biāo)和背景分割清晰可靠,如圖5所示。
二值圖像中存在一些小的孤立塊,其面積遠(yuǎn)遠(yuǎn)小于目標(biāo)激光條紋的面積,故采用八鄰域標(biāo)記法將面積小于閾值的孤立塊去掉。
此外,目標(biāo)激光條紋可以劃分為兩個(gè)子區(qū),每個(gè)子區(qū)內(nèi)激光條紋點(diǎn)具有固定的角度范圍(根據(jù)實(shí)際采集到的圖像經(jīng)驗(yàn)確定),因此濾掉不符合要求的其他區(qū)域。
經(jīng)過去孤立塊及角度濾波最后得到目標(biāo)激光條紋如圖6所示。
激光條紋具有一定的寬度,通過對焊縫圖像進(jìn)行細(xì)化處理,可以降低提取焊縫特征點(diǎn)的難度。中軸變換法提取的激光條紋中心不易斷裂,且算法簡單、處理速度快。圖7所示為焊縫圖像的細(xì)化處理結(jié)果。
對于大部分焊縫圖像,圖像預(yù)處理階段可以完全將弧光、飛濺等干擾去除,細(xì)化后的激光條紋不存在毛刺。但對于少數(shù)干擾特別強(qiáng)烈的焊縫圖像,尤其是多個(gè)飛濺重疊的情況,預(yù)處理后無法完全濾除飛濺干擾,仍可能有部分殘余,如圖7所示,這類圖像細(xì)化后,激光條紋上會產(chǎn)生毛刺,毛刺的存在容易使后續(xù)計(jì)算得到的特征點(diǎn)存在誤差,因此有必要在特征點(diǎn)提取之前先對圖像進(jìn)行毛刺去除處理,從而提高焊縫特征提取的精度。
細(xì)化后焊縫圖像的像素點(diǎn)灰度值只有兩種情況,0或者1,0表示背景區(qū)域,1表示目標(biāo)區(qū)域。對于細(xì)化圖像中骨架上的任意點(diǎn)P,其8鄰域表示如圖8所示,交叉數(shù)為:

其中,Pi為像素點(diǎn)的灰度值。
點(diǎn)P的8鄰域紋線點(diǎn)數(shù)為該點(diǎn)8鄰域內(nèi)像素點(diǎn)灰度值之和:

根據(jù)點(diǎn)P的8鄰域交叉數(shù)和紋線點(diǎn)數(shù)可以將骨架上的點(diǎn)劃分為以下幾種:
(1)端點(diǎn):S(P)=1或S(P)=2or3,C(P)=1;
(2)連續(xù)點(diǎn):S(P)=2或S(P)≥3,C(P)=2;
(3)分支點(diǎn):S(P)≥3,C(P)≥3。
從端點(diǎn)沿激光線搜索,當(dāng)其8鄰域中有分支點(diǎn)時(shí)停止搜索,將搜索路徑中的紋線點(diǎn)去除,并將該分支點(diǎn)的分支數(shù)減1,此時(shí)分支點(diǎn)變?yōu)檫B續(xù)點(diǎn)。繼續(xù)搜索直至激光線不存在分支點(diǎn),停止搜索。由此可以去除所有的毛刺。去毛刺處理的結(jié)果如圖9所示。
計(jì)算圖像行方向像素點(diǎn)灰度值之和,從下到上找出圖像第一個(gè)灰度值之和不為0的行,并從左到右搜索該行中第一個(gè)不為0的像素點(diǎn),記錄該點(diǎn)坐標(biāo)。找出激光條紋最左、最右像素點(diǎn)坐標(biāo)。根據(jù)以上信息,分別對激光條紋左斜線、右斜線開小窗,分割結(jié)果如圖10所示。
采用隨機(jī)采樣一致性算法與最小二乘法相結(jié)合的方式對開小窗后的激光條紋數(shù)據(jù)直線擬合。直線方程表示為:

矩陣形式為:

其中,(x1,y1)、(x2,y2)...(xn,yn)為隨機(jī)采樣一致性算法篩選出的有效數(shù)據(jù)。
擬合直線求交點(diǎn),即可得到焊縫特征點(diǎn),如圖11所示。
對焊縫圖像利用動(dòng)態(tài)ROI提取、LOG濾波、均值濾波以及Otsu自適應(yīng)閾值二值化圖像、去孤立塊、角度濾波等圖像預(yù)處理方法,有效地去除了飛濺、弧光、煙塵等干擾,將激光條紋從噪聲中分離出來,得到清晰的焊縫圖像,然后再對其進(jìn)行圖像細(xì)化、毛刺去除,并通過隨機(jī)采樣一致性算法與最小二乘法相關(guān)聯(lián)的方式可以精確地提取到焊縫特征點(diǎn),具有很強(qiáng)的抗干擾能力。
使用主頻2.4GHz、內(nèi)存8G的計(jì)算機(jī)上,處理大小為1280× 1024的圖像,平均耗時(shí)35ms,滿足焊縫跟蹤的實(shí)時(shí)性要求。

圖8:點(diǎn)P的8鄰域

圖9:去毛刺后的圖像

圖10:激光條紋分割結(jié)果

圖11:焊縫特征點(diǎn)