肖賢鵬,胡 莉,張 靜,2,李樹(shù)春,張 華
1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010 2.中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,合肥 230026
盡管機(jī)器人對(duì)操作物體相對(duì)容易,但對(duì)任意物體的可靠抓取[1-3]仍然是機(jī)器人面臨的一個(gè)難題。這一問(wèn)題的解決將推動(dòng)機(jī)器人技術(shù)在工業(yè)領(lǐng)域的應(yīng)用,比如零件裝配、裝箱和分類[4-5]。同樣,它也將推動(dòng)輔助機(jī)器人領(lǐng)域的發(fā)展,即機(jī)器人與周圍環(huán)境進(jìn)行交互,以滿足人類的需求。機(jī)器人抓取包括感知、計(jì)劃和控制[6-7]。作為一個(gè)起點(diǎn),知道抓取哪個(gè)對(duì)象以及如何做是必要的研究方向。因此,對(duì)目標(biāo)物體的機(jī)器人抓取候選對(duì)象進(jìn)行準(zhǔn)確多樣的檢測(cè),將有助于實(shí)現(xiàn)更好的抓取路徑規(guī)劃[8],提高基于抓取操作任務(wù)的整體性能。
目前,隨著深度學(xué)習(xí)在各種任務(wù)中的廣泛應(yīng)用,基于深度學(xué)習(xí)的抓取位姿估計(jì)也取得了一定的研究成果。Redmon等人[9]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的機(jī)器人抓取檢測(cè)的精確、實(shí)時(shí)方法,對(duì)可抓取邊界框執(zhí)行單階段回歸,而不使用標(biāo)準(zhǔn)滑動(dòng)窗口或區(qū)域建議技術(shù),通過(guò)使用一個(gè)局部受限的預(yù)測(cè)機(jī)制來(lái)預(yù)測(cè)每個(gè)對(duì)象的多個(gè)抓取候選;Kumra等人[10]提出利用場(chǎng)景RGB-D圖像預(yù)測(cè)平行板機(jī)器人抓取未知物體的最佳抓取位姿,該模型使用深度卷積神經(jīng)網(wǎng)絡(luò)從場(chǎng)景中提取特征,然后使用淺層卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)目標(biāo)的抓取候選;Guo等人[11]提出了一種融合視覺(jué)和觸覺(jué)感知的融合深度體系結(jié)構(gòu),用于機(jī)器人抓取檢測(cè),該模型使用觸覺(jué)數(shù)據(jù)輔助網(wǎng)絡(luò)更好地完成學(xué)習(xí)機(jī)器人抓取檢測(cè)任務(wù)的視覺(jué)特征;Chu等人[12]提出一種兩階段的深度學(xué)習(xí)架構(gòu)來(lái)預(yù)測(cè)機(jī)器人的可抓取位置,將學(xué)習(xí)問(wèn)題定義為零假設(shè)競(jìng)爭(zhēng)分類問(wèn)題而不是回歸問(wèn)題進(jìn)行預(yù)測(cè)。上述提到的深度網(wǎng)絡(luò)從不同方面解決抓取中的定位問(wèn)題,但都使用單個(gè)高層特征圖進(jìn)行回歸,使用的特征較少,會(huì)降低檢測(cè)準(zhǔn)確率,基于此引入多尺度特征[13]來(lái)預(yù)測(cè)抓取候選,并將抓取網(wǎng)絡(luò)中的ROI Pooling替換為ROI Align來(lái)消除量化誤差。
抓取位姿[14]采用五維抓取矩形框表示,描述了平行板夾持器在抓取物體之前的位置、姿態(tài)和打開(kāi)距離。如圖1所示,紅線表示平行板夾持器,(x,y)表示夾持器的中心點(diǎn)坐標(biāo),θ表示夾持器相對(duì)于水平方向的角度,w表示夾持器的開(kāi)口距離,h為夾持器寬度。
圖1 五維抓取框表示Fig.1 Five-dimensional grasp box representation
為引入更豐富的特征表示,學(xué)習(xí)更多的結(jié)構(gòu)線索,本文采用ResNet-50作為主干網(wǎng)絡(luò),設(shè)計(jì)一個(gè)更深層次的網(wǎng)絡(luò)模型,以改進(jìn)機(jī)器人抓取檢測(cè)的特征提取。ResNet設(shè)計(jì)的殘差網(wǎng)絡(luò)解決了網(wǎng)絡(luò)加深所造成的梯度爆炸和梯度消失的問(wèn)題。殘差網(wǎng)絡(luò)[15]由跳躍連接和標(biāo)準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)組成,該設(shè)計(jì)允許網(wǎng)絡(luò)繞過(guò)輸入,并激勵(lì)卷積層作為殘差網(wǎng)絡(luò)的最終映射函數(shù),以此來(lái)預(yù)測(cè)殘差。
抓取網(wǎng)絡(luò)具體結(jié)構(gòu)如圖2所示,該網(wǎng)絡(luò)以RGD圖像作為輸入,并為圖像中的抓取對(duì)象預(yù)測(cè)具有方向和矩形邊框的多個(gè)抓取候選。其中藍(lán)色塊表示網(wǎng)絡(luò)層,灰色塊表示特征圖,抓取建議網(wǎng)絡(luò)(grasp proposal network,GPN)預(yù)測(cè)的輸出邊框中,黑線表示兩指夾持器的開(kāi)口長(zhǎng)度,紅線表示夾持器的平行板。
圖2 抓取網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Grasp network structure diagram
抓取檢測(cè)中,由于小目標(biāo)本身具有的像素信息較少,容易在下采樣過(guò)程中丟失特征,若直接利用單個(gè)高層特征進(jìn)行邊框回歸和角度分類,會(huì)降低檢測(cè)準(zhǔn)確率。為提升檢測(cè)效果,引入特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)進(jìn)行多尺度融合,處理檢測(cè)過(guò)程中的尺度變化問(wèn)題,提高小目標(biāo)檢測(cè)的魯棒性。
如圖3所示,左側(cè)為ResNet特征提取網(wǎng)絡(luò),選取該網(wǎng)絡(luò)的2~4卷積層的最后一個(gè)殘差塊特征作為FPN的特征,從高層特征上采樣實(shí)現(xiàn)特征融合,這樣既可以利用頂層的高語(yǔ)義信息,又可以利用底層的高分辨率信息。為了使所有級(jí)別的特征層通道數(shù)保持一致,先使用1×1卷積壓縮通道數(shù),再與2倍上采樣后的上層特征圖相加。
圖3 FPN結(jié)構(gòu)圖Fig.3 FPN structure chart
作為抓取網(wǎng)絡(luò)的重要組成部分,抓取建議網(wǎng)絡(luò)(GPN)主要在整個(gè)圖像中生成抓取建議。和區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN)類似,抓取建議網(wǎng)絡(luò)在特征圖上滑動(dòng)一個(gè)3×3的卷積核,使用卷積網(wǎng)絡(luò)構(gòu)建與類別無(wú)關(guān)的候選區(qū)域。由于每個(gè)真實(shí)框具有不同的角度,為降低其在生成抓取建議時(shí)的難度,將每個(gè)有方向的邊框重置為具有垂直高度和水平寬度的矩形,如圖4所示,底部為真實(shí)框,頂部為重置后的邊框。
圖4 抓取邊框Fig.4 Grasp frame
GPN對(duì)網(wǎng)絡(luò)預(yù)測(cè)的邊框進(jìn)行調(diào)整,利用變換參數(shù)得到和真實(shí)框更為接近的候選框,平移參數(shù)t x、t y和伸縮參數(shù)t w、t h具體表示如下:
式中,G、P、G*分別表示真實(shí)框、預(yù)測(cè)框和候選框,x、y表示邊框中心點(diǎn)坐標(biāo),w、h表示寬高。
用t i表示第i個(gè)抓取邊框的四維向量(x,y,w,h),p i表示對(duì)應(yīng)邊框的預(yù)測(cè)概率,對(duì)于所有抓取建議,定義其損失為:
其中,Lgp_cls為抓取建議分類的交叉熵?fù)p失,Lgp_reg為抓取建議的L1回歸損失,Ncls和Nreg是歸一化因子,λ1是兩者之間的權(quán)重。
在常見(jiàn)的檢測(cè)網(wǎng)絡(luò)中,ROI Pooling的作用是使生成的候選框映射為固定尺寸的特征圖。這一操作存在兩次將浮點(diǎn)數(shù)量化為整數(shù)的過(guò)程,分別發(fā)生在對(duì)ROI坐標(biāo)和對(duì)ROI劃分為等大子區(qū)域上的量化,導(dǎo)致最后的邊框定位存在一定的偏差。因此,本文采用RoI Align來(lái)進(jìn)行區(qū)域特征映射。ROI Align取消了量化操作,對(duì)于量化中產(chǎn)生的坐標(biāo)為浮點(diǎn)數(shù)的像素,采用了雙線性內(nèi)插的方法來(lái)獲取像素值,從而將感興趣區(qū)域歸一化的過(guò)程轉(zhuǎn)化為一個(gè)連續(xù)的操作,解決了ROI Pooling操作中兩次量化造成的區(qū)域不匹配的問(wèn)題。
如果將RGB-D輸入圖像回歸到一個(gè)單一的5維抓取表示g={x,y,w,h,θ},在預(yù)測(cè)非歐幾里德(非凸)空間中的坐標(biāo)時(shí)會(huì)導(dǎo)致其回歸和標(biāo)準(zhǔn)L2損失表現(xiàn)不佳?;诖耍瑢⒆ト”硎镜姆较蜃鴺?biāo)θ量化為18個(gè)等長(zhǎng)間隔,并將輸入/輸出映射為抓取方向的分類任務(wù)。并添加了一個(gè)非抓取收集定向類,用于使用零假設(shè)進(jìn)行顯式競(jìng)爭(zhēng)。如果所有方位分類器輸出的得分均低于非抓取類,則認(rèn)為抓取建議不正確并拒絕。
用ρl表示經(jīng)過(guò)Softmax層后得到l類的概率,βl表示對(duì)應(yīng)的預(yù)測(cè)抓取框,則抓取框損失函數(shù)定義為:
其中,Lgrc_cls是抓取建議分類的交叉熵?fù)p失,Lgrc_reg是抓取框的L1回歸損失,λ2是回歸損失的權(quán)重,β*是真實(shí)抓取框。整個(gè)網(wǎng)絡(luò)總的損失函數(shù)為:
為了有效處理抓取建議方案,將ROI Align層集成到網(wǎng)絡(luò)中,這樣可以避免在感興趣區(qū)域內(nèi)重新計(jì)算特征。ROI Align將抓取建議的所有特征疊加在一起,然后將這些特征反饋給兩個(gè)全連接層進(jìn)行邊界框回歸和方向參數(shù)分類。
本文使用康奈爾抓取數(shù)據(jù)集,該數(shù)據(jù)集是最常用的抓取檢測(cè)數(shù)據(jù)集,由224個(gè)不同對(duì)象共885張圖像組成,每個(gè)物體在不同方向或姿勢(shì)上拍攝了若干幅圖像。
為適應(yīng)ResNet-50網(wǎng)絡(luò)的輸入格式,用深度通道替換原圖中的藍(lán)色通道,深度圖由數(shù)據(jù)集中的點(diǎn)云數(shù)據(jù)進(jìn)行歐式距離變換并進(jìn)行深度圖修補(bǔ)得到。由于RGB數(shù)據(jù)在0~255之間,深度信息被歸一化到相同的范圍。同時(shí),在訓(xùn)練之前對(duì)數(shù)據(jù)進(jìn)行擴(kuò)充。首先,對(duì)圖像進(jìn)行中央裁剪,得到一個(gè)351×351的區(qū)域,然后將裁剪后的圖像在0到360°之間隨機(jī)旋轉(zhuǎn),中間裁剪為321×321。旋轉(zhuǎn)后的圖像在x和y方向上隨機(jī)平移最多50個(gè)像素。預(yù)處理為每張圖像生成1 000個(gè)增強(qiáng)數(shù)據(jù)。最后,將圖像大小調(diào)整為227×227,送入網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行端到端的訓(xùn)練,計(jì)算機(jī)采用Precision T7610工作站,E5-2600 V2處理器,32 GB內(nèi)存,單nVidia Titan-XP卡。操作系統(tǒng)為Ubuntu16,在Tensorflow-GPU1.14、cuda-9.0、cudnn7.1下進(jìn)行訓(xùn)練,epochs和初始學(xué)習(xí)率分別設(shè)置為5和0.000 1,每10 000次迭代將學(xué)習(xí)率除以10。
抓取參數(shù)[9-12]的精度根據(jù)預(yù)測(cè)框和真實(shí)框的接近度進(jìn)行評(píng)估,具體指標(biāo)如下:
(1)預(yù)測(cè)抓取框gp和真實(shí)框gt的夾角在30°以內(nèi);
(2)預(yù)測(cè)抓取框和真實(shí)抓取框的Jaccard指數(shù)大于0.25。
Jaccard指數(shù)如式(5)所示:
為驗(yàn)證網(wǎng)絡(luò)中各模塊的表現(xiàn)力,設(shè)計(jì)三組不同網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練,并對(duì)訓(xùn)練好的網(wǎng)絡(luò)模型進(jìn)行測(cè)試,選擇所有抓取候選輸出中預(yù)測(cè)得分最高的邊框作為最終輸出。對(duì)實(shí)驗(yàn)結(jié)果的計(jì)算使用五折交叉驗(yàn)證集,將數(shù)據(jù)集劃分為5份,選取1份作為測(cè)試集,剩下4份用來(lái)訓(xùn)練。分別逐圖像和物體兩種方法進(jìn)行拆分。逐圖像拆分即把所有數(shù)據(jù)隨機(jī)劃分,可以驗(yàn)證模型的泛化能力;逐物體拆分即把所有圖像中相同的物體分到相同的交叉驗(yàn)證集中,可以測(cè)試網(wǎng)絡(luò)對(duì)新物體的泛化能力。測(cè)試結(jié)果如表1所示。
表1 不同網(wǎng)絡(luò)模型抓取檢測(cè)結(jié)果Table 1 Grasp detection results of different network models
由表1可以看出,在網(wǎng)絡(luò)結(jié)構(gòu)中增加FPN結(jié)構(gòu),兩種測(cè)試精度分別提升0.5個(gè)百分點(diǎn)和0.6個(gè)百分點(diǎn),將原結(jié)構(gòu)中的ROI Pooling替換為ROI Align,檢測(cè)精度分別提升0.4個(gè)百分點(diǎn)和0.5個(gè)百分點(diǎn),說(shuō)明FPN和ROI Align可以提高網(wǎng)絡(luò)的檢測(cè)精度。
真實(shí)場(chǎng)景下,可行的抓取操作一般與物體自身的形狀和放置角度有關(guān),僅給出一個(gè)抓取候選框可能完成不了抓取操作。因此,網(wǎng)絡(luò)輸出多個(gè)高置信度的候選抓取,以供后續(xù)計(jì)劃選擇。圖5為網(wǎng)絡(luò)輸出的檢測(cè)結(jié)果,其中圖(a)為不同測(cè)試對(duì)象輸出多個(gè)候選抓取框的檢測(cè)結(jié)果,圖(b)為輸出最高置信度候選框的檢測(cè)結(jié)果,圖(c)為同一個(gè)抓取對(duì)象不同角度放置的檢測(cè)結(jié)果。
圖5 抓取網(wǎng)絡(luò)檢測(cè)結(jié)果Fig.5 Grasp network detection results
表2為康奈爾RGB-D抓取數(shù)據(jù)集的矩形抓取檢測(cè)精度與之前工作的比較結(jié)果,所有實(shí)驗(yàn)均在相同數(shù)據(jù)集和相同評(píng)價(jià)指標(biāo)下完成,可以看到本文算法在以RGD圖像作為輸入時(shí),預(yù)測(cè)精度均高于其他算法。逐圖像拆分時(shí)檢測(cè)精度為96.9%,逐對(duì)象拆分時(shí),對(duì)新目標(biāo)的檢測(cè)精度達(dá)到了97.2%。此外,在沒(méi)有深度信息的RGB圖像上進(jìn)行實(shí)驗(yàn),圖像和對(duì)象拆分的檢測(cè)結(jié)果都低于RGD圖像,說(shuō)明了深度圖像在檢測(cè)中的有效性。
表2 不同算法抓取檢測(cè)結(jié)果Table 2 Grasp detection results of different algorithms
比較表2的指標(biāo)參數(shù)發(fā)現(xiàn),本文算法為達(dá)到較高的抓取檢測(cè)精度,采用的抓取網(wǎng)絡(luò)結(jié)構(gòu)相對(duì)復(fù)雜,計(jì)算速率比表中Kumra等人所提出單結(jié)構(gòu)網(wǎng)絡(luò)有所下降。但本文算法檢測(cè)一幅圖像耗時(shí)約0.098 s,可滿足在真實(shí)場(chǎng)景下進(jìn)行實(shí)時(shí)檢測(cè)和抓取操作的應(yīng)用要求。
表3為檢測(cè)模型中不同Jaccard指數(shù)下的結(jié)果。隨著Jaccard指數(shù)的升高,抓取檢測(cè)的精度會(huì)逐漸下降,但即使在0.40 IOU的情況下,檢測(cè)精度仍具有競(jìng)爭(zhēng)力。
表3 不同Jaccard指數(shù)下檢測(cè)準(zhǔn)確率Table 3 Detection accuracy under different Jaccard indexes
為評(píng)估真實(shí)場(chǎng)景下視覺(jué)檢測(cè)和隨后執(zhí)行的抓取運(yùn)動(dòng)的性能,搭建了實(shí)物實(shí)驗(yàn)抓取系統(tǒng),如圖6所示。該系統(tǒng)主要由UR5機(jī)械臂、工作臺(tái)和Inter Realsense D415深度相機(jī)三部分組成,其中深度相機(jī)被固定在剛性支架上,與機(jī)械臂形成Eye-to-Hand手眼結(jié)構(gòu),并進(jìn)行手眼標(biāo)定,完成相機(jī)坐標(biāo)系和機(jī)械臂末端坐標(biāo)系的轉(zhuǎn)換工作。
為了較全面地評(píng)估系統(tǒng)性能,實(shí)際抓取操作抽樣得到以下12種實(shí)驗(yàn)對(duì)象。如圖7所示,將實(shí)驗(yàn)對(duì)象分為手動(dòng)工具和生活用品兩組,每組6種實(shí)驗(yàn)對(duì)象,手動(dòng)工具組有鉗子、活動(dòng)扳手、扳手、卷尺和大小螺絲刀,生活用品有美工刀、紙盒、紙杯、鼠標(biāo)、網(wǎng)球和瓶子。
圖8為目標(biāo)抓取流程圖。首先深度相機(jī)獲取工作臺(tái)上物體的彩色信息和深度信息,將深度信息進(jìn)行深度圖修復(fù)后和彩色圖融合得到目標(biāo)對(duì)象的RGD圖;然后將圖像以中心點(diǎn)為中點(diǎn)裁剪為227×227的圖像輸入網(wǎng)絡(luò)模型進(jìn)行抓取框預(yù)測(cè),得到多個(gè)預(yù)測(cè)框;最后通過(guò)手眼轉(zhuǎn)換矩陣將相機(jī)坐標(biāo)系下的預(yù)測(cè)框信息轉(zhuǎn)換到機(jī)械臂末端工具坐標(biāo)系執(zhí)行抓取。
實(shí)物實(shí)驗(yàn)時(shí),將每個(gè)物體按不同角度不同方向放置在工作臺(tái)上進(jìn)行視覺(jué)檢測(cè)和實(shí)物抓取,每個(gè)物體進(jìn)行50次實(shí)驗(yàn),視覺(jué)檢測(cè)以物體是否被預(yù)測(cè)出抓取框?yàn)闄z測(cè)標(biāo)準(zhǔn),抓取檢測(cè)以實(shí)際抓取成功與否作為評(píng)價(jià)指標(biāo)。圖9為不同物體的檢測(cè)結(jié)果,其中圖(a)展示了抓取對(duì)象中較為典型的幾個(gè)物體的檢測(cè)結(jié)果,這幾個(gè)對(duì)象具有厚度小、形狀小、不規(guī)則的特征;圖(b)展示了同一對(duì)象在不同方向下的檢測(cè)結(jié)果。
圖9 實(shí)物檢測(cè)結(jié)果Fig.9 Physical test results
為了從多個(gè)候選框中選取具有代表性的抓取框進(jìn)行一次性實(shí)物抓取,對(duì)一次視覺(jué)檢測(cè)中所有抓取框分別做置信度排序和距離中心點(diǎn)距離排序,選擇最高置信度和最靠近中心點(diǎn)的兩個(gè)框分別做抓取檢測(cè),檢測(cè)結(jié)果如表4所示。
表4 實(shí)物抓取結(jié)果Table 4 Object grasp results %
從表中可以看出,實(shí)物抓取實(shí)驗(yàn)中物體平均檢測(cè)精度為95.8%,最高置信度和靠近中心點(diǎn)的平均抓取精度分別為88.3%和90.2%,且中心點(diǎn)抓取比最高置信度抓取平均精度高1.9個(gè)百分點(diǎn),除鉗子外的其他物體中心點(diǎn)抓取精度均高于最高置信度抓取。這是因?yàn)殂Q子的手柄開(kāi)合度會(huì)隨機(jī)變化,對(duì)抓取位姿的估計(jì)帶來(lái)了較大的干擾。
為進(jìn)一步分析表4中不同目標(biāo)檢測(cè)成功率、抓取成功率與目標(biāo)特性之間的關(guān)系,繪制了圖10所示的物體檢測(cè)-抓取成功率折線圖。從圖中可以清晰看到:(1)目標(biāo)檢測(cè)精度方面,紙盒、紙杯、鼠標(biāo)、瓶子這幾種物體的檢測(cè)精度明顯優(yōu)于螺絲刀和扳手,原因是同樣距離成像時(shí),前者外形尺寸大,圖像中有效像素占比高(扳手和螺絲刀因金屬鏡面反光,導(dǎo)致有效像素降低);(2)在抓取精度上,紙盒、紙杯、鼠標(biāo)、瓶子、卷尺這幾種物體的抓取精度明顯優(yōu)于扳手、美工刀、鉗子,前者相比后者,物體形態(tài)固定,且由于目標(biāo)物體外形對(duì)稱性較強(qiáng),外觀較為規(guī)則,擺放姿態(tài)有限,抓取成功率高。
圖10 物體檢測(cè)-抓取成功率折線圖Fig.10 Line graph of object detection-grasp success rate
本文針對(duì)機(jī)器人抓取成功率優(yōu)化問(wèn)題,提出一種融合多尺度特征的抓取位姿估計(jì)方法,以改善抓取目標(biāo)多樣性、位姿隨機(jī)性對(duì)機(jī)器人抓取任務(wù)適應(yīng)性的不利影響。實(shí)驗(yàn)結(jié)果表明,與當(dāng)前主流算法相比,本文所提算法目標(biāo)檢測(cè)準(zhǔn)確率有明顯提升,在基于康奈爾抓取數(shù)據(jù)集開(kāi)展的抓取位姿估計(jì)實(shí)驗(yàn)中,仿真抓取位姿估計(jì)準(zhǔn)確度達(dá)到了96.9%;實(shí)物抓取實(shí)驗(yàn)中抓取目標(biāo)檢測(cè)成功率達(dá)95.8%,機(jī)器人抓取成功率為90.2%,抓取成功率得到明顯改善。在接下來(lái)的工作中,將圍繞如何提高檢測(cè)準(zhǔn)確率和抓取成功率繼續(xù)展開(kāi)具體研究。