摘要: 在工業(yè)生產(chǎn)中,待抓取物體往往具有種類眾多、擺放位置雜亂、形狀不規(guī)則等特點,使得難以準確獲取物體抓取位姿。針對以上問題,提出一種基于深度學習的兩階段抓取位姿估計方法。第1階段,提出一種基于YOLOv4(you only look once version4)改進的輕量級旋轉(zhuǎn)目標檢測算法,提高目標的檢測速度和檢測精度。首先,使用輕量化網(wǎng)絡(luò)GhostNet和深度可分離卷積對原始網(wǎng)絡(luò)進行重構(gòu),降低整個模型參數(shù)。然后,在頸部網(wǎng)絡(luò)中增加自適應(yīng)空間特征融合結(jié)構(gòu)和無參注意力模塊,提高對感興趣區(qū)域的定位精度;最后,使用近似傾斜交并比(skew intersection over union, SkewIoU)損失解決角度的周期性問題。第2階段,制作與原始圖片尺寸一樣的掩膜提取感興趣區(qū)域;同時,提出一種改進的DeepLabV3+算法,用以檢測感興趣區(qū)域中物體的抓取位姿。實驗結(jié)果表明,改進后的YOLOv4網(wǎng)絡(luò)檢測精度達到92.5%,改進的DeepLabV3+算法在Cornell抓取數(shù)據(jù)集上的圖像拆分和對象拆分精度分別達到94.6%,92.4%,且能準確檢測出物體的抓取位姿。
關(guān)鍵詞: 深度學習; 掩膜; 感興趣區(qū)域; 輕量化網(wǎng)絡(luò); 位姿檢測
中圖分類號: TP 242
文獻標志碼: A
DOI:10.12305/j.issn.1001-506X.2024.06.05
Object grasp pose detection based on the region of interest
SUN Xiantao1, JIANG Wangyang1, CHEN Wenjie1,*, CHEN Weihai2, ZHI Yali1
(1. School of Electrical Engineering and Automation, Anhui University, Hefei 230601, China; 2. School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191, China)
Abstract: In industrial production, the objects to be grasped often have the characteristics of varions types, messy placements, irregular shapes, etc., which make it difficult to accurately obtain the grasping pose of the object. In view of the above problems, this paper proposes a two-stage grasp pose estimation method based on deep learning. In the first stage, a lightweight rotating target detection algorithm based on improved you only look once version4 (YOLOv4) is proposed to enhance the detection speed and improve detection accuracy of targets. Firstly, the lightweight network GhostNet and deep separable convolution are used to reconstruct the original network to reduce the parameters of the entire model. Then, the adaptive spatial feature fusion structure and the non-reference attention module are added to the neck network to improve the positioning accuracy of the region of interest. Finally, the approximate skew intersection over union (SkewIoU) loss is used to solve the periodic problem of the angle. In the second stage, a mask extraction region of interest is made with the same size as the original picture. At the same time, an improved DeepLabV3+algorithm is proposed to detect the grasping pose of objects in the area of interest. Experimental results show that the detection accuracy of the improved YOLOv4 network reaches 92.5%, and the improved DeepLabV3+algorithm achieves 94.6% and 92.4% of the image splitting and object splitting accuracy on the Cornell capture dataset, respectively, and can accurately detect the grasping pose of objects.
Keywords: deep learning; mask; region of interest; lightweight network; pose detection
0 引 言
近些年來,隨著人工成本的節(jié)節(jié)攀升,人工智能技術(shù)被廣泛應(yīng)用在工業(yè)生產(chǎn)的分類、包裝等環(huán)節(jié)中。其中,基于機器視覺的伺服抓取控制系統(tǒng)一直是研究的熱點領(lǐng)域[1-2]。機械臂與計算機視覺技術(shù)的結(jié)合,使得機械臂獲得感知周圍環(huán)境和與外界環(huán)境交互的能力[3]。如何在對硬件設(shè)備要求不高、能降低人工成本情況下,實現(xiàn)對物體抓取位姿的快速準確檢測,一直是機械臂抓取的重要研究方向[4]。
目前,深度學習在機械臂抓取領(lǐng)域得到廣泛應(yīng)用,并已經(jīng)取得了不少研究成果。Lenz等[5]最先使用深度學習的方法提取深度圖像的多模態(tài)特征,對目標物體的最優(yōu)抓取位置進行檢測,并提出了一種五維抓取表示方法,其中抓取位置以抓取矩形表示。Morrison等[6]提出了一種可用于閉環(huán)抓取且與目標無關(guān)的抓取綜合方法,使用生成式抓取卷積神經(jīng)網(wǎng)絡(luò)(generative grasping convolutional neural network, GG-CNN)預測每個像素的抓取置信度、寬度和角度。Liang等[7]提出了基于點云的位姿檢測算法,實現(xiàn)了2D卷積神經(jīng)網(wǎng)絡(luò)對3D點云的直接處理;Zhang等[8]為了解決多層卷積神經(jīng)網(wǎng)絡(luò)的過擬合問題,提出一種單目標抓取檢測網(wǎng)絡(luò),對抓取角度和位置進行擬合,提高模型的檢測精度。
平面多目標抓取位姿檢測大致分為兩類,第1類采用端對端網(wǎng)絡(luò)直接實現(xiàn)抓取位姿估計。如Chu等[9]將抓取檢測轉(zhuǎn)化為抓取位置回歸和角度分類問題,并利用區(qū)域建議網(wǎng)絡(luò)(region proposal network, RPN)網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)多目標的檢測,但由于采用角度分類的方法,其預測的抓取角度存在角度離散的問題。Ainetter等[10]提出一種端到端網(wǎng)絡(luò),將抓取檢測和語義分割結(jié)合在一起,實現(xiàn)了對多目標的檢測,但其網(wǎng)絡(luò)模型大,檢測速度慢,并且數(shù)據(jù)標注工作量大。第2類采用分階段方法實現(xiàn)抓取位姿檢測。陳丹等[11]提出了級聯(lián)快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(faster region convolutional neural network, Faster RCNN)模型[12],第1級使用水平目標檢測對較小物體進行定位,第2級在第1級的基礎(chǔ)上尋找該目標的最優(yōu)抓取位姿,但第2級無法做到對目標最優(yōu)抓取位姿的直接預測,同時水平框定位可能包含其他物體像素,影響檢測精度。孟月波等[13]提出一種兩階段檢測方法,第1階段利用語義分割網(wǎng)絡(luò)獲得待抓物體的掩碼區(qū)域,第2階段,利用主成分分析(principal component analysis, PCA)法對輪廓點坐標進行降維,獲取物體抓取坐標和偏轉(zhuǎn)方向,但獲取的抓取點不一定在物體上,致使抓取時物體發(fā)生移動。安廣琳等[14]也是通過兩階段方法獲取多目標抓取位姿,先通過旋轉(zhuǎn)目標檢測算法獲取物體類別和坐標,然后直接將物體裁剪下來,最后使用傳統(tǒng)方法對每個裁剪后的物體圖像進行二值化處理,求取其質(zhì)心坐標作為抓取點,但其并沒有考慮到物體在原圖上的質(zhì)心坐標和抓取角度。分階段方法相比前者檢測精度更高,且能降低標注工作量。但依舊存在背景噪聲干擾和檢測速度慢的問題,且第2階段獲取抓取位姿的方法過于復雜。
針對以上問題,本文提出一種兩階段檢測方法,第1階段,使用YOLOv4(you only look once version4)[15]改進的輕量級旋轉(zhuǎn)目標檢測算法實現(xiàn)多目標的快速識別和定位,獲得每個目標的類別和坐標,然后根據(jù)坐標確定感興趣區(qū)域(region of interest, ROI),并制作與原圖大小一樣的掩膜將物體提取下來,使物體在原圖中位置信息不變,并將剩余區(qū)域填充為白色,從而將多目標檢測問題轉(zhuǎn)化成多個單目標檢測問題。第2階段使用改進的DeepLabV3+[16]算法訓練好的權(quán)重對多個單目標進行檢測,直接獲得每個目標的抓取位姿。
1 旋轉(zhuǎn)目標檢測
1.1 YOLOv4目標檢測算法
YOLOv4算法由主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和檢測頭3個部分組成。相比之前的YOLOv3,其在主干網(wǎng)絡(luò)部分的特征提取網(wǎng)絡(luò)Darknet53中融入跨階段部分連接(cross stage partial connections, CSP)模塊,結(jié)構(gòu)變?yōu)镃SPDarnet53。頸部網(wǎng)絡(luò)部分由空間金字塔池化(spatial pyramid pooling, SPP)結(jié)構(gòu)[17]和路徑聚合網(wǎng)絡(luò)(path aggregation network, PANet)[18]組成。SPP結(jié)構(gòu)使用池化核大小為5×5、9×9、13×13的最大池化層,分別對輸入特征進行處理,用以增大感受野。PANet結(jié)構(gòu)就是在特征金字塔網(wǎng)絡(luò)(feature pyramid network, FPN)結(jié)構(gòu)[19]后面添加一條從低層到高層的路徑,將低層的信息傳給高層,增強其定位信息,同時考慮了高低層特征層對預測結(jié)果的共同影響,相較于原PANet結(jié)構(gòu)中將特征層直接相加,YOLOv4在通道方向進行Concat拼接。檢測頭部分使用3×3卷積和1×1卷積,進行兩次卷積操作,完成目標檢測任務(wù)。
1.2 輕量級旋轉(zhuǎn)目標檢測算法R-YOLOv4
本文的研究對象為實驗室中的常見工具,在實際目標檢測場景中,可能出現(xiàn)工具過于密集、不同視覺設(shè)備條件下工具的清晰度發(fā)生變化、以及不同個體之間的邊界特征相似等問題。而傳統(tǒng)的YOLOv4算法,在特征提取過程中生成大量的冗余特征圖,導致檢測速度慢,不能很好適應(yīng)不同場景下圖片中物體的變化??紤]到現(xiàn)有算法檢測速度慢以及設(shè)備性能有限的情況,本文提出一種輕量級旋轉(zhuǎn)目標檢測算法R-YOLOv4(rotating YOLOv4),其在保持較高的精度的同時,提高了模型的檢測速度。
為了提高目標檢測速度和精度,本文用GhostNet[20]網(wǎng)絡(luò)替代原主干網(wǎng)絡(luò),同時使用深度可分離卷積(depthwise separable convolution, DSC)[21]代替主干網(wǎng)絡(luò)以外的3×3卷積,輕量化整個模型。輕量化之后的YOLOv4算法如圖1所示。圖中Con2d表示卷積層;BN(batch normalization)為批量歸一化層;ReLU和Leaky為激活函數(shù);Maxpool為最大平均池化層;Upsample表示上采樣;Concat表示特征圖在通道方向上進行拼接;G-Bneck為Ghost Bottleneck結(jié)構(gòu)的縮寫。該網(wǎng)絡(luò)的輸入圖片大小為416×416×3,使用GhostNet獲得大小為52×52×40、26×26×112、13×13×160的3種不同尺寸的有效特征層并輸入網(wǎng)絡(luò)中,為了解決輕量化網(wǎng)絡(luò)之后帶來的檢測精度降低的問題,本文分別在頸部網(wǎng)絡(luò)結(jié)構(gòu)中的3個部分添加無參注意力模塊(simple parameter-free attention module, SimAM)[22],同時在PANet結(jié)構(gòu)后引入自適應(yīng)空間特征融合(adaptive spatial feature fusion, ASFF)結(jié)構(gòu)[23],使網(wǎng)絡(luò)充分利用不同尺度的特征,提高模型的檢測精度。然后,使用近似傾斜交并比(skew intersection over union, SkewIoU)損失[24]作為損失函數(shù),解決角度的周期性問題。最后,通過檢測頭輸出預測結(jié)果。
1.2.1 主干網(wǎng)絡(luò)
YOLOv4的主干網(wǎng)絡(luò)是由多個殘差結(jié)構(gòu)組成的CSPDarnet53網(wǎng)絡(luò),但其結(jié)構(gòu)復雜、參數(shù)過多、推理速度慢。為了提高抓取位姿檢測速度,提高抓取效率,本文使用GhostNet代替原主干特征提取網(wǎng)絡(luò)。由于待抓取物體所在工作臺背景單一,導致出現(xiàn)大量的重復特征圖,生成冗余的特征圖,需要增加模型的計算量,GhostNet網(wǎng)絡(luò)的思想就是使用計算量更低的操作去生成冗余的特征圖。
Ghost模塊就是GhostNet提出的一種降低計算量、加快模型推理速度的方法。其模塊的主要卷積可以自定義大小,它不是采用逐點卷積或者通道混洗的方法實現(xiàn)跨通道的特征處理,而是采用標準卷積先生成一些內(nèi)在的特征映射,然后通過線性變換操作增強特征和增加信道,最后將恒等變換和線性變換得到的Ghost特征圖在通道方向上拼接在一起,得到最終的輸出結(jié)果。其具體結(jié)構(gòu)如圖2所示。
假設(shè)1個恒等變換特征圖有s-1個冗余,那么它的計算量將比標準卷積的計算量削減為原來1/s,具體計算過程如下:
rs=n·h′·w′·c·k·kns·h′·w′·c·k·k+(s-1)·ns·h′·w′·d·d=
c·k·k1s·c·k·k+s-1s·d·d≈s·cs+c-1≈s(1)
式中:h′、w′、n分別表示輸出特征圖的高、寬和通道數(shù);k×k表示卷積核的大小;s表示每個通道產(chǎn)生的總映射;c表示輸入通道數(shù),且一般很大,slt;lt;c;s/n是經(jīng)過普通卷積輸出的內(nèi)在特征映射;d×d為線性操作的平均池化核的大小,且與k×k大小相似。分子為標準卷積的計算量,分母為Ghost模塊計算量。
GhostNet網(wǎng)絡(luò)由多個Ghost模塊為基礎(chǔ)構(gòu)建的Ghost Bottleneck組成。其與Residual Block很相似,只不過使用Ghost模塊代替?zhèn)鹘y(tǒng)的卷積操作。其中,兩個Ghost模塊將輸入特征層通道數(shù)先增加,后降低,使之與輸入通道相同。步距Stride決定是否對特征層的高、寬進行壓縮,值為1時,保持不變,這時的Ghost Bottleneck只增加網(wǎng)絡(luò)深度;值為2時,會將輸入特征圖的高、寬壓縮到原來的一半,完成下采樣操作。步距為1和步距為2時,Ghost Bottleneck的結(jié)構(gòu)如圖3所示。
1.2.2 SimAM
利用輕量化的GhostNet替換原來的主干網(wǎng)絡(luò)CSPDarnet53后,網(wǎng)絡(luò)模型的參數(shù)量和計算量有了明顯的減少,但同時也降低了模型的特征提取能力。為了更好地平衡網(wǎng)絡(luò)模型檢測精度和檢測速度,引入SimAM是提高檢測精度的方法之一。其在不引入額外參數(shù)的情況下,能加速注意力權(quán)值的計算,使得加權(quán)之后的特征更關(guān)注重要的目標信息。SimAM注意力機制結(jié)構(gòu)如圖4所示。
不同于現(xiàn)有的通道或者空間注意力機制,該注意力機制是從神經(jīng)科學理論的角度出發(fā),挖掘神經(jīng)元的重要性。SimAM算法會評估每個神經(jīng)元的重要性,在神經(jīng)科學中,信息豐富的神經(jīng)元不同于周邊神經(jīng)元,往往表現(xiàn)出不同的放電模式。同時,激活的神經(jīng)元還會抑制周邊的神經(jīng)元,這種現(xiàn)象稱為空間抑制。所有具有空間抑制效應(yīng)的神經(jīng)元,在神經(jīng)網(wǎng)中的重要性需要提高。利用神經(jīng)元之間的線性可分性可以找到這些激活神經(jīng)元。SimAM通過定義能量函數(shù)的方式找到重要神經(jīng)元,能量函數(shù)為
e*t=4(σ^2+λ)(t-μ^)2+2σ^2+2λ(2)
式中:t表示目標神經(jīng)元;λ為超參數(shù);μ^和σ^2分別為其相鄰神經(jīng)元的均值和方差。最小能量通過式(2)獲得,能量越低,該神經(jīng)元與周邊神經(jīng)元的差異性就越大,重要性也就越高。神經(jīng)元的重要性為1/e*t。最后,利用1/e*t對輸入的特征進行加權(quán)處理,具體如下:
式中:X為輸入特征;X~為經(jīng)過加權(quán)之后特征;⊙為點積運算;E為每個通道的能量函數(shù)。
1.2.3 ASFF模塊
不同特征尺度之間的不一致性是單階段算法中特征金字塔融合方式的主要缺陷。YOLOv4采用PAN結(jié)構(gòu)進行不同尺度的特征融合,其是在FPN結(jié)構(gòu)上改進而來,PAN是將不同尺度的特征層在通道方向上進行簡單的拼接。但這種方式并不能充分利用不同尺度的特征,而且其他層的無用信息也被融入進來。因此,本文使用ASFF模塊來解決這些問題。其核心思想是通過訓練和學習不同尺度空間中特征融合的權(quán)重,也就是獲得不同特征圖對預測特征圖的貢獻程度,在空間上過濾其他層次特征,保留有效信息并進行組合,從而抑制不一致性,提高特征尺度的不變性。ASFF的結(jié)構(gòu)設(shè)計如圖5所示。
其在某位置的輸出為
ylij=αlij·x1→lij+βlij·x2→lij+γlij·x3→lij(4)
式中:ylij為預測特征層對應(yīng)位置的輸出;x1→lij、x2→lij、x3→lij分別是來自3種不同層級的特征層level1、level2、level3調(diào)整到l層級尺度大小后,在(i,j)處的特征向量;αlij、βlij、γlij為第1層特征圖學習到的權(quán)重。它們是level1~level3調(diào)整尺度后的特征層,先經(jīng)過1×1卷積得到權(quán)重向量α、β、γ,然后在通道方向上拼接獲得權(quán)重融合圖,再經(jīng)過1×1卷積,最后在通道方向使用Softmax函數(shù),進行歸一化而得到的,它們的范圍都在[0,1]并且和為1,具體如下:
αlij+βlij+γlij=1(5)
αlij=eλlαijeλlαij+eλlβij+eλlγij(6)
1.2.4 五參數(shù)表示法
旋轉(zhuǎn)矩形框在標注時以參數(shù)角度θ來表示矩形框的旋轉(zhuǎn)方向,同時為防止出現(xiàn)二義性問題,對θ也設(shè)置了范圍。本文采用的是長邊定義法,如圖6所示。
它的表現(xiàn)形式為(x,y,w,h,θ),其中(x,y)為旋轉(zhuǎn)矩形框的中心坐標,w定義為最長邊,h定義為最短邊,θ表示X軸旋轉(zhuǎn)到長邊w所經(jīng)過的角度范圍,順時針為正,逆時針為負,取值范圍為[-π/2,π/2]。
1.2.5 近似SkewIoU損失
R-YOLOv4只需要在YOLOv4的檢測頭部分增加一個對角度預測的通道,就可實現(xiàn)旋轉(zhuǎn)角度預測。
R-YOLOv4的分類損失采用二分類交叉熵損失。然而在回歸損失中,由于角度存在邊界,當使用傳統(tǒng)的單參數(shù)損失函數(shù)Smooth L1 Loss優(yōu)化角度時,由于θ在越過定義的角度邊界會導致角度的正負號變化,從而導致?lián)p失值突然增大。為了解決角度的周期性問題帶來的回歸損失突然變大的情況,Yang等[25]使用了平滑交并比損失(IOU-Smooth L1 Loss)函數(shù),在傳統(tǒng)的Smooth L1 Loss函數(shù)中引入了SkewIoU常數(shù)因子,當遇到邊界時,新的損失函數(shù)接近于0,避免了損失突然變大的情況。R3Det中提出的近似SkewIoU損失,則是在IOU-Smooth L1 Loss的基礎(chǔ)上改進而來的,且能有效地改善角度回歸的效果。本文采用該思想,回歸損失為
L=λcoordN∑Nn=1objnLreg(vpredn,vgtn)|Lreg(vpredn,vgtn)||f(SkewIoU)|(7)
Lreg(vpred,vgt)=LSmooth-L1(vpredθ,vgtθ)-CIoU(vpred{x,y,w,h},vgt{x,y,w,h})(8)
vgtθ=gtθ-θa(9)
θa∈[-π/3,-π/6,0,π/6,π/3,π/2,](10)
式中:n表示錨框的數(shù)量;objn為二進制(objn=0表示背景;objn=1表示前景);vpredθ和vgtθ分別表示預測角度和真實角度的偏移量;CIoU為包含重疊面積、中心點距離和長寬比三要素的IoU損失;vpred{x,y,w,h}和vgt{x,y,w,h}分別為預測框和真實框的中心、寬和高;λcoord為平衡系數(shù),默認為1;SkewIoU為預測旋轉(zhuǎn)框與真實旋轉(zhuǎn)框之間的IOU;f(SkewIOU)為SkewIOU有關(guān)的一個函數(shù),負責調(diào)整損失值的大小,梯度的反向傳播依舊通過Smooth L1 Loss主導。
2 抓取位姿檢測
2.1 五維抓取框
機械臂要實現(xiàn)對目標抓取,必須要對抓取目標進行抓取位姿檢測和抓取點定位。目前,平面抓取最常用的是五維抓取矩形,通過這種抓取矩形來表示平行板夾持器抓取目標的抓取點和抓取姿態(tài)。抓取矩形的大小和方向通過五維向量表示,其表達式為
G=(xg,yg,wg,hg,β)(11)
式中:(xg,yg)表示抓取矩形的中心點;wg表示平行板夾持器的寬度;hg表示平行板夾持器張開的大小;β表示平行板夾持器與水平方向的夾角。
實際可視化效果如圖7所示。首先,通過五維抓取向量可以將抓取目標的位姿檢測和深度學習緊密結(jié)合在一起。然后,制定相應(yīng)的任務(wù),分別對抓取矩形的中心點、抓取寬度和偏轉(zhuǎn)角度進行預測,選擇置信度最高的抓取矩形作為最優(yōu)抓取位姿。
2.2 DeepLabV3+算法原理
DeepLabV3+是谷歌在2018年提出的一種編解碼網(wǎng)絡(luò),編碼器采用的是DeepLabV3網(wǎng)絡(luò),其由深度卷積神經(jīng)網(wǎng)絡(luò)(deep convolutional neural network, DCNN)和空洞空間卷積池化金字塔(atrous spatial pyramid pooling, ASPP)結(jié)構(gòu)組成,圖片先經(jīng)過DCNN下采樣16倍得到高層特征圖,然后將特征圖輸入到ASPP結(jié)構(gòu),特征圖分別通過1×1卷積層、3個膨脹系數(shù)為6、12、18的膨脹卷積層和一個全局平均池化層,然后在通道方向進行拼接,通過ASPP能兼顧不同大小的語義信息,加強網(wǎng)絡(luò)多尺度感知能力,對于語義分割網(wǎng)絡(luò)至關(guān)重要。
在解碼階段,對于下采樣16倍后的高層語義特征圖,經(jīng)過1×1卷積后,如果直接通過雙線性插值還原成原圖大小,將得不到精細的語義分割結(jié)果,目標的邊界會出現(xiàn)丟失的情況。為了解決這一問題,DeepLabV3+先對Encoder得到的特征圖經(jīng)過1×1卷積進行降維,防止高層信息被弱化。在保存邊界信息的情況下,通過雙線性插值上采樣4倍與同樣大小的特征層在通道方向進行拼接,拼接后的特征層再經(jīng)過一個3×3的卷積進一步融合特征。最后,再上采樣4倍還原成原圖大小。
2.3 改進的DeepLabV3+模型
2.3.1 實現(xiàn)原理
相較于采用RPN提取候選框的方法,改進后的DeepLabV3+模型直接在每個像素上生成抓取姿勢。為了實現(xiàn)在像素級上對每個像素進行抓取點和抓取姿態(tài)的檢測,需要對DeepLabV3+模型進行改進,使網(wǎng)絡(luò)輸出抓取置信度Q、抓取角度Angle和抓取寬度Width。
(1) 抓取置信度指的是圖像上每個像素點(u, v)作為抓取點時抓取的成功率,取值范圍為[0, 1],取值越接近于1,抓取成功的幾率越高。
(2) 抓取角度是指每個點執(zhí)行抓取任務(wù)時需要偏轉(zhuǎn)的角度,取值范圍為[-π/2, π/2]。
(3) 抓取寬度是指在每一點執(zhí)行抓取時二指夾持器的寬度,取值范圍在[0,150]像素之內(nèi)。
改進后的模型如圖8所示。將原有的一個3×3卷積刪除,引入4個分支,每個分支有2個3×3卷積核,卷積操作后再上采樣4倍還原成原圖大小。為了方便訓練,避免造成訓練混亂,本文采用文獻[6]的方法將輸出角度轉(zhuǎn)化成兩個三角函數(shù)sin2Φ和cos2Φ的形式分別輸出,最后通過下式求取輸出角度。
Φ=12arctansin2Φcos2Φ(12)
2.3.2 訓練損失
改進后的DeepLabV3+模型抓取檢測的損失函數(shù)定義為Lgrasp=LQ+Lsin(2Φ)+Lcos(2Φ)+LWidth,四者的損失都采用均方差(mean square error, MSE)損失,具體如下:
MSE(y,y′)=∑ni=1(yi-y′i)n(13)
式中:y表示標簽值;y′i表示預測值。
3 實驗結(jié)果與分析
為了驗證本文方法在實際應(yīng)用場景中的檢測效果,本文將搭建如圖9所示的實驗平臺。該抓取平臺由UR5機械臂、氣動二指抓手夾爪、inter RealSenseD435深度相機等組成。
抓取流程如下:
(1) 首先相機拍攝大小為640×480的圖片,并通過兩階段位姿估計方法,對圖像分別進行處理,獲得物體在像素坐標系中的坐標;
(2) 然后通過相機標定和手眼標定分別獲得像素坐標到相機坐標以及相機坐標到機械臂基坐標的旋轉(zhuǎn)平移矩陣,從而將物體抓取位姿從像素坐標轉(zhuǎn)換至機械臂基坐標系中;
(3) 最后通過TCP/IP協(xié)議將抓取位姿輸入機械臂控制柜中,使機械臂到達抓取位置并進行抓取。
從上述流程可以看出,抓取位姿檢測的好壞,直接影響整個抓取系統(tǒng)的成功與否,故本文的研究重點依舊是抓取位姿的檢測問題。本文所提出的位姿估計方法涉及目標檢測、圖像的預處理和多目標抓取位姿估計3個部分,兩階段抓取位姿估計流程圖如圖10所示。下面將分別進行分析。
3.1 目標檢測
目標檢測采用的是自建的VOC格式數(shù)據(jù)集,共8種物體,分別是錘子、固體膠、計重器、鉗子、螺絲刀、扳手、海綿、雨傘,如圖11所示。分別用labelImg和RolabelImg軟件標注,制作水平目標數(shù)據(jù)集和旋轉(zhuǎn)目標數(shù)據(jù)集。然后,將自建的數(shù)據(jù)集按9∶1的比例隨機劃分訓練集和驗證集。將目標檢測算法進行訓練,批次大小設(shè)置為8,初始學習率設(shè)置為0.001,衰減系數(shù)為0.1,訓練次數(shù)設(shè)置為300輪。使用Pytorch深度學習框架進行訓練,使用Nvidia Tesla V100的圖形處理器(graphics processing unit, GPU)加速模型訓練。
在訓練過程中,采用Mosaic圖像增強算法進行數(shù)據(jù)增強,通過在數(shù)據(jù)集中隨機選取4張圖片,并對4張圖片進行翻轉(zhuǎn)、縮放、色域變化等操作后,進行圖片的組合拼接,該方法能夠增加數(shù)據(jù)的多樣性和數(shù)據(jù)目標個數(shù),從而提高模型的訓練精度。同時,載入在VOC數(shù)據(jù)集上訓練好的模型作為預訓練權(quán)重,初始化相應(yīng)的網(wǎng)絡(luò)模型,加快模型收斂。最后,輸入RealSenseD435拍攝的圖片,并使用訓練好的模型權(quán)重對圖片上的目標進行預測,同時輸出各目標類別預測框的4個頂點坐標和偏轉(zhuǎn)角度。
3.1.1 模型參數(shù)分析
f(SkewIOU)函數(shù)的選取影響著模型的召回率和模型的訓練難度。本文選擇f(SkewIOU)函數(shù)的兩種取值方式,分別為線性函數(shù)f(SkewIOU)=1-SkewIOU和指數(shù)函數(shù)f(SkewIOU)=exp(1-SkewIOU)-1,來驗證模型組建后近似SkewIoU損失的有效性。召回率表示檢測正確的正類占全部正類的比例,召回率越高意味著漏檢的情況越少。模型3個輸出端的召回率如圖12所示。從結(jié)果來看,當IOU=0.5時,隨著迭代次數(shù)的增加,后者的召回率曲線更容易收斂,說明指數(shù)函數(shù)相較于線性函數(shù)更適合樣本的訓練。
3.1.2 消融實驗
為了更加全面地驗證各種改進模塊添加到Y(jié)OLOv4算法中的效果,本實驗在自建的目標檢測數(shù)據(jù)集上進行消融實驗。實驗指標有平均準確率(mean average precision, mAP)、參數(shù)量、計算量,本文通過這些評價指標來評估模型的檢測精度和速度。將上文所提到的改進模塊分別加入原YOLOv4模型中,共生成6組對照模型,“√”表示加入相應(yīng)改進模塊。具體如表1所示。
消融實驗結(jié)果如表2所示,引入GhostNet網(wǎng)絡(luò)以及DSC后,模型2相比原始YOLOv4模型,其參數(shù)量和計算量分別降低了51.934 M和53.246 G,但mAP降低了2.95%,說明輕量化模型確實帶來了檢測精度上的損失。模型3和模型4加入網(wǎng)絡(luò)后,都提升了模型的精度,同時計算量和參數(shù)量增加很少。近似SkewIoU損失加入網(wǎng)絡(luò)后,算法由水平框檢測變?yōu)樾D(zhuǎn)框檢測,此時,模型5的mAP增加了11.5%,精測精度有了明顯的提升,這是因為相鄰水平框之間的IOU很大,非極大值抑制(non-maximum suppression, NMS)算法會將部分檢測框誤認為冗余框刪除,從而造成漏檢的情況,旋轉(zhuǎn)框則不會存在這些問題。在加入所有模塊后,在較少參數(shù)量和計算量的情況下,模型6的mAP提高了12.1%。在保證檢測精度的情況下,實現(xiàn)了模型的輕量化。
為了更好體現(xiàn)該算法在可視化效果中的有效性,本文結(jié)合梯度加權(quán)類激活映射(gradient-weighted class activation mapping, Grad-CAM)[26]的思想,首先計算模型預測端中每個特征圖對圖片類別的權(quán)重,然后對每個特征圖進行加權(quán)求和,最后以熱力圖的形式將加權(quán)后的特征圖映射在原圖中,以獲得類激活圖,從而便于觀察模型重點關(guān)注的預測區(qū)域。具體如圖13所示,圖13(a)和圖13(b)分別為兩種不同擺放位置下原YOLOv4和對其改進后的R-YOLOV4的類激活圖。圖中區(qū)域顏色越深,表明其被分為正類的概率就越大,即模型對其關(guān)注的程度越高。本算法相較于原始的YOLOv4算法,對目標的定位效果更好,對計重器、固體膠和螺絲刀的識別能力得到了加強。
3.1.3 性能對比
為了進一步驗證本文所提出的R-YOLOv4的性能,將本文算法與水平目標檢測算法Faster RCNN、YOLOv4,以及旋轉(zhuǎn)目標檢測算法R3Det、S2ANet[27]和H2RBoX[28]這5種主流目標檢測算法進行對比。實驗指標有模型權(quán)重大小、每秒幀數(shù)(frames per second, FPS)和mAP,具體結(jié)果如表3所示。
從表3可以看出,由于對算法進行了輕量化,模型權(quán)重大小僅有48 MB,減小了內(nèi)存的開銷,便于模型的應(yīng)用和部署,平均單張圖片檢測速度也更快,相比于原YOLOv4算法,F(xiàn)PS提高了13.6;與最新的旋轉(zhuǎn)目標檢測算法H2RBoX網(wǎng)絡(luò)比較,F(xiàn)PS提高了27.2。同時,在輕量化后,檢測精度并沒有降低,并能很好地平衡模型的檢測速度和精度,滿足工業(yè)級檢測要求。
3.2 圖像預處理
改進后的DeepLabV3+算法是將圖片裁剪成300×300大小后,再輸入到網(wǎng)絡(luò)中檢測抓取中心點和抓取框方向,如果直接將目標裁剪下來再填充為300×300大小,此時圖像的方向會發(fā)生變化。其次,在搭建抓取系統(tǒng)時,不方便獲取原圖中的抓取位姿。所以,為了解決這些問題,本文通過ROI制作與原始圖片大小相同的掩膜,將ROI以外的圖像區(qū)域全部屏蔽掉。先用制作好的含有ROI的掩膜與原圖相乘,得到ROI圖像;ROI的像素值與原圖保持一致,而區(qū)域外的像素值依舊為0;然后將區(qū)域外的像素值調(diào)整到255,此時物體在圖片中的方向與原圖相同;最后再裁剪出300×300大小的圖片,打包送入改進的DeepLabV3+中,分別預測每個物體的抓取位姿。具體處理過程如圖14所示。
相較于水平框獲取需要裁剪的ROI,旋轉(zhuǎn)框所覆蓋的像素面積更小,具體如圖15所示。圖15左圖和右圖分別為水平框定位和旋轉(zhuǎn)框定位需要裁剪的ROI。所以,本文選擇旋轉(zhuǎn)框獲取ROI的目的,就是避免在第2階段檢測時,其他物體像素對目標物體檢測產(chǎn)生影響,從而提高抓取位姿檢測精度。
3.3 多目標抓取位姿估計
為了與其他方法進行比較,本文位姿估計采用的是開源的Cornell數(shù)據(jù)集,該數(shù)據(jù)集中每張圖片只有一個物體,每個物體都標注了多個正抓取框和負抓取框。位姿估計算法依舊采用目標檢測的設(shè)備和框架,按4∶1的比例劃分訓練集和驗證集,并采用圖像拆分和對象拆分兩種方式劃分數(shù)據(jù)集圖片,分別測試網(wǎng)絡(luò)對已知抓取對象新位置、新方向和未知抓取對象的泛化能力。學習率大小為0.001,訓練次數(shù)為300輪,批次大小為8,并將載入在COCO數(shù)據(jù)集上訓練的模型權(quán)重作為預訓練權(quán)重,部分初始化改進后的DeepLabV3+算法,加快模型收斂。
本文利用矩形度量來衡量網(wǎng)絡(luò)模型精度的好壞,其評判標準如下:① 預測的抓取框gp與真實抓取框gt之間的角度相差不能超過30°;② 預測抓取框與真實抓取框的Jaccard指數(shù)要大于0.25,Jaccard指數(shù)定義如下:
J(gp,gt)=|gp∩gt||gp∪gt|(14)
本算法與其他算法在圖像拆分、對象拆分以及檢測時間上的對比效果如表4所示。從表4可知,GhostNet作為主干網(wǎng)絡(luò),雖然檢測速度較快,但檢測精度相比其他算法并沒有明顯優(yōu)勢,而ResNet-50[29]作為主干網(wǎng)絡(luò)的圖像拆分和對象拆分精度相比GhostNet分別提高了8.3%和8.9%,F(xiàn)PS降低了10.7,但也滿足機械臂抓取檢測的實時性要求??紤]到檢測的精度問題,本文將以ResNet-50作為主干網(wǎng)絡(luò)。
下面將本文方法與水平框定位方法[30]進行對比。第2階段都采用改進后的DeepLabV3+的算法,并使用上面實驗平臺采集200張圖像數(shù)據(jù),作為抓取位姿檢測的數(shù)據(jù)集。每張圖片包含8種不同形狀和不同位置的物體,并使用訓練好的模型權(quán)重在自建多目標數(shù)據(jù)集上進行檢測。
第1階段目標檢測的部分預測效果如圖16所示。三列圖像分別為物體在不同的擺放位置下,4種算法的預測效果。從圖中可以看出,相對于傳統(tǒng)的水平目標檢測,旋轉(zhuǎn)目標檢測的預測的ROI覆蓋的像素面積更小。同時,與其他旋轉(zhuǎn)目標檢測算法相比,R3Det網(wǎng)絡(luò)對目標的檢測效果不是很理想,存在漏檢和預測框定位不精準的問題。此外,雖然本文算法比H2RBox算法檢測精度低,但在檢測速度和模型大小方面均具有優(yōu)勢。
第2階段多目標抓取位姿預測結(jié)果如圖17所示。三列圖像分別為物體在不同的擺放位置下,抓取位姿的預測結(jié)果。從實驗結(jié)果可以看出,使用旋轉(zhuǎn)框定位裁剪的方法檢測的抓取位姿效果好于水平框定位裁剪的方法。對于水平框定位裁剪的方法,由于其在裁剪后包含其他物體像素,網(wǎng)絡(luò)在預測抓取位姿時,受其他物體像素的影響,導致檢測效果差,有些甚至沒有預測到該區(qū)域目標物體的抓取位姿,反而預測的是該區(qū)域內(nèi)包含的其他物體的抓取位姿。
4 結(jié) 論
針對現(xiàn)有的分階段方法檢測時存在背景噪聲干擾,且檢測速度慢的問題,本文提出一種基于YOLOv4的輕量級旋轉(zhuǎn)目標檢測算法對物體進行識別和定位,提高了目標算法的檢測速度和精度。相對于傳統(tǒng)的水平目標檢測算法,其覆蓋的像素區(qū)域更小,降低了原始圖像物體像素對抓取位姿檢測的影響,同時提出了一種改進的DeepLabV3+算法,對物體抓取位姿進行直接檢測。與其他網(wǎng)絡(luò)相比,檢測精度有了明顯提升。最后,在自建的多目標數(shù)據(jù)集上,對不同形狀的未知物體進行檢測,且檢測效果良好,能夠滿足實際抓取檢測任務(wù)的要求。
參考文獻
[1]CAI J H, CEN J, WANG H K, et al. Real-time collision-free grasp pose detection with geometry-aware refinement using high-resolution volume[J]. IEEE Robotics and Automation Letters, 2022, 7(2): 1888-1895.
[2]CHENG H, WANG Y Y, MENG M Q H. A robot grasping system with single-stage anchor-free deep grasp detector[J]. IEEE Trans.on Instrumentation and Measurement, 2022, 71: 5009712.
[3]WEN H T, YAN J H, PENG W L, et al. TransGrasp: grasp pose estimation of a category of objects by transferring grasps from only one labeled instance[C]∥Proc.of the 17th European Conference, 2022: 445-461.
[4]WEI H, PAN S C, MA G, et al. Vision-guided hand-eye coordination for robotic grasping and its application in tangram puzzles[J]. Artificial Intelligence, 2021, 2(2): 209-228.
[5]LENZ I, LEE H, SAXENA A. Deep learning for detecting robotic grasps[J]. The International Journal of Robotics Research, 2015, 34(4/5): 705-724.
[6]MORRISON D, CORKE P, LEITNER J. Learning robust, real-time, reactive robotic grasping[J]. The International Journal of Robotics Research, 2020, 39(2/3): 183-201.
[7]LIANG H Z, MA X J, LI S, et al. Pointnetgpd: detecting grasp configurations from point sets[C]∥Proc.of the International Conference on Robotics and Automation, 2019: 3629-3635.
[8]ZHANG L Z, WU D M. A single target grasp detection network based on convolutional neural network[J]. Computational Intelligence and Neuroscience, 2021(5): 5512728.
[9]CHU F J, XU R N, VELA P A. Real-world multi-object, multi-grasp detection[J]. IEEE Robotics and Automation Letters, 2018, 3(4): 3355-3362.
[10]AINETTER S, FRAUNDORFER F. End-to-end trainable deep neural network for robotic grasp detection and semantic segmentation from RGB[C]∥Proc.of the IEEE International Conference on Robotics and Automation, 2021: 13452-13458.
[11]陳丹, 林清泉. 基于級聯(lián)式Faster RCNN的三維目標最優(yōu)抓取方法研究[J]. 儀器儀表學報, 2019, 40(4): 229-237.
CHEN D, LIN Q Q. Research on 3D object optimal grasping method based on cascaded Faster RCNN[J]. Chinese Journal of Scientific Instrument, 2019, 40(4): 229-237.
[12]REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J].Advances in Neural Information Processing Systems, 2015, 28: 91-99.
[13]孟月波, 黃琪, 韓九強, 等. 基于兩階段的機器人動態(tài)多物品定位抓取方法[J]. 激光與光電子學進展, 2023, 60(6): 288-297.
MENG Y B, HUANG Q, HAN J Q, et al. Robot dynamic object positioning and grasping method based on two stages[J]. Laser amp; Optoelectronics Progress, 2023, 60(6): 288-297.
[14]安廣琳, 李宗剛, 杜亞江, 等. 基于深度學習的多工件抓取點定位方法[J]. 激光與光電子學進展, 2023, 60(12): 311-321.
AN G L, LI Z G, DU Y J, et al. Research on multiple workpiece grasping point localization method based on deep learning[J]. Laser amp; Optoelectronics Progress, 2023, 60(12): 311-321.
[15]BOCHKOVSKIY A, WANG C Y, LIAO H Y M. YOLOv4: optimal speed and accuracy of object detection[C]∥Proc.of the IEEE Conference on Computer Vision and Pattern Recognition, 2020.
[16]CHEN L C, ZHU Y K, PAPANDREOU G, et al. Encoder-decoder with atrous separable convolution for semantic image segmentation[C]∥Proc.of the European Conference on Computer Vision, 2018: 801-818.
[17]HE K M, ZHANG X Y, REN S R, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Trans.on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[18]LIU S, QI L, QIN H F, et al. Path aggregation network for instance segmentation[C]∥Proc.of the IEEE Conference on Computer Cision and Pattern Recognition, 2018: 8759-8768.
[19]LIN T Y, DOLLáR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]∥Proc.of the IEEE Conference on Computer Vision and Pattern Recognition, 2017: 2117-2125.
[20]HAN K, WANG Y H, TIAN Q, et al. Ghostnet: more features from cheap operations[C]∥Proc.of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2020: 1580-1589.
[21]CHOLLET F. Xception: deep learning with depthwise separable convolutions[C]∥Proc.of the IEEE Conference on Computer Vision and Pattern Recognition, 2017: 1251-1258.
[22]YANG L X, ZHANG R Y, LI L D, et al. Simam: a simple, parameter-free attention module for convolutional neural networks[C]∥Proc.of the International Conference on Machine Learning, 2021: 11863-11874.
[23]LIU S T, HUANG D, WANG Y H. Learning spatial fusion for single-shot object detection[C]∥Proc.of the International Conference on Computer Vision and Pattern Recognition, 2019.
[24]YANG X, YAN J C, FENG Z M, et al. R3det: refined single-stage detector with feature refinement for rotating object[C]∥Proc.of the AAAI Conference on Artificial Intelligence, 2021, 35(4): 3163-3171.
[25]YANG X, YANG J R, YAN J C, et al. SCRDet: towards more robust detection for small, cluttered and rotated objects[C]∥Proc.of the IEEE/CVF International Conference on Computer Vision, 2019: 8232-8241.
[26]SELVARAJU R R, COGSWELL M, DAS A, et al. Grad-cam: visual explanations from deep networks via gradient-based localization[C]∥Proc.of the IEEE International Conference on Computer Vision, 2017: 618-626.
[27]HAN J M, DING J, LI J, et al. Align deep features for oriented object detection[J]. IEEE Trans.on Geoscience and Remote Sensing, 2021, 60: 1-11.
[28]YANG X, ZHANG G F, LI W T, et al. H2RBox: horizontal box annotation is all you need for oriented object detection[C]∥Proc.of the International Conference on Learning Representations, 2023.
[29]HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]∥Proc.of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 770-778.
[30]李明, 鹿朋, 朱龍, 等. 基于RGB-D融合的密集遮擋抓取檢測[J]. 控制與決策, 2023, 38(10): 2867-2874.
LI M, LU P, ZHU L, et al. Densely occluded grasping objects detection based on RGB-D fusion[J]. Control and Decision, 2023, 38(10): 2867-2874.
作者簡介
孫先濤(1985—),男,副教授,博士,主要研究方向為機器視覺、欠驅(qū)動機械手。
江汪洋(1998—),男,碩士研究生,主要研究方向為機器視覺、機器人抓取。
陳文杰(1964—),男,教授,博士,主要研究方向為機器視覺、助力外骨骼。
陳偉海(1955—),男,教授,博士,主要研究方向為機器人抓取、高精密運動機械設(shè)計與控制。
智亞麗(1987—),女,講師,博士,主要研究方向為間歇控制、人工智能。