融合语义实例重建的抓取位姿估计方法*
2023-10-24韩慧妍王文俊况立群薛红新
韩慧妍,王文俊,韩 燮,况立群,薛红新
(1.中北大学计算机科学与技术学院,山西 太原 030051;2.机器视觉与虚拟现实山西省重点实验室,山西 太原 030051;3.山西省视觉信息处理及智能机器人工程研究中心,山西 太原 030051)
1 引言
基于视觉信息计算物体的抓取位姿是智能机器人的一项基本任务[1]。面对种类繁多、位姿各异、杂乱堆叠的物体,需要从单视角输入信息中推断每个物体的几何和物理属性[2]。一种简单的方法是将位姿约束到4-DoF(Degree of Freedom)实现平面抓取。但是,在抓取水杯、瓶子等物体时,容易出现重心扰动导致抓取失败的问题。在复杂堆叠场景中,需要更加灵活的抓取方式[3]。
随着深度学习从二维数据向三维数据的拓宽,很多研究人员将深度学习用于6-DoF抓取,以克服平面抓取的局限性。最早的网络模型[4]通过评估抓取样本的质量分数,获取最佳抓取位姿。最近的研究[5-7]则通过回归6-DoF位姿参数以获得鲁棒抓取,其中位姿参数以四元数为主[6,7]。但是,其存在一些不足:(1)单任务的抓取预测容易忽略物体的边界信息,无法区分相邻的不同物体,常出现同时抓取多个物体的情况,导致成功率不高[8];(2)四元数形式的抓取方向非线性且不连续,不利于模型拟合[9]。因此,本文提出一种基于多任务学习的抓取位姿估计方法,从场景的单视角截断符号距离函数TSDF(Truncated Signed Distance Function)值中直接回归6-DoF抓取位姿。本文主要工作包括:
(1)提出一种融合语义实例重建的抓取检测网络SIRGN(Semantic Instance Reconstruction Grasping Network),进行6-DoF抓取位姿估计的同时,利用前景和实例中心预测被抓取物体的隐式几何信息,辅助抓取任务。
(2)提出一种分解旋转矩阵的抓取方向表示方法,利用接近向量和垂直向量组成单位正交向量组,间接求得第三维方向,降低高维位姿学习难度。
(3)在仿真环境和真实环境完成抓取实验,SIRGN的抓取成功率和场景清除率相比体积抓取网络VGN(Volumetric Grasping Network)[7]和GIGA(Grasp detection via Implicit Geometry and Affordance)[10]的均有显著提升。
2 相关工作
(1)抓取位姿估计:判别式方法使用启发式规则采样抓取候选样本,训练一个评估网络对每个样本进行评价。由于采样效率的限制,完成对全部样本的检索是一项颇为耗时的任务[6]。回归式抓取方法旨在克服判别式方法的低效性,在搜索空间中同时预测所有点的抓取得分和抓取位姿参数[11],其关键在于寻找SO(3)(3D Special Orthogonal)空间中抓取方向的高效表示[12]。本文在体素表示的体积抓取网络[7](VGN)基础上,提出一种分解旋转矩阵的抓取方向表示方法,与轴角或四元数的表示方式相比,本文方法更直观,且具有连续性[13]。
(2)单视角三维重建:当目标形状未知时,基于已有经验和单视角目标三维信息对其进行重建,利用重建结果计算抓取位姿,可扩大抓取的适用范围[14]。由于三维卷积层占用大量的内存,通常难以完成高分辨率的重建任务。ConvONet(Convolutional Occupancy Networks)[15]通过将三维特征投影到二维正交平面,基于隐式三维重建提高了效率。本文以ConvONet作为主干网络。
(3)未知目标实例分割:机器人处理未知目标时,无法采用预设类别的实例分割方法。对未知目标进行实例分割有2种方法:一种方法是通过预测分割出场景的前景目标,然后进行后处理分割出感兴趣的目标[16];另一种方法是基于三维信息得到实例中心投票结果,通过聚类方法进行实例分割[17]。3D DSN(Depth Seeding Network)[18]结合这2种方法,得到与类别无关的实例级掩码,过滤出指定目标。本文对3D DSN进行简化,加入语义实例重建分支,得到实例的隐式几何信息,为目标的鲁棒抓取提供了基础。
3 问题描述
本文研究了单视角深度图像下未知刚体的6-DoF抓取位姿估计问题。首先,在桌面上放置多个刚体形成待处理杂乱场景;然后,使用深度相机拍摄得到单视角深度图像,计算每个点到最近物体表面的截断距离,得到截断符号距离函数(TSDF)值;最后,传递到深度学习网络模型中,并行评估多个查询点的抓取位姿,经过筛选得到可抓取位姿。
(1)输入:作为输入的TSDF是一个N×N×N大小的体素网格V,其中每个单元Vi的值为该单元到最近物体表面的截断距离。与单纯的体素相比,TSDF还包含距离信息,可以提高抓取检测性能[7,19]。
(2)查询点:在点云空间中均匀采样N3个查询点,形成集合P并将其对齐到体素网格。网络解码分支输出抓取位姿和语义实例信息。
(3)抓取位姿估计:将6-DoF抓取位姿定义为g=(p,r,w),其中p∈R3为抓取中心(同查询点坐标),r∈SO(3)表示抓取方向,w∈R表示夹持器指尖张开距离,即抓取宽度。对每个抓取位姿,计算抓取质量q∈[0,1],即抓取成功的概率。
(4)语义实例重建:对于查询点p∈R3,实例语义预测模块计算其所属的刚体目标,同时重建整个场景的前景信息,有助于物体杂乱时目标抓取位姿的估计[9]。
多任务抓取位姿估计的目标是找到映射t:(V,P)→(G,Q,I),其中G、Q和I分别表示每个查询点的抓取位姿g、抓取质量q和实例信息i的集合。
4 抓取位姿估计方法
为了高效地预测抓取位姿和语义实例信息,在ConvONet[15]的Volume-Multi Plane分支基础上,搭建融合语义实例重建的抓取检测网络SIRGN,其整体框架结构如图1所示,包括编码和解码2大模块。
Figure 1 SIRGN network architecture
在特征编码部分,给定场景的单视角TSDF输入V,通过单层3D CNN获得体素级的初步特征信息。将初步特征投影到XYZ标准正交平面,对3组二维特征分别使用二维U-Net(U-Network)提取深层特征,完成特征编码。
在特征解码部分,出于对训练时效的考虑,不直接使用体素所在坐标监督输出,而是在空间中随机采样查询点。对于给定查询点pi∈P,首先使用双线性插值从投影平面得到pi的3个平面特征分量,经过组合得到特征向量ψ(pi);其次,将每个ψ(pi)输入通过残差连接的全连接网络,分别预测pi的抓取位姿(p,r,w),并重建其语义实例信息(前景语义预测f,所属实例投票c)。在测试时,选取所有体素坐标作为查询点,并将每个查询点的预测值相结合,即得到全场景各点的抓取位姿、前景掩码和实例掩码。
4.1 抓取位姿估计分支
抓取位姿估计的目标是预测全场景中各查询点的抓取属性,为后续鲁棒性抓取提供基础。由于SE(3)(3D Special Euclid)空间抓取位姿的高维特性,网络难以直接回归这些参数[11]。因此,抓取位姿估计的关键是寻找一种高效的抓取位姿表示方法。
由于使用基于查询点的抓取位姿估计方法,无需显式回归抓取点3D坐标,只需计算三自由度抓取方向r′和抓取宽度w。四元数/向量组表示优于其它三参数表示方法(欧拉角、旋转向量),能在学习正运动学方面取得更高的精度[19]。但是,四元数的不连续性是导致拟合结果性能饱和的重要原因[8,11],因此并非抓取方向的最佳选择。在LookAt视图矩阵和三维方向降维方法[11]的启发下,提出一种高效的基于向量组的抓取方向表示方法,用2个正交的单位向量分解旋转矩阵r′,如式(1)所示:
r′=[u×l,u,l]
(1)
其中,l∈R3表示接近向量,即夹持器靠近物体的方向;u∈R3为垂直向量,即与夹持器闭合平面垂直的方向;2个向量根据右手定则得到u×l向量,三者组合得到旋转矩阵。新的抓取位姿表示如图2所示。
Figure 2 Grasping pose representation
训练时,将旋转损失Lr分为3个部分:偏移损失Loff、相关损失Lcor和正交损失Lort。偏移损失倾向约束预测向量的位置偏移量,使其与真实值距离更近;相关损失偏向约束角度差值,使两者更接近平行关系;正交损失限制预测向量组的垂直关系,以符合旋转矩阵的要求。旋转损失及其分量分别如式(2)和式(3)所示:
(2)
(3)
对于查询点集合P,若点pi存在抓取位姿参数标注,则设置该点的抓取质量为1,记为可抓取点;否则设置该点的抓取质量为0。对可抓取点和非可抓取点采取不同的训练策略,集合P的抓取损失函数如式(4)所示:
(4)
其中,Lq为抓取质量的二元交叉熵损失,衡量该点是否可抓取;对于可抓取点组成的集合Pg⊆P,进一步拟合其位姿参数损失Lr和Lw,Lw代表抓取宽度的均方误差损失,β为平衡系数。
4.2 语义实例重建分支
机器人需要场景的几何信息来估计抓取位姿[10,20],同时也需要语义实例信息来获取场景的完整几何信息并区分紧邻的多个物体,以完成更具针对性的抓取[9,11]。三维数据集和仿真工具的涌现为三维深度学习(如实例/语义分割和几何重建)创造了条件[21,22]。为了获取几何和实例信息,将语义实例重建分解为前景语义预测和所属实例中心投票任务,以完成未知目标的隐式实例级重建。前景语义预测根据查询点所在坐标是否被物体占据,分为前景和背景,网络输出每个查询点属于前景的概率,即占据概率,在这一过程中完成对物体的隐式重建。
在所属实例中心投票任务中,对3D DSN[18]进行改进,省略耗时的聚类损失计算,直接回归查询点的实例中心坐标而非相对实例中心的偏移向量,使得属于同一实例的查询点的预测值更具一致性。将所得实例信息与重建获得的隐式几何信息相结合,完成对场景中物体的未知目标分割任务,达到区分每个实例的目的。
训练时,已知每个点的前景语义(占据)信息和其所属实例中心坐标,使用二元交叉熵函数优化前景损失Lf,而中心损失函数Lc则由加权的均方误差损失函数拟合每个物体中心所在坐标,如式(5)所示:
(5)
对于查询点集合P,总的语义实例损失函数如式(6)所示:
(6)
将2个分支各自的损失函数相加,得到SIRGN方法的整体损失函数,定义为L=LG+LI。
5 实验
5.1 实验设置
5.1.1 数据集及数据生成
使用2021年公开的VGN[7]方法提供的数据集完成模型的训练,利用PyBullet工具搭建仿真抓取环境,包含303个训练对象和40个测试对象,模拟了16 000个Packed(拥挤)场景和83 000个Pile(堆叠)场景,每个场景包含不同数量的对象及其多样化、密集的鲁棒抓取位姿信息,可以全面地评估网络的抓取位姿估计性能。为完成SIRGN的多任务训练,在每个场景中均匀采样100 000个点,依次记录每个采样点的前景语义信息(该点是否属于抓取对象)和实例中心信息(用该点所属实例的重心坐标表示)。
5.1.2 评价指标
由于工作空间内合理抓取标注值难以覆盖完全,且仿真与真实环境中同一场景具有不可再现性,抓取检测通常以抓取结果作为评价指标,故采用与其他研究人员相同的评价方法,使用非训练集对象进行测试,以成功率和清除率作为评价指标:
(1)抓取成功率GSR(Grasp Success Rate):在指定位姿闭合夹持器,若物体在夹持器回退过程中未滑落,则记为一次成功抓取。成功抓取次数与总抓取次数的比值为成功率。
(2)清除率DR(Delutter Rate):对单个场景进行连续清理作业,直到以下情况之一发生:①所有对象被移除;②剩余对象没有找到合适的抓取位姿;③连续发生2次抓取失败。移除物体的数量占总物体数量的比例为清除率。
5.1.3 实验设置
将单视角深度图像渲染为分辨率N=40的TSDF数据。对于所提端到端网络SIGRN,同时训练N3个坐标的输出值会导致训练时间过长。为了提高训练的效率,使用查询点策略,每次训练均从训练集所给的10 000个查询点中随机选取2 048个点用于监督输出,该值与以往工作设置一致,且在一定程度上起到了避免过拟合的作用。对于损失函数,设置参数α1=0.6,α2=α3=0.2,β=0.01。训练时使用Adam优化器,学习率为2×10-4,利用NVIDIA GeForce RTX 3090显卡分别对2类抓取场景训练10个批次,批大小为32。在测试时,对Pile和Packed环境分别进行5次实验,每次实验均使用PyBullet工具随机生成100个抓取测试场景。对输出的抓取位姿进行筛选时,在工作空间均匀采样N3个查询点,使得每个查询点坐标均与体素单元对应,过滤掉抓取质量低于阈值σ=0.9和处于检索空间边缘的抓取点,最后得到场景的较优抓取。
5.2 实验结果
为了更直观地验证SIRGN的抓取位姿估计能力,将目前较先进的VGN[7]和GIGA[10]方法与本文的SIRGN进行对比。从数据集2类场景中分别选取具有代表性的3个场景,3个方法的较优抓取可视化结果对比如图3所示。图中标记了一些重要的结果,三角代表失败抓取,圆圈表示成功抓取。
Figure 3 Qualitative results of 6-DoF grasping experiments
从抓取鲁棒性方面来看,使用四元数的VGN和GIGA方法对原始标注的抓取方向拟合效果较差,在Packed_2和Pile_3场景的长方体位置产生了碰撞抓取;而SIRGN方法在这些位置均可以得到正确的抓取位姿,说明SIRGN的分解旋转矩阵抓取方向表示更容易学习,抓取位姿预测更准确。
从抓取多样性方面来看:(1)未进行几何重建的VGN方法由于信息缺失无法区分场景,在Packed_1场景中忽略了后排的2个圆柱,在Pile_1场景中没有检测到抓取位姿;而SIRGN方法通过从单视角输入中估计物体不可见部分的几何信息,生成了多样的抓取位姿,说明重建任务学习到的完整3D信息能对被遮挡或堆叠对象的抓取提供几何信息补充。(2)VGN和GIGA方法由于未设置归一化系数,均忽略了Pile_1场景中右侧的盒子、左后方的玩具鸭和Pile_2场景中左侧的盒子;而SIRGN方法对实例重建训练时设置了归一化系数,可以保证不同大小的物品均有相等的优化机会,获取分布更广泛的抓取位姿。
从抓取合理性方面来看:(1)GIGA方法的场景级重建将Packed_1后排靠近的3个物品视为一个整体,将位姿选在物体之间,导致抓取落空;在Packed_3中,由于视角限制,右下角的2个盒子也被当作一个物体,产生无效抓取;而SIRGN方法通过检索学习到的实例级几何信息,正确地估计了实例的形状,得到合理的抓取。(2)缺乏实例信息导致的抓取失败情况在Pile场景中同样出现了,GIGA方法在Pile_1和Pile_2场景中抓取2个物品间的缝隙,导致失败的碰撞抓取;而SIRGN额外增加的语义实例信息使模型能够识别紧邻实例间的差异,产生属于每个实例的合理抓取。
在仿真环境测试时,在前一步实验基础上获取全景较优抓取位姿信息,使用非极大值抑制得到用于执行的抓取位姿,并计算仿真环境中的平均抓取成功率GSR和平均清除率DR,2类指标的对比结果如表1所示,表中数值第1部分为中心值,第2部分为最高上限和最低下限。从表1中可以看出,SIRGN在2类抓取场景的2个指标均优于VGN和GIGA方法的,在Pile类场景的抓取结果体现更明显,SIRGN方法比VGN方法的GSR和DR分别高出了17.4%和15.3%,比GIGA方法的GSR和DR分别高出了8.8%和9.5%。这说明SIRGN的抓取方向表示方法降低了拟合难度,可以更准确地回归抓取角度真值,显著提升了抓取成功率。同时,在Pile场景中,SIRGN方法比VGN和GIGA方法的成功率的标准方差分别降低了2.3%和1.3%,说明语义实例重建分支使网络能够更准确地理解实例几何特征和实例边界,在堆叠场景的抓取表现更稳定。在计算时间方面,由于并行计算的高效性,SIRGN方法单次推理仅需25 ms,与GIGA(23 ms)和VGN(22 ms)的基本持平,实时性较强。
Table 1 Quantitative results of 6-DoF grasping experiments
5.3 消融实验
5.3.1 网络模型设置
SIRGN多任务学习抓取位姿估计方法引入了语义实例重建模块和分解旋转矩阵表示的抓取方向,以提高抓取位姿估计的性能。为了验证这些模块的必要性,实施模型设置消融实验,实验结果如表2所示。
Table 2 Ablation experiment results of model setup
在位姿学习方面,四元数方法具备普遍性[13]。相关研究表明,其性能参数优于其余三参数表示方法[19]的,故以四元数(Quaternion)表示抓取方向作为基线。参考以往研究的做法,训练时直接优化四元数预测值与真实值之间的L2距离,同时使用单任务学习模式,仅保留抓取位姿预测分支。基线设置与VGN方法的较为相似,二者仅存在网络结构的差异,但GSR和DR平均提升了8.4%和6.3%以上,说明SIRGN方法使用的ConvONet网络的特征提取能力更强。
在基线的基础上,使用SIRGN方法所提出的基于分解旋转矩阵的向量组方法(Vector-pairs)替换四元数用于学习抓取方向,结果显示Packed/Pile场景的GSR和DR较四元数方法的分别提升了3.8%/5.4%和1.7%/3.1%,表明所提向量组方法学习到的抓取角度能更好地拟合标注值,有利于提高抓取成功率。
在添加所提出的语义实例重建任务后(Vector-pairs+Semantic),各项指标均提升了3%左右,且Pile场景的GSR和DR的方差分别降低了1.6%和2.6%。这说明SIRGN方法对堆叠场景的泛化能力更强,语义实例重建可以帮助模型获得全场景的隐式实例信息,其中的几何边界信息对多物体抓取发挥了重要作用。
5.3.2 参数设置
在所有可变参数中,体素分辨率N是影响实验结果的首要因素[7]。根据已有研究对分辨率设置的经验,以及出于与对比方法公平比较的目的,在上述实验中均设置N=40。为探究分辨率对抓取性能和推理速度的影响,通过N=30,50这2种不同的消融设置进行对比分析。
参数设置实验结果如表3所示。纵向分析,随着体素分辨率的增加,抓取成功率和清除率均有不同程度的提高,但增加的趋势在放缓。同时,由于立方数的影响,底数增长相同数量会导致参与计算的体素数成倍增加,在N=50时,单次推理需要38 ms,实时性水平有所下降。从横向角度出发,相比于Packed场景的抓取结果,高分辨率设置对于Pile场景所获得的收益更大,这是由于Pile场景的结构更加复杂,对抓取的精度要求更高。过高的分辨率设置会加重计算负担并影响推理速度,在具体实施时,可根据环境条件和时间要求对参数N进行灵活设置,以达到实际工作的要求。
Table 3 Ablation experiment results of parameter setup
消融实验充分证明了SIRGN方法参数设置的合理性,以及语义实例重建模块和分解旋转矩阵的抓取方向表示方法的有效性。
5.4 真实环境实验
本节在真实环境中完成实验以验证仿真环境训练结果的可移植性。使用UR3机械臂以及RealSense D435深度相机组成“眼在手上”抓取平台,每轮随机选取与仿真物品形状类似的5个对象搭建测试环境,分别使用VGN、GIGA和SIRGN方法对Packed和Pile场景进行15轮实验,并预测最优抓取。SIRGN方法基于分解旋转矩阵表示抓取方向,在真实环境中同样适用。与VGN和GIGA方法相比,在Packed场景中抓取圆柱类型对象时更稳定,发生抓取滑脱的情况更少,如图4a和图4b所示。由于缺乏实例级信息,在Pile场景中,VGN和GIGA方法会发生同时抓取多个物体导致的抓取碰撞情况。但是,SIRGN方法通过语义实例重建分支学习到与类别无关的实例信息,能够得到单个物体的无碰撞抓取,避免了这一问题,如图4c和图4d所示。
Figure 4 Instances of physical environment grasping
真实环境实验的定量结果如表4所示,其中括号内的数字表示具体比值,括号外的数字表示约数。与VGN和GIGA方法相比,SIRGN方法获得了更高的抓取成功率和场景清除率。这与仿真实验的结果一致,说明TSDF适用环境广泛,数据不受环境光照、物体纹理等因素的影响,具备从仿真环境到真实环境迁移的能力。此外,SIRGN方法总的抓取尝试次数较VGN和GIGA的平均减少了6.5次和4.5次,意味着对某一对象需要再抓取的情况更少。这说明所提分解旋转矩阵方法降低了抓取方向的学习难度,得到的抓取位姿更合理,执行效率更优。
Table 4 Experiment results in physical environment
6 结束语
本文将非结构化环境中的6-DoF抓取位姿估计定义为多任务学习问题,在预测抓取的同时监督全场景的语义实例输出;针对高维位姿学习的复杂性,对旋转矩阵进行分解,提出了一种简化的抓取位姿学习方法。在仿真实验中,研究了所提方法对抓取成功率和清除率的影响。结果表明,实例级隐式几何信息与新的抓取方向表示方法相结合能够改善抓取位姿学习,抓取形式更丰富。真实环境的实验结果表明,基于TSDF数据的网络模型无需调整就可以直接迁移到真实环境,模型的泛化能力较强。
该方法还有改进空间:(1)现有的网络结构将三维特征投影到二维平面,可能存在信息丢失的情况,下一步可以寻找更加高效的编码网络。(2)利用语义实例重建分支输出的实例级掩码,以实现场景中特定实例的抓取。(3)将抓取执行路径中的碰撞考虑在内,以避免由于物体间遮挡导致抓取失败。