李雨龍 陳 松 李 鑫 李昌龍 趙耀耀 李 順
(①遼寧科技大學機械工程與自動化學院,遼寧 鞍山 114051;②遼寧科技大學電子與信息工程學院,遼寧 鞍山 114051)
管件作為工業中常見的零件種類之一,應用十分廣泛,實現對管件的智能化操作意義重大。目前實現機器人抓取主要是借助人工和示教器進行固定位姿的抓取[1],不能適應管件隨機擺放的情況。近年來也出現了很多傳統視覺引導下的抓取策略,如模板匹配[2-3]、邊緣檢測[4-5]等,但傳統視覺在非結構環境下表現不理想,可移植性差、魯棒性不強。隨著國家對智能化要求的提高,將基于深度學習的識別及位姿估計融入到機器人的抓取中逐漸成為主流。
基于深度學習的位姿估計有很大的優勢,通過卷積操作提取圖像特征,網絡能夠自主學習物體的語義信息,估計6D位姿。如先用單發多包圍框檢測器(single shot multibox detector, SSD)檢測出目標的2D位置,再映射到點云圖上提取目標點云,最后采用迭代最近點(iterative closest point, ICP)算法估計鋼板件的位姿[6]。在工業環境中,李少飛等[7]基于深度學習估計零件的位姿,首先把采集到的三維點云圖轉換為二維深度和法線特征圖,其次把前者送入殘差網絡Resnet50[8]提取深度特征,后者送入一個小卷積網絡提取目標點云方向信息,依靠深度學習成熟的平面處理能力去處理點云數據,最后由法線圖輸出目標的空間坐標、深度圖輸出目標的姿態四元數組成最終的位姿。眭海剛等[9]基于實例分割算法,配合圖像多尺度分割進行震后建筑物立面損毀檢測,首先在Mask R-CNN實例分割算法中引入注意力機制,使模型在訓練和預測的過程中更好地聚焦于最重要的特征通道和空間位置,其次針對待檢影像采用多尺度分割算法進行分割,最后融合兩次分割結果作為最終的建筑物立面損毀檢測結果。王太勇等[10]首先對RGB圖像進行語義識別,將每一個已知類別的對象掩膜應用到深度圖中,按照掩膜的邊界框完成對彩色圖和深度圖的語義分割;其次在獲得的點云數據中采用最遠點采樣(farthest point sampling,FPS)算法獲取關鍵點,映射到彩色圖像與深度圖像中進行關鍵點特征匹配。但以上方法推理時間相對較長,不能滿足實時性要求,且對于估計管件這種具有對稱性、低紋理甚至高反光的目標效果不好。Tremblay J等[11]提出的DOPE框架在檢測極端光照中的物體時具有較強的魯棒性,網絡不直接預測位姿,而是先預測2D關鍵點,再經過EPnP算法回歸到三維空間。針對管件的旋轉對稱性和實時估計問題,提出了改進的 DOPE框架,面對管件公開數據集少、三維標簽難以標注、人工標注誤差大和標注任務繁重的情況,利用合成數據對網絡進行訓練。
首先,介紹了合成數據的生成過程,包括物體三維模型的制作以及生成訓練集和測試集圖片、標簽;其次,介紹對網絡的幾點改進:①優化損失函數,DOPE網絡的損失函數估計管件對象時有較大誤差,原因是對稱性導致兩個相同的位姿計算出不同的損失值,給網絡帶來不必要的懲罰。改進后采用預測點匹配最近真實點的方法設計損失函數,有效提高了位姿估計精度。②優化特征提取網絡,采用Resnet18提取特征,降低了參數量(paramters)和 浮 點 計 算 量(floating point operations,FLOPs) ,加快了網絡的推理速度。③設計對比試驗,以AUC作為評價指標,驗證了改進后的網絡相較于原網絡在估計管件物體時具有較高的精度和較快的推理速度。
合成數據的方式可以獲得大批量標注準確的數據。采用英偉達深度學習數據集合成器(NVIDIA deep learning dataset synthesizer,NDDS)的方式合成數據集,平均每秒可以生成約80張圖片及標注。
選取了工業中常見的兩類管件進行訓練:①材質 H62 黃銅直管。黃銅管屬于無縫有色金屬管,由于其熔點高、質地牢固、不易腐蝕、耐高溫高壓且質地輕盈,常被用在供熱、供冷管道上以及海洋工業中用到的各種熱交換器和冷凝器。②表面涂鉻的活塞桿。活塞桿作為發動機和氣壓液壓傳動系統中常見的零件,要求表面粗糙度越小越好,對其進行正確的位姿估計有利于實現智能化的機械臂抓取拋光。
利用 blender 建模軟件按照真實物理尺寸,分別建立兩個物體的三維模型,并且還原表面臟跡、凹坑等細節,盡量貼合實物。以 H62 黃銅管為例,其三維模型如圖1 所示。

圖1 H62 黃銅管三維模型
參考文獻[12]的制作方式,分別制作了域隨機化(domain randomization)和真實照片級(photorealistic images)數據集。前者主要的特點是圖片背景來自于實驗室環境或單色圖片,且隨機變換,與實際風格差異較大,作用是迫使網絡學習訓練物體的本質特征,使實際驗證時有較高的魯棒性,此外添加了隨機光照和隨機干擾物等組件,以豐富訓練數據使網絡更加健壯。數據集圖片及標簽可視化如圖2 所示。

圖2 域隨機化數據集及其標簽可視化
真實照片級數據來自于兩個虛擬場景,為了擬合現實,分別把訓練物體添加到機器人生產車間和車輛裝配生產線。每個場景依據光照、陰影等特征選取3個不同的采樣點,盡量覆蓋整個場景特征,主要作用是最大限度地還原真實的物理環境,包括訓練物體的影子和反光等屬性,數據集圖片如圖3所示。

圖3 真實照片級數據集
實時估計物體位姿一直是機器視覺的研究重點。DOPE框架基于單目可以僅從RGB圖像中估計6D位姿,具有較快的推理速度。整個網絡分為三個部分:首先,由Vgg19[13]前10層提取目標特征;其次,把特征圖輸入兩個分支-置信圖(beliefmaps)和向量場(vectorfields),生成熱度圖(heatmap);最后,對熱度圖進行尋峰、貪心算法匹配后,采用EPnP算法估計6D位姿,結構如圖4 所示。但管件具有旋轉對稱性(symmetric),繞軸旋轉后產生相同的觀測結果,不可能唯一地估計圖2中黃銅管的方向。針對此問題優化了網絡的損失函數,同時兼顧推理時間,優化了網絡的提取特征模塊,分析了基于改進DOPE框架估計管件位姿的有效性。

圖4 DOPE 網絡結構
損失函數用來進行誤差的反向傳播,是一個網絡的重要參數之一。DOPE 網絡的損失函數由兩方面組成,一是置信圖輸出的預測值與標簽中的真值之差,如式 (1) 所示;二是向量場輸出的預測向量與標簽中的真實向量之差,如式 (2) 所示;最終的損失函數由兩個差值相加而成,如式(3) 所示。

式中: M 是 關鍵點的集合;Pd是預測的置信圖;Pt是真實的置信圖;Pdu是預測向量場u方向坐標值;Ptu是真實向量場u方向坐標值;Ptv是真實向量場v方向坐標值;Pdv是預測向量場v方向坐標值;L是最終損失值。
對于旋轉對稱物體,采用此函數會訓練出來一個較差的網絡,因為網絡收到一個前后矛盾的損失信號。例如,當正確估計一個對稱目標時,在物體方向上會產生一個較高的損失,進而不必要的懲罰網絡,給出不一致的訓練信號。采用文獻[14]提出來的形狀匹配損失 (shape match-loss, SLoss),如式(4)所示,函數計算預測點與最近真實點的三維距離,當兩個目標相互匹配時,SLoss被最小化。

式中:m是關鍵點的個數;是估計旋轉矩陣;R(q)是真實旋轉矩陣。
深度學習中,卷積網絡逐層整合不同層級的特征,伴隨著模型前向推演,獲得了更加抽象、更多層級、更加豐富的圖像特征,進而獲得了更好的模型性能,因此傾向于使用更深層次的網絡結構。
Resnet 網絡相比較 Vgg 擁有更深的層數和更少的參數量,分別采用 Resnet18 前 13 層、Resnet34前 27 層和 Vgg19 前 10 層作為網絡的提取特征模塊訓練網絡,對比精度和推理速度,并對試驗結果進行分析。Resnet18 前 13 層網絡如表1 所示。

表1 Resnet18前13層網絡結構
試驗環境采用NVIDIA Tesla P100,顯存16 GB,內存 64 GB。Ubuntu18.04,預裝 Pytorch1.6、CUDA10.2、cuDNN7.6、Python3.7。試驗所用到的訓練集和測試集均采用合成數據,Vgg19、Resnet18、Resnet34均采用Imagenet預訓練模型,添加高斯噪聲,初始學習率0.000 1,采用Adam優化器。
對于6D姿態估計,評價網絡精度時常常計算估計點與對應真實點之間的平均三維距離(ADD),如式(5)所示。但對于旋轉對稱物體,點對之間的匹配是模糊的。因此,需要計算估計點與最近真實點之間的平均三維距離(ADD-S),如式(6)所示。

式中:R、T為真實旋轉、平移矩陣;為估計旋轉、平移矩陣。
分別采用原DOPE網絡的損失函數(DOPELoss)和改進后的損失函數(SLoss) 訓練網絡,以AUC作為評價指標,其試驗結果如圖5所示。改進后的損失函數在估計正確時計算能夠得到低損失值,網絡進行誤差反向傳播時能更準確的更新權重,并且優化了三維距離的計算方式,保證在同一個閾值下改進的損失函數有更高的通過率,H62黃銅管和活塞桿的AUC值分別增加了17%和25%。

圖5 采用不同損失函數檢測時的AUC
浮點計算量(FLOPs)和參數量(Params)是衡量網絡性能的重要指標。浮點計算量低,網絡擁有更快的推理速度。參數量少、空間復雜度低,網絡更容易部署到移動端。分別采用Vgg19、Resnet18、Resnet34作為提取特征模塊訓練網絡,試驗結果如表2所示。Resnet18表現最好,所以改進DOPE采用Resnet18提取特征,在AUC變化不大的情況下,其擁有更少的參數量(46.00 M)和更低的浮點計算量(124.90 G),以及最快的推理速度(203 ms)。

表2 不同特征提取模塊試驗結果
DOPE網絡在提取特征后使用兩個分支生成置信圖和向量場熱度圖,每個分支有6個階段,其中的卷積操作占用了大部分的推理時間,因此有必要對兩個分支應該采用的階段數進行討論。如表3所示,為Resnet18下使用2個、4個和6個分支階段的AUC等指標對比。僅用2個階段生成熱度圖時,參數量和浮點計算量最低,擁有最快的推理速度(102 ms),所以改進DOPE網絡使用2個階段生成熱度圖。

表3 采用resnet18提取特征時不同階段數試驗結果
最后,分別使用DOPE網絡和改進DOPE網絡實時估計H62黃銅管6D位姿,如圖6所示,DOPE網絡在估計角點位置時有一定的偏差,可能會導致抓取失敗,改進后不僅在精度上有一定的提升,而且大大加快了推理速度,有利于管件的實時估計及抓取。

圖6 實時姿態估計結果
(1)針對管件數據集少,并且三維標注工作量大、存在標注誤差的問題,采用合成數據訓練網絡,設計不同類型的數據集風格擬合現實差距,有效解決了數據集不足的問題。
(2)對DOPE網絡提出兩點改進:①針對管件的旋轉對稱性優化損失函數,網絡的估計精度提高了17%;②針對Vgg19提取特征模塊復雜的情況,采用Resnet18提取管件特征,參數量和浮點計算量分別減少了9%和20%,有效減輕了網絡規模。
(3)探究了分支中不同階段數對網絡性能的影響,在估計精度變化不大的情況下,僅使用2個階段生成熱度圖有效加快了網絡的推理速度,檢測單張圖片僅需要102 ms。
綜上,改進的DOPE網絡在估計管件6D位姿時有更高的精度和更快的推理速度,滿足機械臂抓取拋光的情況下實時估計管件位姿的要求。