姿态估计方法、装置、可读存储介质和机器人与流程
未命名
08-25
阅读:144
评论:0
1.本发明涉及控制技术领域,具体而言,涉及一种姿态估计方法、装置、可读存储介质和机器人。
背景技术:
2.现有的机器人抓取技术对于服务机器人及工业机器人有着重要的意义,是机器人与外部环境交互的重要手段。其中,物体识别、定位与位姿估计是机器人抓取的关键技术,其识别率、定位精度、姿态估计的准确性决定抓取的成功率。
3.现有的物体位姿估计的方法主要分为基于3d模板匹配的方法和基于深度学习的方法。
4.其中,基于3d模板匹配的方法必须保证待匹配点云较为干净,传统的识别和分割及滤波方法并不能达到一个高效稳定的去噪及分割效果,因此具有一定的局限性。基于深度学习的方法,以二阶段方法为主,先对3d点云进行目标分割,再对分割目标进行位姿估计。但分割往往在背景简单的场景进行实验,在检测多个同一实例目标时,效果不佳。同时,由于处理点云数据,导致网络计算资源消耗巨大,不能达到实时检测效果。
技术实现要素:
5.本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
6.为此,本发明的第一个方面在于,提供了一种姿态估计方法。
7.本发明的第二个方面在于,提供了一种姿态估计装置。
8.本发明的第三个方面在于,提供了一种姿态估计装置。
9.本发明的第四个方面在于,提供了一种可读存储介质。
10.本发明的第五个方面在于,提供了一种机器人。
11.有鉴于此,根据本发明的第一个方面,本发明提供了一种姿态估计方法,包括:接收相机采集的目标物体的二维图像数据;将二维图像数据输入至目标检测模型,得到第一数量的方向向量图;对第一数量的方向向量图进行处理,得到中心点的二维坐标数据和第二数量的关键点的二维坐标数据;对目标物体的点云数据进行处理,得到第三数量的三维坐标数据;根据中心点的二维坐标数据、第二数量的关键点的二维坐标数据、第三数量的三维坐标数据以及相机的参数数据确定目标物体在相机的坐标系下的位姿。
12.本技术的技术方案提出了一种姿态估计方法,通过运行该估算方法,可以实现目标物体的位姿的估算,在上述方案中,目标物体的位姿估算时是利用二维图像数据实现的,由于上述运算都是基于二维图像数据实现的,因此,无需使用昂贵的3d摄像机设备,因此,可以降低位姿估算时的估算成本。
13.此外,上述方案是利用二维图像数据进行估算,而二维层面的运算对目标检测模型的复杂度的要求较低,因此,在实现位姿的快速估算提供了基础,也为位姿的实时估算提供了可能。
14.在上述技术方案中,上文中的二维图像数据可以理解为目标物体的二维图片,也即2d图像。
15.在上述技术方案中,值得指出的是,由于位姿的估算是基于方向向量图所给出的,因此,可以帮助网络学习到物体的刚性结构,对目标物体被遮挡的情况得以应对,提高了对遮挡的应对能力,因此,提高了位姿估算的鲁棒性。
16.在上述技术方案中,第一数量为18。
17.在上述技术方案中,相机可以理解为机器人的摄像头。
18.在上述技术方案中,目标物体可以是待抓取的工件、被加工的工件、机器人安装的工具等。
19.在上述技术方案中,第二数量选取8,也即,关键点的数量为8个。
20.此外,中心点的数量为一个。
21.在上述技术方案中,第三数量等于9。
22.在上述技术方案中,点云数据,也即,点云,其中,点云是某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐标x,y,z、颜色、分类值、强度值、时间等等,不一一列举。在我看来点云可以将现实世界原子化,通过高精度的点云数据可以还原现实世界。
23.其中,点云主要是通过三维激光扫描仪进行数据采集获取点云数据,其次通过二维影像进行三维重建,在重建过程中获取点云数据,另外还有一些,通过三维模型来计算获取点云。
24.在上述技术方案中,目标检测模型,也即进行目标检测的模型,其作为计算机视觉中的一个分支。
25.在上述技术方案中,方向向量图可以理解为指向关键点位置的方向向量场分支,以便利用该分支来实现位姿的估算。
26.另外,本技术提出的姿态估计方法还具有以下附加技术特征。
27.在上述技术方案中,将二维图像数据输入至目标检测模型,得到第一数量的方向向量图,包括:利用目标检测模型对二维图像数据进行特征提取,得到特征图;对特征图进行感兴趣区域检测,得到目标区域;根据目标区域对特征图进行区域特征聚集,得到聚集结果;对聚集结果中的特征进行卷积和转置卷积操作,得到第一数量的方向向量图。
28.在该技术方案中,具体限定了方向向量图的确定过程,也即具体限定了方向向量场分支的具体限定过程,利用目标检测模型对输入的二维图像数据进行特征提取,以便得到二维图像数据的特征图,也即feature map,在目标检测模型的特征金字塔的每层进行roi(region of interest,感兴趣区域)检测,从而得到目标区域,并在确定目标区域之后,利用目标区域(也即roi区域)对feature map进行roi align处理,得到处理结果,其中,处理结果也即上文中的聚集结果。
29.基于聚集结果进入vector head,利用roi align的特征进行卷积以及转置卷积操作,得到18组特征图,也即上文中的第一数量的方向向量图。
30.在上述技术方案中,卷积和转置卷积操作包括以下步骤:
31.先经过4个卷积核为3
×
3、步长为1的卷积(不改变特征图大小);再经过一次转置卷积上采样到28
×
28大小;接着经过2个卷积核为3
×
3、步长为1的卷积(不改变特征图大小);再经过一次转置卷积上采样到56
×
56大小;最后经过一个全连接层输出56
×
56
×
18的
结果,其中,56
×
56为特征图的大小。18为数量为18的特征向量图。
32.在上述任一技术方案中,方向向量图包括在笛卡尔坐标系下的x轴方向和y轴方向上的方向向量图。
33.在上述技术方案中,数量为18的特征向量图依次为9个点的x或y的方向向量图。
34.在上述任一技术方案中,对第一数量的方向向量图进行处理,得到第二数量的关键点的二维坐标数据,包括:在第一数量的方向向量图中指向同一关键点的方向向量图中选取两个像素点,并将两个像素点的交点作为假设关键点;重复选取像素点,以便得到假设关键点的集合;根据目标物体的所有像素点,为集合中的每一假设关键点进行投票,得到投票结果;将投票结果中最大的假设关键点的二维坐标数据作为关键点的坐标数据。
35.在上述技术方案中,具体限定了关键点的数据坐标的获取方式,在该方案中,在向量图中,向量vk(p),该向量表示从像素p到物体的关键点xk的方向。像素p与关键点xk之间的偏移量,即x
k-p。令代表了每个像素趋向于关键点xk的方向。
36.其中,在指向同一个关键点的x、y方向向量图上随机选取两个像素点,将其向量的交点作为假设h
k,i
,作为关键点xk。重复n次,生成一组假设{h
k,i
|i=1,2,
…
,n}用于表示可能的关键点位置。然后,物体的所有像素为这些假设投票。将假设h
k,i
的投票得分w
k,i
定义为
[0037][0038]
其中,θ为阈值,p为像素点,p∈o,表示像素p属于目标物体o。重复n次取最大值分数的交点h
k,i
作为关键点位置。
[0039]
在上述任一技术方案中,对第一数量的方向向量图进行处理,得到中心点的二维坐标数据,包括:在第一数量的方向向量图中指向中心点的方向向量图中选取两个像素点,并将两个像素点的交点作为假设中心点;重复选取像素点,以便得到假设中心点的集合;根据目标物体的所有像素点,为集合中的每一假设中心点进行投票,得到投票结果;将投票结果中最大的假设中心点的二维坐标数据作为中心点的二维坐标数据。
[0040]
在上述技术方案中,具体限定了中心点的数据坐标的获取方式,在该方案中,在向量图中,向量vk(p),该向量表示从像素p到物体的中心点xk的方向。像素p与中心点xk之间的偏移量,即x
k-p。令代表了每个像素趋向于中心点xk的方向。
[0041]
其中,在指向同一个中心点的x、y方向向量图上随机选取两个像素点,将其向量的交点作为假设h
k,i
,作为中心点xk。重复n次,生成一组假设{h
k,i
|i=1,2,
…
,n}用于表示可能的中心点位置。然后,物体的所有像素为这些假设投票。将假设h
k,i
的投票得分w
k,i
定义为
[0042][0043]
其中,θ为阈值,p为像素点,p∈o表示像素p属于目标物体o。重复n次取最大值分数的交点h
k,i
作为中心点位置。
[0044]
在上述任一技术方案中,采用随机采样一致算法进行投票。
[0045]
在上述任一技术方案中,还包括:对聚集结果中的特征进行卷积和全连接操作,得到分类结果;对聚集结果中的特征进行卷积和转置卷积操作,得到图像掩膜;确定分类结果所对应的图像掩膜;根据分类结果所对应的图像掩膜对第一数量的方向向量图进行筛选。
[0046]
在该技术方案中,通过对方向向量图筛选,以便降低中心点、关键点提取时的计算量,为降低目标检测模型的复杂度提供了基础,同时,也为实现位姿的实时估算提供了基础。
[0047]
具体地,利用图像掩膜对方向向量图筛选,可以理解为,只对mask部分的方向向量图进行处理,以实现中心点和关键点的二维坐标数据的确定。
[0048]
在上述技术方案中,还包括:对图像掩膜扩大一倍,根据类别选取相应的mask作为roi,在方向向量特征图上提取相应区域,即只处理mask部分的向量。
[0049]
在上述技术方案中,分类结果可以是基于rcnn head部分经过卷积、全连接后实现分类和bounding box回归;而图像掩膜可以是基于maskhead经过多个卷积和上采样后,恢复28
×
28的mask特征。
[0050]
进一步地,上述分类结果和图像掩膜是基于maskrcnn实现。
[0051]
在上述技术方案中,目标检测模型采用maskrcnn的框架实现,具体地,采用resnet-fpn+fast rcnn+mask的结构,在上述结构中,干网络resnet-fpn,用于特征提取,另外,resnet还可以是resnet-50或resnet-101等。
[0052]
在上述任一技术方案中,第三数量的三维坐标数据包括第四数量的中心点的三位坐标数据和第五数量的关键点的三位坐标数据,其中,采用最远点采样算法对目标物体的点云数据进行处理,得到第五数量的关键点的三位坐标数据。
[0053]
在该技术方案中,关键点分散在目标物体上,其中,最远点采样算法,也即farthest point sampling(fps)算法,是一种非常常用的采样算法,由于能够保证对样本的均匀采样,被广泛使用,像3d点云深度学习框架中的pointnet++对样本点进行fps采样再聚类作为感受野,3d目标检测网络votenet对投票得到的散乱点进行fps采样再进行聚类,6d位姿估计算法pvn3d中用于选择物体的8个特征点进行投票并计算位姿。
[0054]
具体地,其原理如下:
[0055]
1.输入点云有n个点,从点云中选取一个点p0作为起始点,得到采样点集合s={p0};
[0056]
2.计算所有点到p0的距离,构成n维数组l,从中选择最大值对应的点作为p1,更新采样点集合s={p0,p1};
[0057]
3.计算所有点到p1的距离,对于每一个点pi,其距离p1的距离如果小于l[i],则更新l[i]=d(pi,p1),因此,数组l中存储的一直是每一个点到采样点集合s的最近距离;
[0058]
4.选取l中最大值对应的点作为p2,更新采样点集合s={p0,p1,p2};
[0059]
5.重复2至4,一直采样到n’个目标采样点为止。
[0060]
在上述任一技术方案中,采用perspective-n-point算法确定目标物体在相机的坐标系下的位姿。
[0061]
在上述任一技术方案中,目标检测模型包括:feature pyramid network模型。
[0062]
其中,feature pyramid network,即特征金字塔网络,主要是针对图像中目标的多尺度的这个特点提出的,就是将图片resize到不同的大小,然后分别得到对应大小的特
征,然后进行预测。这种方法虽然可以一定程度上解决多尺度的问题。
[0063]
在上述任一技术方案中,还包括:输出目标物体在相机的坐标系下的位姿。
[0064]
在该技术方案中,通过输出位姿,以便可以根据输出的位姿来调整机器人的抓取姿态,从而提高了目标物体抓取的准确性。
[0065]
根据本发明的第二个方面,本发明提供了一种姿态估计装置,包括:接收单元,用于接收相机采集的目标物体的二维图像数据;提取单元,用于将二维图像数据输入至目标检测模型,得到第一数量的方向向量图;第一处理单元,用于对第一数量的方向向量图进行处理,得到中心点的二维坐标数据和第二数量的关键点的二维坐标数据;第二处理单元,用于对目标物体的点云数据进行处理,得到第三数量的三维坐标数据;确定单元,用于根据中心点的二维坐标数据、第二数量的关键点的二维坐标数据、第三数量的三维坐标数据以及相机的参数数据确定目标物体在相机的坐标系下的位姿。
[0066]
本技术的技术方案提出了一种姿态估计装置,具有该估算装置的机器人,可以实现目标物体的位姿的估算,在上述方案中,目标物体的位姿估算时是利用二维图像数据实现的,由于上述运算都是基于二维图像数据实现的,因此,无需使用昂贵的3d摄像机设备,因此,可以降低位姿估算时的估算成本。
[0067]
此外,上述方案是利用二维图像数据进行估算,而二维层面的运算对目标检测模型的复杂度的要求较低,因此,在实现位姿的快速估算提供了基础,也为位姿的实时估算提供了可能。
[0068]
在上述技术方案中,上文中的二维图像数据可以理解为目标物体的二维图片,也即2d图像。
[0069]
在上述技术方案中,值得指出的是,由于位姿的估算是基于方向向量图所给出的,因此,可以帮助网络学习到物体的刚性结构,对目标物体被遮挡的情况得以应对,提高了对遮挡的应对能力,因此,提高了位姿估算的鲁棒性。
[0070]
在上述技术方案中,第一数量为18。
[0071]
在上述技术方案中,相机可以理解为机器人的摄像头。
[0072]
在上述技术方案中,目标物体可以是待抓取的工件、被加工的工件、机器人安装的工具等。
[0073]
在上述技术方案中,第二数量选取8,也即,关键点的数量为8个。
[0074]
此外,中心点的数量为一个。
[0075]
在上述技术方案中,第三数量等于9。
[0076]
在上述技术方案中,点云数据,也即,点云,其中,点云是某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐标x,y,z、颜色、分类值、强度值、时间等等,不一一列举。在我看来点云可以将现实世界原子化,通过高精度的点云数据可以还原现实世界。
[0077]
其中,点云主要是通过三维激光扫描仪进行数据采集获取点云数据,其次通过二维影像进行三维重建,在重建过程中获取点云数据,另外还有一些,通过三维模型来计算获取点云。
[0078]
在上述技术方案中,目标检测模型,也即进行目标检测的模型,其作为计算机视觉中的一个分支。
[0079]
在上述技术方案中,方向向量图可以理解为指向关键点位置的方向向量场分支,
以便利用该分支来实现位姿的估算。
[0080]
另外,本技术提出的姿态估计装置还具有以下附加技术特征。
[0081]
在上述技术方案中,提取单元,具体用于:利用目标检测模型对二维图像数据进行特征提取,得到特征图;对特征图进行感兴趣区域检测,得到目标区域;根据目标区域对特征图进行区域特征聚集,得到聚集结果;对聚集结果中的特征进行卷积和转置卷积操作,得到第一数量的方向向量图。
[0082]
在该技术方案中,具体限定了方向向量图的确定过程,也即具体限定了方向向量场分支的具体限定过程,利用目标检测模型对输入的二维图像数据进行特征提取,以便得到二维图像数据的特征图,也即feature map,在目标检测模型的特征金字塔的每层进行roi(region of interest,感兴趣区域)检测,从而得到目标区域,并在确定目标区域之后,利用目标区域(也即roi区域)对feature map进行roi align处理,得到处理结果,其中,处理结果也即上文中的聚集结果。
[0083]
基于聚集结果进入vector head,利用roi align的特征进行卷积以及转置卷积操作,得到18组特征图,也即上文中的第一数量的方向向量图。
[0084]
在上述技术方案中,卷积和转置卷积操作包括以下步骤:
[0085]
先经过4个卷积核为3
×
3、步长为1的卷积(不改变特征图大小);再经过一次转置卷积上采样到28
×
28大小;接着经过2个卷积核为3
×
3、步长为1的卷积(不改变特征图大小);再经过一次转置卷积上采样到56
×
56大小;最后经过一个全连接层输出56
×
56
×
18的结果,其中,56
×
56为特征图的大小。18为数量为18的特征向量图。
[0086]
在上述任一技术方案中,方向向量图包括在笛卡尔坐标系下的x轴方向和y轴方向上的方向向量图。
[0087]
在上述技术方案中,数量为18的特征向量图依次为9个点的x或y的方向向量图。
[0088]
在上述任一技术方案中,第一处理单元,具体用于:在第一数量的方向向量图中指向同一关键点的方向向量图中选取两个像素点,并将两个像素点的交点作为假设关键点;重复选取像素点,以便得到假设关键点的集合;根据目标物体的所有像素点,为集合中的每一假设关键点进行投票,得到投票结果;将投票结果中最大的假设关键点的二维坐标数据作为关键点的坐标数据。
[0089]
在上述技术方案中,具体限定了关键点的数据坐标的获取方式,在该方案中,在向量图中,向量vk(p),该向量表示从像素p到物体的关键点xk的方向。像素p与关键点xk之间的偏移量,即x
k-p。令代表了每个像素趋向于关键点xk的方向。
[0090]
其中,在指向同一个关键点的x、y方向向量图上随机选取两个像素点,将其向量的交点作为假设h
k,i
,作为关键点xk。重复n次,生成一组假设{h
k,i
|i=1,2,
…
,n}用于表示可能的关键点位置。然后,物体的所有像素为这些假设投票。将假设h
k,i
的投票得分w
k,i
定义为
[0091][0092]
其中,θ为阈值,p为像素点,p∈o表示像素p属于目标物体o。重复n次取最大值分数的交点h
k,i
作为关键点位置。
[0093]
在上述任一技术方案中,第一处理单元,具体用于:在第一数量的方向向量图中指向中心点的方向向量图中选取两个像素点,并将两个像素点的交点作为假设中心点;重复选取像素点,以便得到假设中心点的集合;根据目标物体的所有像素点,为集合中的每一假设中心点进行投票,得到投票结果;将投票结果中最大的假设中心点的二维坐标数据作为中心点的二维坐标数据。
[0094]
在上述技术方案中,具体限定了中心点的数据坐标的获取方式,在该方案中,在向量图中,向量vk(p),该向量表示从像素p到物体的中心点xk的方向。像素p与中心点xk之间的偏移量,即x
k-p。令代表了每个像素趋向于中心点xk的方向。
[0095]
其中,在指向同一个中心点的x、y方向向量图上随机选取两个像素点,将其向量的交点作为假设h
k,i
,作为中心点xk。重复n次,生成一组假设{h
k,i
|i=1,2,
…
,n}用于表示可能的中心点位置。然后,物体的所有像素为这些假设投票。将假设h
k,i
的投票得分w
k,i
定义为
[0096][0097]
其中,θ为阈值,p为像素点,p∈o表示像素p属于目标物体o。重复n次取最大值分数的交点h
k,i
作为中心点位置。
[0098]
在上述任一技术方案中,采用随机采样一致算法进行投票。
[0099]
在上述任一技术方案中,提取单元,还用于:对聚集结果中的特征进行卷积和全连接操作,得到分类结果;对聚集结果中的特征进行卷积和转置卷积操作,得到图像掩膜;确定分类结果所对应的图像掩膜;根据分类结果所对应的图像掩膜对第一数量的方向向量图进行筛选。
[0100]
在该技术方案中,通过对方向向量图筛选,以便降低中心点、关键点提取时的计算量,为降低目标检测模型的复杂度提供了基础,同时,也为实现位姿的实时估算提供了基础。
[0101]
具体地,利用图像掩膜对方向向量图筛选,可以理解为,只对mask部分的方向向量图进行处理,以实现中心点和关键点的二维坐标数据的确定。
[0102]
在上述技术方案中,还包括:对图像掩膜扩大一倍,根据类别选取相应的mask作为roi,在方向向量特征图上提取相应区域,即只处理mask部分的向量。
[0103]
在上述技术方案中,分类结果可以是基于rcnn head部分经过卷积、全连接后实现分类和bounding box回归;而图像掩膜可以是基于maskhead经过多个卷积和上采样后,恢复28
×
28的mask特征。
[0104]
进一步地,上述分类结果和图像掩膜是基于maskrcnn实现。
[0105]
在上述技术方案中,目标检测模型采用maskrcnn的框架实现,具体地,采用resnet-fpn+fast rcnn+mask的结构,在上述结构中,干网络resnet-fpn,用于特征提取,另外,resnet还可以是resnet-50或resnet-101等。
[0106]
在上述任一技术方案中,第三数量的三维坐标数据包括第四数量的中心点的三位坐标数据和第五数量的关键点的三位坐标数据,其中,采用最远点采样算法对目标物体的点云数据进行处理,得到第五数量的关键点的三位坐标数据。
[0107]
在该技术方案中,关键点分散在目标物体上,其中,最远点采样算法,也即farthest point sampling(fps)算法,是一种非常常用的采样算法,由于能够保证对样本的均匀采样,被广泛使用,像3d点云深度学习框架中的pointnet++对样本点进行fps采样再聚类作为感受野,3d目标检测网络votenet对投票得到的散乱点进行fps采样再进行聚类,6d位姿估计算法pvn3d中用于选择物体的8个特征点进行投票并计算位姿。
[0108]
具体地,其原理如下:
[0109]
1.输入点云有n个点,从点云中选取一个点p0作为起始点,得到采样点集合s={p0};
[0110]
2.计算所有点到p0的距离,构成n维数组l,从中选择最大值对应的点作为p1,更新采样点集合s={p0,p1};
[0111]
3.计算所有点到p1的距离,对于每一个点pi,其距离p1的距离如果小于l[i],则更新l[i]=d(pi,p1),因此,数组l中存储的一直是每一个点到采样点集合s的最近距离;
[0112]
4.选取l中最大值对应的点作为p2,更新采样点集合s={p0,p1,p2};
[0113]
5.重复2至4,一直采样到n个目标采样点为止。
[0114]
在上述任一技术方案中,采用perspective-n-point算法确定目标物体在相机的坐标系下的位姿。
[0115]
在上述任一技术方案中,采用随机采样一致算法进行投票。
[0116]
在上述任一技术方案中,目标检测模型包括:feature pyramid network模型。
[0117]
其中,feature pyramid network,即特征金字塔网络,主要是针对图像中目标的多尺度的这个特点提出的,就是将图片resize到不同的大小,然后分别得到对应大小的特征,然后进行预测。这种方法虽然可以一定程度上解决多尺度的问题。
[0118]
在上述任一技术方案中,确定单元还用于:输出目标物体在相机的坐标系下的位姿。
[0119]
在该技术方案中,通过输出位姿,以便可以根据输出的位姿来调整机器人的抓取姿态,从而提高了目标物体抓取的准确性。
[0120]
根据本发明的第三个方面,本发明提供了一种姿态估计装置,包括:控制器和存储器,其中,存储器中存储有程序或指令,控制器在执行存储器中的程序或指令时实现如上述中任一项的方法的步骤。
[0121]
根据本发明的第四个方面,本发明提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如上述中任一项的方法的步骤。
[0122]
根据本发明的第五个方面,本发明提供了一种机器人,包括:如上述任一的姿态估计装置;或如上述可读存储介质。
[0123]
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0124]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0125]
图1示出了本发明实施例中的姿态估计方法的流程示意图;
[0126]
图2示出了本发明实施例中的目标检测模型的框架示意图;
[0127]
图3示出了本发明实施例中的目标检测模型的框架示意图;
[0128]
图4示出了本发明实施例中的三维坐标数据的示意图;
[0129]
图5示出了本发明实施例中的目标物体在相机的坐标系下的位姿示意图;
[0130]
图6示出了本发明实施例中的姿态估计方法的流程示意图;
[0131]
图7示出了本发明实施例中的姿态估计装置的示意框图。
具体实施方式
[0132]
为了能够更清楚地理解本发明的上述方面、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
[0133]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0134]
下面参照图1至图7描述根据本发明一些实施例的姿态估计方法、装置、可读存储介质和机器人。
[0135]
实施例一
[0136]
如图1所示,根据本发明的第一个方面,本发明提供了一种姿态估计方法,包括:
[0137]
步骤102,接收相机采集的目标物体的二维图像数据;
[0138]
步骤104,将二维图像数据输入至目标检测模型,得到第一数量的方向向量图;
[0139]
步骤106,对第一数量的方向向量图进行处理,得到中心点的二维坐标数据和第二数量的关键点的二维坐标数据;
[0140]
步骤108,对目标物体的点云数据进行处理,得到第三数量的三维坐标数据;
[0141]
步骤110,根据中心点的二维坐标数据、第二数量的关键点的二维坐标数据、第三数量的三维坐标数据以及相机的参数数据确定目标物体在相机的坐标系下的位姿。
[0142]
本技术的技术方案提出了一种姿态估计方法,通过运行该估算方法,可以实现目标物体的位姿的估算,在上述方案中,目标物体的位姿估算时是利用二维图像数据实现的,由于上述运算都是基于二维图像数据实现的,因此,无需使用昂贵的3d摄像机设备,因此,可以降低位姿估算时的估算成本。
[0143]
此外,上述方案是利用二维图像数据进行估算,而二维层面的运算对目标检测模型的复杂度的要求较低,因此,在实现位姿的快速估算提供了基础,也为位姿的实时估算提供了可能。
[0144]
在上述技术方案中,上文中的二维图像数据可以理解为目标物体的二维图片,也即2d图像。
[0145]
在上述技术方案中,值得指出的是,由于位姿的估算是基于方向向量图所给出的,因此,可以帮助网络学习到物体的刚性结构,对目标物体被遮挡的情况得以应对,提高了对遮挡的应对能力,因此,提高了位姿估算的鲁棒性。
[0146]
在上述技术方案中,第一数量为18。
[0147]
在上述技术方案中,相机可以理解为机器人的摄像头。
[0148]
在上述技术方案中,目标物体可以是待抓取的工件、被加工的工件、机器人安装的工具等。
[0149]
在上述技术方案中,第二数量选取8,也即,关键点的数量为8个。
[0150]
此外,中心点的数量为一个。
[0151]
在上述技术方案中,第三数量等于9。
[0152]
在上述技术方案中,点云数据,也即,点云,其中,点云是某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐标x,y,z、颜色、分类值、强度值、时间等等,不一一列举。在我看来点云可以将现实世界原子化,通过高精度的点云数据可以还原现实世界。
[0153]
其中,点云主要是通过三维激光扫描仪进行数据采集获取点云数据,其次通过二维影像进行三维重建,在重建过程中获取点云数据,另外还有一些,通过三维模型来计算获取点云。
[0154]
在上述技术方案中,目标检测模型,也即进行目标检测的模型,其作为计算机视觉中的一个分支。
[0155]
在上述技术方案中,方向向量图可以理解为指向关键点位置的方向向量场分支,以便利用该分支来实现位姿的估算。
[0156]
另外,本技术提出的姿态估计方法还具有以下附加技术特征。
[0157]
在上述技术方案中,将二维图像数据输入至目标检测模型,得到第一数量的方向向量图,包括:利用目标检测模型对二维图像数据进行特征提取,得到特征图;对特征图进行感兴趣区域检测,得到目标区域;根据目标区域对特征图进行区域特征聚集,得到聚集结果;对聚集结果中的特征进行卷积和转置卷积操作,得到第一数量的方向向量图。
[0158]
在该技术方案中,具体限定了方向向量图的确定过程,也即具体限定了方向向量场分支的具体限定过程,利用目标检测模型对输入的二维图像数据进行特征提取,以便得到二维图像数据的特征图,也即feature map,在目标检测模型的特征金字塔的每层进行roi(region of interest,感兴趣区域)检测,从而得到目标区域,并在确定目标区域之后,利用目标区域(也即roi区域)对feature map进行roi align处理,得到处理结果,其中,处理结果也即上文中的聚集结果。
[0159]
基于聚集结果进入vector head,利用roi align的特征进行卷积以及转置卷积操作,得到18组特征图,也即上文中的第一数量的方向向量图。
[0160]
在上述技术方案中,卷积和转置卷积操作包括以下步骤:
[0161]
先经过4个卷积核为3
×
3、步长为1的卷积(不改变特征图大小);再经过一次转置卷积上采样到28
×
28大小;接着经过2个卷积核为3
×
3、步长为1的卷积(不改变特征图大小);再经过一次转置卷积上采样到56
×
56大小;最后经过一个全连接层输出56
×
56
×
18的结果,其中,56
×
56为特征图的大小。18为数量为18的特征向量图。
[0162]
在上述任一技术方案中,方向向量图包括在笛卡尔坐标系下的x轴方向和y轴方向上的方向向量图。
[0163]
在上述技术方案中,数量为18的特征向量图依次为9个点的x或y的方向向量图。
[0164]
在上述任一技术方案中,对第一数量的方向向量图进行处理,得到第二数量的关键点的二维坐标数据,包括:在第一数量的方向向量图中指向同一关键点的方向向量图中选取两个像素点,并将两个像素点的交点作为假设关键点;重复选取像素点,以便得到假设
关键点的集合;根据目标物体的所有像素点,为集合中的每一假设关键点进行投票,得到投票结果;将投票结果中最大的假设关键点的二维坐标数据作为关键点的坐标数据。
[0165]
在上述技术方案中,具体限定了关键点的数据坐标的获取方式,在该方案中,在向量图中,向量vk(p),该向量表示从像素p到物体的关键点xk的方向。像素p与关键点xk之间的偏移量,即x
k-p。令代表了每个像素趋向于关键点xk的方向。
[0166]
其中,在指向同一个关键点的x、y方向向量图上随机选取两个像素点,将其向量的交点作为假设h
k,i
,作为关键点xk。重复n次,生成一组假设{h
k,i
|i=1,2,
…
,n}用于表示可能的关键点位置。然后,物体的所有像素为这些假设投票。将假设h
k,i
的投票得分w
k,i
定义为
[0167][0168]
其中,θ为阈值,p为像素点,p∈o表示像素p属于目标物体o。重复n次取最大值分数的交点h
k,i
作为关键点位置。
[0169]
在上述任一技术方案中,对第一数量的方向向量图进行处理,得到中心点的二维坐标数据,包括:在第一数量的方向向量图中指向中心点的方向向量图中选取两个像素点,并将两个像素点的交点作为假设中心点;重复选取像素点,以便得到假设中心点的集合;根据目标物体的所有像素点,为集合中的每一假设中心点进行投票,得到投票结果;将投票结果中最大的假设中心点的二维坐标数据作为中心点的二维坐标数据。
[0170]
在上述技术方案中,具体限定了中心点的数据坐标的获取方式,在该方案中,在向量图中,向量vk(p),该向量表示从像素p到物体的中心点xk的方向。像素p与中心点xk之间的偏移量,即x
k-p。令代表了每个像素趋向于中心点xk的方向。
[0171]
其中,在指向同一个中心点的x、y方向向量图上随机选取两个像素点,将其向量的交点作为假设h
k,i
,作为中心点xk。重复n次,生成一组假设{h
k,i
|i=1,2,
…
,n}用于表示可能的中心点位置。然后,物体的所有像素为这些假设投票。将假设h
k,i
的投票得分w
k,i
定义为
[0172][0173]
其中,θ为阈值,p为像素点,p∈o表示像素p属于目标物体o。重复n次取最大值分数的交点h
k,i
作为中心点位置。
[0174]
在上述任一技术方案中,采用随机采样一致算法进行投票。
[0175]
在上述任一技术方案中,还包括:对聚集结果中的特征进行卷积和全连接操作,得到分类结果;对聚集结果中的特征进行卷积和转置卷积操作,得到图像掩膜;确定分类结果所对应的图像掩膜;根据分类结果所对应的图像掩膜对第一数量的方向向量图进行筛选。
[0176]
在该技术方案中,通过对方向向量图筛选,以便降低中心点、关键点提取时的计算量,为降低目标检测模型的复杂度提供了基础,同时,也为实现位姿的实时估算提供了基础。
[0177]
具体地,利用图像掩膜对方向向量图筛选,可以理解为,只对mask部分的方向向量
图进行处理,以实现中心点和关键点的二维坐标数据的确定。
[0178]
在上述技术方案中,还包括:对图像掩膜扩大一倍,根据类别选取相应的mask作为roi,在方向向量特征图上提取相应区域,即只处理mask部分的向量。
[0179]
在上述技术方案中,如图2所示,分类结果可以是基于rcnn head部分经过卷积、全连接后实现分类和bounding box回归;而图像掩膜可以是基于maskhead经过多个卷积和上采样后,恢复28
×
28的mask特征。
[0180]
进一步地,上述分类结果和图像掩膜是基于maskrcnn实现。
[0181]
在上述技术方案中,如图3所示,目标检测模型采用maskrcnn的框架实现,具体地,采用resnet-fpn+fast rcnn+mask的结构,在上述结构中,干网络resnet-fpn,用于特征提取,另外,resnet还可以是resnet-50或resnet-101等。
[0182]
在上述任一技术方案中,第三数量的三维坐标数据包括第四数量的中心点的三位坐标数据和第五数量的关键点的三位坐标数据,其中,采用最远点采样算法对目标物体的点云数据进行处理,得到第五数量的关键点的三位坐标数据。
[0183]
在该技术方案中,如图4所示,关键点分散在目标物体上,其中,最远点采样算法,也即farthest point sampling(fps)算法,是一种非常常用的采样算法,由于能够保证对样本的均匀采样,被广泛使用,像3d点云深度学习框架中的pointnet++对样本点进行fps采样再聚类作为感受野,3d目标检测网络votenet对投票得到的散乱点进行fps采样再进行聚类,6d位姿估计算法pvn3d中用于选择物体的8个特征点进行投票并计算位姿。
[0184]
具体地,其原理如下:
[0185]
1.输入点云有n个点,从点云中选取一个点p0作为起始点,得到采样点集合s={p0};
[0186]
2.计算所有点到p0的距离,构成n维数组l,从中选择最大值对应的点作为p1,更新采样点集合s={p0,p1};
[0187]
3.计算所有点到p1的距离,对于每一个点pi,其距离p1的距离如果小于l[i],则更新l[i]=d(pi,p1),因此,数组l中存储的一直是每一个点到采样点集合s的最近距离;
[0188]
4.选取l中最大值对应的点作为p2,更新采样点集合s={p0,p1,p2};
[0189]
5.重复2至4,一直采样到n’个目标采样点为止。
[0190]
在上述任一技术方案中,采用perspective-n-point算法确定目标物体在相机的坐标系下的位姿。
[0191]
在上述任一技术方案中,目标检测模型包括:feature pyramid network模型。
[0192]
其中,feature pyramid network,即特征金字塔网络,主要是针对图像中目标的多尺度的这个特点提出的,就是将图片resize到不同的大小,然后分别得到对应大小的特征,然后进行预测。这种方法虽然可以一定程度上解决多尺度的问题。
[0193]
在上述任一技术方案中,如图5所示,还包括:输出目标物体在相机的坐标系下的位姿。
[0194]
在该技术方案中,通过输出位姿,以便可以根据输出的位姿来调整机器人的抓取姿态,从而提高了目标物体抓取的准确性。
[0195]
在其中一个实施例中,如图6所示,位姿估算方法包括:
[0196]
步骤202,从相机获取图片;
[0197]
步骤204,利用fpn网络神经卷积处理,提取图片特征;
[0198]
步骤206,在fpn的特征金字塔的每层进行region proposal检测(roi);
[0199]
步骤208,利用roi在特征图上进行roi align;
[0200]
步骤210,进入rcnn head,利用roi align的特征进行卷积及全连接操作,得到class及box;
[0201]
步骤212,进入mask head,利用roi align的特征进行卷积及转置卷积操作,得到mask;根据rcnn head检测到的类别,输出响应的mask;
[0202]
步骤214,进入vector head,利用roi align的特征进行卷积及转置卷积操作,得到18组特征图,对应8个特征点及1个中心点的x向量图和y向量图;
[0203]
步骤216,根据mask head检测到的mask进一步提取vector head得到的特征图的有效区域;
[0204]
步骤218,对同一关键点的x向量和y向量,利用ransac进行投票,得票最高的位置为该关键点;
[0205]
步骤220,利用求出的8个2d关键点、相机内参、8个已知的关键点3d坐标,利用pnp求出物体在相机坐标系下的姿态;
[0206]
步骤222,重复以上步骤,直至把所有的roi目标的姿态计算完毕,并输出结果。
[0207]
实施例二
[0208]
如图7所示,本发明提供了一种姿态估计装置300,包括:接收单元302,用于接收相机采集的目标物体的二维图像数据;提取单元304,用于将二维图像数据输入至目标检测模型,得到第一数量的方向向量图;第一处理单元306,用于对第一数量的方向向量图进行处理,得到中心点的二维坐标数据和第二数量的关键点的二维坐标数据;第二处理单元308,用于对目标物体的点云数据进行处理,得到第三数量的三维坐标数据;确定单元310,用于根据中心点的二维坐标数据、第二数量的关键点的二维坐标数据、第三数量的三维坐标数据以及相机的参数数据确定目标物体在相机的坐标系下的位姿。
[0209]
本技术的技术方案提出了一种姿态估计装置300,具有该估算装置的机器人,可以实现目标物体的位姿的估算,在上述方案中,目标物体的位姿估算时是利用二维图像数据实现的,由于上述运算都是基于二维图像数据实现的,因此,无需使用昂贵的3d摄像机设备,因此,可以降低位姿估算时的估算成本。
[0210]
此外,上述方案是利用二维图像数据进行估算,而二维层面的运算对目标检测模型的复杂度的要求较低,因此,在实现位姿的快速估算提供了基础,也为位姿的实时估算提供了可能。
[0211]
在上述技术方案中,上文中的二维图像数据可以理解为目标物体的二维图片,也即2d图像。
[0212]
在上述技术方案中,值得指出的是,由于位姿的估算是基于方向向量图所给出的,因此,可以帮助网络学习到物体的刚性结构,对目标物体被遮挡的情况得以应对,提高了对遮挡的应对能力,因此,提高了位姿估算的鲁棒性。
[0213]
在上述技术方案中,第一数量为18。
[0214]
在上述技术方案中,相机可以理解为机器人的摄像头。
[0215]
在上述技术方案中,目标物体可以是待抓取的工件、被加工的工件、机器人安装的
工具等。
[0216]
在上述技术方案中,第二数量选取8,也即,关键点的数量为8个。
[0217]
此外,中心点的数量为一个。
[0218]
在上述技术方案中,第三数量等于9。
[0219]
在上述技术方案中,点云数据,也即,点云,其中,点云是某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐标x,y,z、颜色、分类值、强度值、时间等等,不一一列举。在我看来点云可以将现实世界原子化,通过高精度的点云数据可以还原现实世界。
[0220]
其中,点云主要是通过三维激光扫描仪进行数据采集获取点云数据,其次通过二维影像进行三维重建,在重建过程中获取点云数据,另外还有一些,通过三维模型来计算获取点云。
[0221]
在上述技术方案中,目标检测模型,也即进行目标检测的模型,其作为计算机视觉中的一个分支。
[0222]
在上述技术方案中,方向向量图可以理解为指向关键点位置的方向向量场分支,以便利用该分支来实现位姿的估算。
[0223]
另外,本技术提出的姿态估计装置还具有以下附加技术特征。
[0224]
在上述技术方案中,提取单元304,具体用于:利用目标检测模型对二维图像数据进行特征提取,得到特征图;对特征图进行感兴趣区域检测,得到目标区域;根据目标区域对特征图进行区域特征聚集,得到聚集结果;对聚集结果中的特征进行卷积和转置卷积操作,得到第一数量的方向向量图。
[0225]
在该技术方案中,具体限定了方向向量图的确定过程,也即具体限定了方向向量场分支的具体限定过程,利用目标检测模型对输入的二维图像数据进行特征提取,以便得到二维图像数据的特征图,也即feature map,在目标检测模型的特征金字塔的每层进行roi(region of interest,感兴趣区域)检测,从而得到目标区域,并在确定目标区域之后,利用目标区域(也即roi区域)对feature map进行roi align处理,得到处理结果,其中,处理结果也即上文中的聚集结果。
[0226]
基于聚集结果进入vector head,利用roi align的特征进行卷积以及转置卷积操作,得到18组特征图,也即上文中的第一数量的方向向量图。
[0227]
在上述技术方案中,卷积和转置卷积操作包括以下步骤:
[0228]
先经过4个卷积核为3
×
3、步长为1的卷积(不改变特征图大小);再经过一次转置卷积上采样到28
×
28大小;接着经过2个卷积核为3
×
3、步长为1的卷积(不改变特征图大小);再经过一次转置卷积上采样到56
×
56大小;最后经过一个全连接层输出56
×
56
×
18的结果,其中,56
×
56为特征图的大小。18为数量为18的特征向量图。
[0229]
在上述任一技术方案中,方向向量图包括在笛卡尔坐标系下的x轴方向和y轴方向上的方向向量图。
[0230]
在上述技术方案中,数量为18的特征向量图依次为9个点的x或y的方向向量图。
[0231]
在上述任一技术方案中,第一处理单元306,具体用于:在第一数量的方向向量图中指向同一关键点的方向向量图中选取两个像素点,并将两个像素点的交点作为假设关键点;重复选取像素点,以便得到假设关键点的集合;根据目标物体的所有像素点,为集合中的每一假设关键点进行投票,得到投票结果;将投票结果中最大的假设关键点的二维坐标
数据作为关键点的坐标数据。
[0232]
在上述技术方案中,具体限定了关键点的数据坐标的获取方式,在该方案中,在向量图中,向量vk(p),该向量表示从像素p到物体的关键点xk的方向。像素p与关键点xk之间的偏移量,即x
k-p。令代表了每个像素趋向于关键点xk的方向。
[0233]
其中,在指向同一个关键点的x、y方向向量图上随机选取两个像素点,将其向量的交点作为假设h
k,i
,作为关键点xk。重复n次,生成一组假设{h
k,i
|i=1,2,
…
,n}用于表示可能的关键点位置。然后,物体的所有像素为这些假设投票。将假设h
k,i
的投票得分w
k,i
定义为
[0234][0235]
其中,θ为阈值,p为像素点,p∈o表示像素p属于目标物体o。重复n次取最大值分数的交点h
k,i
作为关键点位置。
[0236]
在上述任一技术方案中,第一处理单元306,具体用于:在第一数量的方向向量图中指向中心点的方向向量图中选取两个像素点,并将两个像素点的交点作为假设中心点;重复选取像素点,以便得到假设中心点的集合;根据目标物体的所有像素点,为集合中的每一假设中心点进行投票,得到投票结果;将投票结果中最大的假设中心点的二维坐标数据作为中心点的二维坐标数据。
[0237]
在上述技术方案中,具体限定了中心点的数据坐标的获取方式,在该方案中,在向量图中,向量vk(p),该向量表示从像素p到物体的中心点xk的方向。像素p与中心点xk之间的偏移量,即x
k-p。令代表了每个像素趋向于中心点xk的方向。
[0238]
其中,在指向同一个中心点的x、y方向向量图上随机选取两个像素点,将其向量的交点作为假设h
k,i
,作为中心点xk。重复n次,生成一组假设{h
k,i
|i=1,2,
…
,n}用于表示可能的中心点位置。然后,物体的所有像素为这些假设投票。将假设h
k,i
的投票得分w
k,i
定义为
[0239][0240]
其中,θ为阈值,p为像素点,p∈o表示像素p属于目标物体o。重复n次取最大值分数的交点h
k,i
作为中心点位置。
[0241]
在上述任一技术方案中,采用随机采样一致算法进行投票。
[0242]
在上述任一技术方案中,提取单元304,还用于:对聚集结果中的特征进行卷积和全连接操作,得到分类结果;对聚集结果中的特征进行卷积和转置卷积操作,得到图像掩膜;确定分类结果所对应的图像掩膜;根据分类结果所对应的图像掩膜对第一数量的方向向量图进行筛选。
[0243]
在该技术方案中,通过对方向向量图筛选,以便降低中心点、关键点提取时的计算量,为降低目标检测模型的复杂度提供了基础,同时,也为实现位姿的实时估算提供了基础。
[0244]
具体地,利用图像掩膜对方向向量图筛选,可以理解为,只对mask部分的方向向量
图进行处理,以实现中心点和关键点的二维坐标数据的确定。
[0245]
在上述技术方案中,还包括:对图像掩膜扩大一倍,根据类别选取相应的mask作为roi,在方向向量特征图上提取相应区域,即只处理mask部分的向量。
[0246]
在上述技术方案中,分类结果可以是基于rcnn head部分经过卷积、全连接后实现分类和bounding box回归;而图像掩膜可以是基于maskhead经过多个卷积和上采样后,恢复28
×
28的mask特征。
[0247]
进一步地,上述分类结果和图像掩膜是基于maskrcnn实现。
[0248]
在上述技术方案中,目标检测模型采用maskrcnn的框架实现,具体地,采用resnet-fpn+fast rcnn+mask的结构,在上述结构中,干网络resnet-fpn,用于特征提取,另外,resnet还可以是resnet-50或resnet-101等。
[0249]
在上述任一技术方案中,第三数量的三维坐标数据包括第四数量的中心点的三位坐标数据和第五数量的关键点的三位坐标数据,其中,采用最远点采样算法对目标物体的点云数据进行处理,得到第五数量的关键点的三位坐标数据。
[0250]
在该技术方案中,关键点分散在目标物体上,其中,最远点采样算法,也即farthest point sampling(fps)算法,是一种非常常用的采样算法,由于能够保证对样本的均匀采样,被广泛使用,像3d点云深度学习框架中的pointnet++对样本点进行fps采样再聚类作为感受野,3d目标检测网络votenet对投票得到的散乱点进行fps采样再进行聚类,6d位姿估计算法pvn3d中用于选择物体的8个特征点进行投票并计算位姿。
[0251]
具体地,其原理如下:
[0252]
1.输入点云有n个点,从点云中选取一个点p0作为起始点,得到采样点集合s={p0};
[0253]
2.计算所有点到p0的距离,构成n维数组l,从中选择最大值对应的点作为p1,更新采样点集合s={p0,p1};
[0254]
3.计算所有点到p1的距离,对于每一个点pi,其距离p1的距离如果小于l[i],则更新l[i]=d(pi,p1),因此,数组l中存储的一直是每一个点到采样点集合s的最近距离;
[0255]
4.选取l中最大值对应的点作为p2,更新采样点集合s={p0,p1,p2};
[0256]
5.重复2至4,一直采样到n’个目标采样点为止。
[0257]
在上述任一技术方案中,采用perspective-n-point算法确定目标物体在相机的坐标系下的位姿。
[0258]
在上述任一技术方案中,采用随机采样一致算法进行投票。
[0259]
在上述任一技术方案中,目标检测模型包括:feature pyramid network模型。
[0260]
其中,feature pyramid network,即特征金字塔网络,主要是针对图像中目标的多尺度的这个特点提出的,就是将图片resize到不同的大小,然后分别得到对应大小的特征,然后进行预测。这种方法虽然可以一定程度上解决多尺度的问题。
[0261]
在上述任一技术方案中,确定单元310还用于:输出目标物体在相机的坐标系下的位姿。
[0262]
在该技术方案中,通过输出位姿,以便可以根据输出的位姿来调整机器人的抓取姿态,从而提高了目标物体抓取的准确性。
[0263]
实施例三
[0264]
本发明提供了一种姿态估计装置,包括:控制器和存储器,其中,存储器中存储有程序或指令,控制器在执行存储器中的程序或指令时实现如上述中任一项的方法的步骤。
[0265]
本技术的实施例提出了一种姿态估计装置,其中,该姿态估计装置中的控制器执行存储在存储器中的程序或指令能够实现如上述实施例中任一项的姿态估计方法的步骤,因此,姿态估计装置具有上述姿态估计方法的全部有益技术效果,在此,不再赘述。
[0266]
其中,存储器可以包括易失性存储器或非易失性存储器,或者,存储器可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synch link dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本技术实施例中的存储器包括但不限于这些和任意其它适合类型的存储器。
[0267]
实施例四
[0268]
本发明提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如上述中任一项的方法的步骤。
[0269]
本技术的技术方案提出了一种可读存储介质,该可读存储介质中的程序或指令能够实现如上述任一项的姿态估计方法的步骤,因此,具有上述姿态估计方法的全部有益技术效果,在此,不再赘述。
[0270]
如通过运行该估算方法,可以实现目标物体的位姿的估算,在上述方案中,目标物体的位姿估算时是利用二维图像数据实现的,由于上述运算都是基于二维图像数据实现的,因此,无需使用昂贵的3d摄像机设备,因此,可以降低位姿估算时的估算成本。
[0271]
实施例五
[0272]
本发明提供了一种机器人,包括:如上述任一的姿态估计装置;或如上述可读存储介质。
[0273]
本技术的实施例提出了一种机器人,该机器人具有上述姿态估计装置或可读存储介质,因此,具有上述姿态估计装置或可读存储介质的全部有益技术效果,在此,不再赘述。
[0274]
在本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0275]
在本发明的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施
例或示例中。在本发明中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0276]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种姿态估计方法,其特征在于,包括:接收相机采集的目标物体的二维图像数据;将所述二维图像数据输入至目标检测模型,得到第一数量的方向向量图;对所述第一数量的方向向量图进行处理,得到中心点的二维坐标数据和第二数量的关键点的二维坐标数据;对所述目标物体的点云数据进行处理,得到第三数量的三维坐标数据;根据所述中心点的二维坐标数据、所述第二数量的关键点的二维坐标数据、所述第三数量的三维坐标数据以及所述相机的参数数据确定所述目标物体在所述相机的坐标系下的位姿。2.根据权利要求1所述的姿态估计方法,其特征在于,将所述二维图像数据输入至目标检测模型,得到第一数量的方向向量图,包括:利用所述目标检测模型对所述二维图像数据进行特征提取,得到特征图;对所述特征图进行感兴趣区域检测,得到目标区域;根据目标区域对所述特征图进行区域特征聚集,得到聚集结果;对所述聚集结果中的特征进行卷积和转置卷积操作,得到所述第一数量的方向向量图。3.根据权利要求2所述的姿态估计方法,其特征在于,所述方向向量图包括在笛卡尔坐标系下的x轴方向和y轴方向上的方向向量图。4.根据权利要求2所述的姿态估计方法,其特征在于,对所述第一数量的方向向量图进行处理,得到第二数量的关键点的二维坐标数据,包括:在所述第一数量的方向向量图中指向同一关键点的方向向量图中选取两个像素点,并将两个所述像素点的交点作为假设关键点;重复选取所述像素点,以便得到所述假设关键点的集合;根据所述目标物体的所有像素点,为集合中的每一所述假设关键点进行投票,得到投票结果;将投票结果中最大的所述假设关键点的二维坐标数据作为所述关键点的坐标数据。5.根据权利要求2所述的姿态估计方法,其特征在于,对所述第一数量的方向向量图进行处理,得到中心点的二维坐标数据,包括:在所述第一数量的方向向量图中指向中心点的方向向量图中选取两个像素点,并将两个所述像素点的交点作为假设中心点;重复选取所述像素点,以便得到所述假设中心点的集合;根据所述目标物体的所有像素点,为集合中的每一所述假设中心点进行投票,得到投票结果;将投票结果中最大的假设中心点的二维坐标数据作为所述中心点的二维坐标数据。6.根据权利要求2所述的姿态估计方法,其特征在于,还包括:对所述聚集结果中的特征进行卷积和全连接操作,得到分类结果;对所述聚集结果中的特征进行卷积和转置卷积操作,得到图像掩膜;确定所述分类结果所对应的图像掩膜;根据分类结果所对应的图像掩膜对所述第一数量的方向向量图进行筛选。
7.根据权利要求1至6中任一项所述的姿态估计方法,其特征在于,所述第三数量的三维坐标数据包括第四数量的中心点的三位坐标数据和第五数量的关键点的三位坐标数据,其中,采用最远点采样算法对所述目标物体的点云数据进行处理,得到所述第五数量的关键点的三位坐标数据。8.根据权利要求1至6中任一项所述的姿态估计方法,其特征在于,采用perspective-n-point算法确定所述目标物体在所述相机的坐标系下的位姿。9.根据权利要求5所述的姿态估计方法,其特征在于,采用随机采样一致算法进行投票。10.根据权利要求1至6中任一项所述的姿态估计方法,其特征在于,所述目标检测模型包括:feature pyramid network模型。11.根据权利要求1至3中任一项所述的姿态估计方法,其特征在于,还包括:输出所述目标物体在所述相机的坐标系下的位姿。12.一种姿态估计装置,其特征在于,包括:接收单元,用于接收相机采集的目标物体的二维图像数据;提取单元,用于将所述二维图像数据输入至目标检测模型,得到第一数量的方向向量图;第一处理单元,用于对所述第一数量的方向向量图进行处理,得到中心点的二维坐标数据和第二数量的关键点的二维坐标数据;第二处理单元,用于对所述目标物体的点云数据进行处理,得到第三数量的三维坐标数据;确定单元,用于根据所述中心点的二维坐标数据、所述第二数量的关键点的二维坐标数据、所述第三数量的三维坐标数据以及所述相机的参数数据确定所述目标物体在所述相机的坐标系下的位姿。13.一种姿态估计装置,其特征在于,包括:控制器和存储器,其中,存储器中存储有程序或指令,所述控制器在执行存储器中的程序或指令时实现如权利要求1至11中任一项所述的方法的步骤。14.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至11中任一项所述的方法的步骤。15.一种机器人,其特征在于,包括:如权利要求12或13所述的姿态估计装置;或如权利要求14所述的可读存储介质。
技术总结
本发明提供了一种姿态估计方法、装置、可读存储介质和机器人,姿态估计方法,包括:接收相机采集的目标物体的二维图像数据;将二维图像数据输入至目标检测模型,得到第一数量的方向向量图;对第一数量的方向向量图进行处理,得到中心点的二维坐标数据和第二数量的关键点的二维坐标数据;对目标物体的点云数据进行处理,得到第三数量的三维坐标数据;根据中心点的二维坐标数据、第二数量的关键点的二维坐标数据、第三数量的三维坐标数据以及相机的参数数据确定目标物体在相机的坐标系下的位姿,由于上述运算都是基于二维图像数据实现的,因此,无需使用昂贵的3D摄像机设备,因此,可以降低位姿估算时的估算成本。低位姿估算时的估算成本。低位姿估算时的估算成本。
技术研发人员:罗健彬 夏俊超 施俊龙 张祥坤 高杨帆
受保护的技术使用者:库卡机器人(广东)有限公司
技术研发日:2022.02.11
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
