【论文阅读】RoadMap: A Light-Weight Semantic Map for Visual Localization towards Autonomous Driving

文章:RoadMap: A Light-Weight Semantic Map for Visual Localization towards Autonomous Driving
作者:Tong Qin, Yuxin Zheng, Tongqing Chen, Yilun Chen, and Qing Su

前言:笔者在探索城市众包地图方案时,阅读到秦通博士的一篇论文RoadMap: A Light-Weight Semantic Map for Visual Localization towards Autonomous Driving,认为整体思路清晰且技术方案高效合理,便对此做一篇【论文阅读】,以丰富自己弹药库。本文仅做学术分享,如有侵权,请联系删除。

RoadMap:一种用于自动驾驶的视觉定位的轻量化语义地图

在这里插入图片描述

摘要

准确的定位对于自动驾驶而言是十分重要的。现今,可以在道路上看到很多传感器丰富的自动驾驶车辆(如Robo-taxi),它们装备着高精度的传感器(如激光雷达和RTK)以及高精度地图。然而,低成本的车辆是无法承担这些高昂的传感器和高精度地图。那么,如何降低传感器成本呢?传感器丰富的车辆如何对低成本车辆产生帮助呢?在这篇论文中,提出了一种依靠低成本相机与压缩的视觉语义地图的轻量化定位方案。这种地图可以由传感器丰富的车辆通过众包的方式进行生产和更新。特别的是,这种地图包含了集中语义要素,例如车道线,人行道,地面标识和停止线。本文介绍了一个车端建图-云端维护-用户端定位的整体架构。地图数据在车端进行采集和预处理。然后,众包数据上传至云端。大量的车端数据在云端进行融合以实现语义地图的及时更新。最后,语义地图压缩后将下发给车端用于做地图匹配定位。在真实世界的实验中验证了所提出的地图的性能,并将其与其他算法进行了比较。语义地图的平均大小为36kb/km。该框架是一个可靠和实用的自动驾驶定位解决方案。

一、引言

    近年来对自动驾驶的需求不断增加。为了实现自动驾驶,各种各样的传感器被装备上车,例如GPS,IMU,相机,激光雷达,毫米波雷达,轮速计等等。定位在自动驾驶系统中是一个很基础且重要的模块。高精度定位依靠高精度的传感器和高精度地图。如今,RTK-GPS和激光雷达是两个常见的用于厘米级定位的传感器。RTK-GPS通过接收卫星和地面基站的信号能够在空旷场地提供精确的全球定位。激光雷达可以获取周围的点云数据。通过点云匹配,车辆即可完成在HDmap(基于GPS环境的)的高精度定位功能。这些方法已经在很多城市的robo-taxi上应用。
    基于激光雷达和高精度地图的方案对robot-taxi是一种理想的选择。然后,存在一些缺点使这种方案无法在量产车上大范围使用。首先,量产车无法承担高昂的激光雷达和高精度地图的成本。其次,点云地图将消耗大量内存,这对于量产而言也是无法负担的。高精度地图的生产会消耗大量的人力。这无法保证数据的及时更新。为了克服这些挑战,依赖低成本传感器和压缩地图数据的方案被探索。
    这篇论文中,提出了一个依赖相机和压缩的视觉语义地图的轻量化的定位方案。这种地图包含了道路上的一些语义元素,例如车道线,人行道,地面标识和停止线。这种地图通过传感器丰富的车辆(如robot-taxi)以众包的方式可以生产和压缩。之后装备相机的低成本车辆可以使用这种语义地图进行定位。具体来说,使用基于学习的语义分割来提取有用的地标。接下来,将语义地标从二维恢复到三维,并注册到一个局部地图中。本地地图将被上传到云服务器上。云服务器合并由不同车辆捕获的数据,并压缩全局语义地图。最后,将压缩的地图分配到生产车上进行定位。所提出的语义地图和定位方法适用于大规模的自动驾驶应用。这篇论文的贡献可以总结成以下几点:

  • 提出了一种新的自动驾驶任务中的轻量级定位框架,其中包括车端建图、云端地图维护和用户车端定位。
  • 提出了一个新的想法,即使用传感器丰富的车辆(例如robot-taxi)来帮助低成本量产车辆,传感器丰富的车辆每天自动收集数据并自动更新地图。
  • 进行了实际实验,验证了该系统的实用性。

二、文献评论

    近十年,视觉建图定位越来越重要。传统的视觉方案SLAM聚焦解决小范围的室内环境。在自动驾驶中,更关注要解决的是大范围的室外环境

A、传统视觉SLAM

    视觉里程计(VO)在视觉SLAM领域中是一种用于机器人应用的经典问题。主流方案有纯相机和相机-惯导两种方案。这些方案提取了自然环境中的地理要素,例如稀疏点,线,和稠密平面信息。相机位姿和特征点位置都是同时进行估计。特征可以通过描述符来进一步描述区分。
    通过添加一个先验地图来扩大视觉测距,这可以解决具有固定坐标系的定位问题。有些方案时提前构建一个视觉地图,然后根据地图进行相机重定位。

B、基于道路标识的定位

    基于道路标识的定位方法在自动驾驶场景中充分利用了道路特征。道路特征包含路面上的各种标记,如车道线、路沿石和地面标志。道路功能还包含3D元素,如交通灯和交通标志。与传统特征相比,这些标记在道路上丰富且稳定,抗时间和光照变化能力较强。通常情况下,提前拥有一个高精度地图是非常必要的。这个地图通常是由高精度传感器生产的(例如激光雷达,RTK GNSS等)。车辆可以通过与这个地图进行视觉匹配定位来实现定位

三、系统概要

在这里插入图片描述

    提出的系统包括三个部分。第一部分是车端建图。使用的车辆是装备了一个前视相机,RTK-GPS,和IMU与轮速计。这些车辆被广泛应用于Robot-taxi,每天收集大量的实时数据。利用语义分割网络从前视图像中提取语义特征。然后根据优化后的车辆姿态,将语义特征投影到世界坐标系下。在车辆上构建了一个局部语义地图。此局部地图将被上传到云地图服务器上。
    第二部分是云端建图。云服务器从多辆车辆上收集局部地图并合并成一个全局地图。然后用轮廓提取的方法对全局地图进行压缩。最后,将压缩后的语义地图发布给最终车辆用户。
    最后一部分是终端车辆用户的定位。终端用户是配备了低成本的传感器(如相机、低精度的GPS、IMU和轮速计)的量产车辆。终端车辆在从云服务器下载语义地图后,将对其进行解码。与车端建图部分相同,通过语义分割的方法从前视图像中提取语义特征。通过语义特征匹配,使车辆对地图进行定位。

四、车端建图

A、图像分割

    使用基于CNN的方法进行场景分割。在论文中,前视图像被分割成多种类别,例如地面,车道线,停止线,路面标识,路沿,车辆,自行车和行人。在这些分类中,地面,车道线,停止线和路面标识被用作语义建图。其他分类用于自动驾驶的其他部分。
在这里插入图片描述

B、逆透视变换

    语义分割后的语义像素从图像坐标系反投射到自车坐标系下的地面平面。这个过程叫做逆透视变换(Inverse Perspective Mapping, IPM)。离线标定了相机内外参。由于存在透视噪声,检测的场景距离越远,其误差越大。因此只选择距离相机中心较近的像素为感兴趣区域(Region Of Interst,ROI)。这个ROI是一个车辆前方一个 12 m × 8 m 12m\times{8m } 12m×8m的矩形。假设地面是一个平面,每一个像素 [ u , v ] [u,v] [u,v]投影到车辆坐标系地面上( z = 0 z=0 z=0)的点为
在这里插入图片描述
其中, π c ( ⋅ ) \pi_c(\cdot) πc()是相机的畸变和投影模型。 π c ( ⋅ ) − 1 \pi_c(\cdot)^{-1} πc()1是将像素转换为空间点的反投影。 [ R c   t c ] [R_c\space{t_c}] [Rc tc]是每个相机的外参。 [ u   v ] [u\space{v}] [u v]是在图像坐标系下的像素位置。 [ x v   y v ] [x^v\space{y^v}] [xv yv]是车辆坐标下的特征点坐标。 λ \lambda λ是一个标量。 ( ) c o l : i ()_{col:i} ()col:i一个矩阵的第 i i i列。

C、位姿图优化

    要构建一个地图,车辆的精确位姿是十分必要的。即使有RTK-GNSS,也无法保证一直有一个可靠的定位值。毕竟它只能在空旷的场景下提供厘米级定位。在城区里,经常会被高楼干扰到信号,从而精度降低。在GNSS被遮挡的情况下,可以使用IMU与轮速计提供航位推算。然而,航位推算在长时间运行下会存在累计误差。下图就可以说明这样的问题。
在这里插入图片描述
蓝色线是在GNSS信号好的区域。绿色线是在信号被遮挡的区域,这已经漂移了很多。为了消除这个的漂移,可以进行位姿图优化。红色线就是优化后的轨迹。
    下图说明了位姿图优化。
在这里插入图片描述
蓝色点是车辆在某一时刻的状态, p p p代表位置, q q q用四元数表示姿态。函数 R ( q ) R(q) R(q)是指将四元数 q q q变换为转换矩阵。这里有两个边。蓝色边表示GNSS约束,只有在GNSS好的时候存在。它只影响一个位姿节点绿色边表示里程计约束,它一直存在并约束着两个相邻节点。这样位姿图优化可以用公式表示:
在这里插入图片描述
其中, s s s是位姿状态(位置和姿态)。 r o r_o ro是里程计因子残差, m ^ i − 1 , i o \hat{m}_{i-1,i}^{o} m^i1,io是里程计的测量值,包含两个相邻状态的位置变化值 δ p ^ i − 1 , i \delta{\hat{p}_{i-1,i}} δp^i1,i和姿态变化值 δ q ^ i − 1 , i \delta{\hat{q}_{i-1,i}} δq^i1,i r g r_g rg是GNSS因子的残差。 G G G表示一组GNSS信号好时的状态。 m ^ i g \hat{m}_i^g m^ig是GNSS测量值,它是位姿 p ^ i \hat{p}_i p^i在世界坐标系的值。两个残差表示为
在这里插入图片描述
其中, [ ⋅ ] x y z [\cdot]_{xyz} []xyz取四元数的前三个值。

D、局部建图

    位姿图优化提供了一个在任意时刻都可靠准确的车辆位姿。在第 i i i帧中的语义特征从优化后的位姿的自车坐标系转换到世界坐标系下:
在这里插入图片描述
从图像分割中,每个点都有一个类别标签(地面,车道线,路面标识,和人行道)。每个点在世界坐标系下表示一个小区域。当车辆移动时,一个区域会被多次观测到。然而,因为分割时的误差,同一个区域会被分类成不同的对象。为了解决这样的问题,应用统计学去过滤噪声。地图被划分为一个分辨率 0.1 × 0.1 × 0.1 m 0.1\times{0.1}\times{0.1m} 0.1×0.1×0.1m的栅格地图。每一个栅格信息包含了位置,语义标签和每个语义标签的次数。一开始,每个标签的分数是零。当一个语义点落入栅格上时,这个标签的分数加一。因此,最后分数最高的语义标签表示这个栅格的类别。通过这样的方法,语义地图将可以更准确以及更鲁棒。下图表示一个世界坐标系的地图
在这里插入图片描述

五、云端建图

A、地图合并与更新

    云端建图服务器用于聚合多辆车辆采集的大量数据。它可以及时地合并局部地图,从而使全局语义地图是最新的。为了节省带宽,只将局部地图的占据网格上传到云。与车端建图过程相同,云服务器上的语义地图也被划分为分辨率为 0.1 × 0.1 × 0.1 m 0.1\times{0.1}\times{0.1m} 0.1×0.1×0.1m的网格。根据局部地图的位置,将其网格添加到全局地图中。具体来说,将局部地图网格中的分数添加到全局地图上的相应网格中。这个过程是并行操作的。最后,得分最高的标签是网格的标签。下图表达了数据更新的详细过程
在这里插入图片描述

B、地图压缩

    在云服务器中生成的语义地图将用于大量量产车辆的定位。然而,量产车辆的传输带宽和车端存储空间都比较有限。为此,在云上进一步压缩语义地图。由于语义地图可以有效地由轮廓表示,因此我们使用轮廓提取来压缩地图。**首先,我们生成语义图像的俯视图图像。每个像素都显示一个网格。其次,提取每个语义组的轮廓。最后,将轮廓点保存并分配到量产车辆上。**下图表示的是语义地图的轮廓信息
在这里插入图片描述

六、用户车端定位

    用户车端是指装备低成本传感器(例如相机,低精度GPS,IMU和轮速计)的量产车辆。

A、地图解压

    当最终用户接收到压缩后的地图时,语义地图将从轮廓点进行解压缩。在俯视图的图像平面中,我们用相同的语义标签填充轮廓内的点。然后将每个标记的像素从图像平面恢复到世界坐标系下。下图表示的是将压缩的语义地图解压
在这里插入图片描述

B、ICP定位

    解压后的语义地图将进一步用于定位。与建图过程类似,实时感知到的语义点也是从前视图像语义分割而来,并投影到车辆坐标系下。然后通过感知到的点与地图匹配定位确定车辆位姿,如下图
在这里插入图片描述
运动估计通过ICP完成。最后利用EKF完成里程计信息与视觉匹配定位结果的融合。这样不仅增强定位鲁棒性,也保证轨迹平滑。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值