ICCV2019 | DeepVCP:百度无人车提出首个端到端的高精度点云配准网络

近日,来自百度智能驾驶事业群组的工程师提交了他们在激光点云配准方面的最新成果,不同于传统的基于几何特征的点云配准方案,该系统首度实现了直接作用于点云的端到端的高精度匹配网络,相对于经典的ICP家族,该系统拥有同等的精度但稳定性更高。该系统的相关技术论文收录在今年11月份在韩国首尔市举行的国际顶会 ICCV 2019。

背 景

点云配准技术是三维视觉领域的一项基础技术,其目标是将不同视点采集的点云数据通过计算其相对位姿的方式拼接到一起。随着激光雷达在机器人,无人车的领域的推广应用,点云配准技术作为高精地图,高精定位等方向的核心模块越来越受到重视,然而与点云识别,检测技术快速发展不同的是点云配准方面一直没有太多的突破,目前在无人车领域主流的方案仍是ICP家族,究其原因,主要有以下两点:1)ICP家族本身精度很高,难以替代;2)无人车问题本身的复杂性,相对于一般的点云配准技术,在无人车环境下,点云配准技术不仅要面临更差的初值(GNSS信号不佳),还需要应对动态地物的干扰,这些问题都对点云配准技术提出了新的挑战。

一般来说,采集自不同视点的点云之间会存在一定的重叠区域,如何从重叠区域找到用于配准的匹配点对(correspondence)是匹配算法的关键。因此,点云的配准问题可以转化成点对的配准问题,传统方法中在查找匹配点对时会计算几何特征的相似度,使用的几何特征包括欧式距离,欧氏空间的法向量,协方差矩阵等,但是由于采集视角及遮挡等原因,采集的点云大多数是不完整,这意味着这些低等级的几何特征表达不会特别准确,不仅如此,在自动驾驶场景中存在着大量的移动目标如车辆,行人等,如果无法识别出这些动态目标的话那选在其上的匹配点对将会对整个匹配算法的精度造成影响。

为解决上述问题,本文介绍来自一种基于深度学习技术的端到端的点云拼接网络DeepVCP,不同于传统方法中仅使用几何特征,DeepVCP在拼接过程中引入了语义特征自动筛选关键点,此外,不同于传统方法中查找几何特征最相似的点作为同名点,DeepVCP仅评估几何特征之间的相似度,并根据相似度生成匹配概率,最后根据匹配概率生成同名点,最后算法仅依赖少量的稳定关键点进行匹配达到了和ICP家族使用全帧点云匹配相等的精度,这提升了匹配的稳定性。

论文链接:https://songshiyu01.github.io/pdf/DeepVCP_W.Lu_S.Song_ICCV2019.pdf

视频链接:https://www.youtube.com/watch?v=O9AMulNyrzY

  • 摘要

百度提出了一种基于学习的端到端点云配准网络,相对于传统方法,该技术通过引入语义特征来自动避开动态地物并选取易于匹配的关键点,在关键点的候选匹配区域内,通过计算特征相似概率的方式来生成同名点,最后网络Loss综合了关键点的局部和全局匹配效果。该方案是目前业界内首个端到端的高精度匹配网络,拥有和ICP家族相等的匹配精度以及更高的稳定性。

为了验证算法的有效性,论文选取了自动驾驶领域的两组代表性数据集:KITTI Odometry数据集以及Apollo-SouthBay定位数据集。在两组数据集上,论文对算法的能力进行了详细的评估,最后的实验效果展示了算法的优势。

节俭的百度:给自动驾驶阿波罗计划算个账(附Apollo技术框架)

  • 引言

近年来,深度学习技术的发展对计算机视觉领域带来了深远的影响,在二维图像的分割、分类、物体检测等方向基于深度学习的解决方案取得了令人惊叹的成果。同时随着无人车,机器人等领域的兴起,将深度学习技术应用于点云处理也取得了很多极具启发意义的成果,然而这些成果大部分都集中在点云的识别,检测等领域,在点云配准,三维重建等领域仍鲜少涉及,虽有个别工作取得了一定进展,但总体来说深度学习尚未在相关领域取得决定性的突破。以无人车为例,目前应用于无人车高精地图重建方面的点云拼接技术主流方案仍是ICP家族,但是ICP家族存在对初值的依赖问题,不仅如此,在自动驾驶场景中存在大量的动态目标对匹配造成干扰,仅依赖低层次几何特征很难剔除。

针对上述问题,百度提出的解决方案如图1所示,与传统ICP方案存在一定的相似性:算法首先会筛选出一定数量的关键点,对每个关键点构造一个搜索范围,在搜索范围内算法以概率的形式生成同名点,最后根据同名点生成相对位姿,完成点云拼接过程。

根据论文内容,百度提出的技术方案的先进性集中体现在以下几个方面:

提出了基于语义特征的关键点筛选策略,解决了自动驾驶场景下的动态地物干扰问题;

提出了基于概率生成的同名点生成策略,相对于传统方法中只能使用存在的点作为同名点,该方案能根据匹配的概率生成一个虚拟的同名点,达到更好的匹配精度;

该方案为业界内第一个直接作用于点云的端到端的高精度点云配准方案,具有一定的启发性;

图1 DeepVCP主要流程:(a)关键点检测;(b)关键点匹配;(c)同名点生成;(d)最终的匹配结果

  • 方法

百度提出的基于深度学习的点云配准方案需要两帧待匹配点云(目标点云和源点云)及其初始相对位姿作为输入,输出则是优化之后的相对位姿。DeepVCP会同时优化相对位姿的六个自由度,其算法流程如图2所示:

图2 百度提出的端到端的点云配准网络架构DeepVCP。该网络包含了:基于语义特征的关键点选取模块weighting layer;基于mini-PointNet的匹配特征提取模块DFE Layer;基于匹配概率的匹配点对生成模块CPG Layer;基于局部特征及全局特征的网络Loss。

具体来说,百度提出的DeepVCP网络包含了以下模块:

1)基于语义特征的关键点选取模块;

关键点选取模块包含了一个语义特征提取模块和一个Weighting Layer,其中语义特征提取模块选用的是点云分割网络PointNet++,其作用主要扩大特征提取的感受野和深度以获取点云的语义信息,Weighting Layer则将语义信息转换为后续用于拼接过程的权重,由MLP+softplus组成,出于显存原因,仅选择权重比较大的少量点作为关键点参与后续匹配流程,关键点的选取效果如图3所示:

图3 关键点的可视化效果,可以看见在各种场景下关键点均避开了移动目标并且选取在容易匹配的目标如杆状物等

2)基于mini-PointNet的匹配特征提取模块;

获取关键点之后,DeepVCP会使用mini-PointNet在每个关键点领域重新提取特征用于匹配,该模块的输入包含了流程1)中的语义特征以及关键点邻域点的低级别特征,最终的输出则是匹配特征。

3)基于匹配概率的匹配点对生成模块;

对于每个从源点云中选取的关键点,将其用初始相对位姿投影至目标点云,在目标点云中构建规则格网组成其搜索范围,对规则格网上每个点提取其匹配特征,计算关键点和其匹配范围内格网点匹配特征每个维度上的L2距离作为匹配特征差值,将匹配特征差值输入到3DCNN及softmax进行降维和归一化之后会得到格网点对应的匹配概率,对格网点的坐标使用匹配概率进行加权求和之后可以生成最终的同名点,其效果如图4所示。

图4. 基于匹配概率的匹配点对生成. 左:匹配关键点机器搜索空间构建;中:匹配概率矩阵;右:同名点生成及匹配

4)基于局部特征和全局特征的网络Loss;

对于每个关键点而言,使用相对位姿的真值可以得到其对应的同名点真值,对于其算法生成的同名点,可以直接计算两者L1距离作为网络Loss,如下:

然后如果将其作为最终Loss发现每个关键点的处理过程是相对独立的,对于拼接任务而言可能会导致出现局部最优的情况,为了整合所有点的拼接结果,DeepVCP同时对所有的同名点对执行singular value decomposition (SVD)优化求取相对位姿,由此我们可以计算优化之后的同名点和真值点的Loss,如下:

最后将上述两种Loss结合起来可以得到DeepVCP的最终Loss:

式中为两种Loss之间的平衡系数,在论文实验中发现该参数取非0或1.0时算法表现较好且效果相当,而当取0或1.0时仅一种Loss发挥作用,此时效果较差,这证明所提Loss的有效性。

DeepVCP的效果在两种自动驾驶数据集KITTI和Apollo-SouthBay上进行验证,效果分别如表1和表2所示:

表1. KITTI数据集DeepVCP与传统方法效果对比

表2. Apollo-SouthBay数据集DeepVCP与传统方法对比

可以看到DeepVCP达到了和传统方法相当的精度,尤其是translation方向,最大值较传统方法要小很多,这验证了算法的稳定性,同时也发现DeepVCP在Apollo-SouthBay上比KITTI上表现更好,这是因为Apollo-SouthBay的真值相对来说更好一些,这对基于学习的方法来说更友好一些。

  • 总结

针对三维视觉中经典的点云拼接问题,百度提出了一套基于深度学习的点云配准方案,该方案创新性的提出基于语义特征的关键点检测,基于概率分布的同名点生成以及结合局部信息和全局信息的拼接Loss,最终达到了与传统方案相当的精度。最终算法在KITTI和Apollo-SouthBay两种自动驾驶数据集上进行验证,实验结果证明了算法的有效性。

理论无人车百度ICCV 2019
暂无评论
暂无评论~