公开/公告号CN113837088A
专利类型发明专利
公开/公告日2021-12-24
原文格式PDF
申请/专利权人 杭州大数云智科技有限公司;
申请/专利号CN202111121179.2
申请日2021-09-24
分类号G06K9/00(20060101);G06K9/34(20060101);G06K9/62(20060101);G06T17/20(20060101);
代理机构33350 杭州泓呈祥专利代理事务所(普通合伙);
代理人张婵婵
地址 310000 浙江省杭州市西湖区教工路23号百脑汇科技大厦830室
入库时间 2023-06-19 13:49:36
技术领域
本发明属于计算机视觉的技术领域,具体涉及一种基于语义扫描上下文的点云场景重识别方法。
背景技术
对大范围点云场景进行闭环检测的技术,是目前作为自动机器人以及无人驾驶的关键技术之一。同时定位与建图(SLAM)技术在近几年也取得了飞速发展。闭环检测(场景重识别)是SLAM中的关键,它是指机器人识别自身是否曾经到达过当前所在地点的能力,通过闭环检测可以帮助消除里程计的累计误差,进而建立全局一致的地图。如图1中所示为机器人从不同方向经过相同的位置附近,闭环检测方法应当检测到出现闭环。现有的基于激光雷达场景重识别方法大都是将点云编码为局部或者全局描述子,然后通过比较描述子间的相似性来实现场景重识别。大多数方法例如Scan Context、Intensity Scan Context、LiDAR Iris都仅仅使用的低层次的特征例如坐标、法向量、点云反射强度等来描述场景,这些简单的特征无法对场景进行充分的描述因此导致识别效果不够理想;另外一部分方法如PointNetVlad、DH3D、LPD-net利用神经网络直接从点云中学习特征,这些特征没有良好的可解释性,并且由于三维点云的无序性,他们的网络往往非常复杂从而导致识别速度较慢;还有少量方法如SGPR和GOSMatch尝试利用高层次的语义信息来描述场景,他们将点云表达成一个语义图将不同的物体表示为图中的节点,这导致损失了每个物体的尺寸等信息,在一定程度上会影响识别效果。
在Scan Context技术中,Scan Context将点云按照方位角以及半径方向划分为格子,保留每个格子里面点的最大高度。然后将方位角相同的格子对应于二维图像的一列,将半径相同的格子对应于二维图像中的一行从而将点云映射为二维图像即全局描述子,该描述子中的每个像素点的值为对应格子中点的最大高度。通过比较两个描述子可以得到两个场景的相似性。为了实现对旋转场景的识别,他们不断地对其中一个描述子的列进行移位然后比较相似性,然后取相似性最高的作为结果。但can Context技术仅仅使用高度作为特征过于简单,损失了大量信息。其仅考虑了旋转但未考虑点云间微小平移对识别带来的影响,实际测试发现微小平移会对最终识别结果产生显著影响。
在Intensity Scan Context(ISC)技术中,ISC由SC改进得到,它使用点云的反射强度来代替Scan Context中的高度,并设计了两步匹配方法即先比较几何相似性得到大致列偏移,然后再进行小范围列移位并比较反射强度相似性。虽然ISC与Scan Context相比其使用的特征更加高级,但还是过于简单,并且点云的反射强度容易受到外界环境如雨、雾等影响。
在SGPR技术中,SGPR对点云进行语义分割并将分割后的点云聚类成不同的物体,然后将每个物体抽象成一个节点从而将场景表达为语义图。他们设计了一个轻量的孪生网络用于对语义图间的相似性进行打分。SGPR将物体抽象为语义图中的一个节点,这导致损失了物体自身尺寸等特征,且不能得到点云间的相对姿态。
因此,目前的技术大都存在缺陷,仍然需要对场景识别技术进行研究改进。
发明内容
本发明的目的是针对现有技术的缺陷,提供了一种基于语义扫描上下文的点云场景重识别方法,使用语义扫描上下文来编码场景,可以同时编码几何与语义信息,使用全局ICP(Iterative Closest Point,迭代最近点)可以得到点云间的3D(x,y,yaw)位姿。现有技术往往只考虑了点云间的相对旋转而未考虑点云间的微小平移这对识别效果造成了极大影响;且现有技术一般使用低层次特征来编码场景因而不能有效的对场景进行表示。采用本发明的方法解决了点云间旋转以及微小平移对场景识别的影响,以及实现对场景进行充分编码和高效匹配。
为了实现以上目的,本发明采用以下技术方案:一种基于语义扫描上下文的点云场景重识别方法,包括以下步骤:
步骤一、对输入的点云P
步骤二、语义扫描上下文,利用3D位姿将P
进一步的,所述步骤一具体为:
S1、对输入点云P
S2、通过快速语义ICP算法,求取点云间相对平移(x,y),最终得到3D位姿(x,y,yaw)。
更进一步的,所述按照极角方向将筛选后的点云分为若干份具体为分为360份。
更进一步的,所述步骤S1包具体为:
S11、给定一对点云P
p
S12.将转换后的点云按照极角分为N
S13.向量中的元素的位置对应于不同极角,通过对向量元素进行移位并最小化极径差来求得偏航角:
更进一步的,所述步骤S2具体为:根据偏航角将点云P
x
y
(x
(x
其中N
更进一步的,所述搜索区间的长度为20。
进一步的,所述步骤二具体为:利用3D位姿将P
更进一步的,所述步骤二包括:
A1、描述子进行定义,给定点云P
R
方程f用来对格子进行编码,当格子为空时该方程输出0;方程E来对点的代表性进行打分,出现频率越低的物体越具有代表性并预先设置不同物体的代表性分数;
A2、相似性打分,给定点云P
I为场景重识别的指示函数,定义如下:
更进一步的,所述点云沿着极角方向和极径方向分为N
本发明总体分为两阶段全局语义ICP和语义扫描上下文两部分,两阶段全局语义ICP部分又分为快速偏航角计算以及快速语义ICP。对于两阶段全局语义ICP部分,本发明首先对输入的点云进行语义分割得到每个点的语义类别,然后根据语义信息筛选出具有代表性的物体例如建筑、信号灯、栅栏等,接着按照方位角方向将筛选后的点云分为若干份(360)并且每一份中只保留距离最近的一个点,之后通过快速偏航角计算方法求取偏航角yaw,最后通过快速语义ICP求取点云间相对平移(x,y),即最终得到3D位姿(x,y,yaw)。对于语义扫描上下文部分,我们先利用得到的3D位姿对齐输入点云,然后对对齐后的点云分别求取语义扫描上下文描述子即利用语义信息替换了原始Scan Context中的高度信息,最后通过对描述子进行比较得到场景间的相似性,值域位0到1。由于我们已经提前对齐了点云,因此不用像原始Scan Context或者ISC那样对描述子反复进行列移位,只需直接对描述子进行一次比较即可。
采用本发明技术方案,本发明的有益效果为:使用全局ICP方法来计算点云之间的相对旋转(yaw)和平移(x,y),并且使用它们来对齐点云以提高识别效;提前对齐了点云,因此不用像现有统的Scan Context方法或者ISC方法那样对描述子反复进行列移位,只需直接对描述子进行一次比较即可;本发明使用高层次语义特征对于外界环境干扰具有更强的鲁棒性。
附图说明
图1是机器人从不同方向经过相同的位置附近利用闭环检测方法的示意图;
图2是本发明的一种基于语义扫描上下文的点云场景重识别方法的示意图;
图3是各种方法的精度-召回率曲线图;
图4是负样本数量变化时各方法在KITTI上的平均最大F
图5是本发明在KITTI数据集上估计平移(x,y)的误差图;
图6是两阶段全局语义ICP的效果图;
图7是全局描述子的生成过程的示意图。
具体实施方式
结合附图对本发明具体方案具体实施例作进一步的阐述,使得本技术方案更加清楚、明白。
本实施例公开了一种基于语义扫描上下文的点云场景重识别方法,如图2所示,包括两阶段全局语义ICP和语义扫描上下文描述子两大部分。克服了点云间旋转以及微小平移对识别造成的影响,利用两阶段的全局语义ICP算法快速计算点云间的3D位姿(x,y,yaw),通过利用3D位姿对点云进行对齐极大地提高了匹配效果,并且避免了反复对描述子的列进行移位操作,提高了匹配效率。普通的ICP算法需要良好的初始值不然会陷入局部最优,因此不适合场景重识别问题。本发明提出的两阶段全局语义ICP针对场景重识别问题进行了特别设计,不需要初始值并且计算速度非常快。由于使用了高层语义信息,本发明对雨、雾、光照等外界干扰具有良好的适应性,是一种鲁棒、高效的闭环检测方法。
两阶段全局语义ICP的第一阶段,快速偏航角计算:
给定一对点云P
p
两阶段全局语义ICP的的第二阶段,快速语义ICP
首先我们使用得到的偏航角将点云P
x
y
(x
(x
其中N
语义扫描上下文描述子的第一部分,描述子定义:
对于点云P我们首先像全局语义ICP里做的那样将其转换到极坐标系下,然后我们将点云沿着极角方向和极径方向分为N
R
方程f用来对格子进行编码,当格子为空时该方程输出0。我们用方程E来对点的代表性进行打分,我们认为出现频率越低的物体越具有代表性(例如信号灯比道路更具有代表性)并据此手动设置了不同物体的代表性分数。
语义扫描上下文描述子的第二部分,相似性打分:
给定点云P
I为指示函数,定义如下:
图7为全局描述子的生成过程的示意图。
下面结合具体实验对本发明的方法进解释说明。本发明实验效果:本发明在KITTI数据集上进行了测试,它包含十一个有真实位姿的序列(00-10)。我们在其中六个有闭环的序列(00,02,05,06,07,08)上进行了测试,其中序列08上有大量反向闭环这对闭环检测方法来说十分具有挑战性。我们将间距小于3m且间隔时间大于一定值(间隔大于50帧点云)的点云对当作正样本,将间距大于20m的点云对当作负样本。由于负样本的数量远大于正样本,为了减少测试时间我们测试时选取了全部正样本和部分负样本,具体来说我们随机选取与正样本成一定比例的负样本,通过调节比例系数来调整样本量。
实验一、场景重识别效果
我们使用精度-召回率曲线,最大F
其中P代表精度,R代表召回率。F
EP的定义为:
其中P
(1)负样本数量为正样本100倍
如图3显示的是各种方法的精度-召回率曲线,下表为各种方法在KITTI上的最大F
表一
F
(2)改变负样本系数
我们改变负样本的数量来验证负样本对方法的影响,我们将负样本分别设置为正样本的1,10,20,50,100倍。如图4展示的是负样本数量变化时各方法在KITTI上的平均最大F
实验二、位姿精度
部分场景识别方法考虑了旋转对识别的影响,能提供偏航角的估计。本发明考虑旋转的同时也考虑了微小平移对识别造成的影响,能够计算点云间的3D位姿(x,y,yaw)。我们将本发明与能够计算位姿的几种方法进行了比较,他们是ScanContext,Intensity ScanContext,OverlapNet。
下面表二为每种方法在KITTI上计算偏航角的误差,如表二所示本发明在平均误差上优于其它几种方法,尤其是在具有反向闭环的序列08上,其它大部分方法都出现显著的误差但本发明仍然能够得到较准确的估计。这再次说明本发明能够有效处理反向闭环。
表二
如图5展示的是本发明在KITTI数据集上估计平移(x,y)的误差,在所有方法中只有采用本发明的方法能够计算点云间的平移。如图所示,采用本发明的方法能够得到较为准确的平移。因此通过我们的两阶段全局语义ICP,我们能够得到较准确的3D位姿用来对齐点云提高检测精度。
实验三、消融实验
为了验证我们所提出的各个模块的有效性,我们设计了此消融实验。我们去掉或者替换掉某个模块然后计算在KITTI上的平均最大F
如下表三所示,在去掉快速偏航角计算模块,去掉快速语义ICP模块,去掉语义信息后平均最大F
1)相较于其他方法,本发明能够得到较准确的3D位姿来提高识别效果;
2)点云间的微小平移会对识别效果带来极大影响,因此不能简单的忽略掉它;
3)语义信息这种高层次特征能够极大地提升对场景的编码效果。
表三
实验四、效率
为了测试本发明的效率,我们测试了在KITTI序列08上的平均计算耗时,并与ScanContext和Intensity Scan Context进行了比较。
如表四所示,我们的算法非常快速,整体平均耗时仅4.755毫秒。得益于良好的设计,我们的ICP算法仅耗时2.126毫秒。我们的两阶段全局语义ICP算法速度如此之快的原因如下:
1)我们仅保留了360个点,相对于原始点云(大约120000个点)大大减少了计算量;
2)我们将算法分为两步,先计算偏航角,然后迭代计算x和y。
这简化了算法提升了速度;
3)由于我们在迭代计算x,y时预先对齐了偏航角,因此在搜索对应点时不用遍历所有数据,只需在对应位置附近搜索即可,这极大减少了搜索次数。
表四
The unit of time in the table is milliseconds.
本发明提出了一种基于语义的全局描述子即语义扫描上下文来对场景进行高效编码。为了克服点云间旋转以及微小平移对识别造成的影响,采用两阶段的全局语义ICP算法快速计算点云间的3D位姿(x,y,yaw),通过利用3D位姿对点云进行对齐极大地提高了匹配效果,并且避免了反复对描述子的列进行移位操作,提高了匹配效率。普通的ICP算法需要良好的初始值不然会陷入局部最优,因此不适合场景重识别问题。本发明提出的两阶段全局语义ICP针对场景重识别问题进行了特别设计,不需要初始值并且计算速度非常快。由于使用了高层语义信息,本方法对雨、雾、光照等外界干扰具有良好的适应性,是一种鲁棒、高效的闭环检测方法。
本发明使用高层次语义信息作为特征能够更加有效地对场景进行编码。为了实现旋转不变性其对描述子的列进行反复移位操作并比较,这增加了匹配过程的耗时。本发明使用全局ICP预先计算出点云间的相对位姿然后进行对齐,只需一次比较即可获得结果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
机译: 基于全局指导选择性上下文网络的场景语义解析方法
机译: (54)标题:一种扩展商务智能系统的形式和功能的基于内容的方法(57)摘要:商务智能(BI)系统具有通过以下方式将其功能扩展到项目生命周期之外的能力:具体内容。复杂的多维查询被解释为原子子表达式的树,这些原子子表达式组合成类似解析树的结构以形成整体查询。每个子树在提供适当的上下文时都是有效的。任何子树都可以是作为应用程序内容存储的表达模板,该表达模板在生成时使用带有实例特定参数的简单文本替换来生成多维表达语法。该系统包括一个复杂的类型系统和语义层,使用户摆脱了使用OLAP数据库所固有的复杂性。商业智能专家可以为每个作为内容的表达模板提供类型和语义提示。
机译: 基于扫描点云数据的分段识别方法,系统和存储介质