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

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

其中, F 為一個(gè)3×3 且秩為2 的齊次矩陣。 然后可以構(gòu)建兩點(diǎn)的極線方程

由此可以計(jì)算出其中一點(diǎn)在另一相機(jī)圖像中的極線, 為后續(xù)匹配做準(zhǔn)備。
相似性測(cè)度目前主要有基于距離、 相似性函數(shù)以及概率的評(píng)判方法。 這里選擇基于相似性函數(shù)的差值平方和函數(shù)作為評(píng)價(jià)標(biāo)準(zhǔn), 確定左右圖像的對(duì)應(yīng)點(diǎn)來完成匹配。

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

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

表1 訓(xùn)練平臺(tái)系統(tǒng)配置

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

圖2 訓(xùn)練圖像采集示意圖模型
2.2.2 提取焊縫目標(biāo)
使用matlab 自帶的圖像標(biāo)注工具, 對(duì)圖3(模擬角焊) 黑色方框區(qū)域(焊縫所在區(qū)域) 進(jìn)行標(biāo)注, 用于Faster RCNN 訓(xùn)練。 標(biāo)注目標(biāo)區(qū)域的目的主要是告知網(wǎng)絡(luò)所識(shí)別的物體是什么。

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

圖4 測(cè)試圖像采集模型示意圖
在構(gòu)建完訓(xùn)練集后, 將其輸入到訓(xùn)練好的Faster RCNN 中進(jìn)行算法測(cè)試, 測(cè)試性能的主要評(píng)價(jià)指標(biāo)為召回率和精確率, 用于描述輸入圖像檢測(cè)到焊縫區(qū)域的性能和檢測(cè)準(zhǔn)確度, 結(jié)果見表3。

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

圖5 特征點(diǎn)提取示意圖

圖6 左右相機(jī)圖像匹配結(jié)果
為了解決自主焊接機(jī)器人路徑規(guī)劃過程中焊縫特征點(diǎn)標(biāo)記時(shí)噪聲過多的問題, 提出了一種使用Sojka 角點(diǎn), 結(jié)合Faster RCNN 算法的快速降噪焊縫特征提取算法, 該算法可以快速去除非焊縫區(qū)域的噪聲特征點(diǎn), 為焊接機(jī)械手路徑規(guī)劃系統(tǒng)提供一個(gè)準(zhǔn)確可靠的路徑標(biāo)記方法。