李鈺龍,梁新武
(上海交通大學 航空航天學院,上海 200240)
抓取對于機器人而言是一項非常重要的能力。如今,機器人在工業生產、醫療、軍事等領域正在扮演越來越重要的角色,其中實現更精準快速的機器人抓取是不可或缺的能力。當人類看到一個未知物體,就可以直覺般的知道如何拿起它。即使已經有很多關于機器人抓取檢測領域的工作[1-5],但對于機器人而言,如何實現魯棒的目標抓取仍是個挑戰。整個抓取流程主要分為抓取檢測、軌跡規劃和執行。抓取檢測是機器人通過光學[3]或者觸覺[6-7]等傳感器獲取周圍環境的信息,并從中發現可抓取物體的過程。后續的抓取步驟需要使用抓取檢測獲得的物體坐標,所以準確的抓取檢測結果是順利實現整個抓取流程的前提和關鍵。
抓取檢測主要分為分析法[8]和數據驅動法[9],分析法要求物體幾何、物理模型和力學分析等數據已知,通過這些已知信息進行抓取檢測。然而,對于實際需求場景來說,這些信息會經常變化,因此分析法無法成為一種好的通用性方案。數據驅動法利用先前的成功抓取經驗數據,可以學習到通用的抓取能力。基于此,本文采用數據驅動法,利用深度學習方法提取物體的抓取信息。有代表性的工作之一是滑動窗口法[10],此方法需要一個分類器來預測每一個小區域是否含有抓取可能,其主要缺點是檢測速率過低,很難在現實中使用。另一種代表性的工作是基于錨框的方法[11-13],該方法需要預測很多候選抓取框,通過評分選取最優的候選框。與基于錨框的抓取檢測算法不同,本文基于關鍵點的算法直接通過中心點、寬度圖、角度圖來預測最優抓取,減少了計算步驟并且可以提高性能。
隨著計算機視覺領域的發展,為了更好地利用數據,出現了很多注意力機制算法,例如基于通道的SE(squeeze-and-excitation)注意力[14]和基于空間的SK(selective kernel)注意力[15]。通道注意力通過顯式地學習不同通道的權重信息,動態調整每個通道的權重。而空間注意力機制,則可顯式地學習不同空間區域的權重。本文采用基于包含空間和通道注意力的CA(coordinate attention)注意力[16]作為特征提取模塊的補充,能夠結合兩種注意力機制的優點,并且避免了混合注意力機制CBAM(convolutional block attention module)注意力[17]在空間上只關注局部位置關系的不足。對于一個抓取檢測任務,需要分別學習抓取中心點坐標、角度、抓手開合寬度3種信息[10]。為了能夠更好的權衡3種信息在抓取檢測任務中所起的作用,本文引入多任務權重學習算法[18]自動學習這幾種信息(即任務)的權重。該算法通過概率建模的思想來學習任務的最佳權重,根據任務不同,利用同方差不確定性[19]刻畫多任務學習問題中損失函數的權重。本文設計了一個基于關鍵點檢測算法的模型,其中引入了包含通道和空間注意力的CA注意力機制以及多任務權重學習算法。在流行的Cornell數據集以及更大規模的Jacquard數據集上對所設計的模型進行測試,分別獲得了98.8%和95.7%的抓取檢測成功率。對模型模塊進行魯棒性測試和消融實驗,分析研究了所設計模型的不同模塊對于整體性能的影響程度。
給定一個物體,本文希望找到一種精確的方法來表示物體的抓取配置,通常用五維抓取來表示[10]。五維表示是七維表示[20]的簡化版,在簡化維度的同時保留了有效信息,通過抓取點坐標、抓取角度、抓手開合寬度來定義五維抓取表示:
g=(x,y,θ,h,w)
(1)
式中: (x,y) 對應于抓取矩形的中心點,θ為抓取矩形關于水平方向的角度,h為夾持器的高度,w為抓取手的開合寬度。一個五維表示的例子如圖1(a)所示。因為本文的模型基于像素點,所以本文使用中心點圖像、角度圖像和寬度圖像來定義一個新的抓取表示[21],如圖1(b)所示。

圖1 抓取表示對比Fig.1 Comparison of grasp representations

g=(Q,W,Θ)∈R3×h×w
(2)
本文使用的是基于關鍵點的檢測算法,其中的代表是CenterNet[22]。不同于基于錨框的檢測算法,此類算法使用物體邊界框的中心點來表示物體。該方法是端到端的,不需要非極大值抑制的過程。原CenterNet的上采樣率為4,可能會造成信息丟失,為了避免信息丟失,本文使用轉置卷積[23]操作來生成與輸入圖像大小相同的特征圖,從而實現更準確的像素級抓取檢測。原始CenterNet的預測參數為中心點坐標,中心點偏移以及目標尺寸,考慮到在抓取檢測任務中需要通過五維抓取表示定義抓取,即回歸中心點坐標、抓手的旋轉角度以及抓取器的開合寬度,本文將可以表示上述變量的中心圖、角度圖和寬度圖作為新模型的預測參數。
模型的總體結構如圖2所示。先將3×224×224的RGB和1×224×224深度圖在特征通道的維度拼接得到多模態的4×224×224尺度RGB-D圖像,再將其輸入到模型中。模型先通過3個卷積層進行下采樣,然后經過帶有注意力機制的殘差網絡組成的特征提取模塊,再通過3個轉置卷積層上采樣,得到與輸入圖片同樣大小的224特征熱力圖,隨后通過4個卷積操作分別得到中心點坐標、以正弦和余弦表示的物體旋轉角度以及抓取器的開合寬度。最后,經過后處理模塊就能得到該物體的抓取表示。

圖2 關鍵點檢測模型結構Fig.2 Architecture of key point estimation model
經過轉置的操作后,本文得到了4個維度為H×W×C的特征熱力圖。對于中心點熱力圖,本文采用兩維的高斯核進行平滑操作,將集中的熱力標簽分散在其周邊。這樣可以提高模型的抗隨機噪聲能力,從而幫助本文提取到最佳的抓取點位置。兩維高斯核可以表示為
(3)
式中σ=2。由于網絡輸出的角度特征圖分別為cos(2θ)和sin(2θ),所以本文使用下式得到抓取角度為
(4)
式中,左邊的θ為通過角度特征圖所取的角度值。利用獲取的中心點坐標(x,y),角度和寬度特征圖,本文可以通過下式得到抓取角度和寬度值為
[θ,W]=[featureangle(x,y),featurewidth(x,y)]
(5)
本文選擇可以充分利用小誤差和控制梯度爆炸的Smooth L1函數[24]作為損失函數,Smooth L1損失函數定義為
(6)
其中xl定義如下:

Ltotal=λcenterLcenter+λcos(2θ)Lcos(2θ)+
λsin(2θ)Lsin(2θ)+λwidthLwidth
(7)
式中:λcenter為中心點的損失權重,λcos(2θ)、λsin(2θ)分別為正、余弦角度的損失權重,λwidth為末端夾持器寬度的損失權重。
本文使用RGB-D多模態信息作為輸入,與只有一個通道的神經網絡相比,多模態信息會使特征通道上的信息更加豐富。同時,原始的CenterNet是針對RGB輸入設計的,沒有考慮RGB-D的輸入情況。因此,如何充分利用這些高維度信息非常重要。此外,在抓取檢測場景中,物體的擺放間距不確定,不同物體的尺寸也可能相差較大,長條形物體筆、圓形物體盤子或者不規則圖形門鎖等,故對抓取檢測識別的精度要求高。根據上述兩個問題,可以使用通道注意力機制來充分利用高維信息,以及空間注意力機制來利用整體圖像上長程信息。因此,本文引入 CA注意力模塊來提高模型的綜合性能。
CA注意力機制是一種混合注意力機制,包括通道和空間兩種注意力機制。SE注意力模塊為僅使用通道注意力的模塊,在一定程度上提高了模型性能,但是忽略了空間位置信息,而CA注意力機制則可以將其有效利用。雖然CBAM這一混合注意力機制可以同時利用通道和空間信息,但其在空間注意力的學習中使用了固定大小的7×7卷積核來學習空間維度上的特征權重,從而在注意力過程中加入了超參數,并且固定大小的卷積核只能學習到局部相關性,無法學習超過這個范圍的長程相關性。
全局池化通常用于通道注意力機制中以編碼各個通道的整體信息,但同時也會將該通道下整體的空間信息壓縮,從而很難獲取空間信息。然而,空間信息對學習空間注意力機制非常重要。為了更好對比,先介紹SE模塊,其從結構上可以分為壓縮和激發兩個步驟,全局池化對應壓縮步驟。設輸入特征圖X的尺寸為C×H×W,其中C為特征通道數,H為高度,W為寬度。對于第c個通道的全局池化可以表示為
(8)
式中rc為第c個通道的全局信息。從式中可以看出其通過壓縮空間信息得到的通道信息,無法同時保留兩者。CA注意力機制通過以下兩步將通道和空間信息同時編碼:坐標信息植入模塊和注意力生成模塊。CA注意力模塊和殘差模塊一起組成了模型的特征提取網絡,對于其中一層輸入Hk,輸出為Y的層級展開,其詳細組成結構如圖3所示。

圖3 特征提取模塊結構Fig.3 Architecture of feature extraction module
3.1.1 坐標信息植入模塊
為了強化注意力模塊通過精確的位置信息來捕捉長距離的空間關系,此方法分解了式(8)中的二維全局池化,將其變為一對沿著水平方向和垂直方向的一維特征編碼操作。對于輸入X來說,本文使用兩個空間延展形池化核(H,1)和(1,W)來分別沿著水平和垂直方向進行池化操作。對于水平方向來說,第c個通道的高度h輸出信息可以表示為
(9)
同理,第c個通道在寬度w的輸出信息可以表示為
(10)
上述兩個轉換分別聚合了沿著兩個空間方向的特征,產生了一對內含方向信息的特征圖。
3.1.2 注意力生成模塊
此模塊的設計需要盡量簡單和低復雜度且能充分利用通道和空間信息。特別地,對于通過式(9)、(10)得到的聚合特征圖,首先將其沿著通道維度拼接起來,并且用C/r個1×1的卷積核對其進行卷積操作,此卷積操作表示為Conv1,此過程如下:
t=δ(Conv1([zh,zw]))
(11)

uh=δ(Convh(th))
(12)
uw=δ(Convw(tw))
(13)
式中:uh∈RC×H×1,uw∈RC×1×W,δ為非線性激活函數。參考文獻[16]中討論的結果,為了在保證性能的同時減低計算復雜度,本文采用r=32。輸出uh和uw即為注意力權重, CA注意力模塊輸出Y可以表示為
(14)
CA注意力機制同時考慮了空間信息的編碼,從而可以更精確地定位物體的位置。
在抓取檢測任務中,模型需要輸出抓取中心點坐標、抓手旋轉角度以及開合寬度。模型的多種輸出可看作不同的子任務,其中子任務間的數值差異較大,會導致總損失函數在每個周期梯度下降時偏向于數值較大的子任務,從而影響抓取檢測結果。通常的做法是通過窮舉法人工調節參數,然而人為調節參數費時,且最終性能對參數權重的選擇敏感。為此,本文參考文獻[18]提出的方法,通過引入同方差不確定性,使得不同子任務損失函數的損失權重參數可學習。在貝葉斯模型中,主要有兩種不確定性可以建模,第1種是由于缺少訓練數據導致的認知不確定性,第2種是由于噪聲導致的偶然不確定性。偶然不確定又可以分為數據相關的不確定性,以及任務相關的不確定性即同方差不確定性。對于多任務學習問題,可以使用同方差不確定性作為加權損失的基礎。
設模型的輸入為x,網絡參數W,輸出為fW(x)。對于回歸任務,本文將似然定義為以模型輸出作為平均值的高斯函數:
p(y|fW(x))=N(fW(x),σ2)
(15)
式中σ為噪聲參數。對于多輸出模型,本文定義fW(x)為充分統計量,根據獨立性假設,故可通過因式分解得到多任務可能性:
p(y1,…,yK|fW(x))=p(y1|fW(x))…
p(yk|fW(x))
(16)
式中,y1,…,yK為不同任務的輸出。對數似然估計為
(17)
假設模型輸出由兩個向量y1和y2組成:
p(y1,y2|fW(x))=p(y1|fW(x))…p(y2|fW(x))=
(18)
在上述條件下,為了最小化損失函數L(W,σ1,σ2),有下列推導:
L(W,σ1,σ2)=-logp(y1,y2|fW(x))∝
(19)
式中:L1(W)、L2(W)分別為兩個任務的損失函數,σ1、σ2可以基于數據自適應的分別學習到L1(W)和L2(W)的相對權重。σ1作為y1變量的噪聲參數,當其增加時,L1(W)的權重會減少。從另一個角度來說,當噪聲減少的時候,相對應的損失權重就會增加。由于式(19)中logσ1σ2正則項的存在,也會抑制噪聲數值相對過大。在實踐中,本文采用s=logσ2作為學習參數,避免了直接學習σ的值,因σ在訓練過程中可能會出現0值,導致式(19)中出現被除數為0的問題,從而可獲得更強的數值穩定性。針對本文的任務,結合式(7),增加可學習噪聲參數后的損失函數為
Ltotal=exp(-scenter)Lcenter+exp(-scos)Lcos(2θ)+
exp(-ssin)Lsin(2θ)+exp(-swidth)Lwidth+
scenter+scos+ssin+swidth
(20)
由式(20)可知,該方法通過引入4個可學習權重參數,可以在反向傳播中自動更新權重,與其他模型參數同時訓練。相較于原CenterNet模型,增加的參數數量和計算量低。
本文實驗使用的GPU為NVIDIA RTX2060,NVIDIA CUDA版本為11.6.134,處理器型號為AMD RyzenTM7 4800HS,操作系統是Window 11,版本號21H2。
具有代表性的公開數據集基本情況見表1。

表1 抓取檢測數據集比較Tab.1 Comparison of grasp detection datasets
由于本文需要使用RGB-D數據訓練模型,故選用其中兩種包含RGB-D信息的抓取檢測數據集。
4.2.1 Cornell數據集,
Cornell數據集部分樣例如圖4(a)所示。該數據集是抓取檢測領域最流行的數據集,包含240個不同物體的885張RGB-D圖片,分辨率為640×480。每張圖片都有正向和負向抓取標簽,一共有8 019個標簽,其中5 110個正標簽和2 909個負標簽,在訓練過程中,本文只使用正標簽。考慮到圖片數量相對較少,為了能更好訓練,本文利用了隨機裁剪、放縮和旋轉等圖片增強手段。與其他工作一樣,本文通過以下兩種方式對數據集進行分割。

圖4 Cornell和Jacquard數據集樣例Fig.4 Examples from Cornell and Jacquard dataset
1)圖像分割。圖像分割隨機打亂數據集中的圖片進行訓練,可檢測模型對于不同位姿下的之前見過物體的抓取生成能力。
2)對象分割。對象分割根據不同物體的種類進行分割。有助于檢測模型對于未知物體的抓取能力,具有更強的現實意義,更能體現模型的魯棒性。
4.2.2 Jacquard數據集
Jacquard數據集部分樣例如圖4(b)所示。該數據集是通過CAD模型建立的數據集,包含11 619個不同物體的54 485張RGB-D圖片,分辨率為1 024×1 024。圖片的正標簽是通過在仿真環境中的成功抓取獲得的,約含有一百萬個抓取標簽。由于此數據集已經足夠大,訓練時并不需要采用數據增強。
為了便于與之前的研究工作比較,本文采用文獻[20]提出的矩形抓取標準作為判定條件。一個成功的抓取檢測需要滿足以下兩個判定條件:
1)預測抓取矩形和真實標簽抓取矩形之間的夾角應小于30°;
2)預測抓取矩形和真實標簽抓取矩形的Jaccard相似系數應該大于25%。
Jaccard相似系數定義如下:
(21)

模型在Cornell數據集上的檢測結果示例如圖5所示。第1、2列分別為RGB和深度圖,第3列為模型生成的熱力圖,第4列為角度圖,第5列為寬度圖。通過熱力圖定位抓取中心并結合對應坐標下的角度圖和寬度圖信息,得到最后1列的抓取表示。從圖5中例子可以看出模型在面對鎖型等不規則物體時也有良好表現。

圖5 Cornell數據集的抓取檢測結果Fig.5 Detection results on Cornell dataset
表2展現了本文在康奈爾數據集下與其他模型的性能對比。本文采用圖像和對象分割方法分別對數據集分割,主要檢測準確率和檢測速率。在圖像和對象分割條件下,本文獲得了98.8%的準確率和25.30 fps的檢測速率。可以發現,與其他工作相比,本文的檢測準確率和檢測速率都有一定提升。其中與基于錨框的檢測算法相比,見表2中的Fast-RCNN,本文改進的CenterNet模型在取得相近抓取準確率的同時,由于不需要生成候選錨框和非極大值抑制等操作,在檢測速率上有明顯優勢。

表2 康奈爾數據集下模型精度對比Tab.2 Comparison of model prediction accuracy on Cornell dataset
為了進一步驗證本模型的性能和魯棒性,本文在更加嚴苛的條件下與其他模型進行對比。如表3所示,本文測試了本模型在Jaccard相似系數以0.05為梯度、從0.25~0.45等梯度變化時的對象分割準確率。在系數小于0.45時,隨著Jaccard相似系數的提高,本模型可以保持在超過90%的準確率。在0.45時,本模型的準確率和其他工作相比也能獲得更好的結果。表3的結果對比表明本模型在更嚴苛條件下具有較強的性能和魯棒性。

表3 在不同Jaccard系數下的檢測準確率Tab.3 Prediction accuracy at different Jaccard thresholds
除此之外,本文希望驗證本模型在更大規模數據集上的效果,故對其在Jacquard數據集上進行訓練,相應的檢測結果示例如圖6所示。第1行顯示的陀螺物體,其在縱向的空間上有一定高度,在傾斜放置時會給抓取檢測帶來一定挑戰。Jacquard數據集是通過CAD模型建立的,其中的物體有一定的隨機性,相對于現實情況更加苛刻,如第2行中的盆栽,但本文的模型仍獲得了準確的抓取結果。

圖6 Jacquard數據集的抓取檢測結果Fig.6 Detection results on Jacquard dataset
表4表明本模型不僅在康奈爾數據集上取得出色性能,并且在規模更大的Jacquard數據集上也能取得優秀結果。

表4 Jacquard數據集下模型精度對比Tab.4 Comparison of model prediction accuracy in Jacquard grasp dataset
關于可學習權重的實驗,通常僅考慮初始權重為0的情況[18]。為了更好地驗證本模型的魯棒性和適用性,本文將每個子任務的初始權重設定為相差很大的初值,這樣中心點、正、余弦角度、抓手開合寬度一共包含16種初始權重組合情況。 同時本文也隨機交換了不同任務間的學習權重作為初始權重。權重參數隨著訓練進行的變化情況如圖7所示,可以看出其收斂效果對于初始值不敏感,反應了本算法的魯棒性。

圖7 不同初始權重下參數變化情況Fig.7 Detection results on Jacquard dataset
為了進一步驗證本方法各模塊的有效性,以及其對于整體性能的影響,本文對模型進行消融實驗,實驗結果見表5。

表5 消融實驗結果Tab.5 Results from ablation experiment
從表5實驗結果可以看出,CA注意力機制和權重學習機制的引入,可有效提升抓取檢測的準確率,且由于實現過程中需要的參數較少,對檢測速率的影響較小。
1)針對抓取檢測任務,本文結合CA注意力機制和多任務學習提出了一種新的抓取檢測模型。模型利用RGB-D圖像作為輸入信息,根據輸出的中心圖、寬度圖、角度圖,生成像素級別的抓取表示,在Cornell和Jacquard數據集上分別實現了98.8%和95.7%的準確率。
2)從充分利用高維信息角度出發,本文引入CA注意力機制,其使用通道注意力機制來充分利用高維信息,以及空間注意力機制來利用整體圖像上長程信息,從而可以更精確地定位物體的位置。消融實驗證明其對于圖像分割和對象分割可以達到2%以上的性能提升。
3)從損失函數優化角度出發,本文引入多任務學習框架,能根據任務特點自動獲取不同子損失函數的權重,無需對權重進行人為選定。魯棒性實驗進一步證明此方法可以穩定學習到任務的最優權重,對于初始值的干擾不敏感。
4) 本文通過在不同數據集、不同精度要求以及干擾下進行的實驗,驗證了所提出的抓取檢測模型在各項指標下的良好表現。同時,通過消融實驗,從模型組成方面證明了各模塊在提升抓取檢測性能方面的有效性。在未來的工作中,本文將嘗試搭建閉環抓取系統,通過對真實世界中物體的抓取,進一步驗證模型的性能表現。