浙江大学学报(工学版), 2024, 58(3): 599-610 doi: 10.3785/j.issn.1008-973X.2024.03.017

机械工程

轻量化机器人抓取位姿实时检测算法

宋明俊,, 严文, 邓益昭, 张俊然, 涂海燕,

1. 四川大学 电气工程学院,四川 成都 610065

Light-weight algorithm for real-time robotic grasp detection

SONG Mingjun,, YAN Wen, DENG Yizhao, ZHANG Junran, TU Haiyan,

1. College of Electrical Engineering, Sichuan University, Chengdu 610065, China

通讯作者: 涂海燕,女,副教授. orcid.org/0000-0001-7909-465X. E-mail: haiyantu@163.com

收稿日期: 2023-08-22  

基金资助: 国家自然科学基金资助项目(12126606);四川省科技计划资助项目(23ZDYF2913);德阳科技(揭榜)资助项目(2021JBJZ007);智能电网四川省重点实验室应急重点资助项目(020IEPG-KL-20YJ01).

Received: 2023-08-22  

Fund supported: 国家自然科学基金资助项目(12126606);四川省科技计划资助项目(23ZDYF2913);德阳科技(揭榜)资助项目(2021JBJZ007);智能电网四川省重点实验室应急重点资助项目(020IEPG-KL-20YJ01).

作者简介 About authors

宋明俊(1999—),男,硕士生,从事机器人抓取研究.orcid.org/0009-0001-2417-8562.E-mail:mingjun_s@foxmail.com , E-mail:mingjun_s@foxmail.com

摘要

针对机器人对形状、大小、种类变化不一的未知物体的抓取,提出轻量化的抓取位姿实时检测算法RTGN,以进一步提升抓取检测准确率及检测速度. 设计多尺度空洞卷积模块,以构建轻量化的特征提取主干网络;设计混合注意力模块,以加强网络对重要抓取特征的关注;引入金字塔池化模块融合多层级特征,以提升网络对物体的抓取感知能力. 在Cornell抓取数据集上进行测试,RTGN检测速度为142帧/s,在图像拆分和对象拆分上的检测准确率分别为98. 26%和97. 65%;在实际抓取环境下进行抓取实验,机器人对20类未知物体进行400次抓取,抓取成功率为96. 0%. 实验结果表明,RTGN的检测准确率和检测速度较现有方法有明显提升,对物体的位置和姿态变化具有较强的适应性,并且能够有效地泛化到形状、大小、种类等变化不一的未知物体的抓取检测中.

关键词: 机器人抓取 ; 抓取检测 ; 注意力机制 ; 卷积神经网络 ; 深度学习 ; 非结构化环境

Abstract

A light-weight, real-time approach named RTGN (real-time grasp net) was proposed to improve the accuracy and speed of robotic grasp detection for novel objects of diverse shapes, types and sizes. Firstly, a multi-scale dilated convolution module was designed to construct a light-weight feature extraction backbone. Secondly, a mixed attention module was designed to help the network focus more on meaningful features. Finally, the pyramid pool module was deployed to fuse the multi-level features extracted by the network, thereby improving the capability of grasp perception to the object. On the Cornell grasping dataset, RTGN generated grasps at a speed of 142 frame per second and attained accuracy rates of 98.26% and 97.65% on image-wise and object-wise splits, respectively. In real-world robotic grasping experiments, RTGN obtained a success rate of 96.0% in 400 grasping attempts across 20 novel objects. Experimental results demonstrate that RTGN outperforms existing methods in both detection accuracy and detection speed. Furthermore, RTGN shows strong adaptability to variations in the position and pose of grasped objects, effectively generalizing to novel objects of diverse shapes, types and sizes.

Keywords: robotic grasping ; grasp detection ; attention mechanism ; convolutional neural networks ; deep learning ; unstructured environment

PDF (4675KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

宋明俊, 严文, 邓益昭, 张俊然, 涂海燕. 轻量化机器人抓取位姿实时检测算法. 浙江大学学报(工学版)[J], 2024, 58(3): 599-610 doi:10.3785/j.issn.1008-973X.2024.03.017

SONG Mingjun, YAN Wen, DENG Yizhao, ZHANG Junran, TU Haiyan. Light-weight algorithm for real-time robotic grasp detection. Journal of Zhejiang University(Engineering Science)[J], 2024, 58(3): 599-610 doi:10.3785/j.issn.1008-973X.2024.03.017

机器人抓取是机器人与环境交互的一种重要手段,实现准确、快速地抓取是机器人高质量、高效率地完成抓取任务的前提. 在结构化环境(structured environment)中,待抓取物体的种类通常是十分单一的,并且物体的形状和大小较为规则. 在这种受控环境中,机器人可以充分利用待抓取物体的先验知识,来完成特定的抓取任务. 例如,在工业环境下的工业机器人可以通过事先学习和识别待抓取物体的特征,针对特定的物体准备特定的抓取动作,从而有效地完成抓取任务. 然而,在非结构化环境中,待抓取物体的形状(2D或3D模型)、大小、种类、物理属性等先验知识往往不能预先获取[1-6],并且待抓取物体的位置和姿态会发生变化[1,4,6],实现机器人准确、快速地抓取是一项具有挑战性的任务[1,6-7].

近年来,基于深度学习的抓取方法凭借无需人工设计抓取特征[2-4,6]、特征提取能力强[1,6-7]、泛化性好[2,4,6-9]等优点在机器人抓取领域获得巨大成功. Jiang等[5]提出抓取矩形框,将机器人抓取问题转变为抓取位姿检测问题. Lenz等[6]首先将深度学习应用于抓取检测中,利用深度学习自动提取特征,从而无须耗时费力地人工设计抓取特征. Redmon等[10]直接对抓取框参数进行单阶段回归,有效减少了以往滑动窗口法[5]和两阶段候选[6]导致的检测耗时. Kumra等[11]使用深层网络ResNet50[12]提取抓取特征,该方法表明使用深层网络可提高抓取检测准确率. Guo等[13]将机器人抓取物体过程中的力矩数据作为机器人抓取结果的反馈,使得抓取检测网络可以学习到更丰富的抓取特征. Chu等[14]将非抓取类标签作为角度分类标签的竞争项,利用该方法可对多个物体同时生成抓取检测结果. Zhou等[15]提出旋转锚框机制,该方法改进Guo等[13]的定向锚框,增强了对抓取角度的约束. 夏晶等[8]提出Angle-Net对抓取角度进行精细估计,提高了抓取角度的检测精度. 喻群超等[9]提出3级级联的卷积神经网络来逐级评估抓取检测框,提高了抓取框的检测准确度. Morrison等[16]提出轻量化的GG-CNN,该方法对输入深度图像中每个像素点位置处的抓取参数进行预测,使得网络能够生成像素级的抓取检测结果. 张云洲等[7]将多层级特征应用于抓取检测,该方法对尺度变化的物体表现出较好的检测效果. Kumra等[17]将残差模块[12]引入到GG-CNN中,提高了网络对抓取特征的提取能力. Cheng等[18]使用高斯函数对角度分类标签进行平滑编码,缓解了one-hot编码角度方式存在的抓取角度分类损失的一致性问题. Wang等[19]在Morrison等[16]基础上使用transformer结构取代卷积神经网络作为特征提取主干网络,利用transformer的自注意力机制对输入图像中的全局抓取信息进行建模,实现了更好的抓取检测效果.

上述抓取检测算法[5-11,13-19]均未能较好地兼顾检测准确率和检测速度2方面的性能. 有些研究[15,18-19]在检测准确率上取得了比较可观的结果,但检测速度较慢,难以满足机器人实时抓取检测的需求;有些研究[7,16-17]在抓取速度上取得了不错的结果,但检测准确率不高,难以实现机器人对物体准确的抓取检测. 实现机器人准确、快速的抓取需要抓取检测算法兼顾检测准确率和检测速度2方面的性能.

针对上述问题,本研究提出轻量化的实时抓取检测算法RTGN(real-time grasp net). 为了解决深层网络[8,11,14-15]带来的检测耗时长的问题,提出多尺度空洞卷积模块以构建轻量化的特征提取主干网络. 设计混合注意力模块,使网络能够直接关注于通道维度和空间维度上的重要抓取特征. 引入金字塔池化模块[20]对多层级特征中不同区域大小的局部特征进行融合,增强网络对抓取物体的上下文感知能力. 综上所述,RTGN能够准确、快速地实现对物体的抓取检测,实现了检测准确率和检测速度2方面性能的进一步提升.

1. 问题描述

在给定机器人抓取目标场景的RGB图像和深度图像的情况下,须对水平工作台上形状、大小、种类等变化不一的未知物体进行抓取检测. 其中,机器人二指抓取检测问题可以描述为由五维抓取参数$\{ u,v,w,h,\theta \} $构成的旋转矩形框[6],如图1所示. 图中,$(u,v)$为矩形框中心在图像像素坐标系下的坐标,$w、h$分别为矩形框的宽和高,$\theta $为矩形框相对于像素坐标系下$x$ 轴正方向的旋转角度.

图 1

图 1   五维抓取表示[6]示意图

Fig.1   Schematic diagram of five-dimensional grasp representation[6]


对于确定的末端夹持工具,五维抓取参数可简化为四维抓取参数$\{ u,v,w,\theta \} $, Morrison等[16]以热力图形式将此四维抓取参数图形化,如图2所示. 图中,${\boldsymbol{Q}}$为表示抓取中心$(u,v)$的热力图,图像中每一像素点的值表示该点为抓取中心的概率P${\boldsymbol{W}}$为表示抓取宽度$w$的热力图,图像中每一像素点的值表示该点对应的抓取宽度;${\boldsymbol{\varPhi }}$为表示抓取角度$\theta $的热力图,图像中每一像素点的值表示该点对应的抓取角度,其取值范围为$ {{[ - \text{π} /2,\text{π} /2]}}; $$ {{\boldsymbol{\varPhi }}_{\cos }} 、 $$ {{\boldsymbol{\varPhi }}_{\sin }} $分别为抓取角度热力图${\boldsymbol{\varPhi }}$的余弦、正弦编码,$ {{\boldsymbol{\varPhi }}_{\cos }} = \cos \; (2{\boldsymbol{\varPhi }}) $$ {{\boldsymbol{\varPhi }}_{\sin }} = \sin \;(2{\boldsymbol{\varPhi }}) $. 通过这种方式,四维抓取参数$\{ u,v,w,\theta \} $转换为$ {{G}} = \left\{ {\boldsymbol{Q}},{\boldsymbol{W}}, \right. \left.{{\boldsymbol{\varPhi }}_{\cos }}, {{\boldsymbol{\varPhi }}_{\sin }}\right\} $的热力图抓取表示. $ {\boldsymbol{Q}},{\boldsymbol{W}}, {\boldsymbol{\varPhi }}, {{\boldsymbol{\varPhi }}_{\cos }}, {{\boldsymbol{\varPhi }}_{\sin }} \in {{\bf{R}}^{H \times W}} $HW分别为输入图像的高、宽.

图 2

图 2   四维抓取参数热力图表示[16]

Fig.2   Four-dimensional grasp representation using heatmaps[16]


输入图像$ (r,c) $位置处的抓取四维参数,可由如下公式给出:

$ \left. \begin{array}{l} u = r, \; v = c, \; w = {{W}}\left( {r,c} \right), \\ \theta = {{\varPhi }}\left( {r,c} \right) = \dfrac{1}{2}{\text{arc}}\tan \;\dfrac{{{{{\varPhi }}_{\sin }}\left( {r,c} \right)}}{{{{{\varPhi }}_{\cos }}\left( {r,c} \right)}}. \\ \end{array} \right\} $

式中:$ W(r,c)、{{\varPhi}} (r,c)、{{{\varPhi}} }_{\mathrm{cos}}(r,c)、{{{\varPhi}} }_{\mathrm{sin}}(r,c) $为抓取宽度热力图$ {\boldsymbol{W}} $、抓取角度热力图$ {\boldsymbol{\varPhi }} $、抓取角度余弦编码热力图$ {{\boldsymbol{\varPhi }}_{\cos }} $、抓取角度正弦编码热力图$ {{\boldsymbol{\varPhi }}_{\sin }} $$ (r,c) $位置处的值,分别表示该点的抓取宽度、抓取角度、抓取角度余弦编码值、抓取角度正弦编码值,$ r,c \in {\bf{N}} $且有$ r \leqslant W - 1,c \leqslant H - 1 $.

通常,将抓取中心热力图${\boldsymbol{Q}}$中具有最大抓取概率值对应的像素点选取为抓取中心$(u,v)$,以输出最优抓取检测结果:

$ \left( {u,v} \right) = \mathop {{\text{arg}}\max }\limits_{\left( {r,c} \right) \in {\boldsymbol{Q}}} \;{{Q}}\left( {r,c} \right). $

式中:$ {{Q}}(r,c) $为抓取中心热力图$ {\boldsymbol{Q}} $$ (r,c) $位置处的值,表示该点为抓取中心的概率.

综上,机器人抓取检测问题变为如下函数$ \varGamma $的求解问题:

$ \varGamma :{\boldsymbol{I}} \to {{G}}. $

式中:$ {\boldsymbol{I}} \in {{\bf{R}}^{C \times H \times W}} $为输入的视觉图像,$ C $为输入图像的通道数. 本研究提出RTGN抓取检测算法通过监督学习的方式来近似$ \varGamma $.

2. RTGN抓取检测算法

本研究提出以抓取场景的RGB-D视觉数据为输入的实时抓取检测算法RTGN,算法整体结构如图3所示. RTGN主要包括4部分:多尺度空洞卷积模块(multi-scale dilated convolution module, MDM)、混合注意力模块(mixed attention module, MAM)、金字塔池化模块[20](pyramid pool module, PPM)以及预测输出头(predict head).

图 3

图 3   RTGN抓取检测算法整体结构

Fig.3   Overview architecture of RTGN grasp detection algorithm


图3所示,RTGN可看作由编码器(encoder)和解码器(decoder)2部分组成. 编码器主要由多尺度空洞卷积模块MDM、混合注意力模块MAM及金字塔池化模块PPM组成,负责从输入的RGB-D图像中提取抓取特征;解码器由预测输出头构成,负责将编码器提取的抓取特征解码为热力图抓取表示. 接下来对各个模块作详细介绍.

2.1. 多尺度空洞卷积模块

为了使网络能够从输入图像中提取更复杂、抽象的抓取特征,提高网络的拟合能力,有些研究[8,11,14-15]使用深层网络作为特征提取主干网络. 虽然检测准确率有所提高,但深层网络的使用却使得检测耗时严重,难以满足实时性的要求. 受Wang等[21]启发,本研究提出多尺度空洞卷积模块,用于构建轻量化的特征提取主干网络,以提升抓取检测速度.

多尺度空洞卷积模块的结构如图4所示,其主体部分由3个不同空洞率(dilation rate)的空洞卷积核串联而成. 图中,空洞卷积的核心是向普通卷积核中进行“插空”,从而可以在不增加参数量和计算量的情况下,扩大卷积核的感受野[21].

图 4

图 4   多尺度空洞卷积模块结构图

Fig.4   Structure of multi-scale dilated convolution module


图5所示,以3×3大小的卷积核为例,当空洞率为1时,空洞卷积核和普通卷积核并无区别,它们感受野大小相同;当空洞率大于1时,空洞卷积核的感受野比普通卷积核更大. 本研究通过将3个不同空洞率的空洞卷积进行串联,使得卷积核能够逐渐感知更大区域的输入特征信息,从而更好地捕捉全局抓取特征,实现高效的抓取特征提取.

图 5

图 5   不同空洞率下3×3大小的空洞卷积核

Fig.5   3×3 dilated convolution kernels at different dilation rates


多尺度空洞卷积模块中3个空洞卷积核的空洞率分别为1、2、5,大小为5×5,滑动步长为1. 此外,采用残差连接结构[12],将输入特征经过1×1卷积变换维度后与输出特征进行连接,以提高网络训练过程中梯度传播的稳定性. 同时,为了避免网络在训练过程中发生过拟合,将Dropout[22]引入模块中,以减少抓取特征之间的相互依赖性,从而提高网络的泛化能力.

2.2. 混合注意力模块

在抓取检测任务中,网络提取到的抓取特征并非都对最终的检测结果起关键作用. 为了解决这个问题,将注意力机制引入检测算法中,使网络能够有选择性地关注重要的抓取特征并忽略其他无关的特征. 注意力机制是网络中额外的特殊结构,它通过对输入特征进行加权处理,从而实现对重要特征的关注.

Woo等[23]提出CBAM注意力模块,将通道注意力与空间注意力进行结合,使得网络能够同时考虑通道和空间维度上的特征重要性[23]. 然而,CBAM[23]中的空间注意力机制通过卷积操作来感知空间维度上的特征,这使得CBAM[23]对空间维度上长距离特征的感知能力受限于卷积核的大小.

针对此问题,将坐标注意力[24]引入CBAM[23]中,将坐标注意力与CBAM中的通道注意力进行聚合,形成混合注意力模块. 通道注意力可以使网络关注于通道维度上的重要特征,坐标注意力可以使网络关注于空间维度上的重要特征. 与CBAM中的空间注意力不同的是,坐标注意力将空间特征分解为水平和垂直2个不同空间方向上的位置编码,再由位置编码组成空间注意力特征图. 通过空间位置分解,坐标注意力可以提供准确的空间位置编码,使得网络可以在空间维度上感知更长距离的抓取特征.

将两者聚合后,混合注意力模块可使网络同时关注于不同通道和空间位置上的重要抓取特征,从而进一步增强网络对重要抓取特征的表达能力.

2.2.1. 通道注意力模块

通道注意力模块[23](channel attention module, CAM)通过学习输入特征在每个通道的注意力权重,来自适应地调整不同通道特征的重要程度,其结构如图6所示. 首先,输入特征在通道方向上经过全局最大池化和全局平均池化操作,得到位置敏感和范围敏感的2列通道注意力权值. 然后,这2列通道注意力权值分别通过一个共享权重参数的多层感知机(multi-layer perceptron, MLP)进行重组,以重新分配各通道的权重. 最后,这2列通道注意力权值按元素相加并经过sigmoid函数进行激活,得到输入特征在每个通道上的注意力权值.

图 6

图 6   通道注意力模块结构图

Fig.6   Structure of channel attention module


2.2.2. 坐标注意力模块

坐标注意力机制[24](coordinate attention module, CA)通过学习输入特征在2个不同空间方向上的注意力权重,来自适应地调整不同空间位置的重要程度,其结构如图7所示. 首先,输入特征经过2个不同空间方向的池化操作,形成对空间方向敏感的权值张量. 然后,将这2个权值张量拼接,并通过一个多层感知机进行权值重组. 最后,将重组后的权值张量进行拆分并经过sigmoid函数进行激活,得到输入特征在2个不同空间方向上的注意力权值.

图 7

图 7   坐标注意力模块结构图

Fig.7   Structure of coordinate attention module


2.2.3. 特征聚合模块

为了充分利用通道维度与空间维度中的特征信息,使检测算法能够直接关注于通道维度和空间维度上的重要抓取特征,将CAM模块[23]与CA模块[24]的输出特征进行融合,形成混合注意力模块. 此外,为了使混合注意力模块能够逐渐学习到重要的抓取特征,引入自适应权值将模块输入特征与输出增强特征进行融合. 整个混合注意力模块的网络结构如图8所示,模块的输出特征$ {{\boldsymbol{T}}_{\mathrm{M}}} $表达式如下:

图 8

图 8   混合注意力模块结构图

Fig.8   Structure of mixed attention module


$ {{\boldsymbol{T}}_{\mathrm{M}}} = {{\boldsymbol{T}}_{\mathrm{I}}} \cdot {\bf{CAM}}({\boldsymbol{T}}_{\mathrm{I}})\cdot{\bf{CA}}\left( {{{\boldsymbol{T}}_{\mathrm{I}}} \cdot {\bf{CAM}}\left( {{{\boldsymbol{T}}_{\mathrm{I}}}} \right)} \right)+\alpha {{\boldsymbol{T}}_{\mathrm{I}}}. $

式中:${{\boldsymbol{T}}_{\mathrm{I}}}、{{\boldsymbol{T}}_{\mathrm{M}}}$为混合注意力模块的输入、输出特征;$ {\bf{CA}}( \cdot ) $$ {\bf{CAM}}( \cdot ) $为CA模块、CAM模块的计算输出;$ \text{ }·\text{ } $表示矩阵按元素相乘;$ \alpha $为自适应权值,权值$ \alpha $初值为1. 0,并在训练过程中自适应调整权重.

2.3. 金字塔池化模块

浅层特征含有丰富的细节信息,有利于小尺度物体的抓取检测;深层特征含有丰富的语义信息,适合大尺度物体的抓取检测[7]. 为了提高算法对尺度大小变化的物体的检测准确率,将主干网络提取到的3个不同层级位置的特征在通道维度进行拼接形成多层级特征(见图3),将多层级特征用于抓取检测. 此外,为了实现更加准确的抓取感知,同时又避免增加过多的复杂计算,在检测算法中引入轻量化的金字塔池化模块[20]来融合多层级特征的上下文抓取特征,以进一步提升算法的性能.

金字塔池化模块结构如图9所示. 首先,将多层级特征作为模块的输入特征,经过全局自适应平均池化(global adaptive average pooling, GAP)操作,得到4个不同尺度大小的池化子区域特征. 然后,使用1×1卷积对这些池化子区域特征进行降维处理,再对降维后的特征进行上采样操作,使其尺寸与输入特征相同. 最后,将得到的池化子区域特征与输入特征在通道维度进行拼接,并再次使用1×1卷积对拼接特征进行降维,得到最终的融合特征. 多尺度池化子区域的尺寸分别为3×3、7×7、15×15、31×31,这些池化子区域特征聚合了输入特征中不同区域的局部特征. 通过融合这些多尺度池化子区域特征,可以将更广泛的上下文抓取特征用于抓取检测,从而尽可能避免抓取检测算法陷入到局部最优的检测结果.

图 9

图 9   金字塔池化模块结构图

Fig.9   Structure of pyramid pool module


2.4. 预测输出头

预测输出头结构如图10所示. 预测输出头采用全卷积神经网络结构,通过卷积和上采样操作,将主干网络提取的抓取特征以单阶段回归的方式解码为与原始输入图像尺寸相同的抓取中心$ {\boldsymbol{Q}} $、抓取角度余弦编码$ {{\boldsymbol{\varPhi }}_{\cos }} $、抓取角度正弦编码$ {{\boldsymbol{\varPhi }}_{\sin }} $、抓取宽度${\boldsymbol{W}}$这4个抓取参数的热力图. 通过这种方式,在对原始输入图像进行像素级抓取检测的同时,也在一定程度上解决了直接使用全连接层对特征图进行解码所存在的参数量过大的问题.

图 10

图 10   预测输出头结构图

Fig.10   Structure of predict head


2.5. 损失函数

使用Huber loss函数$ L $作为RTGN预测输出$ {\boldsymbol{Q}} $${\boldsymbol{W}}$$ {{\boldsymbol{\varPhi }}_{\cos }} $$ {{\boldsymbol{\varPhi }}_{\sin }} $的回归损失函数,总的回归损失${L_{{\text{obj}}}}$为4部分损失各自的均值之和.

$ {L_{{\text{obj}}}} = \sum\limits_{{{g}} \in {{G}}} {{\text{mean}}\;\left( {\sum\limits_{\left( {r,c} \right) \in {{g}}} {{L}\left( {{{{g}}_{\text{p}}}\left( {r,c} \right),\;{{{g}}_{\text{t}}}\left( {r,c} \right)} \right)} } \right)} . $

$ {L}\left( {x,y} \right) = \left\{ \begin{array}{l} 0. 5{\left( {x - y} \right)^2},\quad\left| {x - y} \right| < \delta ; \\ \delta \left( {\left| {x - y} \right| - 0. 5\delta } \right),\quad{\text{其他. }} \\ \end{array} \right. $

式中:$ {{G}} = \{ {\boldsymbol{Q}},{\boldsymbol{W}},{{\boldsymbol{\varPhi }}_{\cos }},{{\boldsymbol{\varPhi }}_{\sin }}\} $${{\boldsymbol{g}}_{\text{p}}}$${{\boldsymbol{g}}_{\text{t}}}$分别表示预测抓取和抓取标签对应的热力图,${{\boldsymbol{g}}_{\text{p}}},{{\boldsymbol{g}}_{\text{t}}} \in {{\bf{R}}^{H \times W}};$${{{g}}_{\text{p}}}(r,c)$${{{g}}_{\text{t}}}(r,c)$分别表示热力图${{\boldsymbol{g}}_{\text{p}}}$${{\boldsymbol{g}}_{\text{t}}}$$(r,c)$位置处的预测值、真值;$ {\text{mean}}\;( \cdot ) $表示对括号内数据求均值;$\delta $为Huber loss函数中用来控制对异常值敏感程度的超参数,在本研究中设置$\delta $=1. 0.

3. 实验结果与分析

3.1. 实验条件

RTGN的搭建和训练在Pytorch(1.13.0)深度学习框架下完成,编程语言为Python(3.9.15). 实验所用计算机操作系统为Ubuntu 20.04,GPU为NVIDIA GeForce RTX 2080,处理器为Intel© CoreTM i9-9900K CPU @ 3.60GHz×16,运行内存为48 GB. 训练时使用Adam参数优化算法,权值衰减(weight decay)为$1. 0 \times {10^{ - 8}}$,批量大小(batchsize)设置为8,epoch设置为250,每个epoch迭代训练200次,初始学习率设置为$ 1. 8 \times {10^{ - 4}} $,训练时学习率每9个epoch衰减0.99.

3.2. 数据集

在Cornell抓取数据集[6]上对RTGN进行训练和评估. Cornell数据集包含240种真实物体在不同位置和姿态下的885张RGB图像和深度图像,每张图像大小为640×480,该数据集在机器人二指平面抓取检测研究中被广泛使用[6-11,13-19].

由于RGB图像和深度图像的像素值数值范围不一致,统一将其线性归一化到[0,1. 0],并以0填充深度图像中的缺省值. 同时,对训练集图像进行数据增强来避免网络在训练过程中出现过拟合. 首先,将图像按标注抓取框中心进行最大尺寸为360×360的随机裁剪;然后,将图像缩放到256×256,并按图像中心在0~360°随机旋转;最后,将旋转后的图像再次缩放到256×256,并在水平、垂直方向上进行随机镜像翻转. 测试集图像的增强在训练集图像增强方式的基础上将随机裁剪变为固定360×360裁剪,并将旋转角度间隔调整为90°,每张测试图像经过增强后得到8张不同的图像.

3.3. 评估指标

使用矩形度量评估方式[5-11,13-19]来评估RTGN的抓取检测结果,其定义如下:若预测抓取框${G_{\text{p}}}$和标注抓取框${G_{\text{t}}}$同时满足以下2个条件,则认为预测抓取框${G_{\text{p}}}$为较好的抓取检测结果.

1)预测抓取框${G_{\text{p}}}$的抓取角度与标注抓取框${G_{\text{t}}}$的抓取角度之间的角度差小于30°;

2)预测抓取框${G_{\text{p}}}$与标注抓取框${G_{\text{t}}}$的Jaccard系数大于0. 25,其中Jaccard系数表达式如下:

$ J\left( {{G_{\text{p}}},{G_{\text{t}}}} \right) = \frac{{\left| {{G_{\text{p}}} \cap {G_{\text{t}}}} \right|}}{{\left| {{G_{\text{p}}} \cup {G_{\text{t}}}} \right|}}. $

式中:$ \left| {{G_{\text{p}}} \cap {G_{\text{t}}}} \right| $为预测抓取框${G_{\text{p}}}$与标注抓取框${G_{\text{t}}}$交集的面积大小,$\left| {{G_{\text{p}}} \cup {G_{\text{t}}}} \right|$为预测抓取框${G_{\text{p}}}$与标注抓取框${G_{\text{t}}}$并集的面积大小.

3.4. 实验结果

3.4.1. Cornell抓取数据集实验结果

与之前的研究[6-11,13-19]相同,采用五折交叉验证方法对RTGN进行评估,训练集与测试集的划分比例为4∶1,评估结果为5次测试结果的平均值. 同时,按照图像拆分(image-wise split)和对象拆分(object-wise split)2种方式对数据集进行划分. 图像拆分方式可以较好地评估模型对已知物体位置和姿态变化的适应性,对象拆分方式可以较好地评估模型对未知物体的泛化性[6-11,13-19].

RTGN为像素级的抓取检测算法,因此会为输入视觉图像的每一像素点生成预测抓取框,在测试时只选取抓取中心概率最大的预测抓取框用来评估(见式(2)). 在Cornell抓取数据集上,将RTGN与现有的一些代表性抓取检测算法[5-11,13-19]进行对比,实验结果如表1所示,其中最优结果加粗显示. 表中,A为准确率,v为检测速度.

表 1   Cornell抓取数据集上不同算法对比结果

Tab.1  Comparison results of different algorithms on Cornell grasping dataset

方法A/%v/ms
Image-wiseObject-wise
Jiang 等[5]60. 5058. 305000
Lenz 等[6]73. 9075. 601350
Redmon 等[10]88. 0087. 1076
Kumra 等[11]89. 2188. 96103
Guo 等[13]93. 2089. 10
Chu 等[14]96. 0096. 10120
Zhou 等[15]97. 7496. 61118
夏晶等[8]93. 8091. 3057
喻群超等[9]94. 1093. 30
张云洲等[7]95. 7194. 0117
Morrison 等[16]73. 0069. 0019
Kumra 等[17]97. 7096. 6020
Cheng 等[18]98. 0097. 0073
Wang 等[19]97. 9996. 7041. 6
RTGN98. 2697. 657

新窗口打开| 下载CSV


表1所示,RTGN在图像拆分和对象拆分上分别取得了98. 26%和97. 65%的最高检测准确率,并且RTGN的平均检测速度(7 ms)也超过了表1中其他的14种算法[5-11,13-19],表明RTGN兼顾了检测准确率和检测速度2方面性能的提升. 在图像拆分和对象拆分上的评估结果表明,RTGN不仅能够较好地适应抓取物体的位置和姿态变化,还对未参与训练的未知物体具有较强的泛化能力. 与此同时,RTGN对每张图像的平均抓取检测耗时仅为7 ms,完全满足抓取检测的实时性要求.

在对象拆分方式下,将RTGN在Cornell数据集上的部分测试结果进行可视化,如图11所示. 图中,从左到右的每列图像分别为抓取中心$ {\boldsymbol{Q}} $、抓取角度$ {\boldsymbol{\varPhi }} $、抓取宽度${\boldsymbol{W}}$及抓取检测结果,红绿色为真值抓取框, 品红-青色为预测抓取框. 如图11所示,RTGN能够对形状、大小、种类等变化不一的未知物体生成可靠的预测热力图,从而生成准确的抓取检测结果.

图 11

图 11   RTGN在Cornell数据集上的抓取检测可视化结果

Fig.11   Visualization results of grasping detection on Cornell grasping dataset predicted by RTGN


值得注意的是,由于数据集的不完全标注,在测试时RTGN的部分预测抓取矩形框并不满足矩形度量评估条件,但这些预测结果仍然可行[18],如图12所示. 参照Cheng等[18],本研究将这类误检结果也计入正例.

图 12

图 12   Cornell数据集的不完全标注

Fig.12   Incomplete labelled ground truth of Cornell grasping dataset


3.4.2. 消融实验

为了直观理解各模块对RTGN抓取检测性能的影响,对MAM模块和PPM模块进行消融实验. 同时,为了评估本研究设计的MAM模块对检测性能的影响,用已有的CBAM[23]模块对MAM模块进行替换,并进行检测性能对比. 实验环境和训练细节与上文一致,实验结果如表2所示. 其中基线算法(MDM-Backbone)为在RTGN(见图3)基础上去掉MAM模块,并以1×1卷积代替PPM模块,基线算法可用于评估本研究所设计的轻量化特征提取主干网络的检测性能. 实验结果表明,本研究所设计的轻量化特征提取主干网络在检测速度上优势明显(5.29 ms),并且MAM模块和PPM模块能够有效地进一步提升算法的抓取检测准确率. 其次,相比于CBAM[23]模块,无论是将MAM模块单独引入到网络中或是与PPM模块结合,都能够更有效地提升检测准确率. 将MAM模块和PPM模块结合后,算法在图像拆分和对象拆分上的检测准确率有明显提高,同时对算法的检测速度影响较小,从而使得算法的整体性能得到进一步提升.

表 2   Cornell数据集上模块消融实验对比结果

Tab.2  Ablation experiments on Cornell grasping dataset

网络架构A/%v/ms
Image-wiseObject-wise
MDM-Backbone97. 7396. 805. 29
+CBAM97. 86(+0. 13)96. 90(+0. 10)6. 42
+MAM97. 91(+0. 18)97. 00(+0. 20)6. 60
+PPM97. 95(+0. 22)97. 03(+0. 23)5. 64
+CBAM+PPM98. 08(+0. 35)97. 18(+0. 38)6. 74
+MAM+PPM98. 26(+0. 53)97. 65(+0. 85)6. 96

新窗口打开| 下载CSV


3.4.3. 模型参数大小对比实验

本研究采用全卷积神经网络结构,提出参数规模较小的轻量化实时抓取检测算法RTGN. 如表3所示为RTGN的模型性能和参数大小与已有方法[7-8,11,14-16]的对比. 表中,P为模型的参数量,F为模型的浮点运算次数.

表 3   不同方法的模型性能和参数大小对比结果

Tab.3  Comparison results of network performance and size for different methods

方法A/%v/msP/MF/G
Image-wiseObject-wise
Kumra 等[11]89. 2188. 96103>32
Chu 等[14]96. 0096. 1012028. 18
Zhou 等[15]97. 7496. 61118>30
Morrison 等 [16]73. 0069. 00190. 062
夏晶等[8]93. 8091. 3057>46
张云洲等[7]95. 7194. 0117>12
RTGN98. 2697. 6571. 6608. 00

新窗口打开| 下载CSV


现有方法难以同时满足检测准确率和检测速度的要求, Morrison等[16]具有较少的参数但准确率较低,有些研究[8,11,14-15]的准确率尚可但检测速度较低且参数量较大. 本研究提出的RTGN在参数规模为1.66 M的情况下,实现了检测准确率和检测速度2方面性能的提升,使得模型具有轻量化的特性.

与使用知识蒸馏[25]来使模型轻量化的方法不同的是,RTGN的轻量化是通过设计更为简单、轻量的网络结构来实现的. 这使得RTGN不依赖于教师模型,从而可以避免额外的训练过程以及教师模型性能对学生模型性能的影响,使得RTGN能够独立地达到理想的性能.

3.4.4. 单个未知物体抓取检测实验

为了评估RTGN对真实环境下的未知物体的抓取检测泛化性,从日常生活中选取69个形状、大小、种类等变化不一的物体进行抓取检测实验,使用的相机为Intel RealSense L515 RGB-D相机. 须注意的是,所选取的物体都未参与到RTGN的训练过程,即实验中使用的物体对RTGN来说都是未知物体,这可以较好地评估RTGN的泛化能力. 并且,与RTGN训练时所用的Cornell抓取数据集的白色背景不同,实际抓取场景下的光影变化、背景变化干扰更加明显,这要求抓取检测算法具有较好的鲁棒性. 在实验时每个物体按照不同的位置和姿态进行摆放,然后由RTGN生成抓取检测结果 (https://www.bilibili.com/video/BV1Gm4y1h72F/?spm_id_from=333.999.0.0).

为了综合评估RTGN在真实环境中对形状、大小、种类等变化不一的未知物体的检测效果,将RTGN与TF-Grasp[19]的抓取检测效果进行对比,如图13所示. 结果表明,当未知物体存在大尺度变化、光影干扰、透明物体等情况时,RTGN也能生成准确的抓取检测框. 相比于TF-Grasp[19],RTGN对真实环境下形状、大小、种类等变化不一的未知物体的抓取检测具有更好的泛化性和鲁棒性.

图 13

图 13   RTGN和TF-Grasp[19]对单个未知物体的抓取检测对比结果

Fig.13   Comparison results of RTGN and TF-Grasp[19] on grasping detection for single novel object


3.4.5. 多个未知物体抓取检测实验

在单个未知物体的抓取检测实验基础上,对多个未知物体进行抓取检测实验. 如图14所示为RTGN对多个未知物体的抓取检测的可视化结果. 图中,从上到下的每行图像分别为抓取中心$ {\boldsymbol{Q}} $、抓取角度$ {\boldsymbol{\varPhi }} $、抓取宽度${\boldsymbol{W}}$及抓取检测结果.

图 14

图 14   RTGN对多个未知物体的抓取检测可视化结果

Fig.14   Visualization results of grasping detection for multiple novel objects predicted by RTGN


图14所示,尽管RTGN在训练时仅使用了单个物体,但在多个未知物体的抓取检测任务中,RTGN仍能生成准确的预测热力图,从而得出可靠的抓取检测结果. 该实验表明RTGN能够较好地适应多个未知物体的抓取检测.

3.5. 机器人抓取实验

为了进一步评估RTGN抓取真实环境中的未知物体的应用效果,搭建了如图15所示的机器人抓取平台. 所使用的机器人为大象6自由度机械臂Pro600,图中数字1~6代表其6个关节;相机为Intel RealSense L515 RGB-D相机,相机与机器人之间以eye-to-hand方式固定安装;末端夹持工具为平行二指电动夹爪.

图 15

图 15   机器人抓取实验平台

Fig.15   Physical platform of robotic grasping experiment


机器人抓取实验所用物体为抓取检测实验中选取的20个代表物体,如图16所示. 这些物体的形状、大小、种类各不相同,并且都未参与到RTGN的训练过程,即抓取物体均为未知物体.

图 16

图 16   机器人抓取实验所用物体

Fig.16   Objects used in robotic grasping experiment


在机器人抓取实验中,采用顶抓策略控制机械臂执行抓取动作. 首先,初始化机械臂位姿以及夹爪张开宽度,并将RTGN在图像像素坐标系下的抓取检测结果转换到机器人基座坐标系,得到抓取点位置和抓取角度;然后,控制机械臂末端到达抓取点的正上方,并旋转末端执行器至对应的抓取角度;最后,控制机械臂末端竖直向下移动(夹爪抓取深度应尽可能大,以增大夹爪两指与物体的接触面积,避免物体滑动,同时也要考虑夹爪两指抓取区域环境深度分布情况和夹爪两指长度限制,以避免发生碰撞),并使夹爪闭合,完成对物体的抓取.

RTGN的抓取检测结果由图像像素坐标系下向机器人基底坐标系下的转换如下:

$ z\left[ {\begin{array}{*{20}{c}} u \\ v \\ 1 \end{array}} \right] = {\boldsymbol{K}}\left[ {\begin{array}{*{20}{c}} {\boldsymbol{R}}&{\boldsymbol{T}} \\ 0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} X \\ Y \\ Z \\ 1 \end{array}} \right]. $

式中:$z$为像素坐标系下$(u,v)$处的像素点在相机坐标系下的$Z$轴坐标值,可由深度图像得到;${\boldsymbol{K}}$为相机的内参矩阵,通过标定相机内部参数得到,${\boldsymbol{K}} \in {{\bf{R}}^{3 \times 4}} $${\boldsymbol{R}} $${\boldsymbol{T}} $为机器人基座坐标系与相机坐标系之间的旋转变换矩阵和平移变换矩阵,通过标定相机外部参数得到,${\boldsymbol{R}} \in {{\bf{R}}^{3 \times 3}} ,\;{\boldsymbol{T}} \in {{\bf{R}}^{3 \times 1}}$$(X, Y,Z)$为像素坐标系下$(u,v)$处的像素点在机器人基座坐标系下的坐标.

机器人成功抓取的部分结果如图17所示,图像从左到右分别表示抓取位姿检测、抓取位姿执行、物体被抓起. 抓取实验的统计结果如表4所示. 表中,As为成功率. 可以看出,在对20个未知物体的400次抓取中,机器人的平均抓取成功率为96%. 该实验表明RTGN在真实环境中对于形状、大小、种类等变化不一的未知物体的抓取具有较好的实用性.

图 17

图 17   机器人对未知物体的抓取

Fig.17   Robotic grasping of novel objects


表 4   机器人抓取统计结果

Tab.4  Statistic results of robotic grasping experiment

物体As物体As
桔子100% (20/20)糖果100% (20/20)
饼干100% (20/20)塑料盘100% (20/20)
鼠标85% (17/20)塑料碗95% (19/20)
纸杯90% (18/20)雨伞80% (16/20)
酒精喷雾瓶90% (18/20)胶布100% (20/20)
五号电池100% (20/20)圆柱积木100% (20/20)
螺丝刀100% (20/20)牛奶盒95% (19/20)
牙膏盒100% (20/20)牙膏90% (18/20)
洗衣液瓶100% (20/20)刷子100% (20/20)
洗面奶95% (19/20)化妆水瓶100% (20/20)

新窗口打开| 下载CSV


4. 结 语

为了进一步提升机器人对形状、大小、种类等变化不一的未知物体的抓取检测准确率及检测速度,本研究提出轻量化的抓取位姿实时检测算法. 算法以多尺度空洞卷积模块为基础来构建轻量化的特征提取主干网络,有效地提升了检测速度. 通过结合混合注意力模块和金字塔池化模块,增强了算法对重要抓取特征的表达能力以及对抓取物体的抓取感知能力,进一步提升了检测准确率. 实验结果表明,相比于现有算法,所提算法兼顾了检测准确率和检测速度2方面性能的进一步提升. 在真实抓取场景中,所提算法对形状、大小、种类等变化不一的未知物体表现出良好的抓取检测效果,对多个未知物体的抓取检测也有较好的适应性.

尽管本研究所提方法取得了较好的准确率与实时性,但仍然存在一些有待改进的地方. 由于所提算法在检测时无须考虑抓取物体的种类,这可能导致机器人对多个物体进行抓取时不能优先抓取指定类别的物体. 在未来的工作中可以将目标检测和语义分割方法进行结合,避免抓取过程的无序性.

参考文献

刘亚欣, 王斯瑶, 姚玉峰, 等

机器人抓取检测技术的研究现状

[J]. 控制与决策, 2020, 35 (12): 2817- 2828

[本文引用: 4]

LIU Yaxin, WANG Siyao, YAO Yufeng, et al

Recent researches on robot autonomous grasp technology

[J]. Control and Decision, 2020, 35 (12): 2817- 2828

[本文引用: 4]

BOHG J, MORALES A, ASFOUR T, et al

Data-driven grasp synthesis: a survey

[J]. IEEE Transactions on Robotics, 2014, 30 (2): 289- 309

DOI:10.1109/TRO.2013.2289018      [本文引用: 2]

仲训杲, 徐敏, 仲训昱, 等

基于多模特征深度学习的机器人抓取判别方法

[J]. 自动化学报, 2016, 42 (7): 1022- 1029

ZHONG Xungao, XU Min, ZHONG Xunyu, et al

Multimodal features deep learning for robotic potential grasp recognition

[J]. Acta Automatica Sinica, 2016, 42 (7): 1022- 1029

杜学丹, 蔡莹皓, 鲁涛, 等

一种基于深度学习的机械臂抓取方法

[J]. 机器人, 2017, 39 (6): 820- 828

[本文引用: 3]

DU Xuedan, CAI Yinghao, LU Tao, et al

A robotic grasping method based on deep learning

[J]. Robot, 2017, 39 (6): 820- 828

[本文引用: 3]

JIANG Y, MOSESON S, SAXENA A. Efficient grasping from RGBD images: learning using a new rectangle representation [C]// IEEE International Conference on Robotics and Automation . Shanghai: IEEE, 2011: 3304−3311.

[本文引用: 7]

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

[本文引用: 16]

张云洲, 李奇, 曹赫, 等

基于多层级特征的机械臂单阶段抓取位姿检测

[J]. 控制与决策, 2021, 36 (8): 1815- 1824

[本文引用: 8]

ZHANG Yunzhou, LI Qi, CAO He, et al

Single-stage grasp pose detection of manipulator based on multi-level features

[J]. Control and Decision, 2021, 36 (8): 1815- 1824

[本文引用: 8]

夏晶, 钱堃, 马旭东, 等

基于级联卷积神经网络的机器人平面抓取位姿快速检测

[J]. 机器人, 2018, 40 (6): 794- 802

[本文引用: 7]

XIA Jing, QIAN Kun, MA Xudong, et al

Fast planar grasp pose detection for robot based on cascaded deep convolutional neural networks

[J]. Robot, 2018, 40 (6): 794- 802

[本文引用: 7]

喻群超, 尚伟伟, 张驰

基于三级卷积神经网络的物体抓取检测

[J]. 机器人, 2018, 40 (5): 762- 768

[本文引用: 3]

YU Qunchao, SHANG Weiwei, ZHANG Chi

Object grasp detecting based on three-level convolution neural network

[J]. Robot, 2018, 40 (5): 762- 768

[本文引用: 3]

REDMON J, ANGELOVA A. Real-time grasp detection using convolutional neural networks [C]// IEEE International Conference on Robotics and Automation . Seattle: IEEE, 2015: 1316−1322.

[本文引用: 2]

KUMRA S, KANAN C. Robotic grasp detection using deep convolutional neural networks [C]// IEEE/RSJ International Conference on Intelligent Robots and Systems . Vancouver: IEEE, 2017: 769−776.

[本文引用: 14]

HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition [C]// IEEE Conference on Computer Vision and Pattern Recognition (CVPR) . Las Vegas: IEEE, 2016: 770−778.

[本文引用: 3]

GUO D, SUN F C, LIU H P, et al. A hybrid deep architecture for robotic grasp detection [C]// IEEE International Conference on Robotics and Automation . Singapore: IEEE, 2017: 1609−1614.

[本文引用: 10]

CHU F J, XU R N, VELA P A

Real-world multiobject, multigrasp detection

[J]. IEEE Robotics and Automation Letters, 2018, 3 (4): 3355- 3362

DOI:10.1109/LRA.2018.2852777      [本文引用: 7]

ZHOU X W, LAN X G, ZHANG H B, et al. Fully convolutional grasp detection network with oriented anchor box [C]// IEEE/RSJ International Conference on Intelligent Robots and Systems . Madrid: IEEE, 2018: 7223−7230.

[本文引用: 7]

MORRISON D, CORKE P, LEITNER J. Closing the loop for robotic grasping: a real-time, generative grasp synthesis approach [EB/OL]. (2018−05−15) [2023−02−06]. https://arxiv.org/abs/1804.05172v2.

[本文引用: 10]

KUMRA S, JOSHI S, SAHIN F. Antipodal robotic grasping using generative residual convolutional neural network [C]// IEEE/RSJ International Conference on Intelligent Robots and Systems . Las Vegas: IEEE, 2020: 9626−9633.

[本文引用: 3]

CHENG H, WANG Y Y, MENG Max Q H. Grasp pose detection from a single RGB image [C]// IEEE/RSJ International Conference on Intelligent Robots and Systems . Prague: IEEE, 2021: 4686−4691.

[本文引用: 5]

WANG S C, ZHOU Z L, KAN Z

When transformer meets robotic grasping: exploits context for efficient grasp detection

[J]. IEEE Robotics and Automation Letters, 2022, 7 (3): 8170- 8177

DOI:10.1109/LRA.2022.3187261      [本文引用: 14]

ZHAO H S, SHI J P, QI X J, et al. Pyramid scene parsing network [C]// IEEE Conference on Computer Vision and Pattern Recognition (CVPR) . Honolulu: IEEE, 2017: 6230−6239.

[本文引用: 3]

WANG P Q, CHEN P F, YUAN Y, et al. Understanding convolution for semantic segmentation [C]// IEEE Winter Conference on Applications of Computer Vision (WACV) . Lake Tahoe: IEEE, 2018: 1451−1460.

[本文引用: 2]

SRIVASTAVA N, HINTON G, KRIZHEVSKY A, et al

Dropout: a simple way to prevent neural networks from overfitting

[J]. The Journal of Machine Learning Research, 2014, 15 (1): 1929- 1958

[本文引用: 1]

WOO S, PARK J, LEE J Y, et al. CBAM: convolutional block attention module [C]// Proceedings of the European Conference on Computer Vision (ECCV) . Munich: Springer, 2018: 3−19.

[本文引用: 9]

HOU Q B, ZHOU D Q, FENG J S. Coordinate attention for efficient mobile network design [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) . Nashville: IEEE, 2021: 13708−13717.

[本文引用: 3]

HINTON G, VINYALS O, DEAN J. Distilling the knowledge in a neural network [EB/OL]. (2015−03−09) [2023−10−27]. https://arxiv.org/abs/1503.02531v1.

[本文引用: 1]

/