本发明涉及机器人操作技能学习中的抓取检测领域,具体涉及一种单视角点云下基于域迁移的机器人抓取位姿检测方法。
背景技术:
伴随着人工智能的发展,机器人技术领域也发生了飞跃性的进步。现阶段,智能机器人期望具备感知环境和与环境进行交互的能力,在机器人操作技能学习中,机器人环境感知也是必不可少的一环,赋予机器人感知能力也一直是计算机视觉和机器人学科的长期目标。而在机器人操作技能中,抓握技能可以给社会带来巨大的作用,比如完成人类劳动繁重的取放任务,帮助残疾人或老年人完成日常的抓取任务等,所以是最基本的,也是最重要的一种技能。其中,关键技术在于机器人抓取位姿的检测。针对6dof抓取位姿检测,传统的抓取位姿估计方法需要预先计算场景中物体的位姿并根据模型库中的该已知物体的cad模型确定抓取位姿,而实际场景中通常物体为未知且不易获取精确的cad模型。目前,主流的检测方法是基于两阶段抓取检测,即先生成候选抓取位姿再进行评价。主要体现在基于点云的深度学习方法,但这类方法仍然面临困难和挑战:传感器采集到的点云数据包含有较多噪声并且多为残缺的单视角点云,抓取检测算法泛化困难;参与训练的数据集是通过繁琐的重建方法得到的,有些场景难以采集且数据量有限,不容易大规模构建并进行标注,而仿真环境中产生的大规模数据集没有得到充分的利用。
传统的基于模型匹配的方法中一个典型的例子就是chitta等人提出的ros抓取框架(见“chittas,jonese,ciocarliemandhsiaok,perception,planning,andexecutionformobilemanipulationinunstructuredenvironments,ieeeroboticsandautomationmagazine2012”),将已知物体cad模型配准到点云上,然后规划一个可行的抓取路线。基于两阶段抓取方法中最为经典的是pas等人提出的算法(见“tenpasaandplattr,usinggeometrytodetectgraspposesin3dpointclouds,proceedingsoftheinternationalsymposiumonroboticsresearch2015”),首先通过几何约束来采样一系列抓取候选,然后采用hog特征对投影图像进行编码,采用支持向量机进行抓取评价。随后,pas等人进行了优化(见“tenpasa,gualtierim,saenkok,plattr,graspposedetectioninpointclouds,ijrr2017”),把位姿投影图像的分类器部分替换成深度学习方法,提升了抓取检测的性能。后续也有一些研究基于这种方法,但仍然没有考虑基于点云信息的算法中样本标注以及域迁移问题。
目前针对域迁移的机器人抓取位姿检测方案尚缺,少量用在机器人领域的一些迁移方法也存在于二维图像的检测框架之中,有一些还用到了域增强的策略。而在计算机视觉领域,迁移学习发展迅速,特别是现阶段深度学习热潮中,主要集中在特征的域自适应。因此,借助此领域中先进的域自适应技术来解决抓取检测中的迁移问题,可以大大减小采集样本和标注的代价,并且充分利用仿真环境下廉价的训练数据,提高模型泛化性能。
技术实现要素:
发明目的:针对本领域内现有技术中存在的问题,本发明提供了一种单视角点云下基于域迁移的机器人抓取位姿检测方法,该方法可以实现从仿真域到实物域的无监督特征自适应,从而减小样本标注的代价,充分利用仿真数据,提高模型对新物体的泛化性能。
技术方案:本发明采用如下技术方案:
一种单视角点云下基于域迁移的机器人抓取位姿检测方法,包括如下步骤:
步骤1,通过深度相机获取桌面抓取场景的原始点云;
步骤2,对原始场景点云进行预处理,处理流程包括空间裁剪、平面提取和离群点滤波,得到待抓取物体的目标点云集;
步骤3,根据目标点云计算候选抓取位姿,首先在目标点云集中均匀随机采样,以每个采样点为中心计算邻域内的darbour局部标架构建基础位姿,然后通过旋转和平移在二维网格中进行搜索拓展,计算最深的抓取位姿并判断有效性,获得最终的候选抓取位姿。
步骤4,对候选抓取位姿进行编码,转换点云坐标系到夹持器中心,通过投影的方式将抓取位姿编码成多通道图像。
步骤5,使用深度学习框架构建域迁移的抓取位姿评价模型,在仿真数据集和实物数据集上通过力闭合和碰撞检测的方式进行标注并训练模型,从而对多通道图像进行概率预测。
步骤6,根据所有候选抓取位姿预测的概率进行排序,选取概率最高的位姿作为机器人执行抓取的位姿。
步骤1中的场景数据为深度相机固定单个视角下采集到的点云数据,场景类型为机器人对桌面上单物体的抓取。
空间裁剪操作是对桌面部分及物体的点云之外的部分进行裁剪,平面提取操作用来去除桌面部分的点云,离群点滤波用于去除由于裁剪和平面提取后遗留的离群点。
步骤3所述的均匀随机采样,是利用同余法生成随机数来获取点云索引。
步骤3所述的以每个采样点为中心计算邻域内的darbour局部标架构建基础位姿时的邻域表示为半径为r的球内区域。
步骤3所述的候选抓取位姿获取过程为:
(1)在目标点云上随机均匀采样获取采样点集;
(2)对每个采样点在邻域计算基础标架,从而得到基础位姿;
(3)通过对基础位姿旋转和平移进行位姿拓展;
(4)对每个拓展位姿进行碰撞检测,计算最深抓取位姿;
(5)通过对最深抓取位姿对应的夹持区域是否包含点云进行判断,剔除无效抓取候选。
步骤5所述的仿真数据集为3d-net数据集,而实物数据集是通过kinectfusion算法三维重建得到的。
步骤5所述的域迁移的抓取位姿评价模型包含权重自适应的基础卷积网络、轻量全连接层和生成对抗网络,模型训练时的优化方式采用交替优化的方式,训练的步骤包括:
(1)输入数据包括仿真数据集和实物数据集,对所有网络进行前向计算;
(2)更新判别器d,计算仿真数据集的交叉熵损失、仿真数据的域判别损失、仿真生成数据的域判别损失以及实物生成数据的域判别损失,另外,加入梯度惩罚项来抑制模式坍塌;
(3)更新生成器g,使用仿真数据集经生成器和判别器之后的域判别损失和标签分类交叉熵损失;
(4)更新分类器c,仅使用仿真数据集经过f网络和c网络后的分类交叉熵损失;
(5)更新特征提取器f,使用仿真分类损失、仿真生成数据的标签分类交叉熵损失和实物生成数据的域判别损失。
用来优化判别器d的损失函数为:
其中,n表示批数据的样本数,dc和drf分别表示判别器标签分类分支和域判别分支,sn为仿真样本,
用来优化生成器d的损失函数为:
优化分类器c的损失函数为:
其中,
优化特征提取器f的损失函数为:
其中,α和γ分别表示两个损失部分的平衡权重。
在特征提取网络中,加入了se结构,可以自适应权重,提高模型性能,通过多层卷积操作,减小全连接层数量,可以有效抑制过拟合问题。
有益效果:与现有技术比,本发明公开的一种单视角点云下基于域迁移的机器人抓取位姿检测方法,具有以下有益效果:
1.本发明通过使用固定视角的rgb-d传感器采集单视角点云,简化了传感器的安装难度,降低了成本,而且算法可以检测得到6dof的抓取位姿,满足了三维空间机器人抓取的操作任务需求,相比平面抓取更有实用性。
2.本发明所需的输入为单视角点云,算法可以应对残缺有噪声的数据,候选抓取生成较为简单有效,通过把抓取位姿编码成多通道图像可以有效利用深度学习模型进行抓取稳定性预测。
3.针对实物域样本难以采集的问题,本发明采用迁移学习中的域自适应技术,在仿真域和实物域数据集上同时训练模型且实物域无需标注,借助生成对抗网络进行对抗学习提取域自适应特征,实现对实物域数据的抓取稳定性预测。可以有效利用海量的仿真数据集信息,并且实物域无需标签,取代了繁杂的扫描重建任务,提高了泛化能力且经济实用。
4.本发明域自适应抓取检测模型中使用了自适应权重的方式对卷积层得到的结果进行调整,并且减小了全连接层的数量,有效的抑制了模型训练时的过拟合问题。
附图说明
图1为本发明公开方法中整体流程图;
图2为点云预处理示意图;
图3为候选抓取位姿编码示意图;
图4为域迁移的抓取检测模型的架构图;
图5为抓取位姿以及相对应的三通道抓取图像;
图6为域迁移的抓取检测模型中生成器生成的类仿真图像。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的具体实施案例做说明。
如图1所示,为本发明公开方法中整体流程图,本发明公开了一种单视角点云下基于域迁移的机器人抓取位姿检测方法,主要包括六个步骤:步骤1,获取抓取场景下的点云图像,采集视角固定且为单一视角;步骤2,点云预处理过程,通过空间裁剪、平面提取和离群点滤波提取目标物体点云;步骤3,候选抓取位姿生成,首先在目标点云集上进行均匀随机采样,然后以采样点建立球领域计算基础标架,对基础位姿进行旋转和平移从而进行拓展,计算每个拓展位姿的最深抓取点来获得候选抓取位姿;步骤4,把每个候选位姿通过投影的方式编码成多通道图像,其中,坐标系从原始点云坐标系变化到夹持器中心;步骤5,构建域迁移的抓取评价模型,并在有标注的仿真域和无标注的实物域数据集上同时进行训练,将训练好的模型直接用于实物域多通道图像,从而得到抓取置信度预测;步骤6,筛选置信度最高的图像对应的位姿作为最终的机器人执行位姿。
本发明的实施,需要用到rgb-d深度传感器和gpu,具体实施过程中采用的是带有geforce2080gpu的台式机一个、kinectv1深度相机一个。
本发明所公开的方法,具体包括以下几个步骤:
步骤1,获取单物体桌面抓取场景下的点云数据;
利用rgb-d深度相机采集抓取场景的点云,并设置为单一固定视角下进行采集,方法中只需要利用点云信息。
步骤2,点云预处理;
如图2所示,首先对整个场景点云进行裁剪,去除周围杂乱场景,然后通过平面提取去除桌面点云信息,最后进行离群点滤波剔除杂点。
步骤3,候选抓取位姿生成;
夹持器坐标系示意图如图3所示。在目标点云集上进行均匀随机采样,以采样点为中心估计基础标架并通过旋转和平移进行拓展,计算最深抓取从而获取最终候选抓取位姿。
步骤3具体包括以下5个子步骤,具体实施方法如下:
(311)通过在目标点云上随机产生点云索引号进行均匀随机采样,并且采样的数量固定;
(312)对每个采样点建立球半径邻域,统计在球内的所有点,并计算基础标架(darbour标架),计算公式如下:
其中,p表示采样点,n(·)和n(·)t分别表示邻域内某一点的表面法向量和其转置,
(313)对每个初始夹持器位姿通过绕z轴旋转和沿y轴平移操作进行拓展,可以通过构建一个二维网格(φ,y)并在网格中进行搜索的方式实现,每一个拓展的夹持器位姿hφ,y(p)都是通过初始夹持器位姿右乘转移矩阵实现的;
(314)对每一个拓展位姿沿x正方向移动,找到满足无碰撞条件的最小x*,得到新的位姿
(315)通过判断每一个新位姿对应的夹持器区域是否包含点云,剔除无效位姿,从而得到所有候选位姿。
步骤4,如图4所示,对每一个候选抓取位姿进行编码,编码方式为:提取每个位姿对应夹持器的闭合区域内点云,以当前抓取位姿为基准,转换坐标系,在多个轴方向上进行投影,从而编码成多通道图像。
步骤5,如图5所示,构建基于域迁移的抓取位姿评价模型,可以看到,训练阶段使用仿真域数据和实物域数据,并结合生成对抗网络来提取域自适应特征,其思想主要是约束两个域提取的特征并作为生成器输入得到的生成图像(如图6所示)向仿真域对齐,从而将两个域映射到同一分布。而在测试阶段,只需要f网络和c网络即可,可用于实物域上的测试,以实物域中多通道抓取图像为输入,通过基于域迁移的抓取位姿评价模型进行概率预测,得到每个候选位姿可成功抓取的置信度。
步骤5中训练数据集主要有两个,一个是从3d-net模型库中构建的物体集,作为仿真域,另一个是通过kinectfusion算法三维重建得到的物体集,作为实物域。同样是进行采样候选并编码等操作,借助力闭合原理检测对拓抓取来进行标注。
另外,模型训练时的优化方式采用交替优化的方式,训练过程包括以下几个子步骤:
(511)输入数据包括仿真数据集和实物数据集,然后对网络进行前向计算;
(512)更新判别器d,计算仿真数据集的交叉熵损失和域判别损失以及实物域的域对抗损失,另外,加入梯度惩罚项来抑制模式坍塌,优化的损失项为:
其中,n表示批数据的样本数,dc和drf分别表示判别器标签分类分支和域判别分支,sn为仿真样本,fcsn和fctn分别表示生成器的仿真特征合并输入和实物域特征合并输入;
(513)更新生成器g,使用仿真数据集经生成器和判别器之后的域判别损失和标签分类损失,优化的损失项为:
(514)更新分类器c,仅使用仿真数据集经过f网络和c网络后的分类损失,优化的损失项为:
其中,
(515)更新特征提取器f,使用仿真分类损失和实物域生成数据的域对抗损失,损失项优化方式采用多损失加权的方式,损失项为:
其中,α和γ分别表示两个损失部分的平衡权重。
另外,在特征提取网络中,加入了se结构,可以自适应权重,提高模型性能,通过多层卷积操作,减小全连接层数量,可以有效抑制过拟合问题。
步骤6,根据步骤5中所述模型预测的概率进行排序,筛选出可以稳定抓取物体的概率最高的抓取图像对应的位姿,将其作为机器人抓取执行位姿。
1.一种单视角点云下基于域迁移的机器人抓取位姿检测方法,其特征在于,包括如下步骤:
步骤1,通过深度相机获取桌面抓取场景的原始点云;
步骤2,对原始场景点云进行预处理,处理流程包括空间裁剪、平面提取和离群点滤波,得到待抓取物体的目标点云集;
步骤3,根据目标点云计算候选抓取位姿,首先在目标点云集中均匀随机采样,以每个采样点为中心计算邻域内的darbour局部标架构建基础位姿,然后通过旋转和平移在二维网格中进行搜索拓展,计算最深的抓取位姿并判断有效性,获得最终的候选抓取位姿。
步骤4,对候选抓取位姿进行编码,转换点云坐标系到夹持器中心,通过投影的方式将抓取位姿编码成多通道图像。
步骤5,使用深度学习框架构建域迁移的抓取位姿评价模型,在仿真数据集和实物数据集上通过力闭合和碰撞检测的方式进行标注并训练模型,从而对多通道图像进行概率预测。
步骤6,根据所有候选抓取位姿预测的概率进行排序,选取概率最高的位姿作为机器人执行抓取的位姿。
2.根据权利要求1所述的一种单视角点云下基于域迁移的机器人抓取位姿检测方法,其特征在于,步骤1中的场景数据为深度相机固定单个视角下采集到的点云数据,场景类型为机器人对桌面上单物体的抓取。
3.根据权利要求1所述的一种单视角点云下基于域迁移的机器人抓取位姿检测方法,其特征在于,空间裁剪操作是对桌面部分及物体的点云之外的部分进行裁剪,平面提取操作用来去除桌面部分的点云,离群点滤波用于去除由于裁剪和平面提取后遗留的离群点。
4.根据权利要求1所述的一种单视角点云下基于域迁移的机器人抓取位姿检测方法,其特征在于,步骤3所述的均匀随机采样,是利用同余法生成随机数来获取点云索引。
5.根据权利要求1所述的一种单视角点云下基于域迁移的机器人抓取位姿检测方法,其特征在于,步骤3所述的以每个采样点为中心计算邻域内的darbour局部标架构建基础位姿时的邻域表示为半径为r的球内区域。
6.根据权利要求1所述的一种单视角点云下基于域迁移的机器人抓取位姿检测方法,其特征在于,步骤3所述的候选抓取位姿获取过程为:
(1)在目标点云上随机均匀采样获取采样点集;
(2)对每个采样点在邻域计算基础标架,从而得到基础位姿;
(3)通过对基础位姿旋转和平移进行位姿拓展;
(4)对每个拓展位姿进行碰撞检测,计算最深抓取位姿;
(5)通过对最深抓取位姿对应的夹持区域是否包含点云进行判断,剔除无效抓取候选。
7.根据权利要求1所述的一种单视角点云下基于域迁移的机器人抓取位姿检测方法,其特征在于,步骤5所述的仿真数据集为3d-net数据集,而实物数据集是通过kinectfusion算法三维重建得到的。
8.根据权利要求1所述的一种单视角点云下基于域迁移的机器人抓取位姿检测方法,其特征在于,步骤5所述的域迁移的抓取位姿评价模型包含权重自适应的基础卷积网络、轻量全连接层和生成对抗网络,模型训练时的优化方式采用交替优化的方式,训练的步骤包括:
(1)输入数据包括仿真数据集和实物数据集,对所有网络进行前向计算;
(2)更新判别器d,计算仿真数据集的交叉熵损失、仿真数据的域判别损失、仿真生成数据的域判别损失以及实物生成数据的域判别损失,另外,加入梯度惩罚项来抑制模式坍塌;
(3)更新生成器g,使用仿真数据集经生成器和判别器之后的域判别损失和标签分类交叉熵损失;
(4)更新分类器c,仅使用仿真数据集经过f网络和c网络后的分类交叉熵损失;
(5)更新特征提取器f,使用仿真分类损失、仿真生成数据的标签分类交叉熵损失和实物生成数据的域判别损失。
9.根据权利要求8所述的一种单视角点云下基于域迁移的机器人抓取位姿检测方法,其特征在于,用来优化判别器d的损失函数为:
其中,n表示批数据的样本数,dc和drf分别表示判别器标签分类分支和域判别分支,sn为仿真样本,
用来优化生成器d的损失函数为:
优化分类器c的损失函数为:
其中,
优化特征提取器f的损失函数为:
其中,α和γ分别表示两个损失部分的平衡权重。
技术总结