廉 杰, 呂學(xué)勤, 顧冬霞, 王 敏
(1.上海電力大學(xué), 上海 200090; 2.國網(wǎng)上海青浦供電公司, 上海 201700;3.國網(wǎng)上海市北供電公司, 上海 200040)
焊接信息的自動提取對于實現(xiàn)焊接自動化有著至關(guān)重要的作用。目前,隨著基于視覺傳感器的焊縫識別技術(shù)的不斷深入發(fā)展,其速度和準(zhǔn)確性不斷提高,應(yīng)用范圍也越來越廣。其中,由電荷耦合元件(Charge Coupled Device,CCD)攝像機和激光組成的激光視覺傳感器,具有結(jié)構(gòu)簡單、測量精度高等特點,因而在焊接自動化領(lǐng)域得到了廣泛應(yīng)用[1]。激光視覺傳感是通過由結(jié)構(gòu)光投射在焊縫表面而形成激光的條紋,獲得焊縫寬度、深度等輪廓信息的一種技術(shù)[2]。為了能夠準(zhǔn)確地提取焊縫特征信息,需要首先獲取光條紋中心線,然后對其進行進一步的特征分析和處理,從而獲得精確度更高的特征信息。
SUNG K等人[3]考慮到圖像處理時間有限,對激光進行了預(yù)處理,將其轉(zhuǎn)換為5條激光線,并計算每個像素列中的激光強度,選取平均強度最高的峰值組形成一組激光線,然后通過分割和合并得到特征點。但是其激光線提取的精度不高,最終會影響圖像特征點的提取精度。CUI H R等人[4]采用Steger算法獲取光條紋中心線,有效地提高了提取結(jié)果的準(zhǔn)確性。
Steger算法[5]是一種被廣泛采用的亞像素中心線提取算法,具有很高的精度,其原理是通過Hessian矩陣和泰勒展開求得光條橫截面上一階導(dǎo)數(shù)過零點,然后計算得出光條紋中心線位置。但是,在連續(xù)的焊接工作中,會產(chǎn)生大量需要識別的焊縫圖像,而對于每一個焊縫圖像來說,計算Hessian矩陣意味著對每個點都需要進行至少5次大模板的二維高斯卷積運算,導(dǎo)致焊縫信息識別的計算量很大,無法滿足提取光條紋中心線的實時性要求。因此,研究人員對該算法進行了改進。南方等人[6]基于Steger算法,通過隨機Hough變換得到邊緣區(qū)域的邊緣線,然后根據(jù)寬度值對邊緣區(qū)域進行分割,通過設(shè)置合適的參數(shù)來提取光條紋中心線。該方法在一定程度上提高了計算速度,但仍有改進的空間。
綜上所述,在基于機器視覺的焊縫識別方面,相關(guān)學(xué)者貢獻了一些非常優(yōu)秀的研究成果,但仍存在算法計算量大、無法滿足實時性要求的問題,且算法在提取焊縫特征信息的精度方面仍有欠缺。為了提高實時性和準(zhǔn)確性,本文提出了基于改進算法的焊縫光條紋中心線提取方法。
本文采用基于視覺傳感的機器人焊接系統(tǒng),主要由機器人本體、視覺傳感器、計算機控制平臺等部分組成,如圖1所示。
圖1 基于視覺傳感的機器人焊接系統(tǒng)
系統(tǒng)采用十字滑塊作為焊接機器人的機械臂,將激光視覺傳感器系統(tǒng)剛性固定于焊槍的前部,且使線激光器與CCD攝像機的中心線在同一平面內(nèi),呈小于90°的夾角,則此時攝像機剛好可以完整拍攝到待焊接工件上的激光條紋[7]。CCD攝像機采集到的焊縫圖像被傳回計算機控制平臺,經(jīng)過一系列的圖像處理,提取出焊縫的寬度、深度等特征信息后,根據(jù)相關(guān)工程設(shè)定,向機器人執(zhí)行機構(gòu)發(fā)出控制指令[8]。通過激光視覺傳感器的引導(dǎo),焊接機器人可以實時跟蹤焊縫,完成焊接任務(wù)。
焊縫圖像的處理一般分為預(yù)處理和后處理兩部分。工業(yè)環(huán)境中,受焊接導(dǎo)致的飛濺、煙塵及電噪聲等因素的影響,攝像機采集的圖像中會包含大量的噪聲信號。通過濾波去噪等預(yù)處理操作,可以有效地去除噪聲信號,獲得更為真實的圖像信息[9];而后處理的任務(wù)則是提取濾波后圖像的寬度、深度等特征信息。圖2 為CCD攝像機采集的V型焊縫圖像。
圖2 V型焊縫圖像
中值濾波作為一種常用的平滑濾波方法,能夠在有效消除圖像噪聲的基礎(chǔ)上,很好地保護原始圖像信號[10]。其定義為
Yi,j=Smed[Xi,j]=Smed[Xi+m,j+n;(x,y)∈W],
(1)
式中:Yi,j——窗口W中的全部像素灰度值的中值;
Smed——求取中值運算;
Xi,j——中心坐標(biāo)(i,j)處的像素值;
(x,y)——圖像像素坐標(biāo);
W——圖像中選取的窗口部分;
L,H——窗口的水平和垂直長度,一般為奇數(shù)。
圖3為中值濾波后的V型焊縫圖像。
圖3 中值濾波后的V型焊縫圖像
在諸多的圖像分割算法中,Otsu法能夠較快地自動篩選出最佳閾值,并根據(jù)最佳閾值來實現(xiàn)圖像的二值化。該算法計算簡單,能夠克服亮度和對比度造成的影響,是閾值選取的最佳算法[11]。本文采用Otsu法分割圖像,確定其最佳閾值的公式為
(2)
式中:T——背景與前景之間的類間方差;
Smax——求取最大值運算;
w0——背景圖像在整體圖像灰度中的占比;
t——分割閾值;
u0——背景圖像的灰度均值;
u——整體圖像的灰度均值;
w1——目標(biāo)圖像在整體圖像灰度中的占比;
u1——目標(biāo)圖像的灰度均值。
當(dāng)T取最大值時,t即為最佳的分割閾值。圖4為焊縫圖像閾值分割后的結(jié)果。由圖4可以看出,閾值分割后的圖像清晰,所需特征信息都保存完整,且無明顯的噪聲區(qū)。
圖4 焊縫圖像閾值分割后的結(jié)果
傳統(tǒng)的Steger算法可以精確地求出光條紋中心線的位置,并且達到亞像素精度。首先由Hessian矩陣得到光條紋的法線方向,然后在法線方向上利用泰勒展開求導(dǎo),即可求得中心位置[5]。對于圖像中光條紋上的任意一點(x,y),Hessian矩陣可以表示為
(3)
式中:g(x,y)——高斯函數(shù);
f(x,y)——圖像中坐標(biāo)為(x,y)點的像素;
rxx,rxy,ryy——光條紋圖像沿相應(yīng)方向的二階偏導(dǎo)數(shù)。
求解Hessian矩陣是一個運算量很大的過程,主要原因是需要在整個圖像范圍內(nèi),對所有的點進行復(fù)雜的大模板的二維高斯卷積運算5次以上。對于工業(yè)要求下的焊縫信息獲取,采用傳統(tǒng)Steger算法很難實現(xiàn)快速提取包含焊縫輪廓的結(jié)構(gòu)光條紋中心線,使得整個特征提取過程的實時性受到極大影響。因此,需要根據(jù)焊縫圖像的特點,對傳統(tǒng)Steger算法進行改進,以提高算法的速度。
由于結(jié)構(gòu)光條紋為一條曲線,在整幅圖像中所占的像素數(shù)很少,且與背景的像素灰度值相比,其灰度值很高,具有明顯的差異。為了減少運算量,提高運算效率,設(shè)置固定邊長的矩形方框,將圖像進行網(wǎng)格化處理,分割后的圖像如圖5所示。對每個方框取灰度均值,判斷該區(qū)域是否有結(jié)構(gòu)光條紋所在的像素點,提取出所有包含結(jié)構(gòu)光條紋的矩形框,使其并集能構(gòu)成完整的結(jié)構(gòu)光條紋圖像[12]。此時,只需要對提取的矩形區(qū)域進行高斯卷積即可,有效地避免了對非感興趣區(qū)進行大量的不必要的高斯卷積運算。
圖5 焊縫圖像矩形網(wǎng)格分割示意
由于高斯函數(shù)具有可分離性,故可將圖像的二維高斯卷積進行簡化,用一次高斯行卷積和一次高斯列卷積進行替代,從而降低運算復(fù)雜度[13]。當(dāng)二維高斯模板的大小為n×n時,對其進行一次二維卷積的運算量為n2次乘加,而兩次一維卷積的運算量為2n次乘加,可以看出,卷積的運算量大幅減小。另外,微分形式的高斯卷積核也具有可分離性,可以進行簡化替代,簡化后的公式為
(4)
式中:gx,gy,gxx,gxy,gyy——二維高斯核函數(shù);
g′(x),g′(y),g″(x),g″(y)——一維高斯核函數(shù)。
根據(jù)上述分析,對原算法進行改進,對圖像的5次二維卷積可以轉(zhuǎn)化為10次一維卷積。此時,圖像中一個像素點的卷積運算量將由直接計算二維卷積的5n2次乘加降低為10n次乘加,對分辨率為M×M的圖像采用大小為N×N的卷積模板運算的計算復(fù)雜度從O(5×M×M×N×N)降到O(10×M×M×N),處理速度大幅提高。
采用精度較高的灰度重心法與本文所提出的改進算法同時進行光條紋中心線提取,結(jié)果對比如圖6所示。由圖6可以看出,在V型焊縫處,采用灰度重心法提取到的光條紋中心線存在多次跳變,并產(chǎn)生了3個間斷點;在I型焊縫處,用灰度重心法提取到的光條紋中心線存在一處跳變;對于兩種類型的焊縫,采用本文改進算法提取到的光條紋中心線均沒有明顯的間斷點,整體也更為平滑,更能準(zhǔn)確反映光條紋中心線的特征,降低特征提取誤差。
圖6 兩種算法提取的光條紋中心線
為檢驗本文算法的提取速度,對本文算法、灰度重心法、傳統(tǒng)Steger算法分別進行運算時間的測試,3種算法的平均耗時分別為29 ms,12 ms,193 ms??梢?本文算法提取速度快于傳統(tǒng)Steger算法,接近于灰度重心法的速度。在保證提取質(zhì)量的基礎(chǔ)上,本文算法滿足了實時性要求。
為了保證焊縫坡口特征信息提取的準(zhǔn)確性,同時提高提取速度,對基于激光視覺的焊縫圖像光條紋中心線提取進行了研究。建立了基于激光視覺傳感的焊縫坡口圖像識別系統(tǒng),對典型的V型和I型坡口的焊縫光條紋中心線提取方法進行了測試和對比。改進后的Steger算法不僅能準(zhǔn)確地提取出光條紋中心線,而且提取速度可以滿足實時性的要求。