李鈺龍,梁新武
(上海交通大學 航空航天學院,上海 200240)
抓取對于機器人而言是一項非常重要的能力。如今,機器人在工業(yè)生產(chǎn)、醫(yī)療、軍事等領(lǐng)域正在扮演越來越重要的角色,其中實現(xiàn)更精準快速的機器人抓取是不可或缺的能力。當人類看到一個未知物體,就可以直覺般的知道如何拿起它。即使已經(jīng)有很多關(guān)于機器人抓取檢測領(lǐng)域的工作[1-5],但對于機器人而言,如何實現(xiàn)魯棒的目標抓取仍是個挑戰(zhàn)。整個抓取流程主要分為抓取檢測、軌跡規(guī)劃和執(zhí)行。抓取檢測是機器人通過光學[3]或者觸覺[6-7]等傳感器獲取周圍環(huán)境的信息,并從中發(fā)現(xiàn)可抓取物體的過程。后續(xù)的抓取步驟需要使用抓取檢測獲得的物體坐標,所以準確的抓取檢測結(jié)果是順利實現(xiàn)整個抓取流程的前提和關(guān)鍵。
抓取檢測主要分為分析法[8]和數(shù)據(jù)驅(qū)動法[9],分析法要求物體幾何、物理模型和力學分析等數(shù)據(jù)已知,通過這些已知信息進行抓取檢測。然而,對于實際需求場景來說,這些信息會經(jīng)常變化,因此分析法無法成為一種好的通用性方案。數(shù)據(jù)驅(qū)動法利用先前的成功抓取經(jīng)驗數(shù)據(jù),可以學習到通用的抓取能力。基于此,本文采用數(shù)據(jù)驅(qū)動法,利用深度學習方法提取物體的抓取信息。有代表性的工作之一是滑動窗口法[10],此方法需要一個分類器來預(yù)測每一個小區(qū)域是否含有抓取可能,其主要缺點是檢測速率過低,很難在現(xiàn)實中使用。另一種代表性的工作是基于錨框的方法[11-13],該方法需要預(yù)測很多候選抓取框,通過評分選取最優(yōu)的候選框。與基于錨框的抓取檢測算法不同,本文基于關(guān)鍵點的算法直接通過中心點、寬度圖、角度圖來預(yù)測最優(yōu)抓取,減少了計算步驟并且可以提高性能。
隨著計算機視覺領(lǐng)域的發(fā)展,為了更好地利用數(shù)據(jù),出現(xiàn)了很多注意力機制算法,例如基于通道的SE(squeeze-and-excitation)注意力[14]和基于空間的SK(selective kernel)注意力[15]。通道注意力通過顯式地學習不同通道的權(quán)重信息,動態(tài)調(diào)整每個通道的權(quán)重。而空間注意力機制,則可顯式地學習不同空間區(qū)域的權(quán)重。本文采用基于包含空間和通道注意力的CA(coordinate attention)注意力[16]作為特征提取模塊的補充,能夠結(jié)合兩種注意力機制的優(yōu)點,并且避免了混合注意力機制CBAM(convolutional block attention module)注意力[17]在空間上只關(guān)注局部位置關(guān)系的不足。對于一個抓取檢測任務(wù),需要分別學習抓取中心點坐標、角度、抓手開合寬度3種信息[10]。為了能夠更好的權(quán)衡3種信息在抓取檢測任務(wù)中所起的作用,本文引入多任務(wù)權(quán)重學習算法[18]自動學習這幾種信息(即任務(wù))的權(quán)重。該算法通過概率建模的思想來學習任務(wù)的最佳權(quán)重,根據(jù)任務(wù)不同,利用同方差不確定性[19]刻畫多任務(wù)學習問題中損失函數(shù)的權(quán)重。本文設(shè)計了一個基于關(guān)鍵點檢測算法的模型,其中引入了包含通道和空間注意力的CA注意力機制以及多任務(wù)權(quán)重學習算法。在流行的Cornell數(shù)據(jù)集以及更大規(guī)模的Jacquard數(shù)據(jù)集上對所設(shè)計的模型進行測試,分別獲得了98.8%和95.7%的抓取檢測成功率。對模型模塊進行魯棒性測試和消融實驗,分析研究了所設(shè)計模型的不同模塊對于整體性能的影響程度。
給定一個物體,本文希望找到一種精確的方法來表示物體的抓取配置,通常用五維抓取來表示[10]。五維表示是七維表示[20]的簡化版,在簡化維度的同時保留了有效信息,通過抓取點坐標、抓取角度、抓手開合寬度來定義五維抓取表示:
g=(x,y,θ,h,w)
(1)
式中: (x,y) 對應(yīng)于抓取矩形的中心點,θ為抓取矩形關(guān)于水平方向的角度,h為夾持器的高度,w為抓取手的開合寬度。一個五維表示的例子如圖1(a)所示。因為本文的模型基于像素點,所以本文使用中心點圖像、角度圖像和寬度圖像來定義一個新的抓取表示[21],如圖1(b)所示。
圖1 抓取表示對比Fig.1 Comparison of grasp representations
g=(Q,W,Θ)∈R3×h×w
(2)
本文使用的是基于關(guān)鍵點的檢測算法,其中的代表是CenterNet[22]。不同于基于錨框的檢測算法,此類算法使用物體邊界框的中心點來表示物體。該方法是端到端的,不需要非極大值抑制的過程。原CenterNet的上采樣率為4,可能會造成信息丟失,為了避免信息丟失,本文使用轉(zhuǎn)置卷積[23]操作來生成與輸入圖像大小相同的特征圖,從而實現(xiàn)更準確的像素級抓取檢測。原始CenterNet的預(yù)測參數(shù)為中心點坐標,中心點偏移以及目標尺寸,考慮到在抓取檢測任務(wù)中需要通過五維抓取表示定義抓取,即回歸中心點坐標、抓手的旋轉(zhuǎn)角度以及抓取器的開合寬度,本文將可以表示上述變量的中心圖、角度圖和寬度圖作為新模型的預(yù)測參數(shù)。
模型的總體結(jié)構(gòu)如圖2所示。先將3×224×224的RGB和1×224×224深度圖在特征通道的維度拼接得到多模態(tài)的4×224×224尺度RGB-D圖像,再將其輸入到模型中。模型先通過3個卷積層進行下采樣,然后經(jīng)過帶有注意力機制的殘差網(wǎng)絡(luò)組成的特征提取模塊,再通過3個轉(zhuǎn)置卷積層上采樣,得到與輸入圖片同樣大小的224特征熱力圖,隨后通過4個卷積操作分別得到中心點坐標、以正弦和余弦表示的物體旋轉(zhuǎn)角度以及抓取器的開合寬度。最后,經(jīng)過后處理模塊就能得到該物體的抓取表示。
圖2 關(guān)鍵點檢測模型結(jié)構(gòu)Fig.2 Architecture of key point estimation model
經(jīng)過轉(zhuǎn)置的操作后,本文得到了4個維度為H×W×C的特征熱力圖。對于中心點熱力圖,本文采用兩維的高斯核進行平滑操作,將集中的熱力標簽分散在其周邊。這樣可以提高模型的抗隨機噪聲能力,從而幫助本文提取到最佳的抓取點位置。兩維高斯核可以表示為
(3)
式中σ=2。由于網(wǎng)絡(luò)輸出的角度特征圖分別為cos(2θ)和sin(2θ),所以本文使用下式得到抓取角度為
(4)
式中,左邊的θ為通過角度特征圖所取的角度值。利用獲取的中心點坐標(x,y),角度和寬度特征圖,本文可以通過下式得到抓取角度和寬度值為
[θ,W]=[featureangle(x,y),featurewidth(x,y)]
(5)
本文選擇可以充分利用小誤差和控制梯度爆炸的Smooth L1函數(shù)[24]作為損失函數(shù),Smooth L1損失函數(shù)定義為
(6)
其中xl定義如下:
Ltotal=λcenterLcenter+λcos(2θ)Lcos(2θ)+
λsin(2θ)Lsin(2θ)+λwidthLwidth
(7)
式中:λcenter為中心點的損失權(quán)重,λcos(2θ)、λsin(2θ)分別為正、余弦角度的損失權(quán)重,λwidth為末端夾持器寬度的損失權(quán)重。
本文使用RGB-D多模態(tài)信息作為輸入,與只有一個通道的神經(jīng)網(wǎng)絡(luò)相比,多模態(tài)信息會使特征通道上的信息更加豐富。同時,原始的CenterNet是針對RGB輸入設(shè)計的,沒有考慮RGB-D的輸入情況。因此,如何充分利用這些高維度信息非常重要。此外,在抓取檢測場景中,物體的擺放間距不確定,不同物體的尺寸也可能相差較大,長條形物體筆、圓形物體盤子或者不規(guī)則圖形門鎖等,故對抓取檢測識別的精度要求高。根據(jù)上述兩個問題,可以使用通道注意力機制來充分利用高維信息,以及空間注意力機制來利用整體圖像上長程信息。因此,本文引入 CA注意力模塊來提高模型的綜合性能。
CA注意力機制是一種混合注意力機制,包括通道和空間兩種注意力機制。SE注意力模塊為僅使用通道注意力的模塊,在一定程度上提高了模型性能,但是忽略了空間位置信息,而CA注意力機制則可以將其有效利用。雖然CBAM這一混合注意力機制可以同時利用通道和空間信息,但其在空間注意力的學習中使用了固定大小的7×7卷積核來學習空間維度上的特征權(quán)重,從而在注意力過程中加入了超參數(shù),并且固定大小的卷積核只能學習到局部相關(guān)性,無法學習超過這個范圍的長程相關(guān)性。
全局池化通常用于通道注意力機制中以編碼各個通道的整體信息,但同時也會將該通道下整體的空間信息壓縮,從而很難獲取空間信息。然而,空間信息對學習空間注意力機制非常重要。為了更好對比,先介紹SE模塊,其從結(jié)構(gòu)上可以分為壓縮和激發(fā)兩個步驟,全局池化對應(yīng)壓縮步驟。設(shè)輸入特征圖X的尺寸為C×H×W,其中C為特征通道數(shù),H為高度,W為寬度。對于第c個通道的全局池化可以表示為
(8)
式中rc為第c個通道的全局信息。從式中可以看出其通過壓縮空間信息得到的通道信息,無法同時保留兩者。CA注意力機制通過以下兩步將通道和空間信息同時編碼:坐標信息植入模塊和注意力生成模塊。CA注意力模塊和殘差模塊一起組成了模型的特征提取網(wǎng)絡(luò),對于其中一層輸入Hk,輸出為Y的層級展開,其詳細組成結(jié)構(gòu)如圖3所示。
圖3 特征提取模塊結(jié)構(gòu)Fig.3 Architecture of feature extraction module
3.1.1 坐標信息植入模塊
為了強化注意力模塊通過精確的位置信息來捕捉長距離的空間關(guān)系,此方法分解了式(8)中的二維全局池化,將其變?yōu)橐粚ρ刂椒较蚝痛怪狈较虻囊痪S特征編碼操作。對于輸入X來說,本文使用兩個空間延展形池化核(H,1)和(1,W)來分別沿著水平和垂直方向進行池化操作。對于水平方向來說,第c個通道的高度h輸出信息可以表示為
(9)
同理,第c個通道在寬度w的輸出信息可以表示為
(10)
上述兩個轉(zhuǎn)換分別聚合了沿著兩個空間方向的特征,產(chǎn)生了一對內(nèi)含方向信息的特征圖。
3.1.2 注意力生成模塊
此模塊的設(shè)計需要盡量簡單和低復雜度且能充分利用通道和空間信息。特別地,對于通過式(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,δ為非線性激活函數(shù)。參考文獻[16]中討論的結(jié)果,為了在保證性能的同時減低計算復雜度,本文采用r=32。輸出uh和uw即為注意力權(quán)重, CA注意力模塊輸出Y可以表示為
(14)
CA注意力機制同時考慮了空間信息的編碼,從而可以更精確地定位物體的位置。
在抓取檢測任務(wù)中,模型需要輸出抓取中心點坐標、抓手旋轉(zhuǎn)角度以及開合寬度。模型的多種輸出可看作不同的子任務(wù),其中子任務(wù)間的數(shù)值差異較大,會導致總損失函數(shù)在每個周期梯度下降時偏向于數(shù)值較大的子任務(wù),從而影響抓取檢測結(jié)果。通常的做法是通過窮舉法人工調(diào)節(jié)參數(shù),然而人為調(diào)節(jié)參數(shù)費時,且最終性能對參數(shù)權(quán)重的選擇敏感。為此,本文參考文獻[18]提出的方法,通過引入同方差不確定性,使得不同子任務(wù)損失函數(shù)的損失權(quán)重參數(shù)可學習。在貝葉斯模型中,主要有兩種不確定性可以建模,第1種是由于缺少訓練數(shù)據(jù)導致的認知不確定性,第2種是由于噪聲導致的偶然不確定性。偶然不確定又可以分為數(shù)據(jù)相關(guān)的不確定性,以及任務(wù)相關(guān)的不確定性即同方差不確定性。對于多任務(wù)學習問題,可以使用同方差不確定性作為加權(quán)損失的基礎(chǔ)。
設(shè)模型的輸入為x,網(wǎng)絡(luò)參數(shù)W,輸出為fW(x)。對于回歸任務(wù),本文將似然定義為以模型輸出作為平均值的高斯函數(shù):
p(y|fW(x))=N(fW(x),σ2)
(15)
式中σ為噪聲參數(shù)。對于多輸出模型,本文定義fW(x)為充分統(tǒng)計量,根據(jù)獨立性假設(shè),故可通過因式分解得到多任務(wù)可能性:
p(y1,…,yK|fW(x))=p(y1|fW(x))…
p(yk|fW(x))
(16)
式中,y1,…,yK為不同任務(wù)的輸出。對數(shù)似然估計為
(17)
假設(shè)模型輸出由兩個向量y1和y2組成:
p(y1,y2|fW(x))=p(y1|fW(x))…p(y2|fW(x))=
(18)
在上述條件下,為了最小化損失函數(shù)L(W,σ1,σ2),有下列推導:
L(W,σ1,σ2)=-logp(y1,y2|fW(x))∝
(19)
式中:L1(W)、L2(W)分別為兩個任務(wù)的損失函數(shù),σ1、σ2可以基于數(shù)據(jù)自適應(yīng)的分別學習到L1(W)和L2(W)的相對權(quán)重。σ1作為y1變量的噪聲參數(shù),當其增加時,L1(W)的權(quán)重會減少。從另一個角度來說,當噪聲減少的時候,相對應(yīng)的損失權(quán)重就會增加。由于式(19)中l(wèi)ogσ1σ2正則項的存在,也會抑制噪聲數(shù)值相對過大。在實踐中,本文采用s=logσ2作為學習參數(shù),避免了直接學習σ的值,因σ在訓練過程中可能會出現(xiàn)0值,導致式(19)中出現(xiàn)被除數(shù)為0的問題,從而可獲得更強的數(shù)值穩(wěn)定性。針對本文的任務(wù),結(jié)合式(7),增加可學習噪聲參數(shù)后的損失函數(shù)為
Ltotal=exp(-scenter)Lcenter+exp(-scos)Lcos(2θ)+
exp(-ssin)Lsin(2θ)+exp(-swidth)Lwidth+
scenter+scos+ssin+swidth
(20)
由式(20)可知,該方法通過引入4個可學習權(quán)重參數(shù),可以在反向傳播中自動更新權(quán)重,與其他模型參數(shù)同時訓練。相較于原CenterNet模型,增加的參數(shù)數(shù)量和計算量低。
本文實驗使用的GPU為NVIDIA RTX2060,NVIDIA CUDA版本為11.6.134,處理器型號為AMD RyzenTM7 4800HS,操作系統(tǒng)是Window 11,版本號21H2。
具有代表性的公開數(shù)據(jù)集基本情況見表1。
表1 抓取檢測數(shù)據(jù)集比較Tab.1 Comparison of grasp detection datasets
由于本文需要使用RGB-D數(shù)據(jù)訓練模型,故選用其中兩種包含RGB-D信息的抓取檢測數(shù)據(jù)集。
4.2.1 Cornell數(shù)據(jù)集,
Cornell數(shù)據(jù)集部分樣例如圖4(a)所示。該數(shù)據(jù)集是抓取檢測領(lǐng)域最流行的數(shù)據(jù)集,包含240個不同物體的885張RGB-D圖片,分辨率為640×480。每張圖片都有正向和負向抓取標簽,一共有8 019個標簽,其中5 110個正標簽和2 909個負標簽,在訓練過程中,本文只使用正標簽。考慮到圖片數(shù)量相對較少,為了能更好訓練,本文利用了隨機裁剪、放縮和旋轉(zhuǎn)等圖片增強手段。與其他工作一樣,本文通過以下兩種方式對數(shù)據(jù)集進行分割。
圖4 Cornell和Jacquard數(shù)據(jù)集樣例Fig.4 Examples from Cornell and Jacquard dataset
1)圖像分割。圖像分割隨機打亂數(shù)據(jù)集中的圖片進行訓練,可檢測模型對于不同位姿下的之前見過物體的抓取生成能力。
2)對象分割。對象分割根據(jù)不同物體的種類進行分割。有助于檢測模型對于未知物體的抓取能力,具有更強的現(xiàn)實意義,更能體現(xiàn)模型的魯棒性。
4.2.2 Jacquard數(shù)據(jù)集
Jacquard數(shù)據(jù)集部分樣例如圖4(b)所示。該數(shù)據(jù)集是通過CAD模型建立的數(shù)據(jù)集,包含11 619個不同物體的54 485張RGB-D圖片,分辨率為1 024×1 024。圖片的正標簽是通過在仿真環(huán)境中的成功抓取獲得的,約含有一百萬個抓取標簽。由于此數(shù)據(jù)集已經(jīng)足夠大,訓練時并不需要采用數(shù)據(jù)增強。
為了便于與之前的研究工作比較,本文采用文獻[20]提出的矩形抓取標準作為判定條件。一個成功的抓取檢測需要滿足以下兩個判定條件:
1)預(yù)測抓取矩形和真實標簽抓取矩形之間的夾角應(yīng)小于30°;
2)預(yù)測抓取矩形和真實標簽抓取矩形的Jaccard相似系數(shù)應(yīng)該大于25%。
Jaccard相似系數(shù)定義如下:
(21)
模型在Cornell數(shù)據(jù)集上的檢測結(jié)果示例如圖5所示。第1、2列分別為RGB和深度圖,第3列為模型生成的熱力圖,第4列為角度圖,第5列為寬度圖。通過熱力圖定位抓取中心并結(jié)合對應(yīng)坐標下的角度圖和寬度圖信息,得到最后1列的抓取表示。從圖5中例子可以看出模型在面對鎖型等不規(guī)則物體時也有良好表現(xiàn)。
圖5 Cornell數(shù)據(jù)集的抓取檢測結(jié)果Fig.5 Detection results on Cornell dataset
表2展現(xiàn)了本文在康奈爾數(shù)據(jù)集下與其他模型的性能對比。本文采用圖像和對象分割方法分別對數(shù)據(jù)集分割,主要檢測準確率和檢測速率。在圖像和對象分割條件下,本文獲得了98.8%的準確率和25.30 fps的檢測速率??梢园l(fā)現(xiàn),與其他工作相比,本文的檢測準確率和檢測速率都有一定提升。其中與基于錨框的檢測算法相比,見表2中的Fast-RCNN,本文改進的CenterNet模型在取得相近抓取準確率的同時,由于不需要生成候選錨框和非極大值抑制等操作,在檢測速率上有明顯優(yōu)勢。
表2 康奈爾數(shù)據(jù)集下模型精度對比Tab.2 Comparison of model prediction accuracy on Cornell dataset
為了進一步驗證本模型的性能和魯棒性,本文在更加嚴苛的條件下與其他模型進行對比。如表3所示,本文測試了本模型在Jaccard相似系數(shù)以0.05為梯度、從0.25~0.45等梯度變化時的對象分割準確率。在系數(shù)小于0.45時,隨著Jaccard相似系數(shù)的提高,本模型可以保持在超過90%的準確率。在0.45時,本模型的準確率和其他工作相比也能獲得更好的結(jié)果。表3的結(jié)果對比表明本模型在更嚴苛條件下具有較強的性能和魯棒性。
表3 在不同Jaccard系數(shù)下的檢測準確率Tab.3 Prediction accuracy at different Jaccard thresholds
除此之外,本文希望驗證本模型在更大規(guī)模數(shù)據(jù)集上的效果,故對其在Jacquard數(shù)據(jù)集上進行訓練,相應(yīng)的檢測結(jié)果示例如圖6所示。第1行顯示的陀螺物體,其在縱向的空間上有一定高度,在傾斜放置時會給抓取檢測帶來一定挑戰(zhàn)。Jacquard數(shù)據(jù)集是通過CAD模型建立的,其中的物體有一定的隨機性,相對于現(xiàn)實情況更加苛刻,如第2行中的盆栽,但本文的模型仍獲得了準確的抓取結(jié)果。
圖6 Jacquard數(shù)據(jù)集的抓取檢測結(jié)果Fig.6 Detection results on Jacquard dataset
表4表明本模型不僅在康奈爾數(shù)據(jù)集上取得出色性能,并且在規(guī)模更大的Jacquard數(shù)據(jù)集上也能取得優(yōu)秀結(jié)果。
表4 Jacquard數(shù)據(jù)集下模型精度對比Tab.4 Comparison of model prediction accuracy in Jacquard grasp dataset
關(guān)于可學習權(quán)重的實驗,通常僅考慮初始權(quán)重為0的情況[18]。為了更好地驗證本模型的魯棒性和適用性,本文將每個子任務(wù)的初始權(quán)重設(shè)定為相差很大的初值,這樣中心點、正、余弦角度、抓手開合寬度一共包含16種初始權(quán)重組合情況。 同時本文也隨機交換了不同任務(wù)間的學習權(quán)重作為初始權(quán)重。權(quán)重參數(shù)隨著訓練進行的變化情況如圖7所示,可以看出其收斂效果對于初始值不敏感,反應(yīng)了本算法的魯棒性。
圖7 不同初始權(quán)重下參數(shù)變化情況Fig.7 Detection results on Jacquard dataset
為了進一步驗證本方法各模塊的有效性,以及其對于整體性能的影響,本文對模型進行消融實驗,實驗結(jié)果見表5。
表5 消融實驗結(jié)果Tab.5 Results from ablation experiment
從表5實驗結(jié)果可以看出,CA注意力機制和權(quán)重學習機制的引入,可有效提升抓取檢測的準確率,且由于實現(xiàn)過程中需要的參數(shù)較少,對檢測速率的影響較小。
1)針對抓取檢測任務(wù),本文結(jié)合CA注意力機制和多任務(wù)學習提出了一種新的抓取檢測模型。模型利用RGB-D圖像作為輸入信息,根據(jù)輸出的中心圖、寬度圖、角度圖,生成像素級別的抓取表示,在Cornell和Jacquard數(shù)據(jù)集上分別實現(xiàn)了98.8%和95.7%的準確率。
2)從充分利用高維信息角度出發(fā),本文引入CA注意力機制,其使用通道注意力機制來充分利用高維信息,以及空間注意力機制來利用整體圖像上長程信息,從而可以更精確地定位物體的位置。消融實驗證明其對于圖像分割和對象分割可以達到2%以上的性能提升。
3)從損失函數(shù)優(yōu)化角度出發(fā),本文引入多任務(wù)學習框架,能根據(jù)任務(wù)特點自動獲取不同子損失函數(shù)的權(quán)重,無需對權(quán)重進行人為選定。魯棒性實驗進一步證明此方法可以穩(wěn)定學習到任務(wù)的最優(yōu)權(quán)重,對于初始值的干擾不敏感。
4) 本文通過在不同數(shù)據(jù)集、不同精度要求以及干擾下進行的實驗,驗證了所提出的抓取檢測模型在各項指標下的良好表現(xiàn)。同時,通過消融實驗,從模型組成方面證明了各模塊在提升抓取檢測性能方面的有效性。在未來的工作中,本文將嘗試搭建閉環(huán)抓取系統(tǒng),通過對真實世界中物體的抓取,進一步驗證模型的性能表現(xiàn)。