去除动态物体的语义分割方法及系统转让专利

申请号 : CN202111142897.8

文献号 : CN113570629B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 皇攀凌李留昭赵一凡周军林乐彬欧金顺高新彪孟广辉

申请人 : 山东大学山东亚历山大智能科技有限公司

摘要 :

本发明属于图像处理领域,提供了一种去除动态物体的语义分割方法及系统。其中,该语义分割方法包括获取场景3D点云并投影到2D深度图中,计算点云的法向量信息,构建带有回环的面元地图;对带有回环的面元地图进行点云语义分割,构建出语义点云地图,将语义点云地图映射到3D点云地图中并去除出现的边缘阴影及点云离散化现象;利用语义点云地图中的语义点云信息去除动态物体,并添加语义迭代最近点约束,得到优化后的语义点云地图。

权利要求 :

1.一种去除动态物体的语义分割方法,其特征在于,包括:获取场景3D点云并投影到2D深度图中,计算点云的法向量信息,构建带有回环的面元地图;

对带有回环的面元地图进行点云语义分割,构建出语义点云地图,将语义点云地图映射到3D点云地图中并去除出现的边缘阴影及点云离散化现象;

利用语义点云地图中的语义点云信息去除动态物体,并添加语义迭代最近点约束,得到优化后的语义点云地图;

去除出现的边缘阴影及点云离散化现象的过程为:基于KNN搜索方法,在语义点云地图的原始点云中对每个点临近的k个扫描点进行一致性检测,利用点云的语义信息增加点的标签准确性以及对相同标签的离散化点进行插值来降低映射到三维点云时出现的阴影;

所述KNN搜索方法支持GPU,且直接对原始点云操作。

2.如权利要求1所述的去除动态物体的语义分割方法,其特征在于,所述面元地图中的每个面元都包含面元中心坐标、法向量、圆半径、面元创建时间、面元最后更新时间和面元稳定性概率。

3.如权利要求1所述的去除动态物体的语义分割方法,其特征在于,所述构建带有回环的面元地图的过程,包括:

利用所有点云的法向量构建向量图,建立面元结构,构建出面元地图;

基于面元地图上一帧坐标系,利用关键帧渲染出一个虚拟帧和当前帧进行面元结构信息的前端ICP帧间匹配,计算得到帧间相对位姿;

获得当前帧位姿后,将当前帧融合到已有的面元地图中,更新面元地图;

基于关键帧之前的历史帧构建回环检测;

回环检测通过后,把回环约束加入到位姿图中,进行位姿图优化,将优化的位姿整合到面元地图中,并更新当前位姿。

4.如权利要求1所述的去除动态物体的语义分割方法,其特征在于,利用RangeNet++神经网络对带有回环的面元地图进行点云语义分割,得到点云的语义信息以及相应的概率信息。

5.如权利要求1所述的去除动态物体的语义分割方法,其特征在于,利用语义点云地图中的语义点云信息去除动态物体之前,还包括:如果某点的固定邻域中有其他的点的语义标签与该点不同,则去除该点,并且该点领域内若还有其他点,则标记为相同标签,然后利用周围标签的点对其进行填充,获得一致性深度地图。

6.如权利要求5所述的去除动态物体的语义分割方法,其特征在于,采用点云语义信息处理动态物体,在更新地图时,如果深度地图和面元地图之间的语义信息不一致,则假设物体为动态物体,在递归贝叶斯滤波器的稳定性项的计算中添加惩罚项,经过多次检测去除不稳定面元,实现动态物体的去除。

7.一种去除动态物体的语义分割系统,其特征在于,包括:面元结构地图构建模块,其用于获取场景3D点云并投影到2D深度图中,计算点云的法向量信息,构建带有回环的面元地图;

语义点云地图构建模块,其用于对带有回环的面元地图进行点云语义分割,构建出语义点云地图,将语义点云地图映射到3D点云地图中并去除出现的边缘阴影及点云离散化现象;

语义点云地图优化模块,其用于利用语义点云地图中的语义点云信息去除动态物体,并添加语义迭代最近点约束,得到优化后的语义点云地图;

在语义点云地图构建模块中,去除出现的边缘阴影及点云离散化现象的过程为:基于KNN搜索方法,在语义点云地图的原始点云中对每个点临近的k个扫描点进行一致性检测,利用点云的语义信息增加点的标签准确性以及对相同标签的离散化点进行插值来降低映射到三维点云时出现的阴影;

所述KNN搜索方法支持GPU,且直接对原始点云操作。

8.如权利要求7所述的去除动态物体的语义分割系统,其特征在于,在所述面元结构地图构建模块中,构建带有回环的面元地图的过程,包括:利用所有点云的法向量构建向量图,建立面元结构,构建出面元地图;

基于面元地图上一帧坐标系,利用关键帧渲染出一个虚拟帧和当前帧进行面元结构信息的前端ICP帧间匹配,计算得到帧间相对位姿;

获得当前帧位姿后,将当前帧融合到已有的面元地图中,更新面元地图;

基于关键帧之前的历史帧构建回环检测;

回环检测通过后,把回环约束加入到位姿图中,进行位姿图优化,将优化的位姿整合到面元地图中,并更新当前位姿。

说明书 :

去除动态物体的语义分割方法及系统

技术领域

[0001] 本发明属于图像数据处理领域,尤其涉及一种去除动态物体的语义分割方法及系统。

背景技术

[0002] 本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
[0003] 机器人的同时定位与建图(Simultaneous Localization and Mapping,SLAM)技术已在高精度地图采集、无人驾驶定位、AGV、AR/VR、无人机等领域广泛应用,然而,在复杂
场景(比如:矿山场景)下,由于动态物体会使观测与地图之间产生错误关联,干扰雷达获取
的点云信息,导致较大的环境定位与地图构建误差;深度学习能够获取激光点云数据密集
语义信息并对其进行训练分类,但却只能实现二维层面较高精度定位与建图,对三维层面
的定位与建图精度及稳定性较低。因此,单一激光SLAM和三维点云的深度学习技术无法满
足动态复杂环境的定位与建图需求。

发明内容

[0004] 为了解决上述背景技术中存在的技术问题,本发明提供一种去除动态物体的语义分割方法及系统,其能够有效地去除复杂环境中的动态物体,并最终实现稳定地高精度定
位及语义地图构建。
[0005] 为了实现上述目的,本发明采用如下技术方案:
[0006] 本发明的第一个方面提供一种去除动态物体的语义分割方法,其包括:
[0007] 获取场景3D点云并投影到2D深度图中,计算点云的法向量信息,构建带有回环的面元地图;
[0008] 对带有回环的面元地图进行点云语义分割,构建出语义点云地图,将语义点云地图映射到3D点云地图中并去除出现的边缘阴影及点云离散化现象;
[0009] 利用语义点云地图中的语义点云信息去除动态物体,并添加语义迭代最近点约束,得到优化后的语义点云地图。
[0010] 进一步地,所述面元地图中的每个面元都包含面元中心坐标、法向量、圆半径、面元创建时间、面元最后更新时间和面元稳定性概率。
[0011] 进一步地,所述构建带有回环的面元地图的过程,包括:
[0012] 利用所有点云的法向量构建向量图,建立面元结构,构建出面元地图;
[0013] 基于面元地图上一帧坐标系,利用关键帧渲染出一个虚拟帧和当前帧进行面元结构信息的前端ICP帧间匹配,计算得到帧间相对位姿;
[0014] 获得当前帧位姿后,将当前帧融合到已有的面元地图中,更新面元地图;
[0015] 基于关键帧之前的历史帧构建回环检测;
[0016] 回环检测通过后,把回环约束加入到位姿图中,进行位姿图优化,将优化的位姿整合到面元地图中,并更新当前位姿。
[0017] 进一步地,利用RangeNet++神经网络对带有回环的面元地图进行点云语义分割,得到点云的语义信息以及相应的概率信息。
[0018] 进一步地,去除出现的边缘阴影及点云离散化现象的过程为:
[0019] 基于KNN搜索方法,在语义点云地图的原始点云中对每个点临近的k个扫描点进行一致性检测,利用点云的语义信息增加点的标签准确性以及对相同标签的离散化点进行插
值来降低映射到三维点云时出现的阴影。
[0020] 进一步地,利用语义点云地图中的语义点云信息去除动态物体之前,还包括:
[0021] 如果某点的固定邻域中有其他的点的语义标签与该点不同,则去除该点,并且该点领域内若还有其他点,则标记为相同标签,然后利用周围标签的点对其进行填充,获得一
致性深度地图。
[0022] 进一步地,采用点云语义信息处理动态物体,在更新地图时,如果深度地图和面元地图之间的语义信息不一致,则假设物体为动态物体,在递归贝叶斯滤波器的稳定性项的
计算中添加惩罚项,经过多次检测去除不稳定面元,实现动态物体的去除。
[0023] 本发明的第二个方面提供了一种去除动态物体的语义分割系统,其包括:
[0024] 面元结构地图构建模块,其用于获取场景3D点云并投影到2D深度图中,计算点云的法向量信息,构建带有回环的面元地图;
[0025] 语义点云地图构建模块,其用于对带有回环的面元地图进行点云语义分割,构建出语义点云地图,将语义点云地图映射到3D点云地图中并去除出现的边缘阴影及点云离散
化现象;
[0026] 语义点云地图优化模块,其用于利用语义点云地图中的语义点云信息去除动态物体,并添加语义迭代最近点约束,得到优化后的语义点云地图。
[0027] 本发明的第三个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的去除
动态物体的语义分割方法中的步骤。
[0028] 与现有技术相比,本发明的有益效果是:
[0029] 本发明基于点云面元建图,增加了点云语义信息能够有效去除投影地图阴影以及动态物体给建图定位带来的影响,实现了动态环境可靠、稳定的语义SLAM建图;将点云深度
学习网络应用于点云语义信息的获取,获取准确的点云语义分割。
[0030] 针对复杂场景,将3D激光点云投影到2D深度图,利用神经网络对点云进行语义分割并识别动态物体,并将其在构建地图中去除;将带有语义标签的物体进行数据关联,并与
其几何信息一起建立约束关系,通过语义信息对里程计约束,实现了位姿更新和复杂场景
的高精度建图。
[0031] 本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0032] 构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0033] 图1是本发明实施例的3D点云投影到2D深度图的对应关系图;
[0034] 图2是本发明实施例的面元地图构建流程图;
[0035] 图3是本发明实施例的地图更新流程图;
[0036] 图4是本发明实施例的RangeNet++网络结构流程图;
[0037] 图5是本发明实施例的滤除矿山场景动态物体的流程图。

具体实施方式

[0038] 下面结合附图与实施例对本发明作进一步说明。
[0039] 应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常
理解的相同含义。
[0040] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式
也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包
括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0041] 实施例一
[0042] 本实施例提供了一种去除动态物体的语义分割方法,其具体包括如下步骤:
[0043] 步骤1:获取场景3D点云并投影到2D深度图中,计算点云的法向量信息,构建带有回环的面元地图。
[0044] 在具体实施例中,利用16线激光雷达获取2D深度图和法向量信息。
[0045] 此处可以理解的是,在其他实施例中,也可采用其他线数量的激光雷达来获取2D深度图和法向量信息,本领域技术人员可根据实际情况来具体选择,此处不再累述。
[0046] 其中,面元地图构建流程图如图2所示,在图2中,VD表示2D深度图,ND表示法向量信息。具体地,步骤1的具体过程包括:
[0047] 步骤1.1:点云预处理;
[0048] 把当前帧3D点云投影到2D深度图中,并计算点云的法向量信息,利用所有点的法向量构建向量图,并建立面元结构,每个面元都包含空间坐标(面元中心坐标)、法向量、圆
半径、两个时间戳(面元创建时间和最后更新时间)、面元稳定性概率;最后,对当前帧进行
异常点和外点进行去除。其中,将3D点云投影到2D深度图的对应关系如图1所示。
[0049] 对于三维点云中的点(x,y,z),相对于雷达均有一个竖直方向的俯仰角(pitch),和水平面的偏转角(yaw),首先,现将雷达坐标原点移至左上角,然后降维。
[0050] 深度值 ;
[0051] 水平面的偏转角 ;
[0052] 竖直方向的俯仰角 ;
[0053] 二维图像点的水平索引:
[0054] ;
[0055] 二维图像点的数值索引:
[0056] ;
[0057] 步骤1.2:前端匹配;
[0058] 基于面元地图上一帧坐标系,利用关键帧渲染出一个虚拟帧和当前帧进行面元结构信息的前端ICP帧间匹配,并利用高斯‑牛顿法计算得到帧间相对位姿。
[0059] 步骤1.3:地图更新;
[0060] 获得当前帧位姿估计后,将当前帧融合到已有的面元地图中。首先,对当前帧中每一点都计算出相应面元,判别该面元是否存在关联面元(与某个已有面元足够接近),如果
存在,则融合到关联面元中,否则,保留该面元作为独立新建面元,完成面元地图更新后。其
中,地图更新流程如图3所示。
[0061] 步骤1.4:回环检测;
[0062] 基于关键帧之前的历史帧构建回环检测,如果当前帧与其匹配度在设定误差范围内,则存在潜在回环,若下面连续若干帧匹配度都设定误差范围内,则确定有回环发生,添
加回环约束到位姿图中;否则将其视为虚假回环,不予处理。
[0063] 对于潜在回环的确定步骤如下:
[0064] 首先利用这些历史帧构建历史地图,地图中若存在一个或多个位姿与当前位姿的直线距离小于设置阈值,则利用历史地图所有帧在距离最小值所在的坐标系下渲染出一个
虚拟帧与当前帧做ICP匹配,若匹配度大于指定阈值,则存在潜在回环,否则不存在。最后,
需要对回环进行检测,判断回环是否有效;将里程计增量估计用于关键帧,利用回环帧的位
姿渲染其位姿图并进行位姿匹配,检测建图一致性。
[0065] 步骤1.5:位姿图优化;
[0066] 在回环检测通过后,需要把回环约束加入到位姿图中,进行位姿图优化,将优化的位姿整合到面元地图中,并更新当前位姿。
[0067] 步骤2:对带有回环的面元地图进行点云语义分割,构建出语义点云地图,将语义点云地图映射到3D点云地图中并去除出现的边缘阴影及点云离散化现象。
[0068] 首先,对点云进行预处理,将3D点云投影到2D图像坐标系,和上步构建面元地图投影方式一样,但需添加强度和距离信息到2D点云结构,接着对点云外点和难点去除,并保留
原始点云索引。
[0069] 然后,保持竖直方向点云信息不变,仅在宽度方向上,用RangeNet++神经网络对点云上、下采样及训练学习,并在代价函数中增加相应的权重解决各个类点云数量分布不均
的情况,通过该网络结构能够得到点云的语义信息以及相应的概率信息。
[0070] 接着,利用距离、像素坐标以及传感器校准将2D深度图映射到3D点云进行点云重建。为了推断2D深度语义点云表示的所有3D原始点,使用所有深度图中的点对初始渲染过
程中获得的所有点进行配对,并将范围图像与对应于每个点的坐标进行索引,供点云后处
理使用。
[0071] 最后,将语义分割的点云再次投影到3D点云,物体边缘部位会出现明显的阴影。为解决由点云标签模糊和离散化导致的背景阴影问题,提出一种支持GPU的KNN搜索方法,直
接对原始点云操作。在获取面元地图的语义信息之后,需对语义地图中的每一个点,在原始
点云中对其临近的k个扫描点进行一致性检测,利用点的语义信息增加点的标签准确性以
及对相同标签的离散化点进行插值来降低映射到三维点云时出现的阴影。
[0072] KNN搜索算法流程:
[0073] 首先,在深度图中,定义一个以每个深度图点作为中心点的窗口,利用matlab中的im2col算法取出该窗口内该点的近邻点组成以一个矩阵,每一列即为所有点的近邻索引。
[0074] 通过三维点云到二维深度图的对应关系,还原每个三维点在二维深度图上的近邻点,得到对应矩阵。
[0075] 通利用KNN搜索方法搜索每个深度图点的近邻点,计算其距离。
[0076] 计算点云的逆高斯核,对距离进行相应的调整,最终得到具有逆高斯核的权重近邻点,距离越近,权重越小;距离越远,权重越大。
[0077] 通过距离阈值对k个近邻点过滤,去掉距离大于阈值的近邻点。
[0078] 对剩余的点进行统计,点数多的类别就是目标点类别。
[0079] 步骤3:利用语义点云地图中的语义点云信息去除动态物体,并添加语义迭代最近点约束,得到优化后的语义点云地图。
[0080] 将如图4所示的RangeNet++网络输出点云作为输入,语义分割后的点云必然包含标签错误类别,为了降低误差,必须对其进行去除。首先,如果某点的固定邻域中有其他的
点的语义标签与该点不同,则去除该点,并且该点领域内若还有其他点,则标记为相同标
签,然后,利用周围标签的点对其进行填充,获得一致性深度地图。
[0081] 地图获取之后,复杂场景的工作人员、车辆等动态物体会使观测与地图之间产生错误关联,必须去除动态物体带来的影响。
[0082] 首先,根据物体在同一位置出现的概率实现动态物体的识别;即如果当前帧和下面连续若干帧(比如连续30帧)都显示该物体在同一个位置,则认为该物体静止,反之,在下
面每一帧中检测其位置都发生变化,则认为该物体是动态的。接着,采用点云语义信息来处
理动态物体,在更新地图时,如果深度图和面元地图之间的语义信息不一致,则假设物体为
动态物体,最后,在递归贝叶斯滤波器的稳定性项的计算中添加惩罚项,经过多次检测可以
去除不稳定面元,实现动态物体的去除。公式如下:
[0083]
[0084] 其中: 和 指面元的稳定性,相当于一个概率值,会随时间而不断改变,分别代表着上一时刻和当前观测的叠加以及惩罚项; 和 分别表示夹角的方差因子和距
离的方差因子;
[0085] , 和 指稳定面元相容性概率和先验概率, 用于补偿噪声; 是面元法向量和测量法向量的夹角,d是测量相对面元的距离。
[0086] 将动态物体去除后,也要保存静态物体信息,否则在扫描匹配时会因缺少对应关系而导致扫描配准失败,添加语义ICP(迭代最近点)能够有效预防该情况发生,并且还能减
少离群点或异常值的出现。把语义信息也加入了ICP算法中,使任一物体都有一定的关联关
系,在进行位姿估计时,除了满足点云要尽量接近,带语义标签的各个物体也要尽量接近,
这样才能有效提高地图构建的准确性和真实性。其中,滤除复杂场景动态物体的流程如图5
所示。
[0087] 实施例二
[0088] 本实施例提供了一种去除动态物体的语义分割系统,其具体包括如下模块:
[0089] 面元结构地图构建模块,其用于获取场景3D点云并投影到2D深度图中,计算点云的法向量信息,构建带有回环的面元地图;
[0090] 语义点云地图构建模块,其用于对带有回环的面元地图进行点云语义分割,构建出语义点云地图,将语义点云地图映射到3D点云地图中并去除出现的边缘阴影及点云离散
化现象;
[0091] 语义点云地图优化模块,其用于利用语义点云地图中的语义点云信息去除动态物体,并添加语义迭代最近点约束,得到优化后的语义点云地图。
[0092] 其中,在所述面元结构地图构建模块中,构建带有回环的面元地图的过程,包括:
[0093] 利用所有点云的法向量构建向量图,建立面元结构,构建出面元地图;
[0094] 基于面元地图上一帧坐标系,利用关键帧渲染出一个虚拟帧和当前帧进行面元结构信息的前端ICP帧间匹配,计算得到帧间相对位姿;
[0095] 获得当前帧位姿后,将当前帧融合到已有的面元地图中,更新面元地图;
[0096] 基于关键帧之前的历史帧构建回环检测;
[0097] 回环检测通过后,把回环约束加入到位姿图中,进行位姿图优化,将优化的位姿整合到面元地图中,并更新当前位姿。
[0098] 在语义点云地图构建模块中,去除出现的边缘阴影及点云离散化现象的过程为:
[0099] 基于KNN搜索方法,在语义点云地图的原始点云中对每个点临近的k个扫描点进行一致性检测,利用点云的语义信息增加点的标签准确性以及对相同标签的离散化点进行插
值来降低映射到三维点云时出现的阴影。
[0100] 此处需要说明的是,本实施例的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
[0101] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质
中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁
碟、光盘、只读存储记忆体(Read‑Only Memory,ROM)或随机存储记忆体(Random Access 
Memory,RAM)等。
[0102] 本发明是根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/
或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到
通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个
机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流
程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0103] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修
改、等同替换、改进等,均应包含在本发明的保护范围之内。