4

RoadMap:一种用于自动驾驶视觉定位的轻质语义地图(ICRA2021)

 2 years ago
source link: https://zhuanlan.zhihu.com/p/415883113
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

RoadMap:一种用于自动驾驶视觉定位的轻质语义地图(ICRA2021)

作者:杨凌昊|来源:微信公众号:3D视觉工坊
注:文末附有【视觉SLAM、激光SLAM】交流群加入方式
注1:彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
注2:彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM+LIO-SAM)
注3:激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
注4:彻底搞懂视觉-惯性SLAM:基于VINS-Fusion

RoadMap: A Light-Weight Semantic Map for Visual Localization towards Autonomous Driving

Qin T, Zheng Y, Chen T, et al. RoadMap: A Light-Weight Semantic Map for Visual Localization towards Autonomous Driving[J]. arXiv preprint arXiv:2106.02527, 2021. ICRA 2021

单位:华为

针对问题:

针对基于视觉的众包高精度地图构建以及动态更新的需求

提出方法:

文章提出了一套基于视觉的众包建图系统框架,多个建图车辆本地端建图,并传输到云端融合,能够对高精度地图进行较为方便且有效的地图更新。

达到效果:

文章在作者录制的数据集中实现了城市大场景范围内的快速建图及动态更新,并基于此高精地图实现精确鲁棒的定位效果。

存在问题:

文章所构建的高精度地图在实现定位过程中仍采用了ICP加滤波融合的方式,对于分割结果和测距性能的限制,建图过程中的重影问题仍需进行后续调整,同样场景中的三维标识未能加以建图及利用。

Abstract

精确的定位对于自主驾驶任务来说是至关重要的。如今,我们已经看到很多传感器丰富的车辆(如机器人出租车)在街上自主行驶,它们依赖于高精度的传感器(如激光雷达和RTK GPS)和高精度地图。然而,低成本的生产型汽车无法承担如此高的传感器和地图的费用。如何降低成本?传感器丰富的汽车如何使低成本的汽车受益?在本文中,我们提出了一个轻量级的定位解决方案,它依赖于低成本的相机和紧凑的视觉语义地图。该地图很容易由传感器丰富的车辆以众包的方式产生和更新。具体来说,该地图由几个语义元素组成,如车道线、人行横道、地面标志和路面上的停车线。我们介绍了车载地图、云上维护和用户端定位的整个框架。地图数据是在车辆上收集和预处理的。然后,众包的数据被上传到云服务器。来自多个车辆的海量数据在云端被合并,以便及时更新语义地图。最后,语义地图被压缩并分发到生产汽车上,这些汽车使用该地图进行定位。我们在现实世界的实验中验证了所提出的地图的性能,并将其与其他算法进行比较。语义地图的平均大小为36kb/km。我们强调,这个框架是一个可靠和实用的自主驾驶的定位解决方案。

Main contributions:

我们提出了一个新颖的框架,用于自主驾驶任务中的轻量级定位,该框架包含车辆建图、云上地图维护和用户端定位。

我们提出了一个新颖的想法,即使用富含传感器的车辆(如机器人出租车),使低成本的生产汽车受益,含有传感器的车辆每天收集数据并自动更新地图。

我们进行真实世界的实验测试,以验证所提出的系统的实用性。

System Overview

该系统由三部分组成。第一部分是本地端建图。使用配备有前视摄像头、RTK-GPS和基本导航传感器(IMU和轮速计)的车辆。这些车辆被广泛用于机器人出租车的应用,每天收集大量的实时数据。通过分割网络从前视图像中提取语义特征。然后,语义特征被投射到基于优化的车辆位姿的世界坐标系中。在车辆上建立一个本地语义图。这个本地地图被上传到一个云地图服务器。

第二部分是云上建图。云服务器收集来自多个车辆的本地地图,本地地图被合并成一个全局地图。然后通过轮廓提取对全局地图进行压缩。最后,压缩后的语义地图被发布给最终用户。

最后一部分是终端用户定位。终端用户是生产型汽车,它们配备了低成本的传感器,如摄像头、低精度的GPS、IMU和轮速计。终端用户从云服务器下载语义地图后,对其进行解码。与车载地图部分相同,语义特征是通过分割从前视图像中提取的,通过语义特征匹配,根据地图对车辆进行定位。

On-Vehicle Mapping

Image Segmentation

在本文中,前视图像被分割成多个类别,如地面、车道线。拦车线、路标、路边、车辆、自行车和人。在这些类别中,地面、车道线、停车线和路标被用于语义建图,其他类别可用于其他自动驾驶任务。

Inverse perspective Transformation

与作者在AVP-SLAM中的做法一样,在分割之后,语义像素从图像平面逆向投影到车辆坐标下的地面平面。由于透视噪声的存在,场景越远,误差越大。我们只选择感兴趣区域中的像素。这个ROI表示车辆前方的12米×8米的矩形区域。假设地面是一个平面,每个像素[u, v]在车辆的坐标下被投射到地面上(z等于0),如下所示。

Pose Graph Optimization

位姿图的说明图如上图所示。蓝色节点是车辆在某一时刻的状态s,它包含位置p和方向q。操作R(q)将四元数转换成旋转矩阵。有两种边缘。蓝色边表示GNSS约束,它只存在于GNSS良好的时刻,它只影响一个节点。绿色边表示里程计约束,它在任何时候都存在。它制约着两个相邻节点。位姿图的优化可以被表述为以下公式:

其中,[·]xyz取四元数的前三个元素,大约等于流形上的误差扰动。

Local Mapping

位姿图优化提供了一个可靠的车辆在每个时刻的位姿。在第i帧中捕捉到的语义特征在这个优化位姿的基础上从车辆的坐标转换为全局坐标系。

从图像分割来看,每个点都包含一个类别标签(地面、车道线、路标和人行道)。每个点在世界框架中呈现一个小区域。当车辆行驶时,一个区域可以被多次观察。然而,由于分割噪声的存在,这个区域可能被分为 分为不同的类别。为了克服这个问题,我们使用统计学来过滤噪声。地图被划分为小网格,其分辨率为0.1×0.1×0.1米。每个网格的信息包含位置、语义标签和每个语义标签的计数。语义标签包括地面、车道线、停车线、地面标志和人行道。在开始时,每个标签的分数为零。当一个语义点被插入到一个网格中时,相应标签的分数就会增加1,因此,得分最高的语义标签就代表了该网格的类别。通过这种方法,语义图变得准确,并对分割噪声具有鲁棒性。

On-Cloud Mapping

Map Merging/Updating

一个云图服务器被用来汇总由多个车辆捕获的大量数据。它及时合并本地地图,使得全局语义地图是最新的。为了节省带宽,只有本地地图的占用网格被上传到云端。与车载地图绘制过程相同,云服务器上的语义地图也被划分为分辨率为0.1 × 0.1 × 0.1米的网格。本地地图的网格根据其位置被添加到全局地图中,具体来说,本地地图的网格中的分数被添加到全局地图的相应网格中,这个过程是并行操作的。最后,得分最高的标签就是该网格的标签。

Map Compression

在云服务器中生成的语义地图将被用于大量生产汽车的定位。然而,生产汽车上的传输带宽和车载存储是有限的。为此,语义地图在云端被进一步压缩。由于语义地图可以通过轮廓有效地呈现,我们使用轮廓提取来压缩地图。首先,我们生成语义地图的俯视图像。每个像素都呈现出一个网格。其次,提取每个语义组的轮廓。最后,等高线点被保存并分发到生产车中。

User-End Localization

Map Decompression

当终端用户收到压缩的地图时,语义地图是由等高线点解压而成。在俯视图像平面中,我们用相同的语义标签填充等高线内的点。然后,每个有标签的像素被从图像平面恢复到世界坐标系中。

ICP Localization

这个语义图被进一步用于定位。与建图程序类似,语义点是由前视图像分割生成的,并投影到车辆坐标系中。然后,通过将当前特征点与地图相匹配来估计车辆的当前位姿。估算采用了ICP方法,可以写成以下公式:

最后采用了一个EKF框架,它将里程计和视觉定位结果融合在一起。滤波器不仅提高了定位的鲁棒性,而且还平滑了估计的轨迹。

Experimental Results

Map Production

实验车辆配备了RTK-GPS、前视摄像头、IMU和轮速里程计的车辆被用于建图。多辆车同时在城市区域内运行,车上的地图通过网络上传到云服务器上。

Map Production

实验地区的道路网总长度为22公里。原始语义地图的整体大小为16.7 MB。压缩后的语义地图的大小为0.786 MB。压缩后的语义地图的平均大小为36KB/KM。下图显示了地图更新进展的一个详细例子。该地区的车道线被重新绘制。图(a)显示的是原始车道线。图(b)显示了重新绘制后的车道线。重新绘制的区域在红圈中被突出显示。图(c)为原始语义图。图(d)显示了正在更新的语义地图。新的车道线逐渐取代了旧的车道线。随着越来越多的最新数据的合并,语义图被完全更新。

Localization Accuracy

对于自主驾驶任务,我们重点关注X、Y方向和偏航(航向)角度的定位精度。与激光雷达比较的详细结果如下。可以看出,所提出的基于视觉的定位比基于激光雷达的解决方案更好。

Conclusion & Future work

在本文中,我们提出了一个新颖的语义定位系统,它充分利用了传感器丰富的车辆(如机器人出租车),使低成本的生产汽车受益。整个框架由车上建图、云上更新和用户端定位程序组成。我们强调,这是一个可靠而实用的自主驾驶定位解决方案。

建议的系统利用了路面上的标记。事实上,三维空间中更多的交通元素可用于定位,如交通灯、交通标志和电线杆。在未来,我们将把更多的三维语义特征扩展到地图中。

欢迎加入【3D视觉工坊】交流群,方向涉及3D视觉、计算机视觉、深度学习、vSLAM、激光SLAM、立体视觉、自动驾驶、点云处理、三维重建、多视图几何、结构光、多传感器融合、VR/AR、学术交流、求职交流等。工坊致力于干货输出,为3D领域贡献自己的力量!欢迎大家一起交流成长~

添加小助手微信:CV_LAB,备注学校/公司+姓名+研究方向即可加入工坊一起学习进步。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK