韓慧妍,王文俊,韓 燮,況立群,薛紅新
(1.中北大學計算機科學與技術學院,山西 太原 030051;2.機器視覺與虛擬現(xiàn)實山西省重點實驗室,山西 太原 030051;3.山西省視覺信息處理及智能機器人工程研究中心,山西 太原 030051)
基于視覺信息計算物體的抓取位姿是智能機器人的一項基本任務[1]。面對種類繁多、位姿各異、雜亂堆疊的物體,需要從單視角輸入信息中推斷每個物體的幾何和物理屬性[2]。一種簡單的方法是將位姿約束到4-DoF(Degree of Freedom)實現(xiàn)平面抓取。但是,在抓取水杯、瓶子等物體時,容易出現(xiàn)重心擾動導致抓取失敗的問題。在復雜堆疊場景中,需要更加靈活的抓取方式[3]。
隨著深度學習從二維數(shù)據(jù)向三維數(shù)據(jù)的拓寬,很多研究人員將深度學習用于6-DoF抓取,以克服平面抓取的局限性。最早的網(wǎng)絡模型[4]通過評估抓取樣本的質量分數(shù),獲取最佳抓取位姿。最近的研究[5-7]則通過回歸6-DoF位姿參數(shù)以獲得魯棒抓取,其中位姿參數(shù)以四元數(shù)為主[6,7]。但是,其存在一些不足:(1)單任務的抓取預測容易忽略物體的邊界信息,無法區(qū)分相鄰的不同物體,常出現(xiàn)同時抓取多個物體的情況,導致成功率不高[8];(2)四元數(shù)形式的抓取方向非線性且不連續(xù),不利于模型擬合[9]。因此,本文提出一種基于多任務學習的抓取位姿估計方法,從場景的單視角截斷符號距離函數(shù)TSDF(Truncated Signed Distance Function)值中直接回歸6-DoF抓取位姿。本文主要工作包括:
(1)提出一種融合語義實例重建的抓取檢測網(wǎng)絡SIRGN(Semantic Instance Reconstruction Grasping Network),進行6-DoF抓取位姿估計的同時,利用前景和實例中心預測被抓取物體的隱式幾何信息,輔助抓取任務。
(2)提出一種分解旋轉矩陣的抓取方向表示方法,利用接近向量和垂直向量組成單位正交向量組,間接求得第三維方向,降低高維位姿學習難度。
(3)在仿真環(huán)境和真實環(huán)境完成抓取實驗,SIRGN的抓取成功率和場景清除率相比體積抓取網(wǎng)絡VGN(Volumetric Grasping Network)[7]和GIGA(Grasp detection via Implicit Geometry and Affordance)[10]的均有顯著提升。
(1)抓取位姿估計:判別式方法使用啟發(fā)式規(guī)則采樣抓取候選樣本,訓練一個評估網(wǎng)絡對每個樣本進行評價。由于采樣效率的限制,完成對全部樣本的檢索是一項頗為耗時的任務[6]?;貧w式抓取方法旨在克服判別式方法的低效性,在搜索空間中同時預測所有點的抓取得分和抓取位姿參數(shù)[11],其關鍵在于尋找SO(3)(3D Special Orthogonal)空間中抓取方向的高效表示[12]。本文在體素表示的體積抓取網(wǎng)絡[7](VGN)基礎上,提出一種分解旋轉矩陣的抓取方向表示方法,與軸角或四元數(shù)的表示方式相比,本文方法更直觀,且具有連續(xù)性[13]。
(2)單視角三維重建:當目標形狀未知時,基于已有經(jīng)驗和單視角目標三維信息對其進行重建,利用重建結果計算抓取位姿,可擴大抓取的適用范圍[14]。由于三維卷積層占用大量的內存,通常難以完成高分辨率的重建任務。ConvONet(Convolutional Occupancy Networks)[15]通過將三維特征投影到二維正交平面,基于隱式三維重建提高了效率。本文以ConvONet作為主干網(wǎng)絡。
(3)未知目標實例分割:機器人處理未知目標時,無法采用預設類別的實例分割方法。對未知目標進行實例分割有2種方法:一種方法是通過預測分割出場景的前景目標,然后進行后處理分割出感興趣的目標[16];另一種方法是基于三維信息得到實例中心投票結果,通過聚類方法進行實例分割[17]。3D DSN(Depth Seeding Network)[18]結合這2種方法,得到與類別無關的實例級掩碼,過濾出指定目標。本文對3D DSN進行簡化,加入語義實例重建分支,得到實例的隱式幾何信息,為目標的魯棒抓取提供了基礎。
本文研究了單視角深度圖像下未知剛體的6-DoF抓取位姿估計問題。首先,在桌面上放置多個剛體形成待處理雜亂場景;然后,使用深度相機拍攝得到單視角深度圖像,計算每個點到最近物體表面的截斷距離,得到截斷符號距離函數(shù)(TSDF)值;最后,傳遞到深度學習網(wǎng)絡模型中,并行評估多個查詢點的抓取位姿,經(jīng)過篩選得到可抓取位姿。
(1)輸入:作為輸入的TSDF是一個N×N×N大小的體素網(wǎng)格V,其中每個單元Vi的值為該單元到最近物體表面的截斷距離。與單純的體素相比,TSDF還包含距離信息,可以提高抓取檢測性能[7,19]。
(2)查詢點:在點云空間中均勻采樣N3個查詢點,形成集合P并將其對齊到體素網(wǎng)格。網(wǎng)絡解碼分支輸出抓取位姿和語義實例信息。
(3)抓取位姿估計:將6-DoF抓取位姿定義為g=(p,r,w),其中p∈R3為抓取中心(同查詢點坐標),r∈SO(3)表示抓取方向,w∈R表示夾持器指尖張開距離,即抓取寬度。對每個抓取位姿,計算抓取質量q∈[0,1],即抓取成功的概率。
(4)語義實例重建:對于查詢點p∈R3,實例語義預測模塊計算其所屬的剛體目標,同時重建整個場景的前景信息,有助于物體雜亂時目標抓取位姿的估計[9]。
多任務抓取位姿估計的目標是找到映射t:(V,P)→(G,Q,I),其中G、Q和I分別表示每個查詢點的抓取位姿g、抓取質量q和實例信息i的集合。
為了高效地預測抓取位姿和語義實例信息,在ConvONet[15]的Volume-Multi Plane分支基礎上,搭建融合語義實例重建的抓取檢測網(wǎng)絡SIRGN,其整體框架結構如圖1所示,包括編碼和解碼2大模塊。
Figure 1 SIRGN network architecture
在特征編碼部分,給定場景的單視角TSDF輸入V,通過單層3D CNN獲得體素級的初步特征信息。將初步特征投影到XYZ標準正交平面,對3組二維特征分別使用二維U-Net(U-Network)提取深層特征,完成特征編碼。
在特征解碼部分,出于對訓練時效的考慮,不直接使用體素所在坐標監(jiān)督輸出,而是在空間中隨機采樣查詢點。對于給定查詢點pi∈P,首先使用雙線性插值從投影平面得到pi的3個平面特征分量,經(jīng)過組合得到特征向量ψ(pi);其次,將每個ψ(pi)輸入通過殘差連接的全連接網(wǎng)絡,分別預測pi的抓取位姿(p,r,w),并重建其語義實例信息(前景語義預測f,所屬實例投票c)。在測試時,選取所有體素坐標作為查詢點,并將每個查詢點的預測值相結合,即得到全場景各點的抓取位姿、前景掩碼和實例掩碼。
抓取位姿估計的目標是預測全場景中各查詢點的抓取屬性,為后續(xù)魯棒性抓取提供基礎。由于SE(3)(3D Special Euclid)空間抓取位姿的高維特性,網(wǎng)絡難以直接回歸這些參數(shù)[11]。因此,抓取位姿估計的關鍵是尋找一種高效的抓取位姿表示方法。
由于使用基于查詢點的抓取位姿估計方法,無需顯式回歸抓取點3D坐標,只需計算三自由度抓取方向r′和抓取寬度w。四元數(shù)/向量組表示優(yōu)于其它三參數(shù)表示方法(歐拉角、旋轉向量),能在學習正運動學方面取得更高的精度[19]。但是,四元數(shù)的不連續(xù)性是導致擬合結果性能飽和的重要原因[8,11],因此并非抓取方向的最佳選擇。在LookAt視圖矩陣和三維方向降維方法[11]的啟發(fā)下,提出一種高效的基于向量組的抓取方向表示方法,用2個正交的單位向量分解旋轉矩陣r′,如式(1)所示:
r′=[u×l,u,l]
(1)
其中,l∈R3表示接近向量,即夾持器靠近物體的方向;u∈R3為垂直向量,即與夾持器閉合平面垂直的方向;2個向量根據(jù)右手定則得到u×l向量,三者組合得到旋轉矩陣。新的抓取位姿表示如圖2所示。
Figure 2 Grasping pose representation
訓練時,將旋轉損失Lr分為3個部分:偏移損失Loff、相關損失Lcor和正交損失Lort。偏移損失傾向約束預測向量的位置偏移量,使其與真實值距離更近;相關損失偏向約束角度差值,使兩者更接近平行關系;正交損失限制預測向量組的垂直關系,以符合旋轉矩陣的要求。旋轉損失及其分量分別如式(2)和式(3)所示:
(2)
(3)
對于查詢點集合P,若點pi存在抓取位姿參數(shù)標注,則設置該點的抓取質量為1,記為可抓取點;否則設置該點的抓取質量為0。對可抓取點和非可抓取點采取不同的訓練策略,集合P的抓取損失函數(shù)如式(4)所示:
(4)
其中,Lq為抓取質量的二元交叉熵損失,衡量該點是否可抓取;對于可抓取點組成的集合Pg?P,進一步擬合其位姿參數(shù)損失Lr和Lw,Lw代表抓取寬度的均方誤差損失,β為平衡系數(shù)。
機器人需要場景的幾何信息來估計抓取位姿[10,20],同時也需要語義實例信息來獲取場景的完整幾何信息并區(qū)分緊鄰的多個物體,以完成更具針對性的抓取[9,11]。三維數(shù)據(jù)集和仿真工具的涌現(xiàn)為三維深度學習(如實例/語義分割和幾何重建)創(chuàng)造了條件[21,22]。為了獲取幾何和實例信息,將語義實例重建分解為前景語義預測和所屬實例中心投票任務,以完成未知目標的隱式實例級重建。前景語義預測根據(jù)查詢點所在坐標是否被物體占據(jù),分為前景和背景,網(wǎng)絡輸出每個查詢點屬于前景的概率,即占據(jù)概率,在這一過程中完成對物體的隱式重建。
在所屬實例中心投票任務中,對3D DSN[18]進行改進,省略耗時的聚類損失計算,直接回歸查詢點的實例中心坐標而非相對實例中心的偏移向量,使得屬于同一實例的查詢點的預測值更具一致性。將所得實例信息與重建獲得的隱式幾何信息相結合,完成對場景中物體的未知目標分割任務,達到區(qū)分每個實例的目的。
訓練時,已知每個點的前景語義(占據(jù))信息和其所屬實例中心坐標,使用二元交叉熵函數(shù)優(yōu)化前景損失Lf,而中心損失函數(shù)Lc則由加權的均方誤差損失函數(shù)擬合每個物體中心所在坐標,如式(5)所示:
(5)
對于查詢點集合P,總的語義實例損失函數(shù)如式(6)所示:
(6)
將2個分支各自的損失函數(shù)相加,得到SIRGN方法的整體損失函數(shù),定義為L=LG+LI。
5.1.1 數(shù)據(jù)集及數(shù)據(jù)生成
使用2021年公開的VGN[7]方法提供的數(shù)據(jù)集完成模型的訓練,利用PyBullet工具搭建仿真抓取環(huán)境,包含303個訓練對象和40個測試對象,模擬了16 000個Packed(擁擠)場景和83 000個Pile(堆疊)場景,每個場景包含不同數(shù)量的對象及其多樣化、密集的魯棒抓取位姿信息,可以全面地評估網(wǎng)絡的抓取位姿估計性能。為完成SIRGN的多任務訓練,在每個場景中均勻采樣100 000個點,依次記錄每個采樣點的前景語義信息(該點是否屬于抓取對象)和實例中心信息(用該點所屬實例的重心坐標表示)。
5.1.2 評價指標
由于工作空間內合理抓取標注值難以覆蓋完全,且仿真與真實環(huán)境中同一場景具有不可再現(xiàn)性,抓取檢測通常以抓取結果作為評價指標,故采用與其他研究人員相同的評價方法,使用非訓練集對象進行測試,以成功率和清除率作為評價指標:
(1)抓取成功率GSR(Grasp Success Rate):在指定位姿閉合夾持器,若物體在夾持器回退過程中未滑落,則記為一次成功抓取。成功抓取次數(shù)與總抓取次數(shù)的比值為成功率。
(2)清除率DR(Delutter Rate):對單個場景進行連續(xù)清理作業(yè),直到以下情況之一發(fā)生:①所有對象被移除;②剩余對象沒有找到合適的抓取位姿;③連續(xù)發(fā)生2次抓取失敗。移除物體的數(shù)量占總物體數(shù)量的比例為清除率。
5.1.3 實驗設置
將單視角深度圖像渲染為分辨率N=40的TSDF數(shù)據(jù)。對于所提端到端網(wǎng)絡SIGRN,同時訓練N3個坐標的輸出值會導致訓練時間過長。為了提高訓練的效率,使用查詢點策略,每次訓練均從訓練集所給的10 000個查詢點中隨機選取2 048個點用于監(jiān)督輸出,該值與以往工作設置一致,且在一定程度上起到了避免過擬合的作用。對于損失函數(shù),設置參數(shù)α1=0.6,α2=α3=0.2,β=0.01。訓練時使用Adam優(yōu)化器,學習率為2×10-4,利用NVIDIA GeForce RTX 3090顯卡分別對2類抓取場景訓練10個批次,批大小為32。在測試時,對Pile和Packed環(huán)境分別進行5次實驗,每次實驗均使用PyBullet工具隨機生成100個抓取測試場景。對輸出的抓取位姿進行篩選時,在工作空間均勻采樣N3個查詢點,使得每個查詢點坐標均與體素單元對應,過濾掉抓取質量低于閾值σ=0.9和處于檢索空間邊緣的抓取點,最后得到場景的較優(yōu)抓取。
為了更直觀地驗證SIRGN的抓取位姿估計能力,將目前較先進的VGN[7]和GIGA[10]方法與本文的SIRGN進行對比。從數(shù)據(jù)集2類場景中分別選取具有代表性的3個場景,3個方法的較優(yōu)抓取可視化結果對比如圖3所示。圖中標記了一些重要的結果,三角代表失敗抓取,圓圈表示成功抓取。
Figure 3 Qualitative results of 6-DoF grasping experiments
從抓取魯棒性方面來看,使用四元數(shù)的VGN和GIGA方法對原始標注的抓取方向擬合效果較差,在Packed_2和Pile_3場景的長方體位置產(chǎn)生了碰撞抓取;而SIRGN方法在這些位置均可以得到正確的抓取位姿,說明SIRGN的分解旋轉矩陣抓取方向表示更容易學習,抓取位姿預測更準確。
從抓取多樣性方面來看:(1)未進行幾何重建的VGN方法由于信息缺失無法區(qū)分場景,在Packed_1場景中忽略了后排的2個圓柱,在Pile_1場景中沒有檢測到抓取位姿;而SIRGN方法通過從單視角輸入中估計物體不可見部分的幾何信息,生成了多樣的抓取位姿,說明重建任務學習到的完整3D信息能對被遮擋或堆疊對象的抓取提供幾何信息補充。(2)VGN和GIGA方法由于未設置歸一化系數(shù),均忽略了Pile_1場景中右側的盒子、左后方的玩具鴨和Pile_2場景中左側的盒子;而SIRGN方法對實例重建訓練時設置了歸一化系數(shù),可以保證不同大小的物品均有相等的優(yōu)化機會,獲取分布更廣泛的抓取位姿。
從抓取合理性方面來看:(1)GIGA方法的場景級重建將Packed_1后排靠近的3個物品視為一個整體,將位姿選在物體之間,導致抓取落空;在Packed_3中,由于視角限制,右下角的2個盒子也被當作一個物體,產(chǎn)生無效抓取;而SIRGN方法通過檢索學習到的實例級幾何信息,正確地估計了實例的形狀,得到合理的抓取。(2)缺乏實例信息導致的抓取失敗情況在Pile場景中同樣出現(xiàn)了,GIGA方法在Pile_1和Pile_2場景中抓取2個物品間的縫隙,導致失敗的碰撞抓取;而SIRGN額外增加的語義實例信息使模型能夠識別緊鄰實例間的差異,產(chǎn)生屬于每個實例的合理抓取。
在仿真環(huán)境測試時,在前一步實驗基礎上獲取全景較優(yōu)抓取位姿信息,使用非極大值抑制得到用于執(zhí)行的抓取位姿,并計算仿真環(huán)境中的平均抓取成功率GSR和平均清除率DR,2類指標的對比結果如表1所示,表中數(shù)值第1部分為中心值,第2部分為最高上限和最低下限。從表1中可以看出,SIRGN在2類抓取場景的2個指標均優(yōu)于VGN和GIGA方法的,在Pile類場景的抓取結果體現(xiàn)更明顯,SIRGN方法比VGN方法的GSR和DR分別高出了17.4%和15.3%,比GIGA方法的GSR和DR分別高出了8.8%和9.5%。這說明SIRGN的抓取方向表示方法降低了擬合難度,可以更準確地回歸抓取角度真值,顯著提升了抓取成功率。同時,在Pile場景中,SIRGN方法比VGN和GIGA方法的成功率的標準方差分別降低了2.3%和1.3%,說明語義實例重建分支使網(wǎng)絡能夠更準確地理解實例幾何特征和實例邊界,在堆疊場景的抓取表現(xiàn)更穩(wěn)定。在計算時間方面,由于并行計算的高效性,SIRGN方法單次推理僅需25 ms,與GIGA(23 ms)和VGN(22 ms)的基本持平,實時性較強。
Table 1 Quantitative results of 6-DoF grasping experiments
5.3.1 網(wǎng)絡模型設置
SIRGN多任務學習抓取位姿估計方法引入了語義實例重建模塊和分解旋轉矩陣表示的抓取方向,以提高抓取位姿估計的性能。為了驗證這些模塊的必要性,實施模型設置消融實驗,實驗結果如表2所示。
Table 2 Ablation experiment results of model setup
在位姿學習方面,四元數(shù)方法具備普遍性[13]。相關研究表明,其性能參數(shù)優(yōu)于其余三參數(shù)表示方法[19]的,故以四元數(shù)(Quaternion)表示抓取方向作為基線。參考以往研究的做法,訓練時直接優(yōu)化四元數(shù)預測值與真實值之間的L2距離,同時使用單任務學習模式,僅保留抓取位姿預測分支?;€設置與VGN方法的較為相似,二者僅存在網(wǎng)絡結構的差異,但GSR和DR平均提升了8.4%和6.3%以上,說明SIRGN方法使用的ConvONet網(wǎng)絡的特征提取能力更強。
在基線的基礎上,使用SIRGN方法所提出的基于分解旋轉矩陣的向量組方法(Vector-pairs)替換四元數(shù)用于學習抓取方向,結果顯示Packed/Pile場景的GSR和DR較四元數(shù)方法的分別提升了3.8%/5.4%和1.7%/3.1%,表明所提向量組方法學習到的抓取角度能更好地擬合標注值,有利于提高抓取成功率。
在添加所提出的語義實例重建任務后(Vector-pairs+Semantic),各項指標均提升了3%左右,且Pile場景的GSR和DR的方差分別降低了1.6%和2.6%。這說明SIRGN方法對堆疊場景的泛化能力更強,語義實例重建可以幫助模型獲得全場景的隱式實例信息,其中的幾何邊界信息對多物體抓取發(fā)揮了重要作用。
5.3.2 參數(shù)設置
在所有可變參數(shù)中,體素分辨率N是影響實驗結果的首要因素[7]。根據(jù)已有研究對分辨率設置的經(jīng)驗,以及出于與對比方法公平比較的目的,在上述實驗中均設置N=40。為探究分辨率對抓取性能和推理速度的影響,通過N=30,50這2種不同的消融設置進行對比分析。
參數(shù)設置實驗結果如表3所示??v向分析,隨著體素分辨率的增加,抓取成功率和清除率均有不同程度的提高,但增加的趨勢在放緩。同時,由于立方數(shù)的影響,底數(shù)增長相同數(shù)量會導致參與計算的體素數(shù)成倍增加,在N=50時,單次推理需要38 ms,實時性水平有所下降。從橫向角度出發(fā),相比于Packed場景的抓取結果,高分辨率設置對于Pile場景所獲得的收益更大,這是由于Pile場景的結構更加復雜,對抓取的精度要求更高。過高的分辨率設置會加重計算負擔并影響推理速度,在具體實施時,可根據(jù)環(huán)境條件和時間要求對參數(shù)N進行靈活設置,以達到實際工作的要求。
Table 3 Ablation experiment results of parameter setup
消融實驗充分證明了SIRGN方法參數(shù)設置的合理性,以及語義實例重建模塊和分解旋轉矩陣的抓取方向表示方法的有效性。
本節(jié)在真實環(huán)境中完成實驗以驗證仿真環(huán)境訓練結果的可移植性。使用UR3機械臂以及RealSense D435深度相機組成“眼在手上”抓取平臺,每輪隨機選取與仿真物品形狀類似的5個對象搭建測試環(huán)境,分別使用VGN、GIGA和SIRGN方法對Packed和Pile場景進行15輪實驗,并預測最優(yōu)抓取。SIRGN方法基于分解旋轉矩陣表示抓取方向,在真實環(huán)境中同樣適用。與VGN和GIGA方法相比,在Packed場景中抓取圓柱類型對象時更穩(wěn)定,發(fā)生抓取滑脫的情況更少,如圖4a和圖4b所示。由于缺乏實例級信息,在Pile場景中,VGN和GIGA方法會發(fā)生同時抓取多個物體導致的抓取碰撞情況。但是,SIRGN方法通過語義實例重建分支學習到與類別無關的實例信息,能夠得到單個物體的無碰撞抓取,避免了這一問題,如圖4c和圖4d所示。
Figure 4 Instances of physical environment grasping
真實環(huán)境實驗的定量結果如表4所示,其中括號內的數(shù)字表示具體比值,括號外的數(shù)字表示約數(shù)。與VGN和GIGA方法相比,SIRGN方法獲得了更高的抓取成功率和場景清除率。這與仿真實驗的結果一致,說明TSDF適用環(huán)境廣泛,數(shù)據(jù)不受環(huán)境光照、物體紋理等因素的影響,具備從仿真環(huán)境到真實環(huán)境遷移的能力。此外,SIRGN方法總的抓取嘗試次數(shù)較VGN和GIGA的平均減少了6.5次和4.5次,意味著對某一對象需要再抓取的情況更少。這說明所提分解旋轉矩陣方法降低了抓取方向的學習難度,得到的抓取位姿更合理,執(zhí)行效率更優(yōu)。
Table 4 Experiment results in physical environment
本文將非結構化環(huán)境中的6-DoF抓取位姿估計定義為多任務學習問題,在預測抓取的同時監(jiān)督全場景的語義實例輸出;針對高維位姿學習的復雜性,對旋轉矩陣進行分解,提出了一種簡化的抓取位姿學習方法。在仿真實驗中,研究了所提方法對抓取成功率和清除率的影響。結果表明,實例級隱式幾何信息與新的抓取方向表示方法相結合能夠改善抓取位姿學習,抓取形式更豐富。真實環(huán)境的實驗結果表明,基于TSDF數(shù)據(jù)的網(wǎng)絡模型無需調整就可以直接遷移到真實環(huán)境,模型的泛化能力較強。
該方法還有改進空間:(1)現(xiàn)有的網(wǎng)絡結構將三維特征投影到二維平面,可能存在信息丟失的情況,下一步可以尋找更加高效的編碼網(wǎng)絡。(2)利用語義實例重建分支輸出的實例級掩碼,以實現(xiàn)場景中特定實例的抓取。(3)將抓取執(zhí)行路徑中的碰撞考慮在內,以避免由于物體間遮擋導致抓取失敗。