作者:刘哲
本文为将门好声音第19期。
论文作者是来自将门机器人主题社群、香港中文大学刘云辉教授团队的博士后刘哲、博士生索传哲、周顺波,论文合作单位还包括上海交通大学和卡耐基梅隆大学。
本次将介绍其团队在今年ICCV和IROS上发表的系列工作:大范围动态环境中基于三维点云学习的场景识别与闭环检测方法。
如果你也想与广大群友分享自己的研究工作、文章观点、出坑经验,点击“阅读原文”或联系将门小姐姐!只要内容合适,我"门"送你头条出道!
在大范围动态室外场景中,如何从原始三维点云中提取有效的全局特征,实现鲁棒的大范围场景识别和高效的长距离闭环检测,依然是移动机器人和自动驾驶领域的挑战问题。
在这一系列工作中,我们首先提出了一种基于深度学习的场景描述网络,从原始三维点云中提取全局描述特征,通过全局特征匹配实现大范围场景识别,并对动态环境和相似场景具有鲁棒性;在此基础上,通过特征空间聚类分析环境中的典型场景,并进一步引入由粗到细的匹配策略和局部序列匹配方法,实现不依赖里程计和GPS信息的高效闭环检测。
数据集测试结果显示我们的场景识别准确率是目前最好的,比PointNetVLAD(CVPR’2018)提高了14%。我们还在香港中文大学校园、香港大埔工业园、城市道路和机场环境下进行了实际测试,实验验证了所提网络无需重新训练,在不同环境下也能实现有效的场景识别和闭环检测。
关于作者
论文主要由以下三人合作完成:刘哲,香港中文大学天石机器人研究所博士后。索传哲、周顺波,香港中文大学天石机器人研究所博士生。研究方向是面向工业无人驾驶的感知、控制和集群研究。导师为刘云辉教授。
- 论文链接:
ICCV:https://arxiv.org/pdf/1812.07050.pdf
IROS:https://arxiv.org/pdf/1904.13030.pdf
背景介绍
大范围环境下的建图和定位(SLAM)对室外移动机器人和无人驾驶系统具有重要的意义,其中,场景识别和闭环检测是SLAM系统的核心模块,对大场景下建立全局一致的高精度地图并实现对累积误差鲁棒的高精度定位具有重要的意义。
基于视觉的场景识别和闭环检测方法在恶劣天气条件、光照多变和视野受限下鲁棒性较低。里程计信息累积误差大,尤其是在工业应用方面,由于道路崎岖、积水、积尘等因素导致轮胎打滑严重,里程计信息往往不准。GPS信息受遮挡和多路径效应影响,在城市和工业环境中,其精度往往无法得到保证。
因而本文采用激光传感器信息,通过设计基于度量学习的自监督深度学习网络,从单帧三维点云中提取全局描述特征,实现场景识别和闭环检测。
相关工作
SegMatch和LOAM等传统方法基于人工特征,从原始点云中提取基于直方图分布、特征根、线面结构等信息的局部特征,实现匹配。这类方法往往针对某一类环境有效,其泛化性和普适性较差。为了解决这个问题,近年来推出了很多深度学习方法,包括基于3D volume representation的3D ShapeNets, volumetric CNNs, VoxelNet 和 3DGAN等网络;以及基于2D CNN的DeepPano和Multiview CNNs等方法。上述方法不可避免的引入量化误差,且计算量较大,实时性较差。
PointNet首次实现了从原始三维点云中直接学习特征,在此基础上,PointNet++进一步引入多尺度信息,DG-CNN和KC-Net引入邻域关系,在小物体点云上都取得了很好的效果,然而在大范围动态场景下的有效性依然无法保证。针对大范围场景,SegMap通过local segment deions实现场景匹配,然而其需要建立局部稠密点云地图,对点云稀疏性不鲁棒;PointNetVLAD忽略了局部结构信息和局部特征分布信息,其精度依然有很大的提升空间。
点击看大图
主要方法
整个算法分成三步:场景描述,环境分析,闭环检测。
首先,我们设计了深度学习网络LPD-Net,从单帧三维点云中提取全局描述特征。网络包含三个主要部分:局部特征提取,基于图的邻域聚合,特征聚合和全局描述。在局部特征提取部分,我们针对每个点p_i,首先通过基于熵的指标来自适应优化其邻域大小(解决点云局部分布不均匀的问题),进而在确定好的邻域范围内计算三维协方差椭球的特征根以及投影到二维平面的协方差椭圆的特征根。
我们设计了基于特征根、法向量和垂直方向分布特征的10个局部特征,与其点坐标(x_i,y_i,z_i)一起,共同组成13维局部特征作为网络输入,通过mlp进行特征融合。同时引入了与PointNet类似的feature transform模块,获得更加灵活鲁棒的邻域关系。
在邻域聚合部分,我们引入动态图网络,在特征空间和笛卡尔空间同时进行邻域聚合,并设计了三种不同的结构来融合两个空间的特征聚合结果。在特征空间的邻域聚合中,我们通过分析特征分布生成邻域关系,采用动态图网络进行多层聚合,将具有相似局部特征的点聚合在一起;在笛卡尔空间的邻域聚合中,我们通过原始的点坐标生成邻域关系,从而引入局部特征的空间分布信息。
通过上述方法,我们既能够提取局部结构信息,又能够获取相似局部特征的空间分布信息,从而实现在大范围动态环境下的有效性。最后,在特征聚合和全局描述部分,我们采用与PointNetVLAD类似的方法,引入NetVLAD网络生成全局描述特征。
点击看大图
其次,我们将网络生成的不同场景的全局特征描述子,在特征空间中通过K-means++算法进行聚类(采用肘部法则确定最优K值,采用特征空间的L_2距离进行聚类)。每个类中心所对应的场景为环境中的典型场景,我们将其定义为Super Keyframe。通过KD-Tree建立典型场景和类中其他场景之间的索引关系。
最后,我们采用了由粗到细的匹配方法,保证大范围环境下的实时性。我们首先将当前点云生成的全局特征与所有Super Keyframe进行匹配(采用特征空间的L_2距离),找到所属的类。其次在类中进行匹配,找到最相似的几个候选场景。最后针对每个候选场景,引入空间序列信息,进行局部sequence matching。上述方法保证了高动态和极端相似场景下的闭环检测精度。
数据集测试结果
我们仅在Oxford Robotcar数据集上进行了网络训练,在Oxford Robotcar、In-house Dataset、KITTI和我们自己采集的数据集上进行了测试。
Oxford Robotcar上的测试结果显示,我们比当前最好的PointNetVALD网络,在场景识别精度上提高了14%左右,对输入点云的旋转变换和随机噪声也具有更强的鲁棒性。
In-house Dataset上的测试结果显示,在室内场景识别任务中我们也优于PointNetVALD。KITTI上的测试结果显示,我们的方法对相似场景的区分度更大,场景聚类更加紧密,类间距更大。
同时,我们还与HF-Net,NetNLAD(NV)和NV+SP等基于视觉的方法进行了对比,结果显示在绝大多数环境下,我们的方法达到了与基于视觉的方法匹配甚至更好的效果。尤其是在雨雪天气和夜晚场景中,我们的方法远好于视觉方法。
真实实验结果
我们采用实验室自主开发的工业车辆无人驾驶平台,在香港机场和大埔工业园进行了实际测试。同时也通过建立数据采集平台,采集了香港中文大学校园和香港城市道路下的数据,进行了大范围动态环境下的实验验证。
在实验中,为保证车载平台上的实时性,我们对场景描述网络进行了轻量化修改,提出了LPD-Light网络,实现了2Hz以上的实时闭环检测性能。针对轻量化网络,通过序列匹配,在不需要里程计和GPS信息的情况下,场景识别精度超过95%。
在中大校园环境(山区地形,路径全长4KM)下的测试结果显示,在LeGO-LOAM无法完成闭环检测的路段,我们全部成功实现了闭环检测,对动态障碍物(车辆和行人)、崎岖路面和逆向行驶具有鲁棒性。
后续我们将开源数据集和所提算法,并展示我们在不同环境下的实验结果。
最后,措不及防打个小广告
香港中文大学刘云辉教授团队无人驾驶组目前有访问学生、研究助理(将来有机会转为PhD)和博士后名额开放~
特别欢迎有相关无人车/移动机器人感知规划和控制研究经验、感兴趣来中大的同学把简历发到以下邮箱:pyko@cuhk.edu.hk
如果你也想与广大群友分享自己的研究工作、文章观点、出坑经验,点击“阅读原文”或联系将门小姐姐
aceyiming@thejiangmen.com