工件识别和位姿检测方法、系统及机械臂的抓取控制方法

文档序号:31345055发布日期:2022-08-31 11:32阅读:166来源:国知局
工件识别和位姿检测方法、系统及机械臂的抓取控制方法

1.本发明涉及图像识别与机械控制技术领域,尤其涉及一种工件识别和位姿检测方法、系统及机械臂的抓取控制方法。


背景技术:

2.基于二维/三维视觉的机器人抓取技术,已经在物流快递、仓库搬运、拆码垛等简单场景中广泛应用,视觉引导的机器人增强了面对复杂环境的感知能力。在工业抓取场景中,二维图像能够提供致密丰富的纹理信息,经过图像处理和识别,获取被抓取工件的位置(二维坐标),但无法获取深度信息;三维图像能够提供抓取场景中的距离信息,但无法获得丰富的细节信息,导致抓取精度的降低。两类数据具有较好的互补性,融合两种模态的数据,可以实现对工件抓取场景进行更全面的感知。近年来,随着工件6d姿态估计算法的研究日趋增加,设备的计算能力日益提高,机器人抓取系统已经在工件无序散乱堆叠、无序工件装配、柔性抓取等相关领域取得创造性的突破。
3.其中,目标物体的识别与位姿检测是机器人抓取任务的关键先决条件。自计算机视觉早期以来,目标6d位姿检测与估计是相对于给定参考系的固定坐标系,通过一个平移向量t∈r3和一个旋转矩阵r∈so(3)来描述物体对象位姿信息,是一个长期存在的挑战和一个开放的研究领域。
4.由于现实世界中物体的多样性、潜在的物体对称性、场景中的杂波和遮挡以及变化的光照条件,目标6d位姿检测与估计的任务的核心步骤就是首先通过各种算法获取目标物体在相机坐标系下的质心位置坐标(x,y,z),然后将模型匹配到该质心位置,得到当前目标物体在相机坐标系的旋转位姿(r
x
,ry,rz),基于手眼标定矩阵转换,获得目标物体在机械臂基坐标下的位置,最后控制机械臂运动进行抓取作业,具有一定的挑战性。从技术的角度来看,三维点云数据与二维图像属于不同模态的数据,如何巧妙的融合两者的数据,并根据抓取场景内工件的散乱堆叠情况分析出可靠的几何特征,最后识别出场景中可抓取的工件,并获取位姿信息,是国内外科技工作者着力探索一个研究方向。
5.现有的工件识别与位姿检测方法,根据不同输入的图像数据类型,可以分为以下两类:基于2d视觉数据(以rgb或者rgbd数据为输入)、基于3d视觉数据(以点云数据为输入)。单纯的基于2d数据的识别方法,由于缺乏场景深度信息,往往只能进行平面物体抓取,无法处理堆叠场景,因此基于3d视觉数据的工件识别与位姿检测方法渐渐成为主流。基于3d视觉数据的检测方法根据实现原理的差异,大致可分为以下两类:模板匹配法、深度学习法。第一类模板匹配法,通常基于ppf(point pair future)算法(例如drost b,ulrich m,navab n.et al.model globally,match locally:efficient and robust 3d object recognition[c].ieee computer society conference on computer vision and pattern recognition.piscataway:ieee press,2010:998-1005.),该算法是一种基于点对特征的描述方法,根据目标的3d模型数据,提取点对特征并训练目标的模型,基于ppf特征描述子在目标场景中检测3d特征点并匹配,求得姿态的一个初始估计并迭代投票,最后
利用icp算法对结果进行refinement操作,得到一个更准确的位姿结果并输出。模板匹配法在具有最大的缺陷是会出现误匹配的现象,然而,上述方法当工件过于简单,特征不明显时,往往会得出错误的识别结果。第二类深度学习法,通过在仿真场景中制作生成仿真数据集,然后在网络中学习数据特征,最后在测试数据集中得出位姿检测的结果。例如文献(dong z,liu s,zhou t.et al.ppr-net:point-wise pose regression network for instance segmentation and 6d pose estimation in bin-picking scenarios[c].ieee/rsj international conference on intelligent robots and systems(iros).piscataway:ieee press,2019:1773-1780.)提出了一种新颖的逐点姿态回归网络ppr-net(point-wise pose regression network)。该方法是iros2019“bin-pick姿态估计挑战”中的优胜者,它以pointnet++为主干网络,为它所属的对象实例的点云中的每个点进行6d姿态估计,然后在空间中基于聚类法对每个识别的预测位姿进行平均,得到最终的位姿假设。但是该方法存在的不足在于:工件场景全域3d点云图像的处理效率较低,分析检测时间较长。
[0006]
因此,如何提供一种适用于小工件堆叠遮挡的场景的较高效率的目标物体的识别与位姿检测方法,是一个急需解决的问题。


技术实现要素:

[0007]
针对现有技术的不足,本发明的目的在于提供一种工件识别和位姿检测方法、系统及机械臂的抓取控制方法。
[0008]
为实现前述发明目的,本发明采用的技术方案包括:
[0009]
第一方面,本发明提供一种工件识别和位姿检测方法,包括:
[0010]
s1,采集待识别场景中的2d图像和3d点云图像;
[0011]
s2,基于所述2d图像识别所述待识别场景中的目标工件,并基于所述2d图像与3d点云图像之间的映射关系,对所述3d点云图像中的目标工件所在区域进行实例分割,获得所述目标工件对应的点云区域;
[0012]
s3,基于深度学习算法,在所述点云区域中进行位姿检测,获取所述目标工件的位姿信息。
[0013]
第二方面,本发明还提供一种工件识别和位姿检测系统,包括:
[0014]
图像采集模块,用于采集待识别场景中的2d图像和3d点云图像;
[0015]
区域获取模块,用于基于所述2d图像识别所述待识别场景中的目标工件,并基于所述2d图像与3d点云图像之间的映射关系,对所述3d点云图像中的目标工件所在区域进行实例分割,获得所述目标工件对应的点云区域;
[0016]
位姿获取模块,用于基于深度学习算法,在所述点云区域中进行位姿检测,获取所述目标工件的位姿信息。
[0017]
第三方面,本发明还提供一种机械臂的抓取控制方法,包括:
[0018]
基于上述工件识别和位姿检测方法获取待识别场景中的目标工件及其位姿信息;
[0019]
选定需抓取的所述目标工件,并基于所述位姿信息控制机械臂进行抓取动作。
[0020]
基于上述技术方案,与现有技术相比,本发明的有益效果至少包括:
[0021]
本发明所提供的工件识别和位姿检测方法在小工件散乱堆叠的抓取场景中,规避
了跨模态数据特征提取及匹配难题,同时避免了过于复杂的数据处理计算,通过结合2d图像和3d点云图像,为工件堆叠识别和抓取的应用场景在有效提升识别效率和提升抓取效率这个方向上提供了优化的解决方案。
[0022]
上述说明仅是本发明技术方案的概述,为了能够使本领域技术人员能够更清楚地了解本技术的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合详细附图说明如后。
附图说明
[0023]
图1是本发明一典型实施方案提供的工件识别和位姿检测方法的流程示意图;
[0024]
图2是本发明一典型实施方案提供的工件识别和位姿检测方法的部分流程示意图;
[0025]
图3是本发明一典型实施方案提供的工件识别和位姿检测方法的部分流程示意图;
[0026]
图4是本发明一典型实施方案提供的工件识别和位姿检测方法的部分流程示意图;
[0027]
图5是本发明一典型实施方案提供的工件识别和位姿检测系统的结构示意图
[0028]
图6是本发明一典型实施方案提供的仿真数据集生成系统的结构示意图
[0029]
图7是本发明一典型实施方案提供的2d/3d深度学习网络的结构示意图;
[0030]
图8是本发明一典型实施方案提供的工件识别和位姿检测方法的识别与检测效果示例图。
具体实施方式
[0031]
鉴于现有技术中的不足,本案发明人经长期研究和大量实践,得以提出本发明的技术方案。如下将对该技术方案、其实施过程及原理等作进一步的解释说明。
[0032]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0033]
参见图1-图4,本发明实施例提供一种工件识别和位姿检测方法,具体包括如下的步骤s1-s3:
[0034]
s1,采集待识别场景中的2d图像和3d点云图像。
[0035]
具体地,本实施例中,所采用的图像信息包括2d图像和3d图像,具体采用2d可见光相机对堆叠场景中工件进行拍照,获得2d图像,及采用3d可见光相机对堆叠场景中工件进行拍照,获得3d图像。
[0036]
因此,在一些实施方案中,步骤sl具体可以包括:利用2d相机在所述待识别场景中获取所述2d图像,利用3d相机在所述待识别场景中获取所述3d图像信息。
[0037]
在一些实施方案中,所述待识别场景优选可以包括工件堆叠场景,进一步优选为工件散乱堆叠场景。上述方法尤其适应小工件散乱堆叠的应用场景,这些场景例如是,一些较小的工件无规则地散落在托盘上或容器内,例如工业生产时,常见的半成品在托盘上的无序堆叠,或一些物资转运时,例如扳手等工件在料框中散乱堆积等场景。
[0038]
s2,基于所述2d图像识别所述待识别场景中的目标工件,并基于所述2d图像与3d点云图像之间的映射关系,对所述3d点云图像中的目标工件所在区域进行实例分割,获得所述目标工件对应的点云区域。该步骤基于2d图像识别场景中的目标工件,利用2d图像与3d点云图像之间的映射关系,对识别出的目标工件区域进行实例分割。
[0039]
具体的,如图2所示,所述的步骤s2可以包括步骤s21-s24:
[0040]
s21,采集若干张2d图像,标记工件轮廓封闭区域,制作成训练数据集。
[0041]
具体地,在本实施例中,可以由2d图像获取到工件的轮廓数据,将工件相同朝上面的轮廓标记为同一类,记录标注工件区域在全局图像中的位置,采集若干张图像并进行标注,制作完成训练数据集。上述标注可以由人工进行标注,也可以通过人工标注和机器对抗学习中的机器标注等方法进行标注。
[0042]
s22,搭建深度学习2d图像目标分割网络模型,并基于所述训练数据集,对网络模型进行训练。
[0043]
具体地,本实施例中,可以搭建基于mask r-cnn卷积神经网络的2d图像目标分割网路模型,并基于所述制作的训练数据集,对网络模型进行训练学习。
[0044]
s23,将实时采集的2d图像导入训练好的所述网络模型中进行识别,获取识别工件的区域位置。
[0045]
具体地,本实施例中,可以利用已经学习完成的所述2d图像目标分割网路模型,将实时采集的2d图像导入所述网络模型,利用mask r-cnn使2d图像中识别的物体实现像素级分割,获取所述分割出的2d图像中的区域位置。
[0046]
s24,将所述识别出的2d工件区域位置映射到3d点云场景区域,并对所述3d点云场景中目标工件区域进行实例分割。
[0047]
具体地,本实施例中,可以利用2d图像和3d点云之间的映射关系,基于所述实例分割后的目标工件区域,在3d点云数据场景中对同一位置区域进行点云实例分割,获得识别工件的点云集。
[0048]
因此,在一些实施方式中,步骤s2具体包括如下的步骤:
[0049]
将所述2d图像导入目标分割模型中进行识别,获取所述目标工件的区域位置。
[0050]
将所述区域位置映射到3d点云图像中的对应区域,并所述3d点云图像中的目标工件所在区域进行实例分割。
[0051]
在一些实施方式中,所述目标分割模型的训练方法具体包括如下的步骤:
[0052]
提供2d训练数据集,所述2d训练数据集包括多个用于训练的2d图像及其对应的标记信息,所述标记信息至少指示所述2d图像中的工件的轮廓封闭区域。
[0053]
构建目标分割初始模型,并基于所述2d训练数据集,对所述目标分割初始模型进行训练,获得所述目标分割模型。
[0054]
s3,基于深度学习算法,在所述点云区域中进行位姿检测,获取所述目标工件的位姿信息。
[0055]
具体地,本实施例中,可以在所述经过2d图像分割并映射到3d点云,获得识别工件的点云集中,基于搭建完成并且经过训练学习的ppr-net深度学习网络,对工件位姿进行检测,从而获取工件的位姿信息。
[0056]
继续参见图3,步骤s3具体可以包括以下步骤s31-s34:
[0057]
s31,基于v-rep搭建深度学习训练仿真数据集生成系统。
[0058]
具体地,本实施例中,可以基于v-rep仿真软件,搭建深度学习训练仿真数据集生成系统,其中包括搭建kinect仿真视觉传感器、导入工件3d模型、导入料框3d模型以及编写工件掉落和图像数据采集程序等内容,搭建的仿真系统如图6所示。
[0059]
s32,制作生成仿真3d训练数据集。
[0060]
s33,搭建深度学习3d位姿检测神经网络模型,并基于所述训练数据集,对网络模型进行训练。
[0061]
具体地,本实施例中,可以搭建基于ppr-net深度学习网络的3d位姿检测神经网络模型,并基于所述制作的仿真训练数据集,对网络模型进行训练学习。
[0062]
s34,将实例分割后的3d点云图像导入所述训练好的网络模型中进行工件位姿检测,并获取工件位姿信息。
[0063]
具体地,如图4所示,本实施例中,步骤s32可以包括以下步骤s321-s326:
[0064]
s321,设定场景中存在n个工件。
[0065]
在一优选实施例中,所述工件数量例如可以是n=27。
[0066]
s322,基于域随机化思想在工作区域内将i个工件随机从某个位置掉落(设定初始整数i=0),并对不同的工件赋予不同的颜色信息。
[0067]
s323,基于仿真视觉传感器采集并保存场景中的深度图像和rgb图像。
[0068]
在一优选实施例中,所述仿真视觉传感器可以为kinect深度相机。
[0069]
s324,记录并保存v-rep中获取的每个工件掉落的位姿信息。
[0070]
s325,基于所述采集的rgb图像信息,对每个工件进行可视化程度分析,并记录可视化程度数据。
[0071]
在一优选实施例中,所述可视化程度分析方法可以为:引入工件可见性程度v∈[0,1],该参数反映了预测对象的遮挡程度,v=0时完全不可见,v=1时完全无遮挡,以此类推。某一工件在场景中的可视化程度为:v=n/n
max

[0072]
其中,n为某一实例工件颜色区域面积值,n
max
为全域工件中,颜色区域面积值最大的数值。
[0073]
s326,若整数i<n,重复s322至s326步骤;若整数i=n,停止工件掉落,制作生成数据集标签文件。
[0074]
更为具体地,本实施例中,可以在所述经过2d图像分割并映射到3d点云,获得识别工件的点云集中,基于搭建完成并且经过训练学习的ppr-net深度学习网络,对工件位姿进行检测,从而获取工件的位姿信息,基于mask r-cnn卷积神经网络和ppr-net深度学习网络的2d/3d深度学习网络结构示意图如图7所示,2d图像检测实例分割效果和3d点云位姿检测效果示意图如图8所示。
[0075]
如图5所示,本发明所揭示的一种深度学习训练仿真数据集生成系统可以包括:
[0076]
图像获取装置,用于获取堆叠场景中工件的图像信息。
[0077]
其中,图像获取装置包括2d图像获取单元和3d图像获取单元,2d图像获取单元用于采用2d相机对堆叠场景中工件进行拍照,获得2d图像。3d图像获取单元用于采用3d相机对堆叠场景中工件进行拍照,获得3d图像。
[0078]
区域限制装置,用于根据所述图像获取装置的视野大小,对工件的掉落范围进行
物理限制。
[0079]
其中,区域限制装置主要包括料框设置单元和相机设置单元,料框设置单元用于绘制和导入料框3d模型,调整合适位置,便于对工件掉落范围进行物理限制,相机设置单元用于调整相机内部参数和外部参数,保证与真实场景的相机参数一致,从而生成有效数据集。
[0080]
工件位姿采集装置,用于在工件随机掉落动作完成后,记录当时的工件位姿信息。
[0081]
工件可视化程度分析装置,用于在所述仿真场景中,对每个工件的可视化程度进行计算和分析。
[0082]
其中,工件可视化程度分析装置主要包括颜色像素采集单元和可视化程度计算单元,颜色像素采集单元用于对场景中每个分割出的实例颜色像素面积值进行统计,可视化程度计算单元利用颜色像素采集单元提供的统计数值进行可视化程度计算,并输出可视化程度值。
[0083]
数据集标签整合装置,用于对图像信息、工件位姿信息、可视化程度等信息进行整合,制作为数据集标签。
[0084]
因此,在一些实施方案中,步骤s3具体可以包括如下的步骤:
[0085]
将所述点云区域导入位姿检测模型中进行所述目标工件的位姿检测,并获取所述目标工件的位姿信息。
[0086]
在一些实施方案中,所述位姿检测模型的训练方法可以包括如下的步骤:
[0087]
提供3d训练数据集,所述3d训练数据集至少包括3d训练图像及其对应的工件位姿标签和可视化程度标签。
[0088]
构建位姿检测初始模型,并基于所述3d训练数据集,对所述位姿检测初始模型进行训练,获得所述位姿检测模型。
[0089]
在一些实施方案中,所述3d训练数据集由仿真数据集生成系统仿真生成。
[0090]
在一些实施方案中,所述仿真生成具体可以包括如下的步骤:
[0091]
构建仿真场景,并设定所述仿真场景中存在n个虚拟工件。
[0092]
基于域随机化方法,在所述仿真场景的工作区域内将i个虚拟工件随机从选定位置掉落,并对不同的虚拟工件赋予不同的颜色信息,其中,i从零递增迭代。例如是从0依次+1递增。
[0093]
基于仿真视觉传感器采集并保存场景中的深度图像和rgb图像。
[0094]
记录并保存所述仿真场景中每个虚拟工件掉落的位姿信息,作为所述工件位姿标签。
[0095]
基于所述采集的深度图像和/或rgb图像,对每个虚拟工件进行可视化程度分析,并记录可视化程度数据作为所述可视化程度标签。
[0096]
当迭代至整数i不小于n时,停止虚拟工件掉落,基于所述工件位姿标签和可视化程度标签生成所述3d训练数据集。
[0097]
在一些实施方案中,所述仿真数据集生成系统可以包括:
[0098]
图像获取装置,用于获取仿真场景中虚拟工件的3d训练图像。
[0099]
区域限制装置,用于根据所述3d训练图像获取视野大小,对虚拟工件的掉落范围进行限制。
[0100]
工件位姿采集装置,用于在虚拟工件随机掉落动作完成后,记录当时的所述目标工件的位姿信息。
[0101]
工件可视化程度分析装置,用于在所述仿真场景中,对每个虚拟工件的可视化程度进行计算和分析。
[0102]
数据集标签整合装置,用于对3d训练图像、工件位姿标签、可视化程度标签进行整合,生成所述3d训练数据集。
[0103]
基于上述方法,本发明的另一实施例还提供一种工件识别和位姿检测系统,其包括:
[0104]
图像采集模块,用于采集待识别场景中的2d图像和3d点云图像。
[0105]
区域获取模块,用于基于所述2d图像识别所述待识别场景中的目标工件,并基于所述2d图像与3d点云图像之间的映射关系,对所述3d点云图像中的目标工件所在区域进行实例分割,获得所述目标工件对应的点云区域。
[0106]
位姿获取模块,用于基于深度学习算法,在所述点云区域中进行位姿检测,获取所述目标工件的位姿信息。
[0107]
同理,本发明实施例还提供一种可能应用于上述系统的电子装置,其包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序被运行时执行上述工件识别和位姿检测方法的步骤。
[0108]
同时,本发明实施例还提供一种可读存储介质,其中存储有计算机程序,该计算机程序被运行时执行上述工件识别和位姿检测方法的步骤。
[0109]
上述实施例提供了工件识别和位姿检测方法与系统,以及其所应用到的一种仿真数据集生成系统,作为上述方法和系统的进一步应用,本发明另一实施例还提供一种机械臂的抓取控制方法,包括如下的步骤:
[0110]
基于上述任一实施方式中的工件识别和位姿检测方法获取待识别场景中的目标工件及其位姿信息。
[0111]
选定需抓取的所述目标工件,并基于所述位姿信息控制机械臂进行抓取动作。
[0112]
即:获得所述工件位姿信息,控制机械臂进行抓取作业。
[0113]
需要说明的是,本发明的主要技术构思在于如何高效且精准地获取工件的位姿信息,至于如何根据该位姿信息进行机械臂的路径和/或动作规划,并非本发明的重点,相关的技术方案已多见于多个现有技术,本领域技术人员可以无障碍地进行组合或适应性研发,可以理解的,无论基于本发明所提供的工件识别和位姿检测方法组合怎样具体的机械臂控制方法,均应属于本发明的保护范围之内。
[0114]
本发明所揭示的一种工件识别和位姿检测方法及所运用到的深度学习训练仿真数据集生成系统,在小工件散乱堆叠的抓取场景中,规避了跨模态数据特征提取及匹配难题,同时避免了过于复杂的数据处理计算。通过结合2d图像和3d点云数据,为工件堆叠识别和抓取的应用场景,在有效提升识别效率和提升抓取效率这个方向上,提供了优化的解决方案,同时,避免了常规样本手动标注,自动制作和生成训练数据集,极大提升了工作效率。
[0115]
尽管已参考说明性实施例描述了本发明,但所属领域的技术人员将理解,在不背离本发明的精神及范围的情况下可做出各种其它改变、省略及/或添加且可用实质等效物替代所述实施例的元件。另外,可在不背离本发明的范围的情况下做出许多修改以使特定
情形或材料适应本发明的教示。因此,本文并不打算将本发明限制于用于执行本发明的所揭示特定实施例,而是打算使本发明将包含归属于所附权利要求书的范围内的所有实施例。
[0116]
应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1