趙陳磊, 王 宇, 肖 遙, 趙 強
(西華大學 機械工程學院, 成都610039)
實現焊接機械手自主焊接的重要前提是完成對焊接路徑的三維重構。 焊接路徑往往存在于目標的邊、 角、 縫等典型的梯度突變區域, 但是在實際情況中存在梯度突變區域并不一定是所需要的焊接區域。 在最典型的角焊中, 與角焊縫相似的特征, 可以是焊接件的邊緣輪廓, 甚至到固定螺絲的外形, 這些都可以使用Sojka 特征點將其提取出來。 這就為焊接機械手的工作帶來了挑戰, 如何去區分焊接特征和非焊接特征, 如何去除這些噪聲, 自從引入Faster RCNN 后, 這些問題就可以得到很好的解決。
實現自主焊接關鍵技術中焊接路徑的三維重構技術, 主要步驟為: ①對相機進行標定, 獲取相機參數, 建立一個三維空間; ②根據相機標定參數將相機校正, 使左右相機的軸線狀態變為平行, 這一步是實現三角測量的基礎; ③根據相機標定參數將相機獲取的圖片進行校正, 消除圖像的變形; ④提取左右圖像特征點, 找到對應關系, 實現匹配; ⑤根據匹配點, 結合三角測量實現目標的三維重建。 而匹配技術正是目前影響三維重建的關鍵因素。 張氏標定法已經使得相機標定技術趨于成熟, 基于三角測量的深度信息恢復更是早已被廣泛應用。 所以特征匹配技術目前已成為國內外的研究熱點。
本研究特征匹配技術主要包括以下幾個部分:特征(Sojka 點特征) 提取、 進行極線約束、 相似性測度(基于像素點灰度差的平方和, SSD)。
Sojka 特征點提取可以達到亞像素精度級別,是一種使用貝葉斯估計算法, 根據像素點灰度值, 結合像素點領域窗口, 提取灰度值等值分割線交點的快速特征點提取方法。
1.1.1 等值分割線的估算
在圖像中, 一些物體或物體與物體之間往往由于邊、 角、 縫等物理特征的存在, 會使圖像灰度值變化顯著, 存在明顯的分界線, 而這些明顯的邊界可創建為等值分割線。
1.1.2 點的估算
取等值分割線上的點為中心創建一個窗口區域C, 分別計算該區域內點的x 和y 方向上灰度值的梯度矢量, 取梯度幅值大于給定閥值的點,假設存在這樣的一個點P。
1.1.3 去除誤差點
取估算點的方差、 均值和相關系數作為判斷標準, 當相關系數Coor (P) 在窗口區域內達到最大時即均值μφ(P) 和方差μφ2(P) 達到設定閾值時,可以確定該估算點有效。
1.1.4 對點進行評估
為保證估算點真正位于不同灰度值的臨界區域的等值分割線上, 需引入概率估計函數對估算點進行評估

式中: μg(P) ——P 點的平均幅度;
μr(P) ——P 點的平均長度。
極線約束是一種降維處理問題的過程。 在每張圖像上, 每一個點可以由x 和y 表示它的橫縱坐標。 為了獲取匹配點, 就需要找到左右相機拍攝的圖像中相對應的點, 需要搜索對應x 和y 的值, 是一個二維求解問題。 我們假設存在左相機圖像中一點P1與之對應的右相機有一點P2, 可以建立極線約束方程

其中, F 為一個3×3 且秩為2 的齊次矩陣。 然后可以構建兩點的極線方程

由此可以計算出其中一點在另一相機圖像中的極線, 為后續匹配做準備。
相似性測度目前主要有基于距離、 相似性函數以及概率的評判方法。 這里選擇基于相似性函數的差值平方和函數作為評價標準, 確定左右圖像的對應點來完成匹配。

目前主流的匹配方法是基于關鍵點特征的半全局匹配為主, 具有響應快、 實時性強等特點, 在此基礎得到圖像的視差以及深度信息, 實現目標的密集點云三維重建。 但是本研究不采用這種方法,因為焊接機械手在焊接過程只需要得到焊接路徑的三維坐標信息即可, 并不需要知道整個物體的外觀形狀等特征, 為此只需要得到焊縫上的一系列特征點, 計算焊縫的稀疏視差和稀疏深度信息。
目標檢測一直以來是計算機視覺領域內的研究重點, 尤其是Alexnet 視覺模型出現之后, 傳統的目標檢測算法變得不再適合, 而基于CNN的目標檢測技術變得日新月異。 目前基于CNN的目標檢測算法主要分為兩種: 一種是檢測實時性好, 適用于高速視覺系統檢測的Yolo、 SSD 等算法; 另一種是檢測精度高, 適用于單幀圖像目標檢測的Faster RCNN、 Mask R-CNN 等算法。目標檢測流程如圖1 所示。

圖1 目標檢測流程圖
在此基礎上, 針對現有研究對象, 以及檢測精度要求高的特點, 本研究使用了目前研究應用最為成熟的Faster RCNN 等算法進行驗證。 該算法適應性好、 檢測誤差小, 可以實現對任意尺寸輸入目標的檢測識別。 首先需要對目標圖像特征進行標記(圖1 綠色方框), 然后使用CNN 模型訓練,輸出訓練用特征。 該特征一方面用于在RPN 網絡中處理后輸入池化層, 另一方面直接輸入池化層處理。 在池化層處理后生成相同維度特征, 最后對這些特征進行分類。
在選取了適合本研究對象的目標檢測算法后, 在matlab 平臺上對該方法進行驗證處理,構建的訓練平臺系統配置見表1。 完成平臺構建后, 在matlab 平臺上對訓練參數進行預設,Faster RCNN 算法預設參數見表2。

表1 訓練平臺系統配置

表2 Faster RCNN 算法預設參數
2.2.1 構建圖像訓練集
由于本研究重點只是對方法以及原理可行性的驗證, 因此只采集了10 張圖像用于訓練, 訓練圖像采集模型如圖2 所示。 焊接工件繞原點O 旋轉, 通過定位點E 在相機視場內選取10 個合適的位姿用于訓練。 這樣做也是為了模擬實際焊接機器人的作業環境。 在實際的流水線作業環境中,每臺焊接機器人只會對特定幾個焊點或焊縫作業,而且作業環境穩定, 不會存在個體和檢測背景的差異, 因此需要有針對性地構建訓練集。 本研究構建訓練集的方式是模擬在實際機器人部署過程中, 針對機器人實際焊接工件, 通過調整相機拍攝不同角度來拍攝同一工件, 構建訓練集的過程。

圖2 訓練圖像采集示意圖模型
2.2.2 提取焊縫目標
使用matlab 自帶的圖像標注工具, 對圖3(模擬角焊) 黑色方框區域(焊縫所在區域) 進行標注, 用于Faster RCNN 訓練。 標注目標區域的目的主要是告知網絡所識別的物體是什么。

圖3 焊縫區域示意圖
2.2.3 Faster RCNN 算法處理
在matlab 中調用檢測器 (TrainFaster RCNN ObjectDetector) 進行訓練。 Faster RCNN 算法的核心有兩個: ①CNN 網絡的選擇; ②RPN 網絡處理。 前者是算法實現的基礎, 后者是本算法特有的處理過程。
采用經典的Alexnet 網絡作為CNN 網絡進行處理, Alexnet 網絡包含5 個卷積層, 3 個池 化層, 3 個全連接層。 在前兩次卷積過程中使用局部歸一化函數保證神經網絡的訓練精度。 該CNN 網絡將標注后的焊縫訓練特征, 在經過卷積、 池化, 生成一系列的特征地圖, 再經過全連接層處理, 輸入RPN 網絡處理。
RPN 網絡模型是將CNN 模型處理過的特征輸入滑動窗口(sliding window) 進行卷積用以獲取256 維的特征向量, 將這些特征向量輸入全連接層獲取評分 (目標評分和背景評分) 和位移(4 個相對于原圖坐標偏移), 最后結合這些結果求解候選區域。
2.2.4 驗證算法可靠性
焊接機器人實際作業環境中, 由于制造公差的原因, 焊接工件需要焊接的區域會產生微小的位移, 通過放大這個誤差 (模擬誤差20 mm),分別在以訓練數據集采集位置為中心相距20 mm的4 個位置 (A、 B、 C、 D), 采集圖像構建訓練集, 測試圖像采集模型如圖4 所示。

圖4 測試圖像采集模型示意圖
在構建完訓練集后, 將其輸入到訓練好的Faster RCNN 中進行算法測試, 測試性能的主要評價指標為召回率和精確率, 用于描述輸入圖像檢測到焊縫區域的性能和檢測準確度, 結果見表3。

表3 Faster RCNN 檢測分析結果
由于檢測圖像和訓練圖像構建自同一目標,因此本研究對象不存在環境和個體差異, 也就是說檢測圖像和訓練圖像高度相似, 因此具有很高的召回率。 而對于準確率, 相關研究已經表明,由于Alexnet 網絡檢測準確率一般認為只有57%左右, 因此對于本研究對象, 該方法已經達到了一個較好的水平。
圖5 為特征點提取示意圖, 從圖5 (a) 可以看出, 在角焊縫區域, 可以提取連續的Sojka 特征點, 但由于物體結構及環境的原因, 也提取出了大量的噪聲, 這樣會影響焊接路徑的提取工作。 在使用了Faster RCNN 算法后(圖5 (b)), 已經完全去除了噪聲。 最后在理想狀態下對圖像進行了匹配試驗, 如圖6 所示。 由圖6 可以看出, 圖像匹配效果良好, 達到了試驗設想的效果。

圖5 特征點提取示意圖

圖6 左右相機圖像匹配結果
為了解決自主焊接機器人路徑規劃過程中焊縫特征點標記時噪聲過多的問題, 提出了一種使用Sojka 角點, 結合Faster RCNN 算法的快速降噪焊縫特征提取算法, 該算法可以快速去除非焊縫區域的噪聲特征點, 為焊接機械手路徑規劃系統提供一個準確可靠的路徑標記方法。