一种在三维重建辅助下进行点云中物体快速标注的方法

文档序号:33713943发布日期:2023-04-01 03:05阅读:105来源:国知局
一种在三维重建辅助下进行点云中物体快速标注的方法

1.本发明涉及人工智能领域,具体涉及一种在三维重建辅助下点云中物体快速标注的方法。


背景技术:

2.监督学习仍然是深度学习算法的主流方法之一,它对数据的需求非常大,需要大量的标记样本进行训练和评估。例如流行的目标检测算法yolov4,yolox使用大约40gb数据集ms coco进行训练,实现从rgb图像中检测物体。3d物体检测如votenet,group-free使用sun rgb-d数据集进行训练,获得从点云中检测3d物体的能力。同样,庞大的数据集nuscene也用以支持自动驾驶智能算法的研究。
3.除了公共数据集之外,算法在某些特定行业的应用还需要准备特定任务相关的数据集。众包是目前比较流行的一种方法,众包将很多人同时组织起来进行人工标注工作,最后所有完成标记的样本构成最终的数据集,但这项工作费时并且成本昂贵。
4.针对这一问题,提高标注的效率至关重要。一类方法利用无监督或弱监督学习来加速物体注释。通过一种无监督的方法从rgb样本中提取特征,基于这些特征人工注释一小部分样本,然后将标签传播到其他未标记的rgb样本中。此外,为了降低在点云中标注物体的难度,现有的一种方式是通过标注对齐后的rgb图像中的物体,间接实现点云的标注。其过程是只在rgb图像上标注物体的2d方框,然后运行一个自动标注器,可以从2d方框导出的子点云中自动估计出一个高质量的3d方框,从而实现对自动驾驶使用的点云中物体的自动标注。
5.虽然上述已有方法中有其自身的优点,但是一般室内场景rgb-d样本采集密集,相邻采集位置的视野重叠明显,环境中的同一物体会在多个rgb-d样本的视野中重复出现。这种情况下,传统的物体标注需要在多个rgb-d样本中多次标注同一物体,大大增加了非必要的人工标注的成本。


技术实现要素:

6.有鉴于此,为了解决上述技术问题,本发明提供一种在三维重建辅助下进行点云中物体快速标注的方法。
7.本发明采用以下技术方案:
8.一种在三维重建辅助下进行点云中物体快速标注的方法,包括如下步骤:
9.获取待标注的rgb-d样本序列;
10.根据rgb-d样本采集位置序列构建se(3)位姿图,并利用rgb-d样本之间的匹配关系构建采样位置之间的空间约束,进而优化se(3)位姿图,得到rgb-d样本优化后的采集位置序列;基于优化后的采集位置序列,将rgb-d样本序列融合为全局3d地图;
11.采用人工标注的方式,在全局3d地图中进行物体标注;
12.根据标注结果,将各物体在世界坐标系中的位姿转换为对应采集位置的传感器坐
标中的位姿,得到在每个采集位置,即rgb-d样本下各物体的位姿,进而与物体类别和尺寸一起构成rgb-d样本下的物体标签。
13.进一步地,在所述获取待标注的rgb-d样本序列之后,所述点云中物体快速标注方法还包括:通过构建和优化se(3)位姿图,实现对环境的三维重建。
14.进一步地,所述根据rgb-d样本采集位置序列构建se(3)位姿图,包括:
15.se(3)位姿图具体如下:
[0016][0017][0018]
其中,和ε分别是顶点vertex和边edge的缩写;是se(3)位姿图中待优化的变量,是所有rgb-d样本的采集位置序列;ε是优化问题的约束集,每个约束表示两个顶点s
*
和点之间的空间约束;设定rgb-d样本序列q={fi|i=1

n},其中fi是一个rgb-d样本,包括一个rgb彩色图像ii和一个与深度图像等价的3d点云di,fi=(ii,di);采集位置序列为p={si∣i=0,

,n},si是一个3d空间6自由度位置和姿态点,用se(3)变量表示。
[0019]
进一步地,所述利用rgb-d样本之间的匹配关系构建采样位置之间的空间约束,进而优化se(3)位姿图,得到rgb-d样本优化后的采集位置序列,包括:
[0020]
通过点云配准确定采集位置之间的空间约束:
[0021][0022]
其中,《p,q》表示d

和之间的点对,s


和分别是s

和的初始值,作为变量e的初始值;
[0023]
通过下面的方程预测采集位置s

和之间的偏移量:
[0024][0025]
根据上述空间约束条件和预测偏移量,得到se(3)位姿图的优化目标如下:
[0026][0027][0028]
其中,x={s1,s2,

,sn}是待优化参数的向量,每个为一个误差项的信息矩阵;使用g2o解决上述优化问题并获得优化的采集点
[0029]
进一步地,所述基于优化后的采集位置序列,将rgb-d样本序列融合为全局3d地图,包括:
[0030]
将所有rgb-d样本转换到世界坐标系中:
[0031][0032]
所有rgb-d样本都表示在同一个世界坐标系中,共同构成了环境的3d地图m:
[0033][0034]
[0035]
进一步地,所述采用人工标注的方式,在全局3d地图中进行物体标注,包括:
[0036]
将上述三维地图m载入进行物体标注的软件,并进行人工物体标注,对于任意一个物体oj,物体形状用一个3d bounding box(3d-bbox)表示,物体标签格式如下:
[0037][0038]
其中,cj是物体的类别,sj=[wj,lj,hj]是3d-bbox的大小,bbox的大小,是物体在世界坐标系中的位姿。
[0039]
进一步地,所述根据标注结果,将各物体在世界坐标系中的位姿转换为对应采集位置的传感器坐标中的位姿,即得到各样本中各物体的位姿,进而获得与rgb-d样本相对应的物体标签,包括:
[0040]
采用如下矩阵,将物体oj在世界坐标系中的位姿表达为如下矩阵形式:
[0041][0042]
其中,是物体在世界坐标系中的位置,是欧拉角等价的三维空间旋转矩阵;
[0043]
然后,基于各rgb-d样本fi优化后的采集位置将物体oj在全局坐标系下的位姿转换到采集时刻传感器坐标中的位姿:
[0044][0045]
上述位姿旋转矩阵包含绕x和y轴的微小旋转,所以通过旋转矩阵与欧拉角之间的两次变换,将旋转矩阵简化如下:
[0046][0047]
这里,rot2euler表示获取一个旋转矩阵等价的欧拉角,euler2rot表示获取欧拉角等价的一个旋转矩阵。
[0048]
最终,得到rgb-d样本fi中物体oj的位姿矩阵如下:
[0049][0050]
最终,通过上述方法自动获取解析后的物体标签如下:
[0051][0052]
其中,其中,为物体oj在rgb-d样本中的向
量形式的位姿。
[0053]
进一步地,所述在三维重建辅助下进行点云中物体快速标注的方法还包括标签验证的步骤,具体如下:
[0054]
针对一个rgb-d帧fi,使用open3d点云分割技术获取位于标签内的子点云
[0055]
计算子点云的最小凸包的体积sj;
[0056]
根据表示物体oj的3d-bbox的体积vj判断标签的有效性:
[0057][0058]
其中,vj=wj·
lj·hj
,表示是物体形状3d-bbox的体积;r是子点云最小凸包的体积与3d-bbox的体积之比,表示在当前rgb-d样本下,存在物体oj及其标签的可信度,仅当时,标签是有效的,并被接受为rgb-d样本fi中一个物体oj的标签。
[0059]
本发明的有益效果为:先根据rgb-d样本序列构建se(3)位姿图,并利用rgb-d样本之间的匹配关系构建采样位置之间的空间约束,进而优化se(3)位姿图,得到rgb-d样本优化后的采集位置序列,基于得到的采集位置序列,将rgb-d样本序列融合为全局3d地图,然后采用人工标注的方式,在全局3d地图中进行物体标注,最后,根据标注结果,将各物体在世界坐标系中的位姿转换为对应采集位置的传感器坐标中的位姿,得到每个rgb-d样本中物体的位姿,成为与rgb-d样本相对应的物体标签,本发明中,每个多次出现在不同rgb-d样本中的物体,只需在融合后的3d地图中人工标注一次,就可以自动得到该物体在各rgb-d样本序列中的标签,大大降低了人工标注的成本。
附图说明
[0060]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍:
[0061]
图1是本技术提供的一种在三维重建辅助下进行点云中物体快速标注的方法的整体流程示意图。
具体实施方式
[0062]
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
[0063]
应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0064]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关
联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0065]
如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0066]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0067]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0068]
为了说明本技术所述的技术方案,下面通过具体实施方式来进行说明。
[0069]
本实施例提供一种在三维重建辅助下进行点云中物体快速标注的方法,能够通过创建和优化基于rgb-d样本采集位置序列的se(3)位姿图(special euclidean group for n=3,se(3)),将rgb-d样本序列融合为全局3d地图。然后在3d全局地图中进行人工物体标注,再通过标签解析自动地将这些标签自动转换为每个rgb-d样本中的物体标签,最终实现快速的物体标注。参见图1,下面说明本实施例提供的一种在三维重建辅助下进行点云中物体快速标注的方法的各个实现步骤。
[0070]
步骤s1:获取待标注的rgb-d样本序列:
[0071]
作为一个具体应用场景,使用定制开发的机器人平台采集数据。kinect v2传感器固定在机器人上方1.5米的高度,用于采集待标注的rgb-d样本序列。通过机器人运动学模型和电机驱动器的数据获得里程计,里程计可以在se(3)位姿图的构建过程中提供初始采集位置序列。为了减少机器人抖动对3d重建的副作用,使用6dof采集位姿来表示传感器的轨迹。
[0072]
rgb-d传感器的坐标系是x-rightward、y-downward和z-forward。因为传感器是倾斜安装的,所以在传感器坐标系表示的点云中,地面与xoy平面不平行,不满足所采用的标注软件labelcloud的要求。为了解决这个问题,需要先定义一个x-rightward,y-forward,z-upward的坐标系,其xoy平面与地面平行,所以处理后的点云中的地面平行于xoy平面。
[0073]
步骤s2:根据rgb-d样本采集位置序列构建se(3)位姿图,并利用rgb-d样本之间的匹配关系构建采样位置之间的空间约束,进而优化se(3)位姿图,得到rgb-d样本优化后的采集位置序列;基于优化后的采集位置序列x
*
,将rgb-d样本序列融合为全局3d地图:
[0074]
作为一个具体实施方式,获取待标注的rgb-d样本序列之后,需要对环境进行三维重建,具体如下:
[0075]
设定rgb-d样本序列q={fi|i=1

n},其中fi是一个rgb-d样本,包括一个rgb彩色图像ii和一个与深度图像等价的3d点云di,fi=(ii,di);那么,三维重建的一个目标就是优化采集位置序列p={si∣i=0,

,n},si是一个3d空间6自由度位置和姿态点,用se(3)变量表示。
[0076]
为了实现上述目标,基于rgb-d样本序列,采用如下过程构建se(3)位姿图:
[0077]
se(3)位姿图具体如下:
[0078][0079]
其中,和ε分别是顶点vertex和边edge的缩写,分别表示顶点和边;是se(3)位姿图中待优化的变量,是所有rgb-d样本的采集位置序列集合;ε是优化问题的约束集,每个约束表示两个顶点s
*
和点之间的空间约束。
[0080]
本实施例设定采集位置序列是连续的,相邻采集位置之间的距离很小,因此相邻rgb-d样本之间的重叠占rgb-d传感器视场的相当大的比例。基于上述设定,如下给出根据rgb-d样本之间的空间约束优化se(3)位姿图,得到rgb-d样本优化后的所有采集位置序列的一种具体实现过程:
[0081]
通过点云配准确定空间采集位姿之间的空间约束:
[0082][0083]
其中,《p,q》表示d

和之间的点对,s


和分别是s

和的初始值,作为变量e优化过程的初始值。根据

和的关系,将上述约束分为两种情况。当时,上述约束是两个连续采集位置之间的空间约束;反之,如果它是通过检测传感器轨迹的闭环建立的两个长间隔采集位置之间的空间约束。
[0084]
通过下面的方程预测采集位置s

和之间的偏移量:
[0085][0086]
根据上述空间约束条件和预测偏移量,得到se(3)位姿图的优化目标如下:
[0087][0088][0089]
其中,x={s1,s2,

,sn}是待优化参数的向量,每个为一个误差项的信息矩阵;使用g2o解决上述优化问题并获得优化的采集位置序列
[0090]
以下给出基于得到的采集位置序列,将rgb-d样本序列融合为全局3d地图的一种具体实现过程:
[0091]
基于优化后的采集位置序列,将所有rgb-d样本转换到世界坐标系中:
[0092][0093]
所有rgb-d样本都表示在同一个世界坐标系中,共同构成了环境的3d地图m:
[0094][0095]
经过上述操作,可以得到全局的3d地图。
[0096]
步骤s3:采用人工标注的方式,在全局3d地图中进行物体标注:
[0097]
得到全局的3d地图之后,采用人工标注的方式,在全局3d地图中进行物体标注,标
注对象类型可以根据特定任务需要灵活进行。本实施例中,采用labelcloud软件在3d地图m中进行人工物体标注。labelcloud软件支持以3d边界框(3d-bbox)的形式对点云中的物体进行标注。对于任意一个oj,标签格式如下:
[0098][0099]
其中,cj是物体的类别,sj=[wj,lj,hj]是3d边界框3d-bbox(3dbounding box)的大小,是物体在世界坐标系中的位姿。
[0100]
本实施例设定物体垂直于水平xoy平面站立,因此围绕x和y轴的旋转角度为0。在标签的上述三个数量中,类别cj和大小sj是物体的基本属性,不随位置发生改变;相反,姿态与表示物体的坐标系有关。
[0101]
步骤s4:根据标注结果,将各物体在世界坐标系中的位姿转换为对应采集位置的传感器坐标中的位姿,得到在每个采集位置,即rgb-d样本下每个物体的位姿,与物体类别和尺寸一起构成rgb-d样本下的物体标签:
[0102]
对于标注的结果,其中类别和大小不随物体的位置而变化,是物体的基本属性。但是,物体位姿与表示物体的坐标系有关。在世界坐标系和传感器坐标系中表示的物体位姿是不同的。为了实现rgb-d样本序列的标注,本实施例将每个物体在世界坐标系中的位姿转换为观察到它的采集位置的传感器坐标中的位姿。对于每个物体oj,使用以下矩阵的形式表示其位姿:
[0103][0104]
其中,是物体在世界坐标系中的位置,是由欧拉角变换而成的三维空间中的旋转矩阵。
[0105]
基于各rgb-d样本fi优化后的采集位置将物体oj在全局坐标系下的位姿转换到采集时刻传感器坐标中的位姿;
[0106][0107]
本实施例中,上述公式(10)左侧的上标0表示这是一个初步采集位置。因为在公式(5)中的问题优化之后,在旋转矩阵中,有围绕x轴和y轴的小旋转。经过上述公式(10)中的传导,位姿旋转矩阵也会包含绕x和y轴的微小旋转,所以通过旋转矩阵与欧拉角之间的两次变换,将旋转矩阵简化如下:
[0108][0109]
这里,rot2euler表示获取一个旋转矩阵等价的欧拉角,euler2rot表示获取欧拉角等价的一个旋转矩阵。
[0110]
得到rgb-d样本fi中物体oj相对应的标签,即得到位姿及其符合标签格式要求的标签,成为与rgb-d样本相对应的物体标签:
[0111][0112]
其中,其中,为物体oj在rgb-d样本中的向量形式的位姿。
[0113]
另外,本实施例提供的一种在三维重建辅助下进行点云中物体快速标注的方法还包括如下标签验证的步骤:
[0114]
上述标签只计算样本fi中标签的空间位姿,本实施例使用点云di来检查标签的有效性。首先,使用open3d分割技术获取位于标签内的子点云它位于标签的3d-bbox内。然后计算子点云的最小凸包体积sj,最后根据3d-bbox的体积vj判断标签的有效性:
[0115][0116]
其中,vj=wj·
lj·hj
,表示是物体形状3d-bbox的体积;r是子点云最小凸包的体积与3d-bbox的体积之比,表示在当前rgb-d样本下,存在物体oj及其标签的可信度,仅当时,标签是有效的,并被接受为rgb-d样本fi中一个物体oj的标签。
[0117]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1