一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

物体位姿估计方法、装置、介质和设备与流程

2023-01-14 23:33:03 来源:中国专利 TAG:


1.本公开涉及位姿估计技术领域,具体地,涉及一种物体位姿估计方法、装置、介质和设备。


背景技术:

2.在机器人的感知与操作领域,估计日常物体的形状和位姿是一项基本功能,并且这项功能具有多种应用,其中包括3d场景理解、机器人操作和自主仓储。在未知环境中进行探索时,由于物体形状的多样性,现有的物体位姿估计方法不能达到满意的效果。


技术实现要素:

3.提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
4.第一方面,本公开提供一种物体位姿估计方法,包括:
5.获取目标物体的位置点云,将所述位置点云分割成具有不同语义标签的多个语义点,所述多个语义点用于表示所述目标物体的观测形状;
6.生成一编码向量并选择与所述目标物体的类别对应的生成模型,所述编码向量用于表征对物体形状的编码;
7.基于所述编码向量,通过所述生成模型生成与所述观测形状匹配、且由具有不同语义标签的多个语义单元组成的生成形状;
8.根据所述观测形状对应的各语义点的语义标签,与所述生成形状对应的各语义单元的语义标签之间的对应关系,确定所述目标物体的位姿。
9.第二方面,本公开提供一种物体位姿估计装置,包括:
10.语义点确定模块,用于获取目标物体的位置点云,将所述位置点云分割成具有不同语义标签的多个语义点,所述多个语义点用于表示所述目标物体的观测形状;
11.形状编码模块,用于生成一编码向量并选择与所述目标物体的类别对应的生成模型,所述编码向量用于表征对物体形状的编码;
12.形状生成模块,用于基于所述编码向量,通过所述生成模型生成与所述观测形状匹配、且由具有不同语义标签的多个语义单元组成的生成形状;
13.位姿求解模块,用于根据所述观测形状对应的各语义点的语义标签,与所述生成形状对应的各语义单元的语义标签之间的对应关系,确定所述目标物体的位姿。
14.第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面所述方法的步骤。
15.第四方面,本公开提供一种电子设备,包括:
16.存储装置,其上存储有计算机程序;
17.处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面所述方
法的步骤。
18.通过上述技术方案,首先基于目标物体的位置点云获取其观测形状,再基于编码向量,利用生成模型来生成相应的物体形状,该形状由多个语义单元组成,然后迭代优化编码向量以实现迭代优化生成模型所生成的形状,直至生成的形状与观测形状匹配,得到与观测形状匹配的生成形状,在得到与观测形状匹配的生成形状后,基于生成形状与观测形状在语义上的对应关系,求解物体的位姿。一方面,先求解物体的形状,再基于形状求解物体的位姿,将形状与位姿进行解耦,使得对位姿的估计问题变得简单,另一方面,通过引入语义单元对物体的形状进行表示,能够处理具有较大类内形状差异的不同物体实例的位姿估计。
19.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
20.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
21.图1示出了一示例性实施例提供的物体位姿估计方法的流程图;
22.图2示出了图1中步骤s103的具体实施方式的流程图;
23.图3示出了一示例性实施例提供的物体位姿估计装置的框图;
24.图4示出了一示例性实施例提供的电子设备的框图。
具体实施方式
25.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
26.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
27.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
28.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
29.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
30.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
31.可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或
使用)应当遵循相应法律法规及相关规定的要求。
32.在物体的位姿估计任务中,目前主要有实例级位姿估计方法和类别级位姿估计方法。实例级位姿估计方法,需要预先给定不同物体实例的三维物体模型,通过将观测到的物体与给定的三维物体模型对齐来获得物体位姿,然而,由于很难预先获得一个任意物体的确切的三维物体模型,因此这种方式在现实场景中的应用十分有限。由此产生了类别级位姿估计方法,类别级位姿估计方法可以处理现实场景中同一类别的各种物体实例的位姿估计,例如在“相机”类别下,有多个不同形状的相机实例,其可以估计各种相机实例的位姿,甚至估计在训练时没有见过的相机实例的位姿。
33.现有的类别级位姿估计方法,通过预测一个类中实例的像素级归一化坐标,或者采用形变之后的参考先验模型来估计物体位姿,但是当同一类别中存在形状差异较大的物体实例时,这种一次性预测方法仍然面临困难。或者,通过一个神经网络来迭代优化物体的位姿和形状,来适应目标物体的形状,在这种方案中,位姿和形状估计是耦合在一起的,并且相互依赖以获得可靠的结果,因此,其在现实场景中的表现并不令人满意。
34.目前的类别级位姿估计方法中,存在两个主要问题,一是很难处理巨大的类内形状差异,二是将形状与位姿耦合在一起进行优化,容易导致优化问题复杂。
35.由此,本公开实施例提供一种物体位姿估计方法。图1示出了一示例性实施例提供的物体位姿估计方法的流程图,请参照图1,该方法包括:
36.s101,获取目标物体的位置点云,将位置点云分割成具有不同语义标签的多个语义点,该多个语义点用于表示目标物体的观测形状。
37.首先,获取目标物体的位置点云,将该位置点云分割成具有不同语义标签的多个语义点,每个语义点各对应一个语义标签,且每个语义点对应的语义标签各不相同。该多个语义点形成的轮廓可以表示目标物体的观测形状。
38.在可选的实施例中,获取目标物体的位置点云的过程包括:获取场景图像和对应的深度图像,对该场景图像进行实例分割,获得场景图像中每个物体的位置框和类别,然后从深度图像中提取每个物体对应位置框的深度信息,根据相机内参将深度信息投影到三维空间中,得到每个物体的位置点云,由于目标物体即为其中一个物体,从而得到目标物体的位置点云。
39.示例性地,可通过mask r-cnn网络对场景图像进行实例分割。
40.当然,本公开也不排除通过其他方式来获取目标物体的位置点云,如激光扫描仪等。
41.在可选的实施例中,在获取目标物体的位置点云后,确定该位置点云中每个点对应的语义标签,例如通过点云分割网络(如3d-gcn网络)对位置点云中的每个点赋予一个语义标签,然后将具有相同语义标签的多个点聚类为一个语义点,聚类后的语义点的位置坐标为聚类前的多个点的位置坐标的均值,由此得到具有不同语义标签的多个语义点。
42.s102,生成一编码向量并选择与目标物体的类别对应的生成模型,该编码向量用于表征对物体形状的编码。
43.s103,基于该编码向量,通过该生成模型生成与观测形状匹配、且由具有不同语义标签的多个语义单元组成的生成形状。
44.值得说明的是,本公开从生成模型的角度出发,提出了基于语义单元来估计物体
的形状。对物体进行观察可以发现,虽然一个类别中的各种物体实例具有不同的形状,但它们通常是由具有相同语义的组件组成,例如,“杯子”是由半圆形手柄和圆柱形主体组成,“相机”是由一个屏幕和一个镜头组成。这种属性启发发明人通过使用语义信息来处理类内形状的巨大差异。
45.具体来说,使用语义单元对每个物体的形状进行表示,从而在同一类别的不同物体之间构建统一的语义表示,每个形状由多个语义单元组合而成,每个语义单元可以是基于中心点和半径所形成的球体单元,或者还可以是其他形式的单元,如基于中心点形成的多边体单元等,或者还可以是一个点。每个语义单元各对应一个语义标签,且每个语义单元对应的语义标签各不相同。
46.在本公开中,语义单元是在同一类物体之间具有语义连续性的一种表示,语义连续性是指,相同语义标签的语义单元对应同一类物体的某个结构,它的本质出发点是一种类间连续的物体表示形式,例如,可以用“0”这个标签去指代两个不同相机实例的镜头部分的最外侧。
47.在本公开中,提出利用生成模型来估计物体的形状,且不同的类别分别对应一个生成模型。对于生成模型,只需要向它输入一个向量,则它会自动生成一个与该向量对应的形状,该形状可能是一些现实世界中并不存在的形状。假设输入的向量的值是连续变化的,则生成的形状也是连续变化的,例如朝一个方向逐渐变大。
48.其中,该形状是由预设数量的多个语义单元组成,且预设数量与类别有关。例如对于“相机”类别,预设数量设置为256,则对应的生成模型可以生成由256个语义单元所组成的形状,256个语义单元的语义标签分别为0到255,对于其他类别,预设数量可以设置为其他数值。
49.在本公开中,预先在训练阶段,将同一类别中不同物体的语义单元表示的形状映射到对应的生成模型的共享隐式空间中,以训练对应的编码向量和生成模型,该编码向量用于表征对物体形状的一种编码。每个类别对应的生成模型是基于对应类别的多种物体实例的语义单元表示的形状进行训练得到,生成模型的训练过程在后文说明。
50.在上述步骤中,先生成一编码向量,作为初始的编码向量。示例性地,该编码向量可以是一个长度为128维、值全部为0的零向量。由于不同的类别分别对应一个生成模型,因此根据目标物体的类别选择对应的生成模型。
51.在生成初始的编码向量后,将初始的编码向量输入到该生成模型中,该生成模型将基于输入的编码向量输出一个对应的生成形状,该生成形状由多个语义单元组合而成,每个语义单元各对应一个语义标签,且每个语义单元对应的语义标签各不相同。
52.需要注意的是,此时生成模型输出的生成形状是基于初始的编码向量所生成的,由于初始的编码向量并不能真实表示目标物体形状的编码,因此输出的生成形状与目标物体的真实形状相差较大,于是需要根据观测形状与输出的生成形状,优化该编码向量,并将优化后的编码向量再次输入到该生成模型中,该生成模型基于输入的编码向量再次输出一个对应的生成形状,然后再次根据观测形状与输出的生成形状,继续优化该编码向量。
53.迭代执行上述过程,直至该生成模型输出的生成形状与观测形状匹配后,停止迭代,得到与观测形状匹配的生成形状。
54.s104,根据该观测形状对应的各语义点的语义标签,与该生成形状对应的各语义
单元的语义标签之间的对应关系,确定目标物体的位姿。
55.在获得与观测形状匹配的生成形状后,通过将观测形状与生成形状的语义对齐来求解物体的位姿。具体地,由于观测形状对应的各语义点分别具有语义标签,且生成形状对应的各语义单元同样分别具有语义标签,基于相同语义标签所构建的对应关系,求解目标物体的位姿。
56.在上述技术方案中,首先基于目标物体的位置点云获取其观测形状,再基于编码向量,利用生成模型来生成相应的物体形状,该形状由多个语义单元组成,然后迭代优化编码向量以实现迭代优化生成模型所生成的形状,直至生成的形状与观测形状匹配,得到与观测形状匹配的生成形状,在得到与观测形状匹配的生成形状后,基于生成形状与观测形状在语义上的对应关系,求解物体的位姿。一方面,先求解物体的形状,再基于形状求解物体的位姿,将形状与位姿进行解耦,使得对位姿的估计问题变得简单,另一方面,通过引入语义单元对物体的形状进行表示,能够处理具有较大类内形状差异的不同物体实例的位姿估计。
57.此外,大量经验证明,本公开提出的位姿估计方法在现实世界的数据集中实现了较好的位姿估计性能和泛化性。
58.进一步地,在步骤s101之后,即得到用于表示目标物体的观测形状的多个语义点之后,该方法还包括:基于该观测形状对应的各语义点,提取对刚体相似变换不变的形状描述子。其中,刚体相似变换包括:缩放、平移、旋转。
59.下面对本公开实施例提供的形状描述子的表达式进行推导:
60.假设有一点集c,那么对刚体相似变换不变可以表示为:从该点集c中提取形状描述子,并对该点集进行缩放、平移和旋转中的一项或多项变换后,再从新的点集中提取形状描述子,变换后提取的形状描述子与变换前提取的形状描述子保持不变。即应当满足:
61.f(c)=f(src t)
62.其中,f表示形状描述子,s表示缩放因子,r表示旋转因子,t表示平移因子。
63.那么为实现对缩放、平移和旋转不变,首先使得对平移不变,则有:
64.v
ij
=(ci t)-(cj t)=c
i-cj65.在此基础上,再实现对缩放不变,则有:
[0066][0067]
在此基础上,再实现对旋转不变,则有:
[0068][0069]
其中,ci、cj、ck、co分别为点集c中的任意四点的位置坐标。的计算可以参考前面的计算公式。
[0070]
从点集c中任取多组ci、cj、ck和co,得到多个θ(ci,cj,ck,co),然后将多个θ(ci,cj,ck,co)进行拼接,即可得到所需的对刚体相似变换不变的形状描述子,即:
[0071]
[0072]
其中,表示拼接。
[0073]
由此,本公开实施例中的形状描述子的表达式可以为:
[0074][0075][0076][0077]vij
=c
i-cj[0078]
其中,f表示形状描述子,ci、cj、ck、co分别为点集c中的任意四点的位置坐标,表示拼接,点集c由观测形状对应的多个语义点组成,或者由生成形状对应的多个语义单元的中心点组成。
[0079]
在上述步骤中,基于该观测形状对应的各语义点所组成的点集c,通过上述表达式提取该观测形状对应的形状描述子,提取的形状描述子记为f 1

[0080]
进一步地,图2示出了上述步骤s103的具体实施方式的流程图,请参照图2,基于编码向量,通过生成模型生成与观测形状匹配且由多个语义单元组成的生成形状的过程包括:
[0081]
s201,将编码向量输入生成模型,以基于该编码向量生成由多个语义单元组成的生成形状,该多个语义单元分别具有不同的语义标签。
[0082]
在生成初始的编码向量后,将初始的编码向量输入到该生成模型中,该生成模型基于输入的编码向量输出一个对应的生成形状,该生成形状由多个语义单元组合而成,且每个语义单元各对应一个语义标签。
[0083]
s202,基于该生成形状对应的各语义单元,提取对刚体相似变换不变的形状描述子。
[0084]
示例性地,基于该生成形状对应的各语义单元的中心点所组成的点集c,通过前述表达式提取该生成形状对应的形状描述子,将提取的形状描述子记为f 2

[0085]
s203,基于观测形状与生成形状分别对应的形状描述子之间的相似度,优化该编码向量;基于优化后的编码向量,返回执行步骤s201,直至确定满足优化停止条件时,跳转至步骤s204。
[0086]
应理解,由于本公开实施例中的形状描述子具有对刚体相似变换不变的特性,因此无论观测形状相较于生成形状进行了缩放、平移和旋转中的一项或多项位姿变换,只要两者在形状上是匹配的,那么其提取的形状描述子也应当是匹配的,反之也一样,只要两个形状对应的形状描述子是匹配的,那么这两个形状也应当是匹配的。因此,利用该形状描述子,可以确定观测形状与生成形状之间的匹配程度,从而指导生成形状的优化。
[0087]
观测形状对应的形状描述子与生成形状对应的形状描述子之间的相似度越高,表示生成形状与观测形状越像,而相似度越低,表示生成形状与观测形状差别越大,因此基于两个形状描述子的相似度,迭代优化编码向量。随着迭代过程的深入,生成模型输出的生成形状将会逐渐与观测形状匹配。
[0088]
在可选的实施例中,将观测形状与生成形状分别对应的形状描述子作差,得到误
差向量,计算误差向量的模,作为观测形状与生成形状的相似度误差,基于该相似度误差,通过梯度下降优化该编码向量。
[0089]
示例性地,计算相似度误差的表达式为:
[0090]
e=||f
1-f2||
[0091]
其中,e表示相似度误差。
[0092]
s204,确定最终的生成形状,作为与观测形状匹配的生成形状。
[0093]
其中,当确定满足优化停止条件时,停止迭代,将迭代停止时的最终的生成形状,作为与观测形状匹配的生成形状。
[0094]
示例性地,优化停止条件包括:相似度误差低于预设阈值或者迭代次数达到预设次数。
[0095]
值得注意的是,在训练阶段,需要对不同类别对应的生成模型分别进行训练,以某一目标类别对应的生成模型为例,其具体训练过程包括:
[0096]
步骤a,获取目标类别下的多个物体的真实形状,每个物体的真实形状由多个语义单元组成;
[0097]
步骤b,针对一个物体,生成一编码向量,作为初始的编码向量,例如,该编码向量可以是一个长度为128维、值全部为0的零向量;
[0098]
步骤c,将编码向量输入到该生成模型中,该生成模型将基于输入的编码向量输出一个对应的生成形状;
[0099]
步骤d,提取该物体的真实形状的对刚体相似变换不变的形状描述子,记为第一形状描述子,以及提取该物体的生成形状的对刚体相似变换不变的形状描述子,记为第二形状描述子;
[0100]
步骤e,基于第一形状描述子与第二形状描述子之间的相似度,通过梯度下降优化该物体对应的编码向量和该生成模型的模型参数;
[0101]
然后,基于优化后的编码向量和生成模型,迭代执行步骤c~e;
[0102]
步骤f,在确定满足优化停止条件时,停止本次迭代,然后基于下一个物体继续执行步骤b~f。
[0103]
基于上述训练过程可见,只需要在训练阶段基于目标类别下的有限个物体的真实形状对生成模型进行训练,即可利用训练完成的生成模型,推广应用到处理该类别下的其他物体的位姿估计。
[0104]
在可选的实施例中,在步骤s104中,通过如下函数,求解令该函数取得最小值的位姿[s,r,t],作为目标物体的位姿:
[0105][0106]
其中,s表示缩放因子,r表示旋转因子,t表示平移因子,ψ表示由观测形状对应的多个语义点中的语义标签组成的标签集合,nc表示标签集合ψ
[0107]
中的语义标签的数量,l表示标签集合ψ中的一语义标签,表示在观测形
[0108]
状对应的多个语义点中,语义标签l所对应的语义点的位置坐标,表示在生成形
状对应的多个语义单元中,语义标签l所对应的语义单元的中心点的位置坐标。
[0109]
在可选的实施例中,生成模型中包括第一解码器和第二解码器,在前述的步骤中,在生成或优化编码向量后,将该编码向量分别输入第一解码器和第二解码器,第一解码器将基于输入的编码向量输出与该编码向量对应的、由多个语义单元组成的生成形状,第二解码器将基于输入的编码向量输出与该编码向量对应的标准坐标系下的三维物体模型。其中,生成模型输出的生成形状与三维物体模型均是在标准坐标系下。
[0110]
在对编码向量进行迭代优化的过程中,第一解码器输出的生成形状和第二解码器输出的三维物体模型也将会逐渐优化,当确定满足优化停止条件时,停止对编码向量的迭代,将最终的生成形状作为与观测形状匹配的形状,同时确定最终的三维物体模型,该三维物体模型即为优化出的目标物体对应的在标准坐标系下的三维物体模型。
[0111]
进一步的,在确定目标物体的位姿后,将最终的三维物体模型从标准坐标系转换到世界坐标系下,得到目标物体在世界坐标系下的三维物体模型,再根据目标物体在世界坐标系下的三维物体模型,以及对场景图像进行实例分割得到的其他物体在世界坐标系下的三维物体模型,进行三维场景重建。
[0112]
因此,本公开不仅能够用于物体位姿的估计,还能十分方便地进行三维场景的重建。
[0113]
图3示出了本公开实施例提供的物体位姿估计装置的框图,请参照图3,物体位姿估计装置300包括:
[0114]
语义点确定模块301,用于获取目标物体的位置点云,将所述位置点云分割成具有不同语义标签的多个语义点,所述多个语义点用于表示所述目标物体的观测形状;
[0115]
形状编码模块302,用于生成一编码向量并选择与所述目标物体的类别对应的生成模型,所述编码向量用于表征对物体形状的编码;
[0116]
形状生成模块303,用于基于所述编码向量,通过所述生成模型生成与所述观测形状匹配、且由具有不同语义标签的多个语义单元组成的生成形状;
[0117]
位姿求解模块304,用于根据所述观测形状对应的各语义点的语义标签,与所述生成形状对应的各语义单元的语义标签之间的对应关系,确定所述目标物体的位姿。
[0118]
可选地,该物体位姿估计装置300还包括:第一描述子提取模块,用于基于所述观测形状对应的各语义点,提取对刚体相似变换不变的形状描述子。
[0119]
其中,形状生成模块303包括:
[0120]
生成模型处理模块,用于将所述编码向量输入所述生成模型,以基于所述编码向量生成由多个语义单元组成的生成形状,所述多个语义单元分别具有不同的语义标签;
[0121]
第二描述子提取模块,用于基于所述生成形状对应的各语义单元,提取对刚体相似变换不变的形状描述子;
[0122]
向量迭代优化模块,用于基于所述观测形状与所述生成形状分别对应的形状描述子之间的相似度,优化所述编码向量;基于优化后的编码向量,返回所述生成模型处理模块执行所述将所述编码向量输入所述生成模型的步骤;
[0123]
生成形状确定模块,用于当确定满足优化停止条件时,确定最终的生成形状,作为与所述观测形状匹配的生成形状。
[0124]
可选地,所述形状描述子的表达式为:
[0125][0126][0127][0128]vij
=c
i-cj;
[0129]
其中,f表示形状描述子,ci、cj、ck、co分别为点集c中的任意四点的位置坐标,表示拼接,点集c由所述观测形状对应的所述多个语义点组成,或者由所述生成形状对应的所述多个语义单元的中心点组成。
[0130]
可选地,向量迭代优化模块用于:将所述观测形状与所述生成形状分别对应的形状描述子作差,得到误差向量;计算所述误差向量的模,作为所述观测形状与所述生成形状的相似度误差;基于所述相似度误差,通过梯度下降优化所述编码向量。
[0131]
可选地,位姿求解模块304用于:
[0132]
通过如下函数,求解令所述函数取得最小值的位姿[s,r,t],作为所述目标物体的位姿:
[0133][0134]
其中,s表示缩放因子,r表示旋转因子,t表示平移因子,ψ表示由所述观测形状对应的所述多个语义点中的语义标签组成的标签集合,nc表示标签集合ψ中的语义标签的数量,l表示标签集合ψ中的一语义标签,表示在所述观测形状对应的所述多个语义点中,语义标签l所对应的语义点的位置坐标,表示在所述生成形状对应的所述多个语义单元中,语义标签l所对应的语义单元的中心点的位置坐标。
[0135]
可选地,所述生成模型包括第一解码器和第二解码器,生成模型处理模块用于:将所述编码向量分别输入所述第一解码器和所述第二解码器,获得所述第一解码器基于所述编码向量生成的所述生成形状,和所述第二解码器基于所述编码向量生成的所述目标物体对应的在标准坐标系下的三维物体模型。
[0136]
该物体位姿估计装置300还包括:
[0137]
物体模型确定模块,用于当确定满足优化停止条件时,确定最终的三维物体模型;
[0138]
坐标系转换模块,用于基于所述目标物体的位姿,将最终的三维物体模型从所述标准坐标系转换到世界坐标系下;
[0139]
场景重建模块,用于基于所述目标物体在世界坐标系下的三维物体模型,进行三维场景重建。
[0140]
可选地,语义点确定模块301包括:
[0141]
图像获取模块,用于获取场景图像和对应的深度图像;
[0142]
实例分割模块,用于对所述场景图像进行实例分割,获得所述场景图像中目标物体的位置框和类别;
[0143]
点云生成模块,用于从深度图像中提取对应位置框的深度信息,根据相机内参将所述深度信息投影到三维空间中,得到目标物体的位置点云。
[0144]
可选地,语义点确定模块301包括:
[0145]
语义确定模块,用于确定所述位置点云中每个点对应的语义标签;
[0146]
语义聚类模块,用于将具有相同语义标签的多个点聚类为一个语义点,以得到具有不同语义标签的所述多个语义点。
[0147]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0148]
本公开实施例还提供一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现本公开前述实施例提供的物体位姿估计方法的步骤。
[0149]
本公开实施例还提供一种电子设备,包括:
[0150]
存储装置,其上存储有计算机程序;
[0151]
处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开前述实施例提供的物体位姿估计方法的步骤。
[0152]
下面参考图4,其示出了适于用来实现本公开实施例的电子设备400的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如机器人、自动驾驶车辆的车载终端等设备,用于在机器人和自动驾驶车辆中对物体位姿进行估计,以及进行三维场景的重建,或者诸如笔记本电脑、台式计算机、服务器等设备,用于对数据进行处理,以提供对物体位姿的估计结果。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0153]
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储装置408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、rom 402以及ram 403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
[0154]
通常,以下装置可以连接至i/o接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0155]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从rom 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
[0156]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不
限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0157]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0158]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取目标物体的位置点云,将所述位置点云分割成具有不同语义标签的多个语义点,所述多个语义点用于表示所述目标物体的观测形状;生成一编码向量并选择与所述目标物体的类别对应的生成模型,所述编码向量用于表征对物体形状的编码;基于所述编码向量,通过所述生成模型生成与所述观测形状匹配、且由具有不同语义标签的多个语义单元组成的生成形状;根据所述观测形状对应的各语义点的语义标签,与所述生成形状对应的各语义单元的语义标签之间的对应关系,确定所述目标物体的位姿。
[0159]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0160]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令
的组合来实现。
[0161]
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,位姿求解模块还可以被描述为“确定目标物体的位姿的模块”。
[0162]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0163]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0164]
根据本公开的一个或多个实施例,示例1提供了一种物体位姿估计方法,包括:
[0165]
获取目标物体的位置点云,将所述位置点云分割成具有不同语义标签的多个语义点,所述多个语义点用于表示所述目标物体的观测形状;
[0166]
生成一编码向量并选择与所述目标物体的类别对应的生成模型,所述编码向量用于表征对物体形状的编码;
[0167]
基于所述编码向量,通过所述生成模型生成与所述观测形状匹配、且由具有不同语义标签的多个语义单元组成的生成形状;
[0168]
根据所述观测形状对应的各语义点的语义标签,与所述生成形状对应的各语义单元的语义标签之间的对应关系,确定所述目标物体的位姿。
[0169]
根据本公开的一个或多个实施例,示例2提供了示例1的方法,还包括:
[0170]
基于所述观测形状对应的各语义点,提取对刚体相似变换不变的形状描述子;
[0171]
所述基于所述编码向量,通过所述生成模型生成与所述观测形状匹配、且由具有不同语义标签的多个语义单元组成的生成形状,包括:
[0172]
将所述编码向量输入所述生成模型,以基于所述编码向量生成由多个语义单元组成的生成形状,所述多个语义单元分别具有不同的语义标签;
[0173]
基于所述生成形状对应的各语义单元,提取对刚体相似变换不变的形状描述子;
[0174]
基于所述观测形状与所述生成形状分别对应的形状描述子之间的相似度,优化所述编码向量;
[0175]
基于优化后的编码向量,返回执行所述将所述编码向量输入所述生成模型的步骤;
[0176]
当确定满足优化停止条件时,确定最终的生成形状,作为与所述观测形状匹配的生成形状。
[0177]
根据本公开的一个或多个实施例,示例3提供了示例2的方法,所述形状描述子的
表达式为:
[0178][0179][0180][0181]vij
=c
i-cj;
[0182]
其中,f表示形状描述子,ci、cj、ck、co分别为点集c中的任意四点的位置坐标,表示拼接,点集c由所述观测形状对应的所述多个语义点组成,或者由所述生成形状对应的所述多个语义单元的中心点组成。
[0183]
根据本公开的一个或多个实施例,示例4提供了示例2或3的方法,所述基于所述观测形状与所述生成形状分别对应的形状描述子之间的相似度,优化所述编码向量,包括:
[0184]
将所述观测形状与所述生成形状分别对应的形状描述子作差,得到误差向量;
[0185]
计算所述误差向量的模,作为所述观测形状与所述生成形状的相似度误差;
[0186]
基于所述相似度误差,通过梯度下降优化所述编码向量。
[0187]
根据本公开的一个或多个实施例,示例5提供了示例1的方法,所述根据所述观测形状对应的各语义点的语义标签,与所述生成形状对应的各语义单元的语义标签之间的对应关系,确定所述目标物体的位姿,包括:
[0188]
通过如下函数,求解令所述函数取得最小值的位姿[s,r,t],作为所述目标物体的位姿:
[0189][0190]
其中,s表示缩放因子,r表示旋转因子,t表示平移因子,ψ表示由所述观测形状对应的所述多个语义点中的语义标签组成的标签集合,nc表示标签集合ψ中的语义标签的数量,l表示标签集合ψ中的一语义标签,表示在所述观测形状对应的所述多个语义点中,语义标签l所对应的语义点的位置坐标,表示在所述生成形状对应的所述多个语义单元中,语义标签l所对应的语义单元的中心点的位置坐标。
[0191]
根据本公开的一个或多个实施例,示例6提供了示例2的方法,所述生成模型包括第一解码器和第二解码器,所述将所述编码向量输入所述生成模型,包括:
[0192]
将所述编码向量分别输入所述第一解码器和所述第二解码器,获得所述第一解码器基于所述编码向量生成的所述生成形状,和所述第二解码器基于所述编码向量生成的所述目标物体对应的在标准坐标系下的三维物体模型;
[0193]
所述方法还包括:
[0194]
当确定满足优化停止条件时,确定最终的三维物体模型;
[0195]
基于所述目标物体的位姿,将最终的三维物体模型从所述标准坐标系转换到世界坐标系下;
[0196]
基于所述目标物体在世界坐标系下的三维物体模型,进行三维场景重建。
[0197]
根据本公开的一个或多个实施例,示例7提供了示例1的方法,所述获取目标物体的位置点云,包括:
[0198]
获取场景图像和对应的深度图像;
[0199]
对所述场景图像进行实例分割,获得所述场景图像中目标物体的位置框和类别;
[0200]
从深度图像中提取对应位置框的深度信息,根据相机内参将所述深度信息投影到三维空间中,得到目标物体的位置点云。
[0201]
根据本公开的一个或多个实施例,示例8提供了示例7的方法,所述将所述位置点云分割成具有不同语义标签的多个语义点,包括:
[0202]
确定所述位置点云中每个点对应的语义标签;
[0203]
将具有相同语义标签的多个点聚类为一个语义点,以得到具有不同语义标签的所述多个语义点。
[0204]
根据本公开的一个或多个实施例,示例9提供了一种物体位姿估计装置,包括:
[0205]
语义点确定模块,用于获取目标物体的位置点云,将所述位置点云分割成具有不同语义标签的多个语义点,所述多个语义点用于表示所述目标物体的观测形状;
[0206]
形状编码模块,用于生成一编码向量并选择与所述目标物体的类别对应的生成模型,所述编码向量用于表征对物体形状的编码;
[0207]
形状生成模块,用于基于所述编码向量,通过所述生成模型生成与所述观测形状匹配、且由具有不同语义标签的多个语义单元组成的生成形状;
[0208]
位姿求解模块,用于根据所述观测形状对应的各语义点的语义标签,与所述生成形状对应的各语义单元的语义标签之间的对应关系,确定所述目标物体的位姿。
[0209]
根据本公开的一个或多个实施例,示例10提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1至8中的任一示例所述方法的步骤。
[0210]
根据本公开的一个或多个实施例,示例11提供了一种电子设备,包括:
[0211]
存储装置,其上存储有计算机程序;
[0212]
处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1至8中的任一示例所述方法的步骤。
[0213]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0214]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0215]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应
当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献