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

本文介绍了华为秦通提出的轻量化自动驾驶定位框架。该框架包括车端建图、云端地图融合与压缩以及用户端定位。车端通过语义分割、逆投影变换和位姿图优化构建语义地图;云端则进行地图融合更新与压缩存储;用户端通过地图解压和ICP定位实现精确导航。实验结果显示,该方法有效且地图压缩后仍能保持高精度。

华为 秦通

本文贡献:

  1. 提出了一种用于自动驾驶的轻量化定位框架,包括车端建图,云端维护、融合、压缩,以及用户端定位。
  2. 使用传感器丰富的地图采集车或者robotaxi来收集更新地图,使用户车收益
  3. 实车验证所提出方案的有效性

一、车端建图

语义分割

使用语义分割网络获得当前图像中的语义分割结果,然后根据优化的相机位姿将其投影到世界坐标系中。
本文从使用的是基于CNN的语义分割网络(应该是区别于transformer),类似于以下几个网络:
在这里插入图片描述
分割类别:ground, lane line, stop line, road marker, curb(路牙), vehicle, bike, and human,
其中 ground, lane line, stop line, and road marker are used for semantic mapping.其他类别被用于其他自动驾驶任务
在这里插入图片描述

反向投影变换 Inverse Perspective Mapping (IPM)

根据图像的消影点实现逆投影变换,但是由于感知噪声,场景距离越远,误差越大,所以本文只考虑ROI之内的像素进行变换(上图红框之内)。投影变换公式:
1λ[xvyv1]=[Rctc]col:1,2,4−1πc−1([uv1]) \frac{1}{\lambda}\left[\begin{array}{c} x^{v} \\ y^{v} \\ 1 \end{array}\right]=\left[\begin{array}{ll} \mathbf{R}_{c} \mathbf{t}_{c} \end{array}\right]_{c o l: 1,2,4}^{-1} \pi_{c}^{-1}\left(\left[\begin{array}{l} u \\ v \\ 1 \end{array}\right]\right) λ1xvyv1=[Rctc]col:1,2,41πc1uv1
其中函数π−1\pi^{-1}π1是主要的逆投影变换,Rc, Tc是相机到车辆坐标系中心的外参

在这里插入图片描述

位姿图优化

采用GNSS + 局部里程计的方法优化位姿。
在这里插入图片描述
在GNSS信号好的地方最小化与GNSS信号的距离,在GNSS信号不好的地方最小化与里程计的距离:
min⁡s0…sn{ ∑i∈[1,n]∥ro(si−1,si,m^i−1,io)∥σ2+∑i∈G∥rg(si,m^ig)∥σ2}, \min _{\mathbf{s}_{0} \ldots \mathbf{s}_{n}}\left\{\sum_{i \in[1, n]}\left\|\mathbf{r}_{o}\left(\mathbf{s}_{i-1}, \mathbf{s}_{i}, \hat{\mathbf{m}}_{i-1, i}^{o}\right)\right\|_{\sigma}^{2}+\sum_{i \in \mathcal{G}}\left\|\mathbf{r}_{g}\left(\mathbf{s}_{\mathbf{i}}, \hat{\mathbf{m}}_{i}^{g}\right)\right\|_{\boldsymbol{\sigma}}^{2}\right\}, s

由于没有提供具体的引用内容,不过一般来说,搭建关于 “Deep Semantic Segmentation for Automated Driving - Taxonomy, Roadmap and Challenges” 相关研究的环境,通常可以按以下通用步骤进行: ### 硬件准备 - 计算机:需要一台性能较好的计算机,建议使用具有NVIDIA GPU的机器,以加速深度学习模型的训练和推理。例如NVIDIA的RTX 30系列、Tesla系列等。 - 内存:建议至少16GB以上的内存,以确保可以同时运行多个程序和处理大量数据。 - 存储:准备足够的存储空间来存放数据集、模型文件等。建议至少有500GB以上的可用空间。 ### 软件准备 #### 操作系统 - 推荐使用Linux系统,如Ubuntu 18.04或20.04,因为许多深度学习框架和工具在Linux上有更好的兼容性和性能。 #### 安装CUDA和cuDNN - CUDA是NVIDIA提供的用于GPU计算的并行计算平台和编程模型,cuDNN是NVIDIA深度神经网络库,用于加速深度学习任务。 - 可以从NVIDIA官方网站下载适合自己GPU和操作系统的CUDA和cuDNN版本,并按照官方文档进行安装。 #### 安装深度学习框架 - **PyTorch**:是一个广泛使用的深度学习框架,具有动态图和丰富的工具库。可以使用以下命令安装: ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 ``` 这里的`cu113`表示使用CUDA 11.3版本,根据自己安装的CUDA版本进行调整。 - **TensorFlow**:另一个流行的深度学习框架,也支持语义分割任务。可以使用以下命令安装: ```bash pip install tensorflow-gpu ``` #### 安装依赖库 - 安装常见的Python库,如NumPy、Pandas、Matplotlib等,用于数据处理和可视化。 ```bash pip install numpy pandas matplotlib ``` #### 数据集准备 - 找到与自动驾驶语义分割相关的数据集,如Cityscapes、KITTI等。 - 将数据集下载并解压到指定的目录,并根据代码要求进行数据预处理,如调整图像大小、标注转换等。 #### 代码获取和配置 - 找到与 “Deep Semantic Segmentation for Automated Driving - Taxonomy, Roadmap and Challenges” 相关的代码仓库,通常可以在GitHub上找到。 - 克隆代码仓库到本地: ```bash git clone <repository_url> ``` - 进入代码目录,根据README文件进行配置,如修改数据集路径、模型参数等。 #### 运行代码 - 在配置好环境和数据集后,可以运行代码进行模型训练和测试。例如,使用以下命令运行训练脚本: ```bash python train.py ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值