陳 琳,劉冠良,李松莛,李權文,潘海鴻
(廣西大學 機械工程學院,廣西 南寧 530004)
隨著大型工程機械行業的快速發展,中厚板結構件在建筑、船舶等鄰域中應用日益增多[1,2]。同時數字圖像處理技術和視覺傳感技術在焊接鄰域越來越多的應用加速了焊接自動化[3],其中焊縫特征位置信息的提取是實現焊縫識別與跟蹤技術的關鍵。
焊縫圖像提取后,由于厚板焊接工件激光成像圖像在整幅圖像中占比較小,但卻是圖像處理的核心部分。確定感興趣區域(region of interest,ROI)的方法有:1)對整個圖像使用比較簡單的邊緣算子進行圖像處理,根據邊緣信息ROI,容易受到噪聲和環境干擾[4]。2)根據實際情況確定靜態ROI。目前,深度學習憑借在圖像快速檢測與分類中的優勢被廣泛應用。主流的目標檢測模型有Faster-RCNNI41、YOLOv3、YOLOv4 等[5],其中YOLOv4 網絡與其他網絡比,其檢測速度快且檢測精確率更高[6]。因此采用YOLOv4實現對焊縫特征區域的自動檢測與提取。同時由于表面的不均勻漫反射特性,容易導致焊縫特征點難以穩定提取,嚴重降低焊接的精度。顧帆等人[7]通過中值濾波與重心法獲取條紋中心線,再通過直線擬合等得到焊縫圖像的特征點。歐志輝等人[8]提出了一種基于距離濾波的圖像處理方法,通過距離濾波去除無關的點和距離補償得到焊縫特征點。李琳等人[9]使用小波變換模極大值理論分析了焊縫輪廓數據,并使用最小二乘法擬合直線獲取焊縫特征點。秦濤等人[10]提出了一種改進最小二乘法,將數據點劃分為不同的集合,數據點數量最多的集合擬合出特征直線,能較好地檢測特征直線。
本文通過YOLOv4預訓練得到激光焊縫檢測的權重文件,激光相機采集到焊縫圖像通過自動檢測并裁剪提取圖像的ROI,再經過圖像去噪、二值化等預處理后通過逐行(列)搜索法獲取激光條紋中心線。最后對接V 型焊縫基于距離法分為直線區域與折線區域來獲取焊縫特征點;單邊V型由霍夫(Hough)直線檢測得到每條直線段的起點、終點坐標值,并將得到的坐標值與直線的斜率、截距作為樣本通過K-means聚類,根據起點、終點聚類結果擬合直線來得到焊縫特征點。
厚板焊接目前應用最廣的焊縫工件接頭類型為對接V型與角接單邊V型。搭建機器人激光視覺系統(圖1),將結構件焊縫坡口邊上的A 點和B 點與焊縫底部P 點作為焊縫特征點(圖2)。

圖1 機器人激光視覺系統

圖2 焊縫特征點示意
焊縫圖像分為焊縫特征區域(ROI)和背景區域2 個部分。焊縫特征區域主要是激光條紋所在的區域,其在整幅圖像中的占比較小,是圖像處理的主要部分。背景區域指的是圖2中的黑色區域,背景部分在整幅圖像中占比較大,但對提取焊接點像素坐標沒有作用,因此為減小內存占用并增加圖像處理的速度,可以僅提取焊縫特征區域完成圖像預處理。YOLO(you only look once)[11]是一種基于深度神經網絡的對象識別和定位算法,其最大的特點是運行速度很快,可以用于實時系統,其結構如圖3。為此,采用YOLOv4實現對焊縫特征區域的自動檢測與提取。

圖3 YOLO目標檢測網絡結構
ROI提取步驟:1)采集不同機器人姿態下焊縫圖像并訓練模型。2)輸入需要提取的ROI 原始圖像。3)輸出焊縫識別結果與置信度:輸出邊界框包括:置信度、中心坐標、寬、高等。根據輸出參數可得到邊界框左上角與右下角的坐標信息。4)根據步驟(3)得到的坐標信息對圖像裁剪,提取ROI(圖4)。訓練模型環境:YOLOv4 識別:在Windows10 64 位,CPU 型號為i9 9 000 k,顯卡型號為NVDIA Geforce RTX 2060,運行內存16 GB的計算機上進行神經網絡訓練(學習率設置為0.01,訓練次數為10000次)。

圖4 ROI提取流程
本文采用高斯濾波對圖像中的高斯噪聲進行降噪效果(圖5(a))。首先定義一個算子模板(采用5 ×5 高斯濾波算子),然后利用公式G(x,y)=-1exp(-(x2+y2)/2δ2)計算算子內各點的權值,并與原圖進行卷積操作完成降噪。其中,δ為高斯濾波的頻帶寬度,δ值越大,則高斯濾波后的效果更為平滑。

圖5 高斯濾波與二值化圖像
濾波后,需要將灰度圖轉化為二值圖像。設定一個閾值,將大于閾值設定為255;相反為0。使圖像只呈現出黑、白兩種灰度(圖5(b))。最大類間方差(大律,OTSU)法有著計算簡單,不受圖像亮度和對比度影響的優勢。在本文系統中,焊接母材材料可能會變化導致激光亮度發生變化,因此,選擇OTSU法進行自動的無參數無監督的閾值分割。
二值化后圖像中因為激光線反光等原因,會使獲取的圖像中可能存在除結構光條紋外的干擾點,通過檢測每個連通區域的面積,將面積小于閾值(設置值為30)的其他連通區域作為干擾點去除。同時根據焊縫圖像成像特征(即反光主要影響在V型尖點外側),取左右兩邊各50 個像素的激光條紋寬度將圖像進行寬度處理(圖6)。

圖6 激光條紋細化圖像
針對二值化后的圖像采用從左至右(從上至下)進行逐行(列)搜索。在搜索的每行(列)中,將搜索到的第一個灰度值255的像素點記為A 點,像素坐標(x0,y0),將搜索到的最后一個灰度值為255 的像素點記為B點(圖7),像素坐標(x1,y1)。在當前搜索行(列)中,所提取的激光條紋中心坐標為((x0+x1)/2,(y0+y1)/2),遍歷圖像的所有行(列),最終提取整幅圖像的激光條紋像素中心線(圖8)。

圖7 逐行(列)搜索法原理

圖8 提取的激光條紋中心
假定N 點為取激光條紋中心線起點,M 點為終點(圖9),取首尾一定像素點(選取為70 個),利用其像素坐標進行最小二乘擬合直線為

圖9 對接V型特征點提取
通過求激光條紋中心線上像素點與擬合直線的距離將激光條紋中心線分為兩部分,直線NM 與折線APB。通過遍歷直線NM上的每2 個像素點之間的差值,可求得差值距離最大的為A點和B 點(圖9)。通過遍歷折線APB 上的每個像素點與直線NM的距離,距離最大的為P點。
由于角接焊縫中特征點不如對接焊縫明顯,所以首先采用Hough直線檢測加K-means聚類的方法來確定每條直線包含的線段。再通過最小二乘擬合直線來提取特征點。
Hough直線檢測的原理是利用點與線的對偶性,將原始圖像空間的給定的曲線通過曲線表達形式變為參數空間的一個點。這樣把原始圖像中給定曲線的檢測問題轉化為尋找參數空間中的峰值問題。將角接單邊V 型的激光條紋中心線像素點作為檢測對象,Hough直線可檢測到21 條直線段(如表1)。

表1 直線檢測與聚類結果
由每條直線段的起點與終點坐標可求得該對應直線段的斜率k與截距b
將每條直線段的斜率k、截距b 以及起點與終點坐標作為數據集,由激光條紋線可知主要分為3段直線,故將聚類類別數量K設置為3。將3 類中包含的起點、終點坐標最小二乘擬合直線即可得到3 條直線的方程,3 條直線兩兩相交即為特征點A,B和P(圖10)。

圖10 對接V型特征點提取
1)根據相機成像原理及結構光平面方程,將特征點由像素坐標轉換到相機坐標系坐標
式中 (xc,yc,zc)為激光線上一點在相機坐標系下坐標;(u,v)為該點在像素坐標系下坐標;(u0,v0)為圖像中心在像素坐標系下坐標;f為相機焦距。I,O,P,T為結構光平面方程參數。
2)通過手眼標定得到標定矩陣,實現特征點轉換到機器人基坐標系坐標
式中 MR為當前機器人位姿矩陣,為手眼標定矩陣。(xb,yb,zb)為激光線上一點P在機器人基坐標系下的坐標。
搭建機器人激光視覺系統焊接實驗平臺(圖11(a)),其主要包括:六軸川崎機器人本體、激光視覺系統、Q235-A碳素結構鋼,厚度為18 mm,坡口角度為65°的V型坡口厚板構成焊縫進行實驗。

圖11 焊接實驗平臺搭建與焊縫識別結果
1)ROI提取實驗分析
利用YOLOv4訓練好的權重文件,隨機測試5 組圖片每組20張并自動裁剪,平均時長均小于15 ms,如表2。

表2 ROI提取時長
2)焊縫特征點識別誤差實驗分析
通過激光視覺系統的相機、結構光平面及手眼標定后,任取6個點多次測量取平均值,通過視覺端得到焊縫特征點信息經過坐標轉換得到特征點在機器人基坐標系下的坐標值為計算結果,將焊槍工具中心點(tool center point,TCP)頂在焊縫特征點上人工測量的坐標作為真實值(表3)。通過表3可得到特征點的提取誤差值,得到的焊縫特征點坐標在基坐標系x,y,z 方向誤差較小,均小于0.8 mm(圖11(b)),符合實際焊接需求。

表3 焊縫特征點識別 mm
提出一種基于線結構光的厚板焊縫特征點提取算法。采用YOLOv4訓練好權重文件檢測并自動裁剪一張圖識別率可達98%,耗時小于15 ms。實際檢測結果表明:在x,y,z方向的平均誤差為0.54,0.37,0.38 mm。該方法對復雜工件表面提取特征點具有很好的魯棒性,滿足實際焊縫焊接需求。