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

一种语义地图增量更新方法及系统与流程

2022-02-23 01:24:53 来源:中国专利 TAG:


1.本发明属于地图更新技术领域,更具体地,涉及一种语义地图增量更新方法及系统。


背景技术:

2.语义地图即高精度语义地图,其包含丰富的语义信息,可以让自动驾驶系统充分感知周围环境信息,从而做出合适的驾驶动作。
3.由于语义地图数据量极大,在目前硬件设备性能的限制下,语义地图的构建速度还是不能达到自动驾驶车辆所需要的实时性能,因此,现阶段的语义地图需要先提前构建存储起来,自动驾驶系统再实时调用语义地图进行车辆控制,这样自动驾驶系统控制决策的实时性才能得到保证。然而,语义地图构建完成后至自动驾驶系统调用的这段时间内,相关环境可能会发生变化,若自动驾驶直接使用先前的语义地图,则会严重影响行车安全,因此需要针对变化的环境对语义地图进行更新。
4.传统地,对地图进行更新主要有两种方式,第一种是全量更新,即对整个地图进行更新,但这样计算量大、更新速度慢;第二种是增量更新,即仅对变化的区域进行更新,其一般通过匹配点云数据的特征后确定变化区域并进行更新,这样计算量相较于全量更新小、更新速度快,但是对于语义信息巨大的信息量来说,点云特征匹配的计算量还是过大,因此其也不适用于语义地图的增量更新。
5.现有技术中一种基于特征点检测与分割的语义地图增量更新方法,其通过对比点云的语义信息检测环境的变化并增量式更新语义地图,这样方法过于依赖语义分割进而容易导致无法准确变化区域的便捷,使得语义地图增量更新不齐全;而且,现有技术方案中对于地图变化区域的检测速度和精度都较低,因此,如何实现语义地图的快速精确检测,提高语义地图增量更新的效果是当前的技术难点。


技术实现要素:

6.本发明为克服上述现有技术中的至少一个缺陷,提供一种语义地图增量更新方法及系统,其可以提高语义地图更新的速度,且保证更新齐全。
7.为解决上述技术问题,本发明采用的技术方案是:
8.提供一种语义地图增量更新方法,包括以下步骤:
9.s1:获取先前全局语义地图,并构建当前局部语义地图;
10.s2:将当前局部语义地图与先前全局语义地图进行配准并转换至同一坐标系下;
11.s3:检测当前局部语义地图与先前全局语义地图的对应的点云的语义不一致的区域,得到语义变化区域;
12.s4:分别计算语义变化区域对应的先前全局语义地图与当前局部语义地图的点云分布类别并进行对比,确定环境变化区域;
13.s5:提取环境变化区域为增量并更新至先前全局语义地图,得到当前全局语义地
图。
14.本方案中先通过语义对比初步检测出变化的区域,再通过点云分布类别的对比进一步确认变化的区域是否为环境变化区域,从而提高环境变化检测的准确性,保证语义地图增量更新的效果。
15.优选地,上述的步骤s1中构建当前局部语义地图具体为:
16.s11:采集当前环境的信息并构建点云地图;
17.s12:对点云地图赋予语义信息,得到环境局部语义地图;
18.s13:检测并剔除环境局部语义地图中的临时目标,得到当前局部语义地图。
19.优选地,上述的步骤s2中通过sac-ia粗配准以及icp精配准实现当前局部语义地图与先前全局语义地图的配准。
20.优选地,上述的步骤s3检测当前局部语义地图与先前全局语义地图的对应的点云的语义不一致的区域具体为判断某个语义区域内是否有超过当前局部语义地图第一设定比例的点发生语义变化,若是,则该语义区域为语义变化区域,若否,则该语义区域为非语义变化区域。
21.优选地,上述的步骤s1中先前全局语义地图为体素化数据,步骤s4具体包括以下步骤:
22.s41:将语义变化区域对应的当前局部语义地图区域进行体素化;
23.s42:分别计算当前局部语义地图以及全局语义地图中对应的体素单元格内点云的概率密度函数,根据概率密度函数得到点云分布类别,点云分布类别包括球形、平面以及线状;
24.s43:根据当前局部语义地图与全局语义地图中体素单元格内的点云分布类别确认环境变化区域。
25.优选地,上述的步骤s41中通过三维正态分布变换算法计算概率密度函数p(x),具体公式为:
[0026][0027][0028][0029]
其中,x表示体素单元格内的坐标,q为体素单元格的平均向量,∑为体素单元格的协方差矩阵,t为转置,yk为体素单元格内点的坐标,k为体素单元格内点的数量且k=1,...,m。
[0030]
优选地,上述的步骤s43中根据点云分布类别确认环境变化区域具体为:
[0031]
判断当前局部语义地图与先前全局语义地图的体素单元格内点云分布类别是否相同;若否,则认为语义变化区域为环境变化区域;若是,则判断点云分布类别是否为球形,若否,则认为语义变化区域为环境变化区域,若是,则计算体素单元格的协方差矩阵的特征向量,若特征向量的方向不同则认为是环境变化区域,否则认为是非环境变化区域。
[0032]
优选地,上述的步骤s42中根据概率密度函数得到点云分布类别具体为:
[0033]
设协方差矩阵的三个特征值为λ1、λ2、λ3,当λ3≈λ2≈λ1>>0,则认为点云分布类别为球形;当λ3≈λ2>>λ1≈0,则认为点云分布类别为平面;当λ3>>λ2≈λ1≈0,则认为点云分布类别为线状。
[0034]
优选地,上述的步骤s5具体包括:
[0035]
s51:细化环境变化区域的边界,得到增量;
[0036]
s52:根据增量的边界将先前全局语义地图中的区域删除;
[0037]
s53:将增量更新至先前全局语义地图中,得到当前全局语义地图。
[0038]
本方案中还提供一种语义地图增量更新系统,系统存储有体素化的先前全局语义地图,系统包括顺次通信连接的建图模块、配准模块、检测模块以及更新模块;
[0039]
建图模块用于构建当前局部语义地图并输入至配准模块;
[0040]
配准模块用于将当前局部语义地图与先前全局语义地图进行配准并转换至同一坐标系下,并将配准及坐标转换后的数据输入检测模块;
[0041]
检测模块用于检测当前局部语义地图与先前全局语义地图的对应的点云的语义不一致区域,得到语义变化区域以及根据语义变化区域确定环境变化区域,并将环境变化区域输入更新模块;
[0042]
更新模块用于提取环境变化区域为增量并更新至先前全局语义地图,得到全局语义地图。
[0043]
与现有技术相比,有益效果是:
[0044]
本发明一方面通过语义对比与三维正态分布变换算法的组合,对环境变化进行检测,得到的环境变化区域更加精准;另一方面,本发明中仅对语义变化的区域进行体素化,再计算体素单元格内的概率密度分布函数,这样可以有效减少计算量,进而整体提高更新速度。
附图说明
[0045]
图1是本发明实施例1语义地图增量更新方法的流程示意框图;
[0046]
图2是本发明实施例1语义地图增量更新方法的步骤s4的流程示意框图;
[0047]
图3是本发明实施例3语义地图增量更新系统的结构框图;
[0048]
图4是本发明实施例3语义地图增量更新系统在实施例1或实施例2中的应用示意框图。
具体实施方式
[0049]
附图仅用于示例性说明,不能理解为对本发明的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本发明的限制。
[0050]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”“长”“短”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗
示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0051]
下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体描述:
[0052]
实施例1:
[0053]
如图1、图2所示为一种语义地图增量更新方法的第一实施例,包括以下步骤:
[0054]
s1:获取先前全局语义地图,并构建当前局部语义地图;
[0055]
s2:将当前局部语义地图与先前全局语义地图进行配准并转换至同一坐标系下;以找到当前环境在先前全局语义地图中的具体位置;
[0056]
s3:检测当前局部语义地图与先前全局语义地图的对应的点云的语义不一致的区域,得到语义变化区域;
[0057]
s4:分别计算语义变化区域对应的先前全局语义地图与当前局部语义地图的点云分布类别并进行对比,确定环境变化区域;
[0058]
s5:提取环境变化区域并更新至先前全局语义地图,得到当前全局语义地图。
[0059]
本实施例中的步骤s1中构建当前局部语义地图具体为:
[0060]
s11:采集当前环境的信息并构建点云地图;具体地,可采用双目视觉相机采集当前环境的序列图像,通过slam的方式利用序列图像构建点云地图,slam为本领域技术人员熟知的内容,这里不再详述;
[0061]
s12:对点云地图赋予语义信息,得到环境局部语义地图;
[0062]
s13:检测并剔除环境局部语义地图中的临时目标,得到当前局部语义地图;其中,临时目标为行人、车辆等短时间内位置、姿态会发生变化的物体,一般在语义地图使用时其已离开所在位置,其可以先设定需要剔除的物体所对应的语义,然后当环境局部语义地图中出现相应的语义时,将相应的语义对应的物体进行删除,这样可以避免在语义地图增量更新时将临时目标也一并更新。
[0063]
本实施例中的步骤s2中通过sac-ia粗配准以及icp精配准实现当前局部语义地图与先前全局语义地图的配准。其中,icp精配准的迭代初值由sac-ia粗配准提供。当然,本实施例中的配准方式不能理解为对本方案的限定,本领域技术人员可以根据此启示采用其他的配准方法以对当前局部语义地图与先前全局语义地图进行点云配准。
[0064]
本实施例中的步骤s3检测当前局部语义地图与先前全局语义地图的对应的点云的语义不一致的区域具体为判断某个语义区域内是否有超过当前局部语义地图第一设定比例的点发生语义变化,若是,则该语义区域为语义变化区域,若否,则该语义区域为非语义变化区域。其中,在步骤s3开始前,预设第一设定比例为0.01%,这样是由于对点云地图赋予语义信息时,语义区域的边界有可能会出现偏差,此时边界上的点云会被认为是变化区域,因此设置一定的偏差比例,当点云变化数量变化非常少时,可以忽略整个区域的变化。值得注意的是,本实施例中第一设定比例为0.01%仅为参考的实施方式,不能理解为对本方案的限定,具体实施过程中当然可以根据实际情况进行增减。
[0065]
为了尽可能提高地图增量更新的速度,本实施例步骤s1中先前全局语义地图为体素化数据,这样便于后续的概率密度函数的计算。当然,这不能理解为对本方案的限定,具体实施过程中,当然也可以在计算点云分布类别时再将先前全局语义地图进行体素化。
[0066]
步骤s4具体包括以下步骤:
[0067]
s41:将语义变化区域对应的当前局部语义地图区域进行体素化;
[0068]
s42:分别计算当前局部语义地图以及全局语义地图中对应的体素单元格内点云的概率密度函数,根据概率密度函数得到点云分布类别,点云分布类别包括球形、平面以及线状;
[0069]
s43:根据当前局部语义地图与全局语义地图中体素单元格内的点云分布类别确认环境变化区域。
[0070]
这样通过步骤s3中对当前局部语义地图与先前全局语义地图进行了语义对比,检测出了大致的语义变化区域,再进一步对语义变化区域判定,这样仅对语义变化区域进行处理计算,这样可以降低计算量同时提高检测效果与效率。
[0071]
本实施例中的步骤s41中通过三维正态分布变换算法(3d-ndt)计算概率密度函数p(x),由于体素化的当前局部语义地图与先前全局语义地图的三维点云数据被均匀划分为大小规则的体素单元格,可以首先计算每个体素单元格中点云的平均向量和协方差矩阵,公式为:
[0072][0073][0074]
再通过平均向量和协方差矩阵计算坐标x处的概率密度函数,具体公式为:
[0075][0076][0077][0078]
其中,其中,xk=(x
k y
k zk)
t
为体素单元格中点的坐标,x表示体素单元格内点的其中一个坐标,q为体素单元格的平均向量,∑为体素单元格的协方差矩阵,t为转置,yk为体素单元格内点的坐标,k为体素单元格内点的数量且k=1,...,m,m表示体素单元格内点的最大数量;cov为对应两个维度偏离协方差均值的程度。
[0079]
由于协方差矩阵∑为实对称矩阵,因此可将∑分解为特征向量和特征值,具体公式为:
[0080]
∑=qλq
t

[0081]
其中,q=(q
1 q
2 q3)为特征向量组成的正交矩阵,q1、q2、q3分别为协方差矩阵的三个特征向量,λ为对角矩阵,其对角元素为三个特征值λ1、λ2、λ3,其中,λ1<λ2<λ3。
[0082]
当然,若体素单元格内没有包含点云,则不需要进行相应计算,以保证计算速度。
[0083]
本实施例中的步骤s43中根据点云分布类别确认环境变化区域具体为:
[0084]
判断当前局部语义地图与先前全局语义地图的体素单元格内点云分布类别是否相同;若否,则认为语义变化区域为环境变化区域;若是,则判断点云分布类别是否为球形,若否,则认为语义变化区域为环境变化区域,若是,则计算体素单元格的协方差矩阵的特征向量,若特征向量的方向不同则认为是环境变化区域,否则认为是非环境变化区域。
[0085]
本实施例中的步骤s42中根据概率密度函数得到点云分布类别具体为:
[0086]
当λ3≈λ2≈λ1>>0,则认为点云分布类别为球形;当λ3≈λ2>>λ1≈0,则认为点云分布类别为平面;当λ3>>λ2≈λ1≈0,则认为点云分布类别为线状。
[0087]
其中,当λ1、λ2、λ3的绝对值小于等于零,则认为λ1、λ2、λ3近似等于零;若λ2大于或等于10λ1,则认为λ2远大于λ1,若λ
1-λ2的绝对值小于或等于0.01λ2,则认为λ2与λ1近似相等,同理可以推导出λ1、λ2、λ3之间的其他数值关系,这里不再一一列举。
[0088]
本实施例中的步骤s5具体包括:
[0089]
s51:细化环境变化区域的边界,得到增量;
[0090]
s52:根据增量的边界将先前全局语义地图中的区域删除;
[0091]
s53:将增量更新至先前全局语义地图中,得到当前全局语义地图。
[0092]
本实施例先后通过语义对比与三维正态分布变换算法对当前局部语义地图进行变化检测,得到的环境变化区域更加精准,以使得后续的地图增量更为齐全;另一方面,本发明中仅对语义变化的区域进行体素化,再计算体素单元格内的概率密度分布函数,这样可以有效减少计算量,进而整体提高更新速度。
[0093]
实施例2:
[0094]
本实施例与实施例1的区别仅在于,本实施例中先前全局语义地图为非体素化数据,本实施例步骤s41中将语义变化区域对应的当前局部语义地图区域以及先前全局语义地图区域进行体素化,这样先前全局语义地图也不用全部进行体素化,仅根据语义变化区域的进行体素化,可大大较小语义先前语义地图的数据量,进一步加快计算速度。
[0095]
实施例3:
[0096]
如图3、图4所示为一种语义地图增量更新系统,系统用于实现实施例1或实施例2中的语义地图增量更新方法,系统存储有体素化的先前全局语义地图,系统包括顺次通信相连的建图模块、配准模块、检测模块以及更新模块;
[0097]
建图模块用于构建当前局部语义地图并输入至配准模块;
[0098]
配准模块用于将当前局部语义地图与先前全局语义地图进行配准并转换至同一坐标系下,并将配准及坐标转换后的数据输入检测模块;
[0099]
检测模块用于检测当前局部语义地图与先前全局语义地图的对应的点云的语义不一致区域,得到语义变化区域以及根据语义变化区域确定环境变化区域;
[0100]
更新模块用于提取环境变化区域为增量并更新至先前全局语义地图,得到全局语义地图,并将环境变化区域输入更新模块。
[0101]
本发明是参照本技术实施例的方法、设备(系统)、和计算机程序产品的流程图或方框图来描述的,应理解可由计算机程序指令实现流程图或方框图中的每一流程或方框、以及流程图或方框图中的流程或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通
过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0102]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
[0103]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献