自动驾驶系统进阶与项目实战(四)自动驾驶高精度地图构建中的三维场景识别和闭环检测

自动驾驶系统进阶与项目实战(四)自动驾驶高精度地图构建中的三维场景识别和闭环检测

闭环检测(loop-closure detection)是SLAM中非常关键的一部分,当然也是自动驾驶高精度地图(HD Map)构建的核心技术之一,闭环检测即无人车能够识别出SLAM构图过程中形成的闭环,从而优化由观测(lidar slam、imu、车辆can、gnss等算出的里程计)累计的误差,使得SLAM地图在闭环的“缝合处”能够准确对接、在同一路段的重复测量(主要是激光点云、图像等)能够准确拟合。显然闭环检测对于大面积、大场景的地图构建非常必要。

在闭环检测中,场景识别是关键步骤之一,场景识别即无人车匹配当前场景和历史场景的过程,如果当前场景和历史中的某些场景吻合,那么无人车才知道自己“来过”这个地方,从而进行闭环的位姿优化,场景识别中最常见的就是基于图像的识别,但是基于图像的方法容易收到场景光照条件变化以及移动目标的影响。

基于点云的三维场景识别技术受光照、季节等环境条件的影响较小,和图像方法类似,在点云中也可以使用设计的描述符(descriptor)来定义三维模型用于场景识别,这类描述符的设计需要满足两个要求,第一是旋转不变性,同一场景不能因为视角的切换而表现为不同的描述符,第二是减少噪声的影响对于这类空间描述符的印象,点云数据密度相较于图像低很多,并且距离越大数据越稀疏,噪声的影响越大;一种有效的方法是使用直方图来描述,但是直方图只能表达统计特征,很难反应一个点云的三维结构特征,为了克服这类问题,我们引入Scan Context环境描述符。

Scan Context描述符构建

构建Scan Context描述符第一步是使用基于环(ring)和扇形(sector)的方法重新组织点云,将三维点云使用二维特征图表示,特征图如下图所示:

你可能感兴趣的:(自动驾驶系统进阶与项目实践)