周自維, 王 碩, 李長(zhǎng)軍, 徐 亮, 王朝陽
(遼寧科技大學(xué) 電子信息與工程學(xué)院,遼寧 鞍山 114051)
機(jī)器人抓取問題是目前機(jī)器人與計(jì)算機(jī)視覺結(jié)合的熱門話題,其核心思想就是機(jī)器人在動(dòng)態(tài)環(huán)境下利用相機(jī)的識(shí)別檢測(cè),準(zhǔn)確穩(wěn)定并快速完成抓取任務(wù)。而機(jī)器人在抓取物體時(shí)需要考慮很多因素,例如如何利用圖像的特征信息檢測(cè)物體的抓取位姿,對(duì)抓取位置定位等。近年來關(guān)于機(jī)器人抓取技術(shù)的不斷研究,在2011年,Jiang Y等人提出了一種用矩形框表示物體抓取位置的方法。在2014年,Lenz I等人首次提出用人工神經(jīng)網(wǎng)絡(luò)多層感知器級(jí)聯(lián)的方法來完成機(jī)器人抓取的任務(wù)。2015年,Mahler J等人利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)完成了機(jī)器人的抓取任務(wù)。目前,通過卷積神經(jīng)網(wǎng)絡(luò)[4~6]來解決機(jī)器人抓取問題的方法已經(jīng)被研究者廣泛采用。對(duì)于最近幾年的抓取檢測(cè)發(fā)展來說,Chu F J等人提出了一種利用深度網(wǎng)絡(luò)結(jié)構(gòu)來解決多目標(biāo)抓取問題。Asif U等人又提出了一種層次級(jí)聯(lián)森林的方法,用來從RGB-D點(diǎn)云中推斷類別和抓取位置。Guo D等人提出了使用結(jié)合觸覺和視覺的多模態(tài)混合深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來獲取抓取框的檢測(cè)。到2019年,NVIDIA公司Mousavian A等人基于三維點(diǎn)云提取特征,來計(jì)算抓取三維位置,并解決了六自由度的抓取姿勢(shì)問題,該項(xiàng)研究是迄今為止比較先進(jìn)的研究,不過該項(xiàng)研究的方法要有龐大的運(yùn)算能力來支持。上述神經(jīng)網(wǎng)絡(luò)模型的設(shè)計(jì)越來越復(fù)雜,網(wǎng)絡(luò)參數(shù)越來越多,計(jì)算量越來越大,這使得運(yùn)行神經(jīng)網(wǎng)絡(luò)所需要的運(yùn)算能力要求越來越高,運(yùn)行時(shí)間過長(zhǎng)。
本文設(shè)計(jì)一種精簡(jiǎn)、新穎的基于通道注意力結(jié)構(gòu)SENet和輕量級(jí)卷積模塊Inception-Lite融合的網(wǎng)絡(luò)結(jié)構(gòu)。以輕量級(jí)卷積模塊Inception-Lite作為基本結(jié)構(gòu),在特征提取階段利用通道注意力機(jī)制SENet網(wǎng)絡(luò)來達(dá)到提升重要通道的權(quán)重,減少冗余信息,提高網(wǎng)絡(luò)的檢測(cè)精度。本文網(wǎng)絡(luò)設(shè)計(jì)了多模態(tài)抓取檢測(cè)網(wǎng)絡(luò),并在康奈爾數(shù)據(jù)集上驗(yàn)證。此外網(wǎng)絡(luò)參數(shù)個(gè)數(shù)僅為3,528,772,相比于其他網(wǎng)絡(luò)更加簡(jiǎn)單。設(shè)計(jì)的抓取網(wǎng)絡(luò)不但預(yù)測(cè)指標(biāo)高,而且網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,對(duì)機(jī)器人抓取的推廣起到積極作用。
本文主要解決機(jī)器人視覺中的目標(biāo)抓取問題,對(duì)種類不同,尺寸不同的物體進(jìn)行檢測(cè),完成抓取任務(wù)。機(jī)器人抓取物體的策略有多種,主要分為頂抓策略和側(cè)抓策略,本文采取頂抓策略,即垂直于平面的方法進(jìn)行抓取如圖1(a)所示。
圖1 抓取框表示法
在抓取檢測(cè)時(shí)要對(duì)抓取位置進(jìn)行合理的表示,主要來表示物體在圖像上的抓取位置和姿態(tài)。對(duì)于不同類型的機(jī)械抓手,抓取的表示方法也會(huì)有所不同,目前常用的抓手主要為平行兩指抓手,針對(duì)這種抓手本文借鑒Morrison等人提出的抓取框方法,如圖1(b)所示,將預(yù)測(cè)抓取姿態(tài)表示為在像素坐標(biāo)系下的向量
G=(s,θ,w,q)
(1)
式中s=(u,v)為像素坐標(biāo)下抓取位置的坐標(biāo);θ為矩形框與像素坐標(biāo)系u軸夾角;w為抓取框?qū)挾龋醋トr(shí)抓手的張開寬度在圖像上的投影;q為抓取質(zhì)量參數(shù),即圖像中每個(gè)像素點(diǎn)抓取的質(zhì)量參數(shù)。
像素坐標(biāo)系下的抓取向量需要轉(zhuǎn)換到機(jī)器人空間坐標(biāo)系下,完成抓取任務(wù)。本文利用手眼標(biāo)定方法可以將相機(jī)的像素坐標(biāo)轉(zhuǎn)換到機(jī)器人空間坐標(biāo)
G′=Trc(Tci(G))
(2)
式中Tci為深度相機(jī)的內(nèi)參矩陣,Trc為利用手眼標(biāo)定將相機(jī)空間轉(zhuǎn)換為機(jī)器人空間的轉(zhuǎn)換矩陣。此時(shí)抓取姿態(tài)就可表示為在機(jī)器人坐標(biāo)系下的四維向量
G′=(p,θ′,w′,q)
(3)
式中p=(x,y,z)為機(jī)器人坐標(biāo)系下的抓取位置坐標(biāo);θ′為抓手在機(jī)器人坐標(biāo)系繞z軸旋轉(zhuǎn)角度,θ′∈[-]π/2,π/2];w′為抓手張開寬度;q為抓取質(zhì)量參數(shù)。
隨著深度學(xué)習(xí)的研究,卷積神經(jīng)網(wǎng)絡(luò)不斷向縱深化發(fā)展。VGGNet等網(wǎng)絡(luò)證明當(dāng)網(wǎng)絡(luò)的層數(shù)越多,那么網(wǎng)絡(luò)的特征提取效果就會(huì)越好,網(wǎng)絡(luò)的表達(dá)能力就會(huì)越強(qiáng)。但網(wǎng)絡(luò)的不斷加深不僅增加了網(wǎng)絡(luò)整體的運(yùn)算量,增加運(yùn)行時(shí)間而且大量需要學(xué)習(xí)的參數(shù)會(huì)使得網(wǎng)絡(luò)的預(yù)測(cè)產(chǎn)生過擬合的現(xiàn)象。
為了在加深網(wǎng)絡(luò)的同時(shí)避免出現(xiàn)上述該問題,本文選用Inception結(jié)構(gòu)和SEnet網(wǎng)絡(luò),提出了一種基于Inception-Lite結(jié)構(gòu)和SEnet網(wǎng)絡(luò)的輕量級(jí)卷積網(wǎng)絡(luò)模塊SE-Inception-Lite如圖2所示。該模塊具有計(jì)算量小的優(yōu)點(diǎn),但可以通過不斷堆疊形成規(guī)模更大的卷積神經(jīng)網(wǎng)絡(luò)。
圖2 SE-Inception-Lite
Inception結(jié)構(gòu)是將卷積從密集連接結(jié)構(gòu)轉(zhuǎn)為稀疏連接結(jié)構(gòu),就是將原先大通道卷積層替換為由多個(gè)小通道卷積組成的多分支結(jié)構(gòu),在保證網(wǎng)絡(luò)表達(dá)能力的情況下,降低網(wǎng)絡(luò)的計(jì)算量。本文提出的Inception-Lite結(jié)構(gòu)主要使用3×3和1×1的卷積核進(jìn)行特征提取,使網(wǎng)絡(luò)可以自由選擇更好的特征,3×3池化可以去掉上一層卷積下來的冗余信息。同時(shí)采用1×1卷積對(duì)通道數(shù)目先進(jìn)行降維,然后在進(jìn)行特征提取,減少參數(shù)計(jì)算,在池化后再次使用1×1卷積將通道復(fù)原。并在每個(gè)卷積層后增加一個(gè)ReLU激活函數(shù),增加網(wǎng)絡(luò)的非線性特性。其中在Inception-Lite模塊的卷積層和非線性激活函數(shù)之間加入批量歸一化層,做歸一化處理,這樣可以加快整個(gè)網(wǎng)絡(luò)的訓(xùn)練速度和收斂速度,還可以防止過擬合。
SENet網(wǎng)絡(luò)是一種常用的注意力機(jī)制下的深度學(xué)習(xí)方法,通過一個(gè)子網(wǎng)絡(luò),學(xué)習(xí)得到一組權(quán)重,然后對(duì)特征圖的各個(gè)通道進(jìn)行加權(quán)。即通過子網(wǎng)絡(luò)獲得特征圖各個(gè)特征通道的信息重要程度,通過這種方法來增強(qiáng)有用信息的特征通道,并抑制對(duì)信息冗余的特征通道。此模塊主要采用擠壓、激勵(lì)以及特征重標(biāo)定3個(gè)操作實(shí)現(xiàn)各個(gè)特征通道的加權(quán)調(diào)整。首先使用擠壓操作將特征圖進(jìn)行壓縮,利用式(4)將C個(gè)特征圖轉(zhuǎn)換1×1×C的實(shí)數(shù)數(shù)列,這組實(shí)數(shù)數(shù)列具有全局感受野,象征著在特征通道上響應(yīng)的全局分布。即
激勵(lì)操作如式(5)所示
s=Fcx(z,W)=σ(g(z,W))=σ(W2δ(W1,z))
(5)
利用兩個(gè)卷積層實(shí)現(xiàn)特征圖的降維與升維,第一個(gè)卷積層將特征維度降低到原來的C/r后,在利用Relu激活函數(shù)增加非線性;第二個(gè)卷積層用來恢復(fù)原來的特征維度,再經(jīng)過Sigmoid函數(shù)得到歸一化的權(quán)重,最后通過式(6)按照乘法逐個(gè)通道加權(quán)到原來的特征通道上,完成對(duì)原始特征進(jìn)行重標(biāo)定。式(6)如下
(6)
為了提高準(zhǔn)確率,在實(shí)驗(yàn)中不斷對(duì)SE-Inception-Lite模塊進(jìn)行堆疊。當(dāng)網(wǎng)絡(luò)堆疊到一定程度時(shí),網(wǎng)絡(luò)就變得很難訓(xùn)練。而且網(wǎng)絡(luò)在開始收斂時(shí)還出現(xiàn)了退化,導(dǎo)致準(zhǔn)確率很快達(dá)到飽和,但檢測(cè)錯(cuò)誤率卻非常高。為此,本文對(duì)SE-Inception-Lite卷積模塊進(jìn)行增加殘差機(jī)制實(shí)現(xiàn)改進(jìn)。即在網(wǎng)絡(luò)層數(shù)加深的過程中,發(fā)生網(wǎng)絡(luò)性能退化時(shí),在網(wǎng)絡(luò)中添加跳層連接,即增加一個(gè)傳遞通道,用來傳遞淺層網(wǎng)絡(luò)的特征。這種方式在沒有增加網(wǎng)絡(luò)參數(shù)的情況下提高了網(wǎng)絡(luò)性能。本文在SE-Inception-Lite模塊中增加了殘差機(jī)制設(shè)計(jì)了SE-Inception-Lite-ResNet模塊如圖3所示。
圖3 SE-Inception-Lite-ResNet
本文設(shè)計(jì)了一個(gè)抓取網(wǎng)絡(luò)SE-InceptionGraspNet。該網(wǎng)絡(luò)模型將一幅含有目標(biāo)的圖像作為輸入,經(jīng)過網(wǎng)絡(luò)的計(jì)算后,輸出針對(duì)于該目標(biāo)的一個(gè)抓取框和相關(guān)信息。
常見的抓取網(wǎng)絡(luò)一般需要有兩個(gè)階段,第一個(gè)階段需要對(duì)所有可能的抓取區(qū)域進(jìn)行判斷,第二階段對(duì)所有可能的抓取區(qū)域選擇一個(gè)得分最高的作為最后結(jié)果。這兩級(jí)結(jié)構(gòu)一般需要設(shè)計(jì)兩種神經(jīng)網(wǎng)絡(luò)。與一般抓取網(wǎng)絡(luò)不同的是,SE-InceptionGraspNet是一個(gè)端到端的單階段抓取網(wǎng)絡(luò),網(wǎng)絡(luò)執(zhí)行一次即可得到結(jié)果,本文設(shè)計(jì)的抓取網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 SE-Inception GraspNet
圖4網(wǎng)絡(luò)的輸入可以是RGB彩色圖像,也可以將從深度立體相機(jī)中得到的深度圖進(jìn)行歸一化處理,處理后會(huì)得指定范圍為0~255的深度信息,把該深度信息作為一個(gè)通道合并到抓取網(wǎng)絡(luò)的原始輸入,使得合并后的輸入包含4個(gè)通道信息,即將顏色信息和深度信息融合作為輸入,本文采用RGB-D輸入。
具體來說,網(wǎng)絡(luò)由卷積層、SE-Inception-Lite-ResNet模塊、轉(zhuǎn)置卷積層所組成。首先經(jīng)過卷積層,其中卷積層中包含3個(gè)卷積層,3個(gè)卷積層核大小分別為9×9,4×4,4×4;再經(jīng)過五個(gè)自主設(shè)計(jì)的SE-Inception-Lite-ResNet模塊;為了使卷積運(yùn)算更易于解釋和保留圖像的空間特征,使用對(duì)應(yīng)的轉(zhuǎn)置卷積運(yùn)算對(duì)圖像進(jìn)行上采樣。為了提高網(wǎng)絡(luò)的性能,還引入批量歸一化對(duì)整體網(wǎng)絡(luò)模型進(jìn)行融合。在整個(gè)網(wǎng)絡(luò)計(jì)算結(jié)束后,得到最終預(yù)測(cè)的輸出以生成抓取圖像,還包括一些輸出信息包括抓取質(zhì)量分?jǐn)?shù),抓手張開的寬度,以及cos2θ和sin2θ形式的所需繞z軸角度。
目前在抓取工作上可以使用的公開數(shù)據(jù)集非常有限,為了便于比較實(shí)驗(yàn)結(jié)果,本實(shí)驗(yàn)選取了康奈爾抓取數(shù)據(jù)集,圖5為數(shù)據(jù)集部分圖像。數(shù)據(jù)集提供了240個(gè)不同的抓取目標(biāo)的圖像數(shù)據(jù),共有885幅圖像,是專門為平行抓手來設(shè)計(jì)的,每個(gè)圖像都標(biāo)記有抓取矩形框,包含了5 110個(gè)可用于抓取物體的矩形框和2 909個(gè)不可用于抓取的矩形框。
在開始網(wǎng)絡(luò)訓(xùn)練之前,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。首先是對(duì)數(shù)據(jù)進(jìn)行增強(qiáng)處理,由于Cornell數(shù)據(jù)集比較小,所以需要對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充。先在圖像的中心選取360×360大小的像素尺寸進(jìn)行裁剪,然后將其進(jìn)行隨機(jī)角度旋轉(zhuǎn),在x軸和y軸方向上隨機(jī)最多平移40個(gè)像素,然后將其進(jìn)行裁剪獲得300×300的圖像。經(jīng)過樣本增強(qiáng)處理后,每張?jiān)紙D像都會(huì)生成2 500個(gè)訓(xùn)練樣本。其次對(duì)數(shù)據(jù)集順序的處理,采用隨機(jī)分割的方式,將Cornell數(shù)據(jù)集的訓(xùn)練和驗(yàn)證數(shù)據(jù)集打亂,從中隨機(jī)分配訓(xùn)練和驗(yàn)證數(shù)據(jù)集。
實(shí)驗(yàn)使用的顯卡型號(hào)為NVIDIATitanXGPU服務(wù)器,使用的操作系統(tǒng)為Ubuntu16.04,深度學(xué)習(xí)框架采用PyTorch。網(wǎng)絡(luò)訓(xùn)練中,針對(duì)本文設(shè)計(jì)的網(wǎng)絡(luò)模型,設(shè)置了500次迭代。本文采用小批量梯度下降SGD,設(shè)置每次讀取圖像批量大小為8,采用SmoothL1函數(shù)作為損失函數(shù),并使用學(xué)習(xí)率為10-3的Adam優(yōu)化算法來對(duì)模型進(jìn)行訓(xùn)練,同時(shí)在模型中適當(dāng)?shù)奶砑觼G棄層(dropoutlayer)來避免模型出現(xiàn)過擬合的現(xiàn)象。為了在相同的標(biāo)準(zhǔn)下對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行比較,采用了Jiang等人,當(dāng)抓取滿足如下條件被證明是有效的。
1)預(yù)測(cè)抓取矩形和真實(shí)抓取矩形之間的Jaccard指數(shù)即交并比(IOU)大于25%。2)抓取矩形的抓取方向和真實(shí)抓取矩形之間的方向角度偏移小于30°。Jaccard指數(shù)的具體計(jì)算公式為
式中 A為預(yù)測(cè)抓取框面積,B為標(biāo)定的抓取框面積。A∩B為兩個(gè)抓取框面積的交集,A∪B為兩個(gè)抓取框面積的并集。
本文網(wǎng)絡(luò)在Cornell數(shù)據(jù)集與其他網(wǎng)絡(luò)比較,并以不同方式劃分?jǐn)?shù)據(jù)集將數(shù)據(jù)拆分成兩部分。一部分是基于圖像分割的隨機(jī)分割,另一部分是基于對(duì)象分割的隨機(jī)分割。模型在圖像分割檢測(cè)和對(duì)象分割檢測(cè)的準(zhǔn)確率分別達(dá)到了96.5%和96.3%,比取得的最優(yōu)檢測(cè)分別高了0.5%和0.2%,本文網(wǎng)絡(luò)對(duì)每張圖像的處理時(shí)間平均需要22ms,與其他網(wǎng)絡(luò)相比也有較大優(yōu)勢(shì)。通過與其他網(wǎng)絡(luò)對(duì)比發(fā)現(xiàn),本文網(wǎng)絡(luò)的性能更好結(jié)果如表1所示,檢測(cè)結(jié)果如圖5所示。
表1 在康奈爾數(shù)據(jù)集上的結(jié)果
圖5 抓取框檢測(cè)的實(shí)驗(yàn)結(jié)果
為了驗(yàn)證本文設(shè)計(jì)的機(jī)器人抓取檢測(cè)算法的實(shí)際效果,選用六自由度的庫卡機(jī)器人作為執(zhí)行器進(jìn)和英特爾RealSense D435深度相機(jī)作為采集裝備進(jìn)行實(shí)驗(yàn)。
利用深度相機(jī)獲取物體的彩色圖像和深度圖像,然后通過抓取網(wǎng)絡(luò)得到輸出信息,并通過式(2)轉(zhuǎn)換為物體抓取點(diǎn)的空間坐標(biāo),抓手張開寬度以及繞z軸角度。實(shí)驗(yàn)具體流程:1)初始化機(jī)器人并保持抓手處于張開狀態(tài)。2)根據(jù)檢測(cè)結(jié)果,機(jī)器人運(yùn)動(dòng)到目標(biāo)位置,抓手繞z軸順旋轉(zhuǎn)所需角度。3)閉合抓手,將物體放置到指定位置,并返回初始狀態(tài)。4)繼續(xù)抓取,返回第一步。分別模擬雷管和模擬套筒進(jìn)行抓取實(shí)驗(yàn),各分別抓取35次抓取過程如圖6所示,圖像從左到右分別為抓取框檢測(cè),抓取姿態(tài)檢測(cè)、抓取執(zhí)行、抓取拾起過程。
圖6 實(shí)際抓取過程
實(shí)驗(yàn)結(jié)果表明:機(jī)器人抓取模擬雷管、模擬套筒成功率分別為100 %和88.5 %,抓取未知物體平均成功率為94.2 %。在模擬套筒出現(xiàn)4次失敗,是因?yàn)槟M套筒的可抓取范圍比較小,抓取檢測(cè)網(wǎng)絡(luò)未能很好檢測(cè)到抓取框和機(jī)器人未能非常準(zhǔn)確的到達(dá)抓取位置,這表明本文抓取檢測(cè)算法還有提升空間。
為提高機(jī)器人的抓取檢測(cè)算法的檢測(cè)性能,本文設(shè)計(jì)了一種新穎的卷積模塊SE-Inception-Lite模塊。并采用多模態(tài)抓RGB-D輸入,然后對(duì)抓取檢測(cè)算法SE-Inception GraspNet在康奈爾公開數(shù)據(jù)集上進(jìn)行驗(yàn)證。實(shí)驗(yàn)結(jié)果表明:本文算法在圖像分割數(shù)據(jù)和對(duì)象分割數(shù)據(jù)中的準(zhǔn)確率分別為96.5 %和96.3 %,抓取檢測(cè)精度比同類算法更高。本文模型使抓取檢測(cè)效果得到了提升,并且有效降低了硬件需求,實(shí)驗(yàn)結(jié)果對(duì)抓取檢測(cè)理論和實(shí)際應(yīng)用推廣起重要作用。