我自己的原文哦~ https://blog.51cto.com/whaosoft/12660960
#Street Gaussians
不得不说,技术更新太快了,Nerf在学术界慢慢被替换下去了。Gaussians登场了,浙江大学的工作,超逼真!实时高质量渲染,用于动态城市场景建模
- 在自动驾驶领域,动态街景重建有着重要的应用场景,比如数据生成、自动标注、闭环仿真等。由于对重建质量和效率有较高的要求,这方面的技术仍旧临着巨大的挑战。
- 对于单目视频建模动态城市街景的问题,近期方法主要是基于NeRF并结合跟踪车辆的姿态,从而重建出高真实感的视图。然而训练和渲染速度慢、对跟踪车辆姿态精度需求高,使其在很难真正被应用起来。
- Street Gaussians,这是一种新的显式场景表示方法,可以解决所有这些限制。
论文:Street Gaussians for Modeling Dynamic Urban Scenes
链接:https://arxiv.org/pdf/2401.01339.pdf
本文旨在解决从单目视频中建模动态城市街道场景的问题。最近的方法扩展了NeRF,将跟踪车辆姿态纳入animate vehicles,实现了动态城市街道场景的照片逼真视图合成。然而,它们的显著局限性在于训练和渲染速度慢,再加上跟踪车辆姿态对高精度的迫切需求。这篇论文介绍了Street Gaussians,一种新的明确的场景表示,它解决了所有这些限制。具体地说,动态城市街道被表示为一组点云,这些点云配备有语义logits和3D Gaussians,每一个都与前景车辆或背景相关联。
为了对前景对象车辆的动力学进行建模,使用可优化的跟踪姿态以及动态外观的动态球面谐波模型对每个对象点云进行优化。显式表示允许简单地合成目标车辆和背景,这反过来又允许在半小时的训练内以133 FPS(1066×1600分辨率)进行场景编辑操作和渲染。所提出的方法在多个具有挑战性的基准上进行了评估,包括KITTI和Waymo Open数据集。
实验表明,所提出的方法在所有数据集上始终优于现有技术的方法。此外,尽管仅依赖于现成跟踪器的pose,但所提出的表示提供的性能与使用GT pose所实现的性能不相上下。
代码:https://zju3dv.github.io/streetgaussians/
Street Gaussians方法介绍
- 在Street Gaussians中,动态城市街道被表示为一组3D高斯的点云,每个点云与前景车辆或背景之一相关联。为了模拟动态前景物体车辆,每个物体模型都用可优化的跟踪姿态进行建模,并配有动态球谐函数模型来表现动态外观。
- 这种显式表示可以轻松地组合物体车辆和背景,进而允许进行场景编辑操作。同时拥有极高的效率,可以在半小时完成训练,渲染速度达到133FPS(1066x1600分辨率)。
- 实验表明,Street Gaussians在所有数据集上优于现阶段SOTA方法。此外,提出了前景目标位姿优化策略(初始位姿来自跟踪器),与使用真值姿态所达到性能相当,也验证了Street Gaussians的高鲁棒性。
场景
- 静态场景建模
○基于场景表达的不同,我们可以将场景重建分为volume-based和point-based。volume-based的方法,用MLP网络表示连续的体积场景,已经取得了令人印象深刻的渲染结果。同时比如Mip-NeRF360、DNMP等也将其应用场景扩展到了城市街景 。point-based的方法,在点云上定义学习神经描述符,并使用神经渲染器执行可微分的光栅化,大大可以提高了渲染效率。然而,它们需要密集的点云作为输入,并在点云稀疏区域的结果相对模糊。最近的一项工作3D Gaussian Splatting (3D GS),在3D世界中定义了一组各向异性的高斯核,并执行自适应密度控制,以仅使用稀疏的点云输入实现高质量的渲染结果。我们可以把3DGS理解成介于volume-based和point-based的中间态,所有同时拥有volume-based方法的高质量,也拥有point-based方法的高效率。然而,3DGS假定场景是静态的,不能模拟动态移动的对象。 - 动态场景建模。
○可以从不同的角度来实现动态场景建模,从目标角度,可以在单个对象场景上构建4D神经场景表示(比如HyperReel ),从场景角度,可以通过在光流(如Suds)或视觉变换器特征(Emernerf )监督下的实现场景解耦。然而,这些方法均无法对场景进行进行编辑,限制了其在自动驾驶仿真中的应用。还有一种方式,使用神经场将场景建模为移动对象模型和背景模型的组合(比如NSG、Panoptic Neural Fields),然而,它们需要精确的对象轨迹,并且在内存成本和渲染速度上存在问题。
给定从城市街道场景中的移动车辆捕获的一系列图像,本文的目标是开发一个能够为任何给定的输入时间步长和任何视点生成真实感图像的模型。为了实现这一目标,提出了一种新的场景表示,命名为Street Gaussians,专门用于表示动态街道场景。如图2所示,将动态城市街道场景表示为一组点云,每个点云对应于静态背景或移动车辆。显式基于点的表示允许简单地合成单独的模型,从而实现实时渲染以及编辑应用程序的前景对象分解。仅使用RGB图像以及现成跟踪器的跟踪车辆姿态,就可以有效地训练所提出的场景表示,通过我们的tracked车辆姿态优化策略进行了增强。
Street Gaussians概览如下所示,动态城市街道场景表示为一组具有可优化tracked车辆姿态的基于点的背景和前景目标。每个点都分配有3D高斯,包括位置、不透明度和由旋转和比例组成的协方差,以表示几何体。为了表示apperence,为每个背景点分配一个球面谐波模型,而前景点与一个动态球面谐波模型相关联。显式的基于点的表示允许简单地组合单独的模型,这使得能够实时渲染高质量的图像和语义图(如果在训练期间提供2D语义信息,则是可选的),以及分解前景目标以编辑应用程序
算法建模
- 考虑到自动驾驶场景中都是通过车载相机得到图像序列,我们希望构建一个模型,可以生成任意时间和视角的高质量图像。为实现这一目标,我们提出了一种新颖的场景表示,命名为"Street Gaussians"。如图所示,我们将动态城市街景表示为一组点云,每个点云对应于静态背景或移动车辆。这种基于点的表示可以轻松组合多个独立的模型,实现实时渲染以及解耦前景对象以实现场景编辑。我们提出的场景表示可以仅使用RGB图像进行训练,同时结合车辆位姿优化策略,进一步增强动态前景的表示精度。
静态背景建模
- 针对静态背景,使用基本的3DGS方式建模,即我们世界坐标系中一组点来表示背景模型,每个点分配有一个3D高斯分布,以平滑地表示连续的场景几何和颜色。高斯参数包括协方差矩阵和位置向量(表示均值)。与3DGS一样,为了避免在优化过程中出现无效的协方差矩阵,每个协方差矩阵进一步缩减为缩放矩阵和旋转矩阵,其中缩放矩阵由其对角元素表征,而旋转矩阵被转换为单位四元数。除了位置和协方差矩阵之外,每个高斯分布还分配有一个不透明度值和一组球谐系数来表示场景几何和外观。为了获得视图相关的颜色,球谐系数还会乘以从视图方向投影的球谐基函数。为了表示3D语义信息,每个点还附加有一个语义特征。
动态前景建模
- 针对包含多辆移动前景物体车辆的场景,我们将每个对象用一组可优化的姿势(初始位姿可以来自某个跟踪器,比如CasTracker)和一组点云表示,其中每个点分配有一个3D高斯分布、语义和动态外观模型。前景对象和背景的高斯属性相似,不透明度和尺度矩阵的定义相同,然而它们的位置、旋转和外观模型均不同。
- 每一个前景对象的3DGS模型,定义在该对象的local坐标系下。我们通过前景对象的RT矩阵,可以将前景对象和背景的模型统一到世界坐标系下。
- 仅使用球谐系数简单表示物体外观不足以模拟移动车辆的外观,如图所示,因为移动车辆的外观受到其在全局场景中位置的影响。如果使用单独的球谐来表示每个时间的对象,会显著增加存储成本,我们的解决方案是引入了4D球谐模型,通过用一组傅里叶变换系数来表示球谐系数,当给定任意时间t,可以通过逆傅立叶变换来求出对应的球谐系数。基于这种方式,我们将时间信息编码到外观中,而且不增加额外存储成本。
渲染过程
- 要渲染Street Gaussians,我们就需要聚合每个模型对最终结果的贡献。以前的方法中,由于神经场表示方式,需要复杂的raymarching 方式进行组合渲染。相反,Street Gaussians可以通过将所有点云拼接起来,并将它们投影到2D图像空间来进行渲染。具体来说,在给定渲染时间点的情况下,我们首先计算球谐系数,并根据跟踪的车辆姿态将前景对象点云转换到世界坐标系,然后将背景点云和变换后的前景对象点云拼接起来形成一个新的全场景点云。
效果评估
- 在Waymo和KITTI数据集上都进行了实验来评估我们的方法合成新视角的能力,不论定性和定量结果表明,相比之前的工作,我们的方法可以渲染出渲染高质量图片,并在各项指标上均有有显著提升。
○下图是从定性角度,分别在waymo和kitti数据集上对比目前已有方法,无论背景还是前景目标,我们的方法在细节的渲染上均有大幅提高。
下游任务
- Street Gaussians可以被应用到很多下游任务当中,包括场景的前背景解耦、场景的可控编辑、语义分割等。丰富且高质量的下游任务适配,大大提高了Street Gaussians的应用上限。
○我们的模型可以实现场景前背景解耦,细节上相比之前的方法有明显提升。
实验结果对比
我们在Waymo开放数据集和KITTI基准上进行了实验。在Waymo开放数据集上,选择了6个记录序列,其中包含大量移动物体、显著的ego运动和复杂的照明条件。所有序列的长度约为100帧,选择序列中的每10张图像作为测试帧,并使用剩余的图像进行训练。当发现我们的基线方法在使用高分辨率图像进行训练时存在较高的内存成本时,将输入图像缩小到1066×1600。在KITTI和Vitural KITTI 2上,遵循MARS的设置,并使用不同的训练/测试分割设置来评估。在Waymo数据集上使用检测器和跟踪器生成的边界框,并使用KITTI官方提供的目标轨迹。
将本文的方法与最近的三种方法进行比较。
(1) NSG将背景表示为多平面图像,并使用每个目标学习的潜在代码和共享解码器来对运动目标进行建模。
(2) MARS基于Nerfstudio构建场景图。
(3) 3D高斯使用一组各向异性高斯对场景进行建模。
NSG和MARS都是使用GT框进行训练和评估的,这里尝试了它们实现的不同版本,并报告了每个序列的最佳结果。我们还将3D高斯图中的SfM点云替换为与我们的方法相同的输入,以进行公平比较。详见补充资料。
#nuScenes
端到端的自动驾驶会取代Apollo、autoware这类框架吗?
论文 : Rethinking the Open-Loop Evaluation of End-to-End Autonomous Driving in nuScenes
- 作者:百度: 共一 Jiang-Tian Zhai, Ze Feng,百度王井东组
- 发表:arXiv
- 论文链接:https://arxiv.org/abs/2305.10430
- 代码链接:https://github.com/E2E-AD/AD-MLP
1. 摘要
现有的自动驾驶系统通常被分为三个主任务:感知、预测和规划;规划任务涉及到基于内部意图和外部环境来预测自车的运动轨迹,并操纵车辆。大部分现有方案在 nuScenes 数据集上评估他们的方法,评价指标为 L2 error 和碰撞率(collision rate)
本文重新对现有的评价指标做了评估,探索他们是否能够准确地度量不同方法的优越性。本文还设计了一个 MLP-based 方法,将原始 sensor 数据(历史轨迹、速度等)作为输入,直接输出自车的未来轨迹,不使用任何感知和预测信息,例如 camera 图像或者 LiDAR。令人惊讶的是:这样一个简单的方法在 nuScenes 数据集上达到了 SOTA 的 planning 性能,减少了 30% 的 L2 error。我们进一步深入分析,对于 nuScenes 数据集上的规划任务很重要的因子提供了一些新的见解。我们的观察还表明,我们需要重新思考 nuScenes 中端到端自动驾驶的开环评测方案。
2. 论文的目的、贡献及结论
本文希望对 nuScenes 上端到端自动驾驶的开环评测方案做评估;不使用视觉和 Lidar 的情况下,只使用自车状态和高级命令(一共 21 维的向量)作为输入就可以在 nuScenes 上达到 Planning 的 SOTA。作者由此指出了 nuScenes 上开环评测的不可靠性,给出了两个分析:nuScenes 数据集上自车轨迹倾向于直行或者曲率非常小的曲线;碰撞率的检测和网格密度相关,并且数据集的碰撞标注也有噪声,当前评估碰撞率的方法不够鲁棒和准确;
3. 论文的方法
3.1 简介及相关工作简述
现存的自动驾驶模型涉及到多个独立任务,例如感知、预测和规划。这种设计简化了跨团队写作的难度,但也会由于各个任务的优化和训练的独立性,导致整个系统的信息丢失和误差累积。端到端的方法被提出,这类方法从自车和周围环境的时空特征学习中受益。
相关工作:ST-P3[1] 提出一种可解释的基于视觉的端到端系统,将感知、预测和规划的特征学习进行统一。UniAD[2] 对 Planning 任务进行系统化设计,采用基于 query 的设计连接中间多个任务,可以对多个任务的关系进行建模和编码;VAD[3] 以完全向量化的方式对场景进行建模,不需要稠密的特征表示,在计算上更为高效。
本文希望探索现有的评估指标是否能准确地度量不同方法的优劣。本文仅使用了自车在行驶中的的物理状态(现有方法所使用信息的子集)来开展实验,而不是使用相机和激光雷达提供的感知和预测信息。总之,本文的模型没有用视觉或者点云特征的编码器,直接将自车的物理信息编码为一维向量,在 concat 之后送到 MLP 中。训练使用 GT 轨迹进行监督,模型直接预测自车未来一定时间内的轨迹点。follow 之前的工作,在 nuScenes 数据集上使用 L2 Error 和碰撞率(collision rate.)进行评估
虽然模型设计简单,但获得了最好的 Planning 结果,本文将此归因于当前评估指标的不足。事实上,通过使用过去的自车轨迹、速度、加速度和时间连续性,就可以在一定程度上反映出自车在未来的运动
3.2 模型结构
模型结构总览
模型输入包括两部分:自车状态以及代表未来短期运动趋势的高级命令。
高级命令:由于我们的模型不使用高精地图,所以需要高级命令进行导航。按照常见的作法,定义了三种类型的命令:左转、直行和右转。具体来讲,当自车在未来 3s 中将向左或向右位移大于 2m 时,将相应的命令设置为左转或者右转,否则则是直行。使用维度为 1x3 的 one-hot 编码来表示高级命令
损失函数
损失函数:使用 L1 损失函数进行惩罚
4. 论文的实验
4.1 实验设置
数据集:在 nuScenes 数据集上做实验,nuScenes 数据集包括 1K 场景和大约 40K 关键帧,主要收集在波士顿和新加坡,使用配备 LiDAR 和周视摄像头的车辆。为每一帧收集的数据包括多视角 Camear 图像、LiDAR、速度、加速度等。
评测指标:使用 ST-P3 论文的评测代码(https://github.com/OpenPerceptionX/ST-P3/blob/main/stp3/metrics.py)。评估1s、2s和3s时间范围的输出轨迹。为了评估预测的自车轨迹的质量,计算了两个常用的指标:
L2 Error :以米为单位,分别在下一个 1s、2s 和 3s 时间范围内自车的预测轨迹和真实轨迹之间计算平均 L2 误差;
碰撞率(collision rate):以百分比为单位。为了确定自车与其他物体碰撞的频率,通过在预测轨迹上的每个航路点放置一个表示自车的 box ,然后检测与当前场景中车辆和行人的边界框的是否发生了碰撞,以计算碰撞率。
超参数设置及硬件:PaddlePaddle 和 PyTorch 框架,AdamW 优化器(4e-6 lr 及 1e-2 weight decay),cosine scheduler,训了 6 个 epoch,batch size 为 4,用了一张 V100
4.2 实验结果
表1 和现有的基于感知的方法进行比较
在表 1 中进行了一些消融实验。以分析速度、加速度、轨迹和 High-level Command 对本文模型性能的影响。令人惊讶的是,仅使用轨迹作为输入,没有感知信息,本文的 Baseline 模型已经实现了比所有现有方法更低的平均 L2 误差。
当我们逐渐向输入添加加速度、速度和 High-level Command 时,平均 L2 误差和碰撞率从 0.35m 降低到 0.23m,将 0.33% 降低到 0.12%。同时将 Ego State 和 High-level Command 作为输入的模型实现了最低的 L2 误差和碰撞率,超过了所有先前最先进的基于感知的方法,如最后一行所示。
4.3 实验分析
文章从两个角度分析了自我车辆状态在nuScenes训练集上的分布:未来3s的轨迹点;航向角(heading / yaw角)和曲率角(curvature angles)
nuScenes 训练集的分布分析。
在图 2 (a) 中绘制了训练集中的所有未来 3s 轨迹点。从图中可以看出,轨迹主要集中在中间部分(直),轨迹主要是直线,或曲率非常小的曲线。
航向角表示相对于当前时间的未来行驶方向,而曲率角反映了车辆的转弯速度。如图 2 (b) 和 (c) 所示,近 70% 的航向角和曲率角分别位于 -0.2 到 0.2 和 -0.02 到 0.02 弧度的范围内。这一发现与从轨迹点分布中得出的结论是一致的。
基于上述对轨迹点、航向角和曲率角分布的分析,本文认为在 nuScenes 训练集中,自车倾向于沿直线前进,在短时间范围内行驶时以小角度前进。
Occupancy map 的不同网格大小引起 GT 轨迹会发生碰撞
在计算碰撞率时,现有方法的常见做法是将车辆和行人等对象投影到鸟瞰图 (BEV) 空间中,然后将它们转换为图中的占用区域。而这就是精度损失之处,我们发现一小部分 GT 轨迹样本(约2%)也与占用网格中的障碍物重叠,但自车在收集数据时实际上不会与其他任何对象发生碰撞,这导致碰撞被错误检测。当 ego 车辆接近某些对象时会导致错误的碰撞,例如小于单个 Occupancy map 像素的尺寸。
图三展示了这种现象的示例,以及两种不同网格大小的地面实况轨迹的碰撞检测结果。橙色是可能被误检为碰撞的车辆,在右下角所示的较小网格尺寸(0.1m)下,评估系统正确地将 GT 轨迹识别为不碰撞,但在右下角较大的网格尺寸(0.5m)下,会出现错误的碰撞检测。
在观察占用网格大小对轨迹碰撞检测的影响后,我们测试了网格大小为0.6m。nuScenes 训练集有 4.8% 的碰撞样本,而验证集有 3.0%。值得一提的是,当我们之前使用 0.5m 的网格大小时,验证集中只有 2.0% 的样本被错误分类为碰撞。这再次证明了当前评估碰撞率的方法不够鲁棒和准确的。
作者总结:本文的主要目的是提出我们的观察结果,而不是提出一个新的模型。尽管我们的模型在 nuScenes 数据集上表现良好,但我们承认它只是一个不切实际的玩具,无法在现实世界中发挥作用。在没有自车状态的情况下驾驶是一项难以克服的挑战。尽管如此,我们希望我们的见解将促进该领域的进一步研究,对端到端自动驾驶的进步能够重新评估。
5. 文章评价
这篇文章是对近期端到端自动驾驶在 nuScenes 数据集上评测的一次正本清源。不论是隐式端到端直接出 Planning 信号,还是显式端到端有中间环节的输出,很多都是在 nuScenes 数据集上评测的 Planning 指标,而 Baidu 这篇文章指出这种评测并不靠谱。这种文章其实还蛮有意思,发出来其实是打了很多同行的脸,但是也是在积极地推动行业往前走,或许端到端不用做到 Planning(感知预测端到端即可),或许大家在评估性能的时候多做一些闭环测试(CARLA 模拟器等),能够更好地推动自动驾驶社区的进步,能够把论文落到实车上。自动驾驶这条路,还是任重而道远
#视觉高精地图
近年来,自动驾驶受到越来越多的关注,高精地图成为自动驾驶技术的关键组成部分。这些地图提供了道路网络的复杂细节,并作为车辆定位、导航和决策等关键任务的基本输入。鉴于视觉传感器的广泛可用性和可负担性,已成为自动驾驶汽车不可或缺的一个方面。这篇综述的目的是为研究人员提供HD地图构建的最新进展的全面概述和总结。文章首先简要总结了与使用相机传感器创建高精地图相关的关键框架和背景信息。随后对地图制作所使用的研究方法进行了全面调查,包括离线和在线方法。特别是,基于网络的建图方法已经成为HD地图领域的一个突出研究领域。为了应对这一迅速发展的趋势,我们对这一特定领域的各种研究工作进行了全面而细致的概述。最后讨论了相关问题和未来的挑战,旨在指导研究人员了解该领域的当前趋势和流行方法。
总结来说,本文的主要贡献如下:
- 1) 回顾了现有的关于高精地图构建的文献,特别关注基于相机的方法。我们分析了这些方法的优势和局限性,深入了解了它们在实时自动驾驶应用中的有效性和适用性;
- 2) 强调了使用神经网络进行端到端建图的新兴趋势,这展示了实时高精地图生成的潜力。我们讨论了它们的基本原理、架构和性能,揭示了它们在该领域的可行性和实用性;
- 3) 确定了基于相机的高精地图构建中的关键挑战和悬而未决的研究问题。
相关背景
HD地图是一种数字汽车地图表示,可以全面准确地描述自动驾驶汽车导航的物理环境。这些地图的构建需要利用各种数据源,包括相机和激光雷达传感器。考虑到相机传感器的成本效益和语义鲁棒性,它们的集成已成为自动驾驶汽车传感器套件的重要组成部分。在本节中,我们阐明了高精地图构建的任务定义,并提供了该领域所用方法的系统分类。
A.高精地图构建的任务定义
高精地图的构建通过生成准确表示物理环境的三维模型,丰富视觉传感器的数据以实现高精度。基于相机的高精地图包括使用安装在车辆上的一个或多个相机来捕捉道路环境的图像,然后处理这些图像以提取所需信息。
首先,采集的图像要经过地图元素提取方法,包括车道标记、交通标志、道路边界等的识别。通常,计算机视觉算法,如边缘检测、目标检测和语义分割,都用于此目的。随后,利用提取的地图元素来构建道路环境的3D表示,有助于生成HD地图。这涉及到将二维元素映射到三维模型上,从而能够创建道路环境的详细描述。最后,生成的高精地图经过验证和定期更新,以确保其准确性和完整性。
从本质上讲,高精地图的构建过程需要整合多种技术和技术,包括数据收集、处理和地图生成。通过解决这些技术固有的相关挑战和局限性,我们可以提高高精地图制作的准确性和可靠性,从而促进更安全、更高效的自动驾驶汽车的开发。
B.高精地图构建的分类
根据时间成本要求、数据处理管道和计算资源,可视化方法可大致分为离线和在线方法。同样,基于高精地图构建中使用的数据处理框架,视觉方法可以大致分为基于规则的方法或基于网络的方法。
1)离线和在线方法:术语“在线”和“离线”建图起源于SLAM领域,用于区分实时车载过程和外部进行的过程。在线和离线之间的选择取决于传感器数据的处理方法、算法的运行时间是否满足实时要求以及计算设备的使用情况。该命名法已被各种方法广泛采用。值得注意的是,HDMapNet引入了在线高精地图构建的概念,强调使用车载传感器和硬件创建本地地图。这种方法不同于传统的解决方案,传统解决方案严重依赖人力资源进行场外注释。
如图4所示,离线建图方法需要在服务器上进行漫长的计算才能获得详细的高精地图,在线建图方法直接在自车中生成语义地图。全局高精地图的构建通常是离线过程。主要目标是生成可用于自动驾驶的详细准确的地图。离线处理允许更多的传感器数据、更复杂的算法和更长的处理时间,从而实现更高的准确性和完整性。SLAM是一种在线地图构建方法,需要实时处理来估计车辆的位置并同时绘制地图。随着计算机视觉任务的发展,地图已被建模为神经网络可以学习的目标,也逐渐出现了能够端到端在线构建高精地图的网络。
2) 基于规则和基于网络的模型:基于规则的高精地图使用预定义的算法和规则,使用颜色阈值和霍夫变换等技术构建地图。虽然这些方法很简单,但可能缺乏准确性、稳定性和对不同环境的适应性。相比之下,基于网络的方法在管理复杂场景、学习复杂模式以提高准确性方面表现出了高超的能力。然而,它们依赖于标注的数据和大量的计算资源,并且它们的拟合能力限制了全局HD地图的生成。混合方法结合了其他方法,在各自擅长的地方使用。例如,语义分割网络可以提取地图元素,而基于规则的3D重建,如关键点匹配,是3D构建阶段的首选。
C.相关数据集
无论是使用数据驱动的网络方法还是基于规则的方法,高精地图的构建都需要大量的数据。相关数据集大致可分为二维数据集、三维数据集和高精地图数据集。
- 2D数据集:常见的2D数据集有Cityscapes、Mapillary Vistas等;
- 3D数据集见表1;
- HD map数据集:最常见的HD map数据集便是nuScenes、Argoverse2、OpenLane-V2等;
- 车道数据集见表2。
基于视觉的离线全局高精地图构建
基于昂贵采集车辆的传统集中式高精地图构建和基于传感器的低成本视觉众包解决方案都不在自动驾驶汽车的车辆侧进行高精地图构建。我们将这种在云中或服务器上构建高精地图的方法归类为离线高精地图构建,表示在车辆侧完成数据收集后,需要离开车辆侧将传感器数据处理成地图。在本节中,我们首先解释离线构建高精地图的原因。接下来详细介绍离线构建高精地图的常见步骤:地图元素提取、三维矢量化重建和地图元素更新。第一步是地图元素提取,包括识别和隔离地图上的不同地图元素实例,如车道、灯杆和地标。这个过程可以使用各种技术来实现,例如语义分割和目标检测算法,它们分析输入的视觉传感器数据以提取和分类不同的元素。该过程中的第二步是地图元素的3D重建。一旦识别并隔离了地图元素,下一步就是创建这些元素的3D表示。这通常使用计算机视觉技术来重建3D环境。这些方法允许创建每个地图元素的高度精确的3D模型,该模型可用于创建详细和精确的地图。近年来,随着三维检测任务的发展,人们对直接从传感器输入中估计三维目标的位置和形状信息进行了大量研究。地图元素也可以作为3D检测算法的研究目标,直接获得3D地图元素信息。然而,目前对3D地图元素的端到端提取的研究有限,只有3D车道线提取的工作和数据集。通过融合3D地图元素、位置、基础地图和其他信息,可以构建或更新高精地图。总体而言,离线构建高精地图的过程非常复杂,需要准确的地图元素的位置和形状信息,并进行有效的融合。
A.为什么要离线构建高精地图
由于高精地图的高精度,从传感器数据到地图的制作过程需要先进的算法来处理大量的传感器数据,并使三维地图中的地图元素尽可能精确,以获得覆盖范围广的高精地图。因此,高精地图的制作需要大量的计算资源,如强大的处理器,以克服大数据量和复杂制作步骤的挑战。然而,所需的计算资源很难在自动驾驶汽车的车载硬件上实现,尤其是在自动驾驶车辆的情况下,其中计算硬件配备了更真实的车辆感知算法,这些算法需要大量资源来确保驾驶安全性和可靠性。由于自动驾驶汽车上安装的算法之间的优先级限制,可用于地图绘制的计算资源量将不丰富。将传感器数据传输到远程服务器进行处理可以降低车辆网络连接的负载和存储容量。此外,在其他服务器上离线构建高精地图允许多辆车共享同一张地图并协作构建。这减少了重复性工作,并提高了地图的准确性和完整性。高精地图的离线构建仍然是绘制地图的主要方法。在这篇文章中,我们将只讨论基于相机的算法。
B.离线全局高精地图构建pipeline
基于相机的离线高精地图创建过程,从图像数据输入开始,可以分为地图元素提取、地图元素的三维重建、定位和建图。
地图元素提取是从相机传感器构建地图的第一步。该步骤主要涉及通过对输入的原始图像数据的一系列操作来获得关于图像平面中的结构化地图元素的准确信息。最初,这是使用简单的计算机图形算法实现的,例如基于霍夫变换的车道线提取。随着今年图像算法的发展,目标检测和语义分割得到了广泛的研究。地图元素可以用作经典计算机视觉任务的研究目标,如语义分割和目标检测。可以对地图元素进行注释,并通过相应地训练神经网络来获得地图元素的提取结果。通过神经网络提取地图元素的方法使地图元素提取算法更加稳健和灵活,减少了人工干预,大大提高了地图构建的效率。具体而言,segment anything的工作标志着使用神经网络提取图像目标的时代更加全面和精细,这提供了更强的提取地图元素的能力。
3D元素建模紧跟着在透视图中提取地图元素的工作。该步骤是通过透视变换将相机空间中的地图元素转换为3D空间中的地图元素。传统的方法通常是利用激光雷达数据通过校准获得这种转换关系,并通过简单的计算直接进行透视变换。最近,越来越多的方法试图探索通过神经网络实现从2D图像输入到3D空间的地图元素提取。近年来,随着Nerf的提出,用于3D地图重建的隐式编码空间视角关系的神经网络正逐渐被考虑在内。
数据融合是高精地图离线建设的最后一步。这项工作通常利用多个帧之间的一致性来融合每个帧的提取地图元素数据。通过融合多帧数据,最终获得完整的全局高精地图。
C.地图元素提取
地图要素提取是高精地图构建中最重要的环节。它是从原始视觉传感器数据中提取准确的结构化地图元素信息,这是高精地图构建的基本任务。在传统的集中式高精晰度地图构建方案中,如图2所示,地图元素提取通常通过基于规则的方法来完成,如霍夫变换、多项式拟合、阈值化等。
2013年后,随着深度学习的快速发展,基于卷积神经网络的方法逐渐成为主流。地图元素提取通常遵循自动驾驶感知任务的范式,将地图元素视为传统视觉任务的主体。卷积神经网络证明了在不同尺度上提取特征的能力。通过在结构上设计不同类型的网络层,可以将包括特征提取、分类、语义分割和目标检测在内的任务无缝集成到单个网络模型中,以进行全面的训练和优化。近年来,随着ViT的引入,也出现了一些基于变换器结构的特征提取主干。上述主干网络通常被设计用于图像分类任务,将提取的图像特征映射到一组分类概率中。实际应用程序的可视化任务更为复杂。
通过主干完成特征提取后,通常会根据任务要求设计不同的解码网络,输出所需的数据模式。根据不同的输出格式,视觉任务可分为图像分类、语义分割、目标检测和实例分割。
1)用于建图的语义分割:语义分割是将图像分割成与不同类别的目标(如道路、人行道、车道、交通标志等)相对应的区域的任务。它通常基于在标记图像的大型数据集上训练的网络,可以实现实时分割不同类型目标的高精度。
2)用于建图的目标检测:目标检测任务是检测和定位图像或视频帧中感兴趣的目标。它最初包括两个阶段的过程,首先生成一组区域建议,然后将每个建议分类为特定的目标类别(如汽车、行人、交通标志等)。目标检测可以基于各种CNN架构,如Faster R-CNN、YOLO、SSD、CenterNet和CornerNet。一些目标检测方法的比较如表IV所示。
近年来,ViT的发明进一步提高了物体检测任务的能力。这种机制有效地增强了模型关注整个图像的能力,并可以实现更高的精度。DETR表示的模型将目标与预设的查询相对应,使端到端的目标检测更加有效,这只有一个阶段。
目标检测方法通常提供特定目标类型的边界框信息,但它们通常缺乏精确的形状信息,这对于绘制HD地图至关重要。因此,物体检测主要用于识别元素,如地面箭头、灯杆和交通灯,这些元素主要需要关于位置和类别的信息,而不是详细的形状表示。由于物体检测技术的局限性,高精地图中形状相关元素的准确描述仍然是一个挑战。
3)用于建图的实例分割:语义分割虽然提供了像素级的语义类别,但在区分同一类别的不同实例方面存在不足,不足以满足高精地图更新和构建自动驾驶任务的驾驶空间的要求。因此,实例分割被研究为语义分割的扩展,以有效准确地从图像数据中获得元素类别、形状信息和位置细节,在自动驾驶应用中发挥着至关重要的作用。实例分割涉及处理图像数据以获取图像中每个感兴趣个体的像素级掩码,其中具有相同语义类别的个体被分配不同的实例号以及共享的语义标签。该任务能够同时提取单个类别、精确的位置信息和相应的形状细节。
D.三维重建
提取图像中的地图元素信息后,通常需要通过矢量提取、视角转换等方法对高精晰度地图的三维空间中的地图要素进行建模,如图8所示。一种常见的3D重建方法是摄影测量,它涉及使用从不同角度拍摄的照片来创建3D模型。这项技术依赖于这样一个事实,即照片中的物体根据其在空间中的位置而不同,从而可以计算其三维坐标。摄影测量可以使用专门的软件工具进行,这些工具可以自动识别和匹配照片中的特征,然后根据这些匹配生成3D模型。
E.HD地图构建
高精地图构建需要融合来自不同帧或不同相机传感器的各种地图元素及其相应的3D空间关系。此过程旨在创建地图区域的统一、精确表示。它本质上构成了一个经典的多传感器多源融合挑战。最近,随着在线地图神经网络的发展,一些工作也设计了用于离线地图融合的网络结构。MVMap利用多视图特征视角提供的全局一致性,将多个帧的地图输出集成到统一的HD地图中。为了减轻检测不太准确或不太清楚的帧的影响,该模型结合了置信度估计模块。该模块为更精确估计的帧分配更高的权重,便于基于置信度得分对HD Map补丁进行加权平均。NeMO设计了一个可写可读的大地图、一个基于学习的融合模块以及它们之间的交互。通过假设所有BEV网格上的特征分布一致,应用共享权重神经网络来更新广泛的大地图。这种创新范式能够融合广泛的时间序列数据,并创建扩展范围的BEV局部地图。
为了解决高精地图高成本注释的挑战,已经开发了矢量化地图注释(VMA)框架。它结合了一种分而治之的注释策略,以解决高精地图创建中的空间可扩展性问题。VMA将地图元素简化为统一的点序列表示,包括一系列几何图案。
表V总结了在nuScenes数据集上评估的各种语义图构建方法的性能,其中IoU作为准确性度量。对这些方法的比较表明,仍有改进的潜力,特别是在实现人行横道的更高精度方面。
基于视觉的在线局部高精地图构建
A.为什么要在线构建高精地图
在线构建高精地图是指实时生成地图。这种方法提供了几个显著的优点。首先,在线构建确保了高精地图不断更新最新数据的新鲜感。这保证了地图保持准确,即使在路况频繁变化的动态环境中也是如此。这种实时更新功能使车辆能够做出明智的决定,绕过障碍物并避免事故。其次,在线构建提供了将各种数据源合并用于地图创建的灵活性。来自联网车辆的实时数据可以补充现有的地图信息,提高准确性和适应性。第三,通过消除离线处理和存储的需要,在线高精地图构建可以潜在地降低总体成本。这在涉及大量自动驾驶汽车的场景中尤其有益,在这些场景中,成本效益高的解决方案至关重要。
B.没有矢量化实例的在线建图方法
1)onboard视觉SLAM:SLAM问题最早是在1986年的国际机器人与自动化会议(ICRA)上提出的。SLAM被描述为,放置在未知环境中未知位置的机器人是否可以逐步构建环境的一致地图,同时实时确定其在地图中的位置,要求配备有特定传感器的受试者在没有关于环境的先验信息的情况下实时估计其自身的运动以解决定位问题并且同时构建环境的地图以解决地图构建问题。
2)占用网络:占用网络的任务最早由特斯拉提出。该方法将周围环境划分为体素网格,体素的属性包括占用概率、语义信息和占用流信息。通过体素的表示,运动中的车辆对周围环境有着密集的理解和认知。从NeRF中汲取灵感,占用网络包含了一个隐式可查询MLP解码器。该解码器可以处理任何坐标值(x,y,z),以提取关于该空间中的位置的细节,包括所提到的属性信息。这种能力使占用网络能够实现3D占用地图的灵活分辨率。
总之,SLAM一直是一个广泛研究的主题,而占用网络代表了实时创建环境三维表示的最新进展,从而产生了密集的语义图。这两种类型的方法还需要更多地关注非地图元素的类别,例如行人、车辆和树木。这些信息对于实际车辆驾驶是必要的,但对于全球高精地图构建来说有些多余。此外,地图元素的实例级信息仍然短缺。
C.Onboard矢量化HD地图网络
HDMapNet的出现,及其使用神经网络直接建模矢量化地图元素实例的创新方法,引发了该领域的兴趣激增,并引发了研究的新趋势。该方法侧重于分析矢量化静态地图元素实例,最终通过应用神经网络直接从车辆摄像头数据生成矢量化地图。
1) 矢量化高精地图网络的通用管道:专门用于矢量化高精地图构建的神经网络的一般过程在图10中总结为几个主要部分。如图10所示,在输入环视图像后,高精地图构建网络的总体架构可以划分为不同的部分:主干、视角转换和地图解码器。这三个组成部分构成了视觉建图网络的基本框架,这是各种相关方法共享的共同结构。为了增强建图性能,某些方法包含了补充的后处理步骤、时间信息注入和辅助监督分支。这些附加方法对于视觉建图不是必需的。
2)使用后处理学习地图组件:HDMapNet是第一个将深度神经网络直接应用于语义地图构建的任务。具体结构如图11所示。网络结构通过视觉传感器的数据输入,通过Transformer网络模型,直接对BEV视角下的多视图数据进行解码和融合,最终生成三个网络分支,分别进行车道线的语义分割、实例嵌入量的学习和车道线方向的预测。通过对车道线进行语义分割,获得属于车道线的鸟瞰图的透视像素,然后通过实例嵌入量和方向预测字段连接每帧数据的车道起点,生成车道线实例。通过对三个分支数据的组合后处理,最终生成具有方向信息的实例级鸟瞰视角下的车道线结果,实现了简单地图的实时构建。
然而,HDMapNet仍然需要经过大量的后处理步骤。从上面自下而上的实例提取方法的介绍可以看出,这种方法消耗了大量的时间,而且后处理不稳定,无法在车端实时构建地图。
在CVPR2023自动驾驶挑战赛中,MachMap在Argoverse2基准测试中达到83.5 mAP,并以非常领先的性能位居地图挑战赛第一。MachMap将任务划分为多段线的直线检测和多边形的实例分割。
3)端到端建图网络:许多方法已经探索了端到端在线建图。VectorMapNet是第一个实现高精地图直接输出的网络。VectorMapNet通过深度神经网络提取网络编码的视角转换特征,获得鸟瞰图下的深度特征,然后将地图元素设置为查询输入,通过地图元素检测器检测关键点表示的地图元素,将鸟瞰图的深度特征和关键点进行集成,并通过设计曲线生成模型结构将连接信息分配给关键点,最终直接输出矢量化的三维地图结果。MapTR的具体结构如图12所示。后续发展出来了MapTRv2、InsightMapper、InstaGraM、PivotNet、Bi-Mapper等等一系列算法。
4)时序融合:上述方法使用视觉传感器生成矢量化高精地图。然而,由于它们仅依赖于单帧输入,因此它们遇到了限制。这种约束影响了它们的稳健性和有效性,尤其是在闭塞等复杂场景中,主要是由于缺乏时间背景。此外,当应用于感知范围扩大的情况时,它们的性能往往会恶化。引入时间信息以在此基础上构建局部地图是一种自然的过程。一方面,时间连续性为障碍物遮挡的挑战提供了有效的解决方案。另一方面,它增强了空间信息的恢复,从而提高了从PV到BEV转换的准确性。此外,时间连续性有助于直接生成综合的局部地图。StreamMapNet是第一个将时间信息引入在线地图的工作。如图13所示,主预测器与其他单帧网络结构基本相同,由BEV编码器和地图解码器组成。不同的是,它使用内存缓冲区来存储传播的内存特性。
5)矢量化地图构建网络的研究现状和比较:表VI总结了最近在nuScenes数据集上的一些工作的性能。上述最先进的研究侧重于使用具有特定规则的点集作为建模地图元素。该研究利用神经网络强大的学习能力,通过逐层可变电压解码器查询预设的地图元素实例,输出端到端的矢量化车道线地图。这使得能够实时构建端到端的车道图。然而,值得注意的是,该研究尚处于早期阶段,缺乏地图元素中典型的广泛语义和拓扑逻辑关联。此外,在利用时间信息方面的工作并不多,大量的时间感知任务提供了很好的参考价值。因此,需要进一步的研究来探索这一领域。
与建图相关的其他工作
拓扑预测
车道图是高级自动驾驶中离线高精地图的基本组成部分。道路网络对规划和导航非常有用。因此,道路网络预测的任务可以是地图的一部分。如图14所示,车道中心线、相应的十字路口、红绿灯控制信号等是高精地图的关键信息。
STSU首先提出了在线车道拓扑结构的提取,它将任务扩展到包括中心线提取和车道连接关系。随后,LaneGap等工作将连接关系建模为用于检测的可驱动路径。这一方面也包含在MapTRv2中。随后,引入了交通元素与车道之间的对应关系,进一步提高了对场景结构的理解。例如,OpenLaneV2数据集及其相应的算法TopoNet。MFV在OpenLaneV2数据集的拓扑挑战中排名第一。此外,Road Genome为拓扑推理引入了一个新的基准。
这类工作的挑战是如何将道路网络的拓扑结构建模为一组可以通过神经网络学习的值,以及如何在建模道路网络结构之间的关系以及如何有效利用信号灯和标志的信息的基础上设计适当的网络。然而,现有的数据集和研究很少,仅限于连接关系问题,缺乏对场景结构的进一步了解。
地图作为先验
自动驾驶中的高精地图是预先存在的道路信息来源,将可见性扩展到眼前之外。因此,最近的努力都致力于利用地图数据作为先验信息。
Xiong等人的“自动驾驶的神经地图先验”。介绍了一种利用先验地图作为知识库的开创性方法。该方法积极收集周围环境的各种实时信息,用于在线地图绘制。从该在线建图过程中获得的特征被存储在存储器特征库中。当车辆重新访问特定区域时,基于车辆的地理位置从记忆特征库中检索与该路段相对应的先前特征。这些记忆的特征与从在线推理中获得的特征一起在生成车辆的当前局部地图中发挥着重要作用。
受Nerf的启发,MapNeRF将地图先验融入神经辐射场,以生成指定赛道外的驾驶视图,确保语义道路一致性。这种方法解决了在相机模拟的偏差视图中保持语义一致性的挑战。
虽然地图提供了有价值的先验信息,但目前这一领域的研究只触及了表面。地图作为先验知识来源,在现有研究中并没有显著提高生成新地图的精度。因此,在这一领域仍有充分的进一步探索空间。
结论和讨论
挑战和未来前景
- 统一地图元素表示模型。高精地图由具有空间信息和关系的地图元素组成。地图元素的表示作为地图的基本组成部分,影响着高精地图构建的效率,以克服各个模块之间的差距。该表示还确定了后续决策模块的结构化信息形式。然而,对于所有的自动驾驶管道,并没有一个统一和公认的模型。狭长的车道和杆子形状,紧凑的标记和斑马形状给通用表达带来了困难。
- 预处理数据集。由于国家法律的限制和高昂的制作成本,有限的场景和罕见的注释对数据集的构建产生了影响。无论如何,仍然强烈需要高精地图数据集进行进一步的研究,以增强可扩展性。
- 端到端模型与混合模型。端到端模型的性能可能会受到训练数据集的限制,而训练数据集存在严重的可扩展性问题。混合模型受到每个模型的输入和输出缺口的限制。在统一地图表示的帮助下,离线方法框架可以将深度学习模块作为混合模型集成到预先构建的物理/几何模型中。端到端模型依赖于数据集和计算能力。什么样的工作是最好的仍然是个问题。
- 统一评估基准和指标。HD地图的研究者一直关注合适的评价基准和指标。由于呈现形式的丰富性,不同模式的高精地图无法相互比较。统一的评估基准和度量是高精地图研究的必要条件。
- 地图元素的综合类别。尽管已经有很多关于地图构建的研究,但大多数研究仍然局限于最简单的地图元素,如车道线和人行横道。3D地图的基本元素,如道路箭头、文本、交通标志和交通灯杆,对地图的构建同样重要。因此,在三维空间中考虑更广泛、更全面的地图元素对地图构建也很重要。
- 实时场景理解。SLAM的密集语义图和简单的矢量化图都不能为决策算法提供高度可信的认知信息。如何密切地图和决策之间的关系仍然是一个问题。
- 高精度挑战。更高的精度一直是地图建设的一个重要挑战。更准确的结果将有助于移动车辆更准确地了解当前路况。
结论
在这篇文章中,我们研究了关于使用相机传感器构建高精地图的文献,特别是关于使用神经网络进行地图构建的文献。我们将建图方法分为基于计算硬件的离线和在线、基于神经网络和基于算法的基于规则,并总结了主流技术路线的主要过程。最后,我们讨论了这些模型的评估前景和设计趋势。
#HD地图生成~
HD地图生成大盘点
目前学术界和工业界(尤其自动驾驶公司)均开始研究HD地图生成,也有一些公开的学术数据集以及非常多的学术工作,此外各家自动驾驶公司也在AIDAY上公开分享技术方案。从这些公开信息来看,也观察到了一些行业趋势,例如在线建图、图像BEV感知、点图融合以及车道线矢量拓扑建模等。本文将对相关的学术工作和自动驾驶公司的技术方案进行解读,以及谈谈个人的一些思考。
学术数据集
学术数据集对比
目前含HD地图的学术数据集包括:nuScenes【1】以及Argoverse2【2】。着重介绍下Argoverse2数据集,该数据集包含信息非常丰富:
- 包括车道线、道路边界、人行横道、停止线等静态地图要素,其中几何均用3D坐标表示,并且同时包含了实物车道线和虚拟车道线;
- 提供了密集的地面高度图(30cm),通过地面高度可以仅保留地面的点云,便于处理地面上的地图要素;
Argoverse2的HD地图
学术工作
该领域目前是自动驾驶公司的关注重点,因此相关学术工作基本都来自高校和车企合作,目前已经公开的论文,包括理想、地平线和毫末智行等车企。
而这些学术工作的技术方案整体可以概括为两部分:(1)BEV特征生成(2)地图要素建模。
BEV特征生成
在BEV空间进行在线建图,已经是目前学术界和业界的统一认识,其优势主要包括:
- 减少车辆俯仰颠簸导致的内外八字抖动,适合车道线这种同时在道路中间以及两边存在的物体;
- 远近检测结果分布均匀,适合车道线这种细长物体;
- 便于多相机和时序融合,适合车道线这种可能在单帧遮挡看不见或单视角相机下拍摄不全的物体;
而在如何生成BEV特征上,不同论文的方法有些许区别。
HDMapNet【3】(来自清华和理想),采用了点图融合方式生成BEV特征,其中点云分支使用PointPillar【4】+PointNet【5】方式提取特征,图像分支则使用MLP方式实现PV2BEV转换,即将PV空间到BEV空间的变换看作变换矩阵参数,并通过MLP去学习(拟合)该参数。
HDMapNet架构图
其中环视图像经过PV2BEV转换,实现了不同视角相机的图像特征融合。
HDMapNet的环视相机特征融合
VectorMapNet【6】是HDMapNet的后续工作(来自清华和理想),同样采用了点图融合方式生成BEV特征,区别在于对图像分支采用IPM+高度插值方式实现PV2BEV转换。IPM是传统的PV2BEV转换方法,但需要满足地面高度平坦的假设。现实中,该假设通常较难满足,因此该工作假设了4个不同地面高度下(-1m,0m,1m,2m)的BEV空间,分别将图像特征经过IPM投影到这些BEV空间上,然后将这些特征concatenate起来得到最终的BEV特征。
VectorMapNet架构图
MapTR【7】(来自地平线)则是只采用了图像分支生成BEV特征,利用他们之前提出的GKT【8】实现PV2BEV转换。对于BEV Query,先通过相机内外参确定在图像的先验位置,并且提取附近的Kh×Kw核区域特征,然后和BEV Query做Cross-Attention得到BEV特征。
GKT架构图
SuperFusion【9】(来自毫末智行)提出了长距离的车道拓扑生成方案,并且相应地采用多层级的点云和图像特征融合来生成BEV特征(类似CaDDN【14】将深度图分布和图像特征外积得到视椎体特征,再通过voxel pooling方式生成BEV特征)。其中点云分支提取特征方式和HDMapNet一致,而图像分支则基于深度估计实现PV2BEV转换。
SuperFusion架构图
其多层级的点图特征融合,包括data-level,feature-level以及bev-level:
- Data-level特征融合:将点云投影到图像平面得到sparse深度图,然后通过深度补全得到dense深度图,再将sparse深度图和原图concatenate,并用dense深度图进行监督训练;
- Feature-level特征融合:点云特征包含距离近,而图像特征包含距离远,提出了一种图像引导的点云BEV特征生成方式,即将FV图像特征作为K和V,将点云的BEV特征作为Q去和图像特征做cross-attention得到新的BEV特征,并经过一系列卷积操作得到最终的点云BEV特征;
SuperFusion的Feature-level特征融合
- BEV-level特征融合:由于深度估计误差和相机内外参误差,直接concatenate图像和点云的BEV特征会存在特征不对齐问题。提出了一种BEV对齐方法,即将图像和点云BEV特征先concat后学习flow field,然后将该flow field用于图像BEV特征的warp(根据每个点的flow field进行双线性插值),从而生成对齐后的图像BEV特征;
SuperFusion的BEV-level特征融合
地图要素建模
关于地图要素的建模方式,目前学术界趋势是由像素到矢量点的逐渐转变,主要考虑是有序矢量点集可以统一表达地图要素以及拓扑连接关系。
HDMapNet采用像素方式建模车道线,引入语义分割、实例Embedding以及方向预测head分别学习车道线的语义像素位置、实例信息以及方向,并通过复杂的后处理(先采用DBSCAN对实例Embedding进行聚类,再采用NMS去除重复实例,最后通过预测的方向迭代地连接pixel),从而实现最终的车道线矢量化表达。
HDMapNet架构图
VectorMapNet采用矢量点方式建模车道线,并拆解成Element检测阶段和Polyline生成阶段。
VectorMapNet架构图
Element检测阶段的目标是检测并分类全部的Map Element,采用了DETR【11】这种set prediction方式,即引入可学习的Element Query学习Map Element的关键点位置和类别。作者尝试了多种定义关键点的方式,最终Bounding Box方式最优。
关键点表示方式
Polyline生成阶段的目标是基于第一阶段输出的Map Element的类别和关键点,进一步生成Map Element的完整几何形状。将Polyline Generator建模成条件联合概率分布,并转换成一系列的顶点坐标的条件分布乘积,如下:
Polyline Generator建模
进而使用自回归网络对该分布进行建模,即在每个步骤都会预测下一个顶点坐标的分布参数,并预测End of Sequence token (EOS) 来终止序列生成。整个网络结构采用普通的Transformer结构,每根线的关键点坐标和类标签被token化,并作为Transformer解码器的query输入,然后将一系列顶点token迭代地输入到Transformer解码器中,并和BEV特征做cross-attention,从而解码出线的多个顶点。
MapTR同样采用矢量点方式建模车道线,提出了等效排列建模方式来消除矢量点连接关系的歧义问题,并且相应地设计了Instance Query和Point Query进行分层二分图匹配,用于灵活地编码结构化的地图信息,最终实现端到端车道线拓扑生成。
MapTR架构图
等效排列建模就是将地图要素的所有可能点集排列方式作为一组,模型在学习过程中可以任意匹配其中一种排列真值,从而避免了固定排列的点集强加给模型监督会导致和其他等效排列相矛盾,最终阻碍模型学习的问题。
等效排列建模
分层二分图匹配则同样借鉴了DETR这种set prediction方式,同时引入了Instance Query预测地图要素实例,以及Point Query预测矢量点,因此匹配过程也包括了Instance-level匹配和Point-level匹配。匹配代价中,位置匹配代价是关键,采用了Point2Point方式,即先找到最佳的点到点匹配,并将所有点对的Manhattan距离相加,作为两个点集的位置匹配代价,该代价同时用在Instance-level和Point-level匹配上。此外,还引入了Cosine相似度来计算Edge Direction损失,用于学习矢量点的连接关系。
Edge Direction损失
SuperFusion则和HDMapNet一样,采用像素方式建模车道线,方法完全一致。
实验结果
目前实验效果最好的是MapTR方法,仅通过图像源即可超过其他方法的点图融合效果,指标和可视化结果如下:
MapTR实验结果
MapTR可视化
另外有趣的一个实验是,VectorMapNet和SuperFusion均验证了引入该车道线拓扑后对轨迹预测的影响,也说明了在线建图的价值,如下:
轨迹预测结果
轨迹预测可视化
业界工作
特斯拉
特斯拉在AIDAY2022(https://www.youtube.com/watch?v=ODSJsviD_SU&t=10531s)中着重介绍了车道拓扑生成技术方案。借鉴语言模型中的Transformer decoder开发了Vector Lane模块,通过序列的方式自回归地输出结果。整体思路是将车道线相关信息,包括车道线节点位置、车道线节点属性(起点,中间点,终点等)、分叉点、汇合点、以及车道线样条曲线几何参数进行编码,做成类似语言模型中单词token的编码,然后利用时序处理办法进行处理,将这种表示看成“Language of Lanes”。
Vector Lane模块
其中BEV特征(Dense World Tensor)不仅包括视觉图像特征,还引入了低精度地图中关于车道线几何/拓扑关系的信息、车道线数量、宽度、以及特殊车道属性等信息的编码特征,这些信息提供了非常有用的先验信息,在生成车道线几何拓扑时很有帮助,尤其是生成无油漆区域的虚拟车道线。
自回归方式生成车道线几何拓扑的详细过程如下:
- 先选取一个生成顺序(如从左到右,从上到下)对空间进行离散化(tokenization),然后就可以用Vector Lane模块预测一系列的离散token,即车道线节点。考虑到计算效率,采用了Coarse to Fine方式预测,即先预测一个节点的粗略位置的(index:18),然后再预测其精确位置(index:31),如下:
预测节点
- 接着再预测节点的语义信息,例如该节点是车道线起点,于是预测“Start”,因为是“Start”点,所以分叉/合并/曲率参数无需预测,输出None。
预测节点的语义信息
- 然后所有预测结果接MLP层输出维度一致的Embedding,并将所有的Embedding相连得到车道线节点的最终特征,即输出第一个word(绿色点),如下:
节点特征整合
- 接着将第一个word输入给Self Attention模块,得到新的Query,然后和Vector Space Encoding生成的Value和Key进行Cross Attention,预测第二个word(黄色点),整体过程和预测第一个word相同,只是第二个word的语义是“Continue”(代表延续点),分叉/合并预测结果仍为None,曲率参数则需要预测(根据不同曲线方程建模,例如三次多项式曲线或贝塞尔曲线等),如下:
迭代预测第二个节点
- 接着同样方式预测第三个word(紫色点),如下:
迭代预测第三个节点
- 然后回到起始点继续预测,得到第四个word(蓝色点),该word和也是和第一个word相连,所以语义预测为“Fork”(合并点),如下:
迭代预测第四个节点
- 进一步输入前序所有word,预测第五个word,该word的语义预测为“End of sentence”(终止点),代表从最初的第一个word出发的所有车道线已经预测完成。
迭代预测第五个节点
- 由此遍历所有起始点,即可生成完整的车道线拓扑,如下:
车道线拓扑
在线建图可视化
百度
百度在ApolloDay2022(https://www.apollo.auto/apolloday/#video)上也介绍了生成在线地图的技术方案,可以概述为以下几点:
- 点图融合,图像分支基于Transformer实现PV2BEV空间转换;
- Query-based的set-prediction,引入Instance query、Point query以及Stuff query同时学习地图要素实例、矢量点以及可行驶区域分割等;
- 高精地图(精度)和众源地图(规模和鲜度)多源融合;
在线建图架构图
在线建图架构图
毫末智行
毫末智行是一家重感知轻地图的公司,因此也在毫末智行AI DAY(https://mp.weixin.qq.com/s/bwdSkns_TP4xE1xg32Qb6g)上着重介绍了在线建图方案,可以概述为以下几点:
- 点图融合,图像分支基于Transformer实现PV2BEV空间转换;
- 实物车道线检测+虚拟车道线拓扑,实物车道线检测的Head采用HDMapNet方式生成,虚拟车道线拓扑则是以SD地图作为引导信息,结合BEV特征和实物车道线结果,使用自回归编解码网络,解码为结构化的拓扑点序列,实现车道拓扑预测;
实物车道线检测
虚拟车道线拓扑生成
地平线
地平线也在分享(https://mp.weixin.qq.com/s/HrI6Nx7IefvRFULe_KUzJA)中也介绍了其在线建图方案。
BEV感知架构
通过六个图像传感摄像头的输入,得到全局BEV语义感知结果,这更多是感知看得见的内容,如下图所示:
语义感知
再通过引入时序信息,将想象力引入到 BEV感知中,从而感知看不见的内容,如下右图所示,感知逐渐扩展自己对于周边车道线、道路以及连接关系的理解,这个过程一边在做感知,一边在做建图,也叫做online maps。
超视距感知
小鹏
小鹏汽车目前推出了全新一代的感知架构XNet(https://mp.weixin.qq.com/s/zOWoawMiaPPqF2SpOus5YQ),结合全车传感器,对于静态环境有了非常强的感知,可以实时生成“高精地图”。核心是通过Transformer实现多传感器、多相机、时序多帧的特征融合。
XNet架构图
思考
抛开技术外,我还想聊聊对图商的”离线高精地图“和自动驾驶公司的”在线地图“的认识。
地图是自动驾驶的一个非常重要模块,自动驾驶不能脱离地图,因为自动驾驶是运行在规则约束的交通系统下,无法摆脱这套规则的约束,而地图恰恰是这套规则系统表达的很好载体,一个完整的地图不仅包括各种地图要素,还包括各种交通规则,例如该车道能否掉头、该红绿灯作用在哪个车道等。因此,图商凭借在SD地图制作经验(交通规则理解),均开展了”离线高精地图“制作,包括高德地图、百度地图、腾讯地图、四维图新等。而图商制作”离线高精地图“的逻辑是,建立统一的、大而全的高精地图标准,同时服务于市场上的多家自动驾驶公司。但不同的自动驾驶公司的自身自动驾驶能力差异非常大,对高精地图的需求也不同,这就导致”离线高精地图“越来越复杂,图商的采集和制作成本也越来越高。正因为成本高,高精地图的覆盖率低和鲜度差的问题也始终未被解决,这是每个图商都需要面对的紧迫问题。尽管也有一些众包更新的解决方案,但实际得到大规模应用的并不多。
而自动驾驶又需要高覆盖、高鲜度的高精地图,于是自动驾驶公司开始研究如何“在线建图”这个课题了。“在线建图”的关键在于“图”,在我看来,这个“图”已经不是“离线高精地图”的“图”了,因为自动驾驶公司的“在线建图”是根据自身的自动驾驶能力调整的,在“离线高精地图”中的冗余信息都可以舍弃,甚至是常说的精度要求(“离线高精地图”一般要求5cm精度)。而恰恰因为对“图”进行了简化,所以自动驾驶公司的”在线地图“才有了可行性。通过”在线地图“,在“离线高精地图”覆盖范围内实现地图更新,在“离线高精地图”覆盖范围外生成自己可用的地图,可能会有一些自动驾驶功能的降级,这个边界仍在摸索中。
不过,测绘资质和法规变化可能会促使一种新的图商和自动驾驶公司的高精地图生产合作模式,即自动驾驶公司提供智能车数据 + 图商提供高精地图制作能力的生态闭环。2022年下半年,国家和地方密集出台了一系列高精度地图相关法律,例如:《关于促进智能网联汽车发展维护测绘地理信息安全的通知》、《关于做好智能网联汽车高精度地图应用试点有关工作的通知》等。这些法律文件明确界定了智能网联汽车和测绘的关系,即智能网联汽车在运行过程中(包括卖出的车)对数据的操作即为测绘,并且自动驾驶公司是测绘活动的行为主体。从规定来看,自动驾驶公司的“在线地图”是明确的测绘行为,而想要合法测绘,必须拥有导航电子地图制作的甲级资质,而获得资质的途径可以是直接申请(太难申请,并且不是一劳永逸,可能在复审换证环节被撤销企业资质)、间接收购(风险高)、以及与图商合作。由此来看,自动驾驶公司和图商合作的生态闭环可能是唯一解法。那么,自动驾驶公司的智能车数据提供给图商进行地图数据生产是否合法呢?在《上海市智能网联汽车高精度地图管理试点规定》中,明确规定“鼓励具有导航电子地图制作测绘资质的单位,在确保数据安全、处理好知识产权等关系的前提下,探索以众源方式采集测绘地理信息数据,运用实时加密传输及实时安全审校等技术手段,制作和更新高精度地图。” 目前,腾讯地图已官宣与蔚来宣布达成深度合作,打造智能驾驶地图、车载服务平台等,当然这可能更多是投资关系促使。如何真正实现高精地图生产的生态闭环,可能是图商未来的破局关键。
#BEV-CLIP
多模态自动驾驶检索方法!
目前,随着自动驾驶技术的快速迭代和发展,基于城区场景或者复杂道路场景的自动驾驶算法也取得了长足的进步。但想要训练出可以在复杂场景下做出及时和准确感知结果的算法模型就需要更加全面和准确的数据来让模型进行学习。
就目前情况来看,各个自动驾驶公司每天都会有比较多的路采车进行自动驾驶场景的数据采集,通过产生大量且真实的路采数据从而帮助模型去学习多种多样情况下的驾驶场景,提高感知算法模型的感知和泛化能力。因此,训练数据的场景和质量对于模型的学习是非常重要的,这就使得挖掘训练数据的检索方法需要具备很强的检索能力,从而可以根据人们的需要从众多的路采数据中得到感兴趣的驾驶场景。
但由于检索算法大多数时候可以在精确描述文本的作用下得到希望的场景,但缺乏不同数据集上的泛化性。所以,对于场景检索算法的泛化性具有较高的要求。
此次将要介绍的算法模型——BEV-CLIP,就是首个利用多模态数据的BEV空间的数据检索方法。该算法模型利用现在火爆的大语言模型(LLM)的语义特征提取能力来促进大量文本描述的零样本的检索效果,并从知识图谱中集成半结构化的信息来提高语义丰富性,从而在数据集中更好的检索需要的驾驶场景。
论文的链接:https://arxiv.org/pdf/2401.01065.pdf
BEV-CLIP算法模型整体架构
在介绍BEV-CLIP算法模型的整体结构之前,先介绍一下在自动驾驶场景中视觉文本检索系统的两个基本问题。
- 在自动驾驶场景当中,由于算法模型提取到的二维图像特征其固有的局限性,导致对于全局特征的表示比较差,如何提高二维图像特征表示的有效性?
- 在自动驾驶领域当中,有哪些方法可以用来增强当前性能欠佳的文本表示能力?
基于上述提到的两点思考,我们从特征提取和语言表达两个方向展开讨论。
- 特征提取部分:选用可以为自动驾驶场景提供统一特征表示的BEV框架来完成特征提取任务。BEV框架通过将多视角的相机采集到的图像,利用从自上而下的方式将2D图像特征投影到3DBEV空间,从而方便的为规划和控制等下游任务提供统一的感知表达形式。同时,考虑到BEVFormer是一种基于Transformer架构的BEV感知算法,并且可以实现End-to-End的感知结果,所以采用了BEVFormer作为BEV特征的提取算法。
- 语言表达部分:通过结合复杂的语义特征作为算法模型的额外输入可以补偿图像数据中不明显的抽象特征。目前,大语言模型在文本模态上表现出了非常不错的效果。其中,CLIP通过利用对比学习方法具备了零样本的推理能力。所以我们选择CLIP为出发点,构建了一个采用fine-tuning策略的改进大语言模型来为BEV特征提供更丰富的语义信息。此外,还将结合知识图谱特征来增强自动驾驶领域知识的显着性。
与左侧的2D图像检索方法相比,将环视图像映射到BEV空间后,BEV空间的上下文特征可以与全局特征相关的语义特征进行交互,从而使模型可以从文本的描述中检索出复杂的驾驶场景
介绍完BEV-CLIP所想要讨论的问题后,接下来就是介绍BEV-CLIP算法模型的网络结构~
BEV-CLIP算法模型的整体结构
通过上图可以看出,BEV-CLIP算法模型主要包含三个子网络,首先是利用参数冻结的BEV-Encoder模块获取环视图像的全局BEV特征,以及利用Language-Encoder模块对文本输入进行处理,得到各自的图像和文本表达。然后是采用跨模态提示策略对齐同一隐藏空间的BEV特征和语言特征。最后是对字幕生成和检索任务进行联合的监督。
在整体介绍完BEV-CLIP算法模型的思路之后,接下来就是对其各个子网络进行详细的介绍~
全局BEV特征构建
通过对多种不同的BEV特征生成方法进行实验对比发现,BEVFormer算法模型中的BEV特征生成方法具有最好的普适性(因其具有空间注意力模块和时序注意力模块可以更好的表达场景中的动态物体,提高对于整个场景的表达能力)。
BEV-CLIP选择采用BEVFormer算法中的BEV-Encoder实现对输入环视相机完成BEV空间特征的构建。需要注意的是在检索任务中,需要将BEVFormer模型的所有参数保持冻结,并直接使用生成的特征进行下游后处理和检索。因此,该方法最小化了与训练相关的开销,并提高了检索方法的整体效率。
知识图谱Prompt
在对驾驶场景的文本描述中,语义信息具有离散特征,所以BEV-CLIP结合了图神经网络来训练自动驾驶领域的知识图谱。图神经网络中的每个节点对应一个与自动驾驶相关的关键字,与这些节点相关的嵌入捕获自动驾驶关键字的关联表示。随后,这些关键字嵌入被连接到标记化的句子中,从而扩展编码文本的表示。
在知识图谱当中,实体被分为了三个主要的类别,分别是实例、目标和动作。由于节点对应着大部分的实例,而且目标和动作节点则连接到许多不同的实例节点。所以我们想要利用目标和动作节点之间的广泛连接来提取它们之间的关系,获得他们之间的关联表示。基于此,我们采用了一种基于距离的评分函数来评估这种关系。对应的评分函数如下:
语义表达融合
为了使模型能够实现零样本的检索能力,从输入的文本数据中提取全面的语义信息是非常重要的。预训练模型可以实现对单词、整个句子的实质性理解,同时还表现出对于上下文的理解以及生成连贯相应的能力。所以对现有的大语言模型进行微调,以便可以适用于自动驾驶领域当中。同时,BEV-CLIP还利用了sentence embedding来整合和合并graph embedding来构建合成的表示。
在具体实现当中,BEV-CLIP从出现在文本输入中的图中索引关键字,并将它们按照它们的出现顺序连接到文本嵌入序列中。生成的语言嵌入与图表示融合,作为检索任务和字幕生成的监督。
共享跨模态Prompt
在这一部分,BEV-CLIP为了能够支持两种模态分支的训练成本,分别将BEV分支和文本分支在各自模态的数据集上进行了预训练,并将其中的大部分参数进行了冻结。同时受到Q-Former结构的启发,设计了一个交叉注意力的方法来联合两类模态,通过设计可学习的长序列标记将BEV特征和文本特征映射到相同的流形空间中,从而促进两个分支中不同模态信息的对齐。
需要注意的是,为了在训练过程当中采用对比损失,BEV-CLIP将两个模态分支输出的BEV特征和文本特征合并然后使用池化运算变换成一维的向量计算对比损失。此外,为了辅助模型的训练过程,引入了描述生成任务,在BEV分支的基础上接了一个Transformer架构来生成相应的描述并利用对应的文本标签对输出的描述进行监督。
实验结果
在实验过程使用了BEV-CLIP进行BEV检索任务。将预训练的BEVFormer用来提取BEV特征,并将Llama2+LoRA模型微调与知识图谱生成的结果concat到一起作为文本特征。然后利用上文提到的跨模态Prompt来映射两个模态分支生成的特征,生成具有相同维度的BEV特征和文本特征序列。最终基于余弦相似度的BEV-Text对比损失来进行模型训练。
我们选择在nuScenes数据集上来验证提出算法的有效性。整体的实验结果被汇总在了如下的表格当中。
实验结果表明,在结合Llama2、LoRA、SCP以及distmult知识图嵌入和字幕生成头,得到了最佳的结果为BEV-to-text rank@1为85.78%,text-to-BEV rank@1为87.66%。除此之外,也结合了NuScenes-QA的数据进行了相同的实验,实现了BEV-to-text rank@1为66.37%,text-to-BEV rank@1为67.90%的精度。
除此之外,BEV-CLIP也比较了在不同配置情况下的跨模态Prompt的消融实验。可以看出在不同baseline的情况下,SCP模块都可以进行有效的提点。
同时我们也比较了在不同大语言模型下的消融实验。
最后是展示一下BEV-CLIP的demo效果,可以看出效果还是不错的,通过说明相关的场景,检索模型可以得到与之匹配的驾驶场景。
总结
目前路采数据日益增多,但是如何从众多的数据中选择所需要的驾驶场景辅助模型的学习变得越来越重要。所提出的BEV-CLIP算法,就是首个利用多模态数据的BEV空间的数据检索方法
#Apollo和Carsim/TruckSimの联合仿真
1. 背景
仿真在自动驾驶的研发中起到重要作用,能大大提高研发效率,也为算法的可靠性提供保障。百度Apollo系统是优秀开源的平台,适合想学习自动驾驶的朋友研究。Carsim/Trucksim是经典的汽车动力学仿真工具。
今天给大家分享的是通过Apollo和Trucksim的联合,实现本地的实时仿真。本文档适合于初学者搭建仿真平台,研究Apollo系统。
2. 架构设计
Apollo工程核心代码是C++实现,Trucksim的常用接口有simulink, python和C。本文先给出Apollo, simulink和Trucksim联合仿真的架构以及本套仿真存在的弊病。再讲Apollo和Trucksim的联合仿真。
2.1 Apollo, simulink和Trucksim方案
simulink和Apollo可通过ros通信,由于Apollo的消息数据格式是protobuf,而simulink的ros工具只支持标准的ros msg,因此可在Apollo中添加一个格式转换的节点。simulink调用Trucksim的方案网上资源很多,本人不再赘述。
simulink方案图
2.2 Apollo,rosbridge和Trucksim方案
建立QT工程,和Apollo工程通过websocket通信. Apollo工程里增加rosbridge(Apollo 5.0后版本使用cyber_bridge), 实现ros消息(或cyber消息)和websocket的互转。QT工程发挥websocket Client作用。QT用C++实现,并调用Trucksim的动态库,达到实时运行Trucksim的作用。
rosbridge方案图
3. 功能实现
3.1 Apollo, simulink和Trucksim方案
3.1.1 Simulink配置
Simulink的工具包中有ROS的支持包,配置ROS网络地址如图2所示。Hostname/IP Address和Port分别为ROS_MASTER_URI的地址和端口号,在上面的通信机制中有说明。
配置ROS网络地址
ROS subscriber接收interface的消息,因此Topic, Message type, Sample time要与interface中程序相对应。
配置ros subcribe
为了便于调试验证,现在MATLAB端启动ROS。配置过程如下:
MATLAB设置的指令:
>> setenv('ROS_MASTER_URI','http://192.168.103.122:11311')
>> setenv('ROS_IP','192.168.103.198')
>> rosinit('192.168.103.122')
3.1.2 TruckSim配置
- 配置界面
Trucksim是向导式编程,参数配置界面:卡车选择5A Tractor(SS_SSS),具体参数见图3.控制界面:Models选择simulink。
主界面
3.2 Apollo, rosbridge和Trucksim方案
3.2.1 apollo中配置rosbridge
rosbridge安装网上教程较多,本文不再赘述。
使用方法如下:
cd ros_pkgs_ws
catkin_make
启动rosbridge
source /apollo/ros_pkgs_ws/devel/setup.bash
PATH=/usr/local/miniconda2/bin:$PATH
roslaunch rosbridge_server rosbridge_websocket.launch
3.2.1 Qt工程配置说明
3.2.1.1 Qt和CMake版本信息
3.2.1.3 Apollo工程和QT工程的接口定义
/apollo/trucksim/pose
{"op":"publish",
"topic":"/apollo/tucksim/pose",
"msg":
{
"header":
{"timestamp_sec":1572253610.76292,
"sequence_num":77},
"trucksimpose":
{"XCG_TM":30.9964522249, // 单位:m
"YCG_TM":0.657853758823, // 单位:m
"ZCG_TM":1.00644079555, // 单位:m
"YAW":-0.015505948987, // 单位:rad
"VX":7.81497285565, // 单位:m/s
"STEER_SW":2.84450684087, // 单位:rad
"AV_Y":0.133153549217, // 单位:rad/s
"GEARSTAT":5.0, // 无单位
"XCG_TM2":22.5890979801, // 单位:m
"YCG_TM2":-0.471483304991, // 单位:m
"ZCG_TM2":2.08466406388, // 单位:m
"YAW_2":-0.0253130178796, // 单位:rad
"VY":0.326368169782, // 单位:m/s
"DISTANCE":31.0034324244, // 单位:m
"DELTA_YAW":-0.015505948987, // 单位:rad
"DISTANCE_2":22.5940178822, // 单位:m
"DELTA_YAW_2":-0.0253130178796 // 单位:rad/s
}
}
}
4. 使用心得
- TruckSim模型离散时间补偿设置为0.001s,即模型更新频率为1000hz,选择每个步长更新两次的积分方法(如:AM-2, RK-2等)。
注释:
1)真车是一个高阶非线性连续系统,TruckSim通过固定时间步长离散系统来模拟真车,当模型步长选择较大时(如之前设置的0.01s),模型较不准;TruckSim模型是由悬架系统-动力系统-转向系统-制动系统-轮胎模型-空气动力学等系统构成的复杂系统,当其中一个或多个系统因为时间步长太大而很不准时,就会出现车抖动比较明显的现象。
2)模型更新频率设为1000hz是TruckSim官网推荐的,经验证,这个频率能解决车抖动问题。
- 接口线程加载频率用定时器控制,加载调用simfile.sim,license和DLL的频率设置为1000hz,与Trucksim模型离散步长一致。
注释:
受3中积分方法决定,当选择每个步长更新两次的积分方法,VS_EXT_EQ_IN和VS_EXT_EQ_OUT更新频率是加载频率的2倍,为2000hz。
#WidthFormer
实时自动驾驶!助力基于Transformer的BEV方案量产
基于BEV的transformer方案今年量产的主要方案,transformer结构和CNN相比,特征提取能力更强,但需要较多的算力,这也是为什么许多车上都是1~2颗orin芯片支持。所以如何轻量化基于Transformer的BEV方案,成为各大自动驾驶公司后面优化的重点,地平线的最新工作,将Transformer+BVE轻量化,保持了性能领先和速度领先。
WidthFormer有哪些优势?
WidthFormer是一种轻量级且易于部署的BEV变换方法,它使用单层transformer解码器来计算BEV表示。除此之外,还提出了参考位置编码(RefPE),这是一种新的用于3D对象检测的位置编码机制,以辅助WidthFormer的视图转换,重点来啦!它还可以用于以即插即用的方式提高稀疏3D检测器的性能。在nuScenes 3D检测数据集上评估了所提出的模块,结果表明RefPE可以显著提高稀疏目标检测器的性能。此外,WidthFormer在一系列3D检测架构中的性能和效率都优于以前的BEV变换方法。
代码:https://github.com/ChenhongyiYang/WidthFormer
WidthFormer在不同的3D检测架构中优于以前的方法。当使用256×704输入图像时,它在NVIDIA 3090 GPU和地平线J5芯片上实现了1.5毫秒和2.8毫秒的延迟。此外,WidthFormer对不同程度的相机扰动也表现出较强的鲁棒性。这个研究为在现实世界复杂的道路环境中部署BEV transformation方法提供了宝贵的见解。
基于BEV变换的方法一览
直观的基于IPM的方法通过3D-2D投影和插值计算BEV特征。其中的一个问题是,当平坦地面假设不成立时,BEV特征的质量将受到严重损害。在基于Lift Splat的方法中,BEV特征是通过垂直汇集投影的点云特征,并根据其预测深度进行加权来计算的。尽管Lift splat工艺具有高性能,但其效率远远不够。BEVFusion通过多线程机制加速了这个池化过程!
M2BEV通过假设均匀的深度分布来节省存储器使用。MatrixVT通过在垂直维度上压缩视觉特征来提高整体效率,然后使用有效的极坐标变换来计算BEV特征。BEVDepth结合了点云,用于改进深度估计。基于transformer的VT方法通过注意力机制直接输出BEV表示。PYVA使用交叉注意力来学习BEV特征,并使模型具有周期一致性。CVT和PETR依赖于3D位置编码来向模型提供3D几何信息。为了提高效率,最近的许多方法采用了可变形注意力。
网络结构
如图3所示,WidthFormer将多视图图像作为输入,并输出转换后的BEV特征。它首先通过合并图像的高度维度将图像特征压缩为宽度特征。然后使用RefineTransformer对宽度特征进行细化,以补偿潜在的信息损失。在添加了参考位置编码后,宽度特征被输入到转换器解码器中,用作key和value,这些key和value由根据预定义的BEV极坐标计算的BEV查询向量进行查询!
1)参考位置编码 (RefPE)
作者为基于transformer的3D检测器(例如,PETR)和本文的BEV视图变换模块设计了一种新的3D位置编码机制:参考位置编码(RefPE)。RefPE有一个旋转部分和一个距离部分。对于稀疏的3D检测器,它有另一个高度部分。旋转编码简单地通过对BEV平面上的相机射线的旋转度进行编码来计算。如(a)所示,为了计算逐点距离PE和高度PE,利用从视觉特征预测的参考系数来聚合相机射线上参考点的距离和高度PE。如(b)所示,对于宽度特征,去除高度PE,并通过使用预测的高度分布沿着图像列聚合所有逐点距离PE来计算它们的距离PE。
2) 使用WidthForme完成BEV Transformation
WidthFormer将多视图图像作为输入,并输出转换后的BEV特征。它首先通过合并图像的高度维度将图像特征压缩为宽度特征。然后使用RefineTransformer对宽度特征进行细化,以补偿潜在的信息损失。在添加了我们的参考位置编码后,宽度特征被输入到转换器解码器中,用作关键字和值,这些关键字和值由根据预定义的BEV极坐标计算的BEV查询向量进行查询。在所提出的RefPE的支持下,设计了一种新的基于transformer的BEV视图转换模块WidthFormer。形式上,WidthFormer的输入是多视图图像特征,输出是统一的BEV表示,WidthFormer的概述如图3所示!
3)细化Width特征
虽然将二维特征压缩为一维特征可以极大地提高模型的效率和可扩展性,但是不可避免的引入了信息丢失,那么有什么方法可以补偿这个丢失的信息呢?
Refine transformer。Refine Transformer是一种轻量级的transformer解码器。它通过关注其他宽度特征和原始图像特征并从中检索信息来细化初始宽度特征。如图3所示,通过MaxPooling图像特征的高度维度来计算初始宽度特征。在Refine Transformer中,宽度特征首先通过自注意操作从其他宽度特征中检索信息;然后它从相应的 使用交叉注意力操作的图像列。最后,使用前馈网络来计算最终的宽度特征。
补充任务。为了进一步提高宽度特征的表示能力,在训练过程中,用互补任务训练模型,将任务相关信息直接注入宽度特征,这是由BEVFormer v2推动的。如图3(a)所示,互补任务包括单目3D检测任务和高度预测任务。为这两个任务附加了一个FCOS3D样式的Head。头部采用1D宽度特征作为输入,并以单目方式检测3D目标。为了使其能够以1D宽度特征作为输入,进行了两个修改:(1)将所有2D卷积操作更改为1D卷积;(2) 在标签编码过程中,忽略了高度范围,只限制了宽度范围。为了使互补任务与WidthFormer保持一致,将原来的回归深度估计改为分类风格。对于高度预测,在FCOS3D头部添加了一个额外的分支,以预测目标在原始图像特征中的高度位置,这可以补充高度pooling中丢失的信息。注意,负责补充任务在模型推理过程中可以完全去除,不会影响推理效率。此外,训练辅助头只消耗<10M的额外GPU内存,因此对训练效率的影响最小!
实验结果对比
在常用的nuScenes数据集上对提出的方法进行了基准测试,该数据集分为700、150和150个场景(分别用于训练、验证和测试)。每个场景包含6个视图的图像,这些图像覆盖了整个周围环境。这里遵循官方评估协议,对3D检测任务,除了常用的平均精度(mAP)之外,评估度量还包括nuScenes(TP)误差,其包括平均平移误差(mATE)、平均尺度误差(mASE)、平均方向误差(mAOE)、平均速度误差(mAVE)和平均属性误差(mAAE),除此之外还有nuScenes检测分数(NDS)!
这里使用两种3D检测架构:BEVDet和BEVDet4D来测试提出的WidthFormer,其涵盖单帧和多帧设置。采用了BEVDet代码库中所有三个检测器的实现方式。除非另有规定,否则使用BEVDet的默认数据预处理和扩充设置。将BEV特征大小设置为128×128,将BEV通道大小设置为64。对于BEVDet4D和BEVDepth4D实验,遵循仅使用一个历史帧的原始BEVDet4D实现。所有模型都使用CBGS进行了24个epoch的训练,ImageNet预训练的ResNet-50用作默认骨干网络。所有训练和CUDA延迟测量均使用NVIDIA 3090 GPU进行。
使用PETR-DN和StreamPETR检测器的不同位置编码方法的比较。ResNet-50-DCN用作默认主干网。输入大小对于PETR-DN设置为512×1408,对于StreamPETR设置为256×704。所有模型都在没有CBGS的情况下训练了24个epoch。
使用BEVDet和BEVDet4D检测器的不同BEV视图转换方法的比较。ResNet-50被用作默认的骨干网络。输入大小设置为256×704。所有模型都使用CBGS进行了划时代训练。
在不同尺寸设置下使用BEVDet的不同VT方法的CUDA延迟和mAP权衡比较:
放大检测结果,并与nuScenes val-set上其他最先进的3D检测器进行比较。‘MF’代表多帧融合,’C'代表相机;'L'代表LIDAR!
参考
WidthFormer: Toward Efficient Transformer-based BEV View Transformation
链接:https://arxiv.org/pdf/2401.03836.pdf
#ChatSim
首个通过大语言模型实现可编辑逼真3D驾驶场景的仿真
自动驾驶中的场景仿真因其生成定制数据的巨大潜力而受到了重视。然而,现有的可编辑场景仿真方法在用户交互效率、多相机逼真渲染和外部数字资产集成方面存在局限性。为了解决这些挑战,本文介绍了 ChatSim,这是第一个通过自然语言命令实现可编辑逼真3D驾驶场景仿真并集成外部数字资产的系统。为了实现高度灵活的命令编辑,ChatSim利用了一个大型语言模型(LLM)agent协作框架。为了生成逼真的结果,ChatSim采用了一种新颖的多相机神经辐射场方法。此外,为了释放大量高质量数字资产的潜力,ChatSim采用了一种新颖的多相机光照估计方法,以实现场景一致的资产渲染。我们在 Waymo Open Dataset 上的实验表明,ChatSim能够处理复杂的语言命令并生成相应的逼真场景视频。
原文:Editable Scene Simulation for Autonomous Driving via Collaborative LLM-Agents
链接:https://arxiv.org/pdf/2402.05746.pdf
开源代码:https://github.com/yifanlu0227/ChatSim
如下所示,ChatSim能够通过语言命令编辑逼真的3D驾驶场景模拟:
ChatSim性能怎么样?
方法兼容混合、高抽象和多轮命令,在广角渲染的真实感中提高了4.5%,实现了SoTA性能。此外,证明了我们的照明估计在质量和数量上都优于SoTA方法,将强度误差和角度误差分别降低了57.0%和9.9%。现有和提出的自动驾驶模拟方法的比较。
ChatSim框架一览
图2:ChatSim系统概述。该系统利用具有专门角色的多个协作LLM agent,将总体需求解耦为特定的编辑任务。每个agent都配备了LLM和相应的角色功能来解释和执行其特定任务。
这里提出了两种新的渲染技术,以增强模拟中的照片真实性。为了解决多个相机引起的渲染挑战,提出了多相机神经辐射场(McNeRF),这是一种新的NeRF模型,考虑了不同的相机曝光时间以实现视觉一致性。为了使用特定位置的照明和精确的阴影渲染逼真的外部数字资产,提出了McLight,这是一种与我们的McNeRF相结合的新型混合照明估计方法。请注意,背景渲染agent和前景渲染agent分别利用McNeRF和McLight。
效果怎么样?
主要在Waymo开放数据集上演示了各种结果,其中包含高质量的多摄像机图像和相应的校准。对于McLight skydome估计,从在线HDRI数据库中收集449个HDRI用于自动编码器训练,并使用第二阶段的街景全景数据集HoliCity;请参阅附录中的更多数据集详细信息。在实验中,在每帧中使用前置、左前和右前摄像头。在渲染过程中,以10Hz的采样率为每个场景选择40帧,总共120幅图像。平均选择其中的1/8作为测试集,其余用于训练。输入图像以数据集1920×1280的初始分辨率使用;在所有实验中使用GPT-4作为LLM;
在复杂和混合的命令下编辑结果:
更多实验结果:
#MapNeXt
云端车端MapNeXt全搞定!面向下一代在线高精地图构建
在协作、互联和自动化移动(CCAM)中,智能驾驶车辆对周围环境的感知、建模和分析能力越强,它们就越能意识到并能够理解、做出决策,以及安全高效地执行复杂的驾驶场景。高精(HD)地图以厘米级精度和车道级语义信息表示道路环境,使其成为智能移动系统的核心组件,也是CCAM技术的关键推动者。这些地图为自动化车辆提供了了解周围环境的强大优势。高精地图也被视为隐藏的或虚拟的传感器,因为它汇集了来自物理传感器的知识(地图),即激光雷达、相机、GPS和IMU,以建立道路环境的模型。高精地图正在迅速向智能城市数字基础设施的整体表示发展,不仅包括道路几何形状和语义信息,还包括道路参与者的实时感知、天气状况、工作区域和事故的更新。大规模部署自动驾驶汽车需要由一支庞大的车队来构建和维护这些地图,这些车队协同工作,不断更新地图,使车队中的自动驾驶汽车能够正常工作。本文对这些地图在高度自动驾驶(AD)系统中的各种应用进行了广泛的综述。我们系统回顾了构建和维护高精地图的不同方法和算法的最新进展。此外还讨论并综合了高精地图分发的数据、通信和基础设施要求。最后回顾了当前的挑战,并讨论了下一代数字地图系统的未来研究方向。
高精地图发展历史
A.数字地图
现代卫星系统和图像技术的出现彻底改变了对世界精确而详细的数字表示的创建,产生了我们现在所说的数字地图,如谷歌地图、OpenStreetMap、苹果地图、Garmin和Mapbox。数字地图对道路结构和基本语义信息以及兴趣点(POI)进行编码。有几种方法和技术可以从卫星图像中提取和识别构建这些地图所需的地理特征。数字地图现在是我们日常生活中必不可少的工具,尤其是与GPS集成时。事实上,这种集成一直是构建大量数字服务的核心组成部分,最重要的是导航和路由。这些地图主要是为了帮助人类而开发的,现在可以在最新的车辆中使用,以帮助人类驾驶员。然而,这些地图的准确性和精度以及AD要求的更新时间有限,其中车辆需要一定程度的位置精度以及详细的车道级别信息。
B.增强型数字地图
数字地图已得到显著改进,以满足高级驾驶员辅助系统(ADAS)功能的要求,如车道保持辅助和自适应巡航控制(ACC)。这些增强型数字地图中的典型特征包括速度限制、道路曲率和坡度、车道信息以及交通标志和红绿灯。增强型数字地图也称为ADAS地图,目前是大多数现代车辆不可或缺的一部分,可实现ADAS功能。尽管增强型数字地图引入了车道级信息,但其几何精度和语义细节水平限制了其在更高自主水平上的适用性。在AD系统中,要求车辆相对于其环境进行高精度定位,了解当前情况,并规划无碰撞轨迹。为了达到这一自主水平,自动化车辆不仅需要获得具有厘米级位置精度和车道级几何信息的地图,还需要获得环境的3D模型,以及道路环境的所有静态和动态特征。
C.高精地图
上述要求的需要产生了我们今天所说的高精地图,或者简称为高精地图。图1突出显示了地图的演变、地图的特征和用途,以及地图所包含的信息及其精度和细节水平。
D.可扩展地图:概述
在过去的十年里,学术界和工业界都做出了巨大的研究和开发努力,将极限推向价格合理、自我维护和可扩展的高精地图。然而,在按比例构建高精地图方面存在各种悬而未决的问题。这些挑战阻碍了高精地图在自主移动方面实现其全部潜力和最终目标。这些挑战可分为以下几类。
- 1)数据收集:高精地图的数据收集可能是一个耗时且劳动密集的过程。它通常包括使用GPS、IMU、激光雷达和相机等传感器的组合来收集有关环境的详细信息。
- 2)数据通信:数据通信包括将地图数据从收集地传输到处理地以构建高精地图,最后传输到消费地,例如自动驾驶汽车。测绘车辆从不同的传感器生成大量数据,需要对这些数据进行处理以构建和更新地图。实时处理来自大量测绘车辆的这些数据确实是一个挑战。
- 3)数据处理:数据处理是通过提取构建高精地图所需的元素和特征来创建高精地图的步骤。这可能是一项非常复杂的任务,尤其是对于大型地图,因为它涉及到聚合和对齐来自多个来源的数据,并确保地图准确和最新。在地图绘制过程中涉及大量地图绘制车辆的情况下,必须确保精确的时间同步,以避免数据错位。使用GPS产生的每秒脉冲(PPS)信号进行同步往往是使所有车载传感器同步的最常见方法。
- 4)地图维护:地图维护是指根据道路环境的变化,如建筑工地、道路堵塞和道路连接的修改,不断更新高精地图的过程。由于道路环境是高度动态的,并且会发生变化,因此这一过程需要频繁的数据收集和处理工作。
- 5)数据隐私与安全:数据安全和隐私对高精地图至关重要,因为它们通常包含敏感信息,如建筑物和基础设施的位置。确保这些数据得到保护而不被滥用是一项重大挑战。
- 6)建图成本:在创建高精地图的过程中,地图成本是一个重要因素。大规模绘制地图需要使用大量的测绘车,每辆车都配备了一套昂贵的带有高精度传感器的测绘设备。在绘制大面积地图时,此成本变得非常重要。使用消费级传感器进行高精地图绘制是可能的,但这是以使用复杂的地图绘制算法为代价的。
E.主要贡献
本文对高精地图进行了深入的概述,包括其分层架构的统一模型。此外,本文强调了高精地图在模块化AD系统中的重要性,并综合了它们在各种AD核心功能中的使用方式。鉴于上述地图数据收集、通信、处理、安全和成本方面的挑战,本文广泛回顾了以往关于构建和维护高精地图的工作,包括成本效益高的解决方案以及从生成到分发的通信和地图数据需求。此外,本文还讨论了目前在构建和维护高精地图方面面临的挑战。最后,我们为未来和下一代移动高精地图提供了一些启示。这项工作的主要贡献可概括如下:
- 高精地图的独立概览,作为更广泛的智能交通系统社区的背景。
- 详细回顾高精地图在AD系统的各种核心功能中使用的最先进技术。
- 全面调查不同的方法、方法和算法,以维护不同层次的高精地图并使其保持最新。
- 讨论综合行政管理及其他方面高精地图的主要挑战和未来前景。
高精地图:概述
早期的高精地图只是ADAS中使用的增强型数字地图的扩展,它们被称为早期的地图。HD地图一词是最近才出现的,但现在已被CCAM行业广泛接受,包括一级汽车公司、地图提供商和原始设备制造商。高精地图封装了自动化车辆的所有必要信息,以非常高的精度了解驾驶环境。虽然人们普遍认为高精地图是CCAM的核心推动者,但对于什么信息构成高精地图以及如何表示这些信息,没有明确的指导方针或标准。尽管如此,市场上可用的高精地图具有共同的功能。厘米级的位置精度以及车道级几何和语义信息的可用性是大多数高精地图中的基本特征。在最基本的层面上,高精地图可以简单地是一组点和线段,其准确位置代表路标、车道标记、车道边界和车道分隔符。由于AD系统的要求,今天的高精地图变得越来越复杂,来自不同来源的数据构成了关于驾驶环境的多层信息。将高精地图分解为多个层可以使道路环境具有更结构化的数据表示。这有助于AD系统的不同组件的可访问性,这需要在不同的细节级别对环境进行建模。此外,分层数据表示使地图的构建、存储、检索和维护变得容易。图2中给出了这些分层的示例。
如上所述,有几种方式来表示AD系统中使用的地图信息,包括车道级别的细节,例如车道边界、车道标记类型、交通方向、人行横道、可驾驶区域多边形和交叉口注释。尽管驾驶环境是高度动态的,但这三层中表示的数据是静态的。环境的整体表示还应包括关于观测速度、天气条件、拥堵区、道路阻塞区(施工)等的实时交通信息。本节试图以统一的方式提供存储在这些层中的信息的全局概览。尽管大多数高精地图提供商都有自己的定义和格式,而且高精地图还没有唯一的标准,但我们将高精地图中包含的信息分为六个不同的层,如图2所示。
A.基础地图层
基础地图层是HD地图的基础,并被视为构建所有其他层的参考层。它包含环境的高度精确的三维地理空间表示,例如道路、建筑物和其他结构的位置和形状。道路环境的三维地理空间模型正成为自动驾驶汽车的重要信息来源。现在,HD地图通常包含环境的三维表示。基本地图层通常使用来自激光雷达的点云和/或来自一个或多个相机的图像创建,有时借助GPS/IMU。这套传感器构成了一个MMS,可以创建一个高度准确和详细的代表环境的3D点云。从该层提取道路和车道的几何和语义特征,以构建HD地图中的其他层。由于该层包含环境的密集数据表示,因此它在自动驾驶汽车的精确定位中发挥着至关重要的作用。点云配准的几种技术允许通过将原始传感器数据与该层的点云相匹配来估计车辆姿态。就数据处理和通信需求而言,构建和更新该层具有挑战性。
B.几何地图层
尽管基础地图层对环境的表示精确而密集,但由于其表示中缺乏有意义的特征,其支持理解环境的能力有限。HD地图中的几何图层提供了有关道路环境几何图形的详细信息,包括道路、车道、路缘石和其他特征的位置和形状。几何层通常包括有关道路宽度、车道数量、每条车道的中心线、每条道路中车道的边界以及路面高程的信息。它还包括有关路缘石、人行道、人行横道以及垂直和水平交通标志的精确位置和形状的信息。这些特征中的每一个都用基本的几何图元表示,即点、线、多线和多边形。例如,垂直交通标志的位置可以用一个点来表示。车道中心线或边界可以由一组相互连接的线段表示,例如多线。类似地,人行横道可以用多边形表示。该层的几何特征是通过处理基础地图层的数据来创建的。根据基础地图数据构建几何层通常涉及几个处理步骤,包括道路分割、车道信息提取、路标、杆、交通标志、路缘石、障碍物和路面特征。该层提供了道路特征的高度准确的车道级几何表示。HD地图中的几何特征对于各种AD核心组件至关重要,最重要的是对于动态道路参与者的精确运动预测,以及几何可行轨迹的安全规划。
C.语义地图层
语义地图层定义了由几何地图层提供的道路特征的重要性。该层中的数据为地图中表示的特征提供了上下文和意义。例如,HD地图中的语义地图层包含诸如道路类型(例如,高速公路、住宅道路)和车道(例如,可能向左或向右改变)、它们的编号、交通方向以及车道是用于转弯还是用于停车的信息。它还包括有关限速、车道边界、十字路口、人行横道、交通标志、红绿灯、停车位、公交车站和许多其他对构建环境上下文表示很重要的特征的信息。语义地图层允许自动驾驶汽车构建其环境的详细情景表示,并理解交通规则,从而能够在不同的交通场景中做出正确和安全的决策。简单地说,语义地图层为几何地图中定义的道路特征和对象分配语义标签。例如,几何图层中的点只不过是地图坐标参考系中的一组有序坐标。只有语义层定义该点是否对应红绿灯、让行标志或停车标志。众所周知,高精地图包含丰富的语义信息。语义层还将元数据与道路特征相关联,如道路曲率、推荐行驶速度和每个语义特征的唯一标识符。事实上,语义丰富的高精地图使自动驾驶汽车能够更好地了解驾驶情况,从而在复杂的场景中做出复杂的决策。然而,构建可靠且高保真的道路环境语义图并不是一个简单的过程。需要几个处理步骤,不限于场景分割、目标检测、分类、姿态估计和地图。随着计算机视觉、深度学习、传感器融合和语义SLAM算法的最新进展,构建准确的语义图成为可能。
D.道路连接层
道路连接层描述道路网络的拓扑结构以及各种几何元素是如何连接的。与只包含道路级信息和道路级连接的数字地图的标准定义相反,高精地图包含车道级几何和语义信息,因此道路之间的连接变得复杂,因为它定义了两组或多组车道之间的连接。更准确地说,这一层提供了道路的布局和连通性,包括车道边界和中心线以及十字路口。车道级连通性信息对于规划道路和车道之间的合法过渡以及规划每个交叉口允许的操作是必要的,这对自动驾驶汽车的路径规划至关重要。简单地说,该层定义了构成几何层的图元如何相互连接。这些连接是通过定义几何和语义元素的顺序对来建立的。为每个几何和语义元素分配一个唯一的标识符可以使用图形数据结构来表示这些信息,其中每个元素都由一条边和它们作为节点的连接来表示。图形结构允许快速查询和搜索地图,并有效地规划路线。
E.先验地图层
该层也被称为先验地图层,因为它表示并学习过去经验中的信息。它涉及地图中的几何和语义元素,它们的状态随时间变化。从车队的数据中学习交通流和事故区域的状态允许更有效和更具预测性的驾驶行为。该层还获取和学习有助于预测人类驾驶行为和十字路口红绿灯动态状态的信息。它还适应临时道路设置,如停车命令、占用率和时间表。例如,一些城市的路边停车场在某些工作日会发生变化,预测占用的概率,并且管理给定停车场的时间规则是从经过该停车场的不同车队车辆的先前地图层传感器读数中得出的。由于不同社会之间的社会文化差异,学习和预测道路驾驶员的驾驶行为可能具有挑战性。根据经验对这些行为进行建模对于通用和可扩展的AD系统至关重要。
F.实时地图数据
高精地图中的实时层是一个动态层,它提供有关环境的实时信息,例如交通状况、道路封闭和其他可能影响自动驾驶车辆导航的事件。该层通常是通过组合来自各种来源的数据来创建的,例如安装在车辆上或位于路边的相机、传感器和其他连接设备。通过参与车辆的众包或使用特定通信网络的智能基础设施,实时收集数据并用于更新高精地图。实时层可以包括诸如其他车辆的位置和速度、交通信号的位置和状态以及道路上是否存在施工区域或其他障碍物和堵塞物的信息。这些信息对于自动驾驶汽车实时做出安全高效的驾驶决策以优化交通流量和减少拥堵至关重要。此外,实时层可以用于通过提供关于环境的最新信息来提高HD地图的准确性和完整性,这些信息可能不会被用于创建地图的传感器捕获。简单地说,高精地图中的实时层提供了环境的动态、最新表示。动态元素的高精地图实时更新具有挑战性,需要复杂的智能通信基础设施和多个参与者之间的合作。智能交通系统(ITS)、高精地图提供商和车辆之间的数据传输必须可靠,并满足本调查稍后介绍的某些要求。
自动驾驶系统架构中的高精地图
高精地图为AD系统提供了道路环境的详细而精确的表示。这些地图包含自动驾驶汽车安全高效导航所需的车道级几何、拓扑和语义信息。在自动驾驶汽车中使用高精地图可以让他们更好地了解周围环境,规划路线,并做出更准确的驾驶决策,从而确保乘客和其他道路使用者的安全。本节讨论高精地图在AD系统中的重要性和用途。超精密地图数据现在是AD系统中大多数不同核心组件的组成部分。为了讨论高精地图在AD中的重要性和用途,我们简要介绍了典型的现代AD系统的架构和标准组件。图5显示了AD系统的标准组件,展示了那些依赖HD地图的组件。本节首先简要介绍AD系统的体系结构及其工作方式及其各种组件。本节的其余部分对依赖高精地图的AD组件的最新技术进行了广泛的回顾。
A.自动驾驶系统架构
自动化车辆是一种复杂的网络物理系统,其中不同的组件必须协同工作,以稳健、可靠和安全的方式完成整体驾驶任务。虽然不存在AD系统的独特架构,但我们在这项工作中依赖于一种通用架构,该架构有助于我们了解如何使用高精地图来改善AD系统的不同功能。类似于任何机器人系统,自动驾驶汽车都可以被视为具有三个主要元件的认知代理,(1)传感器、(2)感知和(3)行为。将这些元素拆分为一个行业级的AD系统会产生几个组件,如图5所示。现代AD系统架构中的传感组件通常包括不同的传感器,如IMU、GPS、相机、激光雷达和雷达。这些传感器的子集允许车辆知道其相对于环境的位置,即用于定位,并且剩余的传感器用于感知环境本身。传感组件的作用是读取和预处理原始传感器数据,并将其提供给AD系统的其他部分。在最简单的形式中,传感组件由一组传感器驱动器组成,用于实时读取原始传感器数据。定位组件是整个AD系统可靠运行的最关键部件之一。它的作用是精确估计车辆的位置。定位的错误会传播到AD处理管道的其余部分。定位只是一个状态估计器,它融合了来自传感组件的原始传感器数据。此外,地图的可用性允许改进和鲁棒定位,特别是在一些传感器失效或性能下降的区域。感知的作用是生成当前环境状态的中间级别表示,包括有关障碍物和道路因素的信息。此表示还包括有关车道(位置、边界、标记和类型)、交通标志、红绿灯和可驾驶区域的详细信息。计算机视觉和深度学习技术广泛用于分割、聚类和分类任务。此外,目标级融合也是该组件的重要组成部分。感知的输出是被跟踪目标的列表以及用于场景理解的图像的语义分割。来自HD地图的几何和语义信息也可以用于改进目标检测和融合。准确的感知对安全至关重要,因为感知错误会影响整个AD系统使用的信息质量。因此,使用冗余的传感器数据源可以增强感知准确性的信心,从而提高整个系统的鲁棒性。场景理解组件是AD系统中感知组件和高级认知组件给出的环境抽象中级状态表示之间的桥梁。该组件旨在通过构建高精地图和感知组件提供的数据,提供对驾驶场景的更高层次的上下文理解。在本节的后面,我们将讨论如何将这两个信息源融合,以构建用于理解驾驶环境的场景表示。AD流水线中依赖于HD地图的另一个组件是运动预测组件。它建立在场景理解提供的环境的高级时空表示的基础上,以预测车辆周围道路代理的行为。HD地图在运动预测中的作用是提供场景中每个道路代理的先前轨迹。运动预测是一个高度多模态的问题,HD地图在其中发挥着关键作用,本节将对此进行详细讨论。运动规划组件旨在计算自动驾驶汽车可行、无碰撞和安全的轨迹。这是通过优化由在HD地图数据上运行的路由算法获得的全局最短路径以及道路代理的预测轨迹来实现的。运动规划还包括行为规划功能,该功能依赖于由检测到的对象和HD地图定义的当前场景的状态。控制部件接收计划轨迹,并计算转向、制动和加速驱动系统的控制命令。控制组件没有明确依赖于地图数据,因此在本次调查中不会考虑它。最后,如图5所示,通过处理提供地图数据的请求,使用一个特殊组件为所有其他组件提供服务。高精地图数据通常存储在地图服务器(本地或云)查询的数据库中,以路由、平铺和更新车辆中地图客户端的请求。由于路由元素需要特殊的算法处理,我们将在AD系统中HD地图应用的调查中考虑它。
B.定位
AD系统中的定位组件旨在估计车辆相对于全局参考坐标系的位置和方向。其关键作用是持续保持系统中连续组件所需估计的高精度和鲁棒性。定位算法的精度决定了整个AD系统的可靠性。恶劣天气条件下定位的稳健性是现代AD系统的一个关键要求,因为退化的估计性能可能会导致严重后果和潜在损害。在过去的二十年里,对定位的重大研究取得了显著的成绩,同时也产生了各种各样的方法。为了保证正常运行条件并实现全球系统安全,自动驾驶汽车需要定位在10厘米精度以内。
C.感知
AD系统中的感知组件通常与处理原始相机图像和激光雷达点云相关联,不仅用于检测和跟踪静态目标(例如,交通标志和道路标记),还用于检测和追踪动态障碍物,例如,周围的车辆、行人和骑自行车的人。感知是AD系统的关键核心功能之一。确保其可靠性和实时性能对于确保无碰撞导航至关重要。将感知数据与高精地图各层中包含的详细而精确的几何和语义信息相融合,可以通过关注最相关的感兴趣区域(ROI)来潜在地改善感知。更准确地说,HD地图的几何形状允许定义ROI来过滤点云,只留下感知函数特别感兴趣的点云,从而简化和提高不急检测的计算效率。
D.场景理解
了解驾驶环境对于自动驾驶汽车做出正确、安全的决策至关重要。高精地图的早期动机之一是为自动驾驶汽车提供精确而详细的信息,以帮助了解其环境。该信息使AD系统能够理解当前的驾驶状况并解释构成场景的所有实体。地图中包含的几何结构和语义使系统地构建紧凑的数据模型和环境表示成为可能,从而使车辆能够处理复杂的驾驶场景。更准确地说,AD系统中的场景理解组件,在HD地图的几何和语义信息的支持下,可以始终如一地提供有意义的感知上下文。除了原始目标检测,场景理解旨在提取和估计安全关键信息,并使其可用于后续处理阶段。
E.ROUTING
道路级数字地图有助于人类驾驶员导航。这些地图中的路线计算不能超出使用道路级别连接的范围,因为这些地图不包括车道级别的详细信息。准确和优化的驾驶路线对于节省时间和能源以及促进全球车辆安全是必要的。高效和低成本的行驶路线计算必须考虑环境的车道级模型。此外,在高度动态的环境中,当自动驾驶汽车在环境中导航时,有关交通状态和车道占用的详细信息对于动态调整路线至关重要。考虑到高精地图静态层的详细和准确的车道级别信息以及先验和实时层,有效的动态路线计算是可能的。为了使自动驾驶汽车中的路由子系统能够计算从当前位置到设定目的地的可行驶路径,必须从HD地图服务器为系统提供最新的地图,如图5所示。或者,与数字地图一样,路线计算也可以作为一项服务提供。在将其准确位置发送到HD地图服务器后,可以计算最佳路线并将其反馈给车辆,以支持系统的其他核心组件。在过去的几年里,这些路由服务涉及到考虑实时交通状况和能量因素(例如,最节能的路由)。对于自动驾驶汽车,可以考虑其他因素,例如避开ADS难以导航的复杂城市环境的路线,或者具有良好网络覆盖率的路线,以保证在线服务的连续连接,包括实时高精地图服务。
F.运动规划
运动规划在AD系统中的作用是生成可行、安全、无碰撞和节能的轨迹。运动规划任务通常包括轨迹生成和行为规划。行为规划是一种高级决策功能,用于决定不同驾驶状态之间的转换,例如变道、车道内车辆跟驰、减速停车等。为了安全地进行这些转换,行为规划器需要局部地图和车辆感知来建立车辆环境的转换模型。与移动机器人中的导航不同,道路环境是高度结构化的,所有道路使用者都必须遵守交通规则。生成的AD轨迹是严格要求的,以确保遵守交通规则,并且运动在可行驶的道路区域内。自动驾驶汽车的运动规划存在不同的方法,它们都在某种程度上依赖于高精地图提供的几何和语义信息来遵守交通规则。在基于样本的运动规划方法中,HD地图的车道几何形状用于通过拒绝不可行的候选轨迹来限制搜索空间。
G.运动预测
驾驶环境是高度动态的,涉及不同的道路参与者,如行人、车辆和骑自行车的人。预测这些道路参与者未来的运动和行为对于自动驾驶汽车构建其互动环境的上下文感知表示至关重要,从而预测潜在的危险情况。从抽象的角度来看,这些交通参与者可以被认为是一个复杂的多智能体系统。事实上,开发可靠的道路代理运动和行为预测解决方案将提高自动驾驶汽车的安全性和能力,以适应现实世界交通条件下的类人行为。预测这些交通参与者的行为对AD系统至关重要,主要用于风险评估和安全舒适的运动规划。运动预测是指根据道路代理的当前状态和他们所处环境的模型来估计他们的未来行为。各种研究工作已经解决了预测道路参与者未来运动的问题。
H.第三方应用
高精地图可以提供准确可靠的GT数据,可作为校准传感器输出的参考。例如,激光雷达可以使用高精地图几何元素的高精度坐标进行校准,并与IMU完美配准。通过将传感器测量值与HD地图数据进行比较,可以识别和纠正任何错误或差异,从而改进传感器的校准。此外,高精地图可用于在线(自行)校准。高精地图、实时原始传感器数据和执行比较的算法的可用性使计算传感器测量值和GT间的误差成为可能。因此,它允许实时地连续校正传感器的校准误差。这使得AD系统能够对不断变化的环境条件以及传感器性能变化更加稳健和可靠。与离线校准方法相比,在线校准可以实现更准确、更稳健的传感器校准。最近,高精地图还可以用于增强道路注释,以创建用于交通地标检测的大型数据集。
构建高精地图
A. 移动建图系统
构建高精地图是一个复杂的过程,需要几个步骤。构建高精地图程序的第一步是派遣配备一套高精度和校准良好的传感器的专业车辆来调查和收集有关环境的数据。用于建图的数据采集车辆可能配备有与RTK(实时运动学)定位精度高达几厘米的校正服务连接或实现校正服务的高精度GNSS。GNSS定位测量通常与高性能IMU(惯性测量单元)和车轮里程计的测量相融合。有几种商业产品将全球导航卫星系统和IMU作为惯性导航系统集成在一个单元中。建图车辆还配备了一个或多个高分辨率激光雷达和摄像头,以收集道路环境的原始3D/2D数据。有两种方法可以设置用于绘制地图的数据收集工具。首先是购买上述传感器,选择合适的配置并将其安装在车辆上。尽管这种方法提供了预先定义传感器配置的灵活性;然而,将几个不同的传感器校准到绘图所需的精度并不是微不足道和耗时的,尤其是对于相机。或者,一些制造商在一个封装中提供整套传感器,称为移动建图系统(MMS)。商用MMS的示例如图6所示。
高精地图维护
拥有最新的高清地图对于各种AD核心组件的正确运行至关重要。高清地图中的错误可能会由于系统做出的不当决定而导致严重损坏。通过地图车辆的频繁更新,可以避免错误的决策。由于新的基础设施建设、道路维护和车道扩建,道路环境高度动态,可能会发生频繁变化。绘制地图的车辆必须能够检测到环境的变化,并发送它们来更新地图。地图更新过程涉及复杂的处理步骤,包括处理来自不同规模的多个来源和传感器的数据,识别存储的地图和新收集的环境数据之间的偏差,并最终整合这些偏差来更新地图的不同层。文献中已经开发了几种方法和方法来捕捉高清地图的变化并进行更新。在下文中,我们回顾了检测高清地图变化的不同方法和方法,以及如何将这些信息应用于更新地图。我们调查以前维护高清地图的工作所遵循的方法是基于分析每种最先进的方法维护的图层,如表3所示。
A.地图变换检测
高清地图中的变化检测是指识别环境变化的过程,如新建筑、道路封闭等。随后相应地更新地图的图层。高清地图会定期发生变化,拥有一张可以被自动驾驶汽车信任的地图对于保证导航安全至关重要。变化检测通常通过使用各种传感器来实现,如相机、激光雷达和雷达,并结合计算机视觉算法和机器学习技术。甚至在高清地图出现之前,变化检测算法就已经在许多应用中找到了用武之地。遥感是地图变化检测和更新的早期应用之一。它还成功应用于城市监测、森林变化、危机监测、三维地理信息更新、施工进度监测和资源调查。在这些应用程序的最基本层面上,问题相当于比较原始传感器数据,主要是3D点云、2D图像或两者结合。
B.地图数据更新
HD地图维护的第二阶段是基于变化检测的结果来更新地图元素。简单地说,地图更新相当于一个概率数据融合问题。近乎实时地持续监测不断变化的环境中的变化,并融合时间和空间上的不同数据模式,以及从不同来源更新多个层,这确实是一项具有挑战性的任务。Cadena等人在他们的调查论文中指出,更新和维护大型自动驾驶汽车车队创建和使用的高清地图的分布式过程是未来研究的一个令人信服的主题。朝着这个方向,Kim等人提出了一种从众包点云数据中保持新特征图层最新的解决方案。这种新的特征图形成了构建HD地图的不同语义和几何特征的基础。
高清地图的数据和通信基础设施
大规模构建和维护高清地图是多个利益相关者之间的数据交换问题,例如,作为ITS路边基础设施所有者的政府、地图提供商和车辆,如图7所示。地图数据的收集、构建、维护和分发需要可靠的通信和分布式计算基础设施。本节讨论了扩展高清地图的创建、维护和分发所需的数据和通信基础设施。
挑战和未来展望
尽管CCAM在过去十年中取得了显著进步,但实现车辆的完全自主仍然是一个尚未解决的挑战。对于要大规模部署的自动驾驶汽车来说,高清地图的可扩展解决方案至关重要。在本节中,我们阐明了需要解决的各种挑战,以充分发挥高清地图CCAM的潜力。毫无疑问,在利益相关者之间构建、维护和分发地图数据的成本效益和灵活性解决方案的可用性将大大提高CCAM在未来几代智能城市中的可扩展性。此外,我们还讨论了高清地图的未来前景和应用。
A.挑战
- 标准化与数据表示:高清地图的概念已被广泛接受,成为CCAM的一项关键技术。然而,对于如何表示地图数据、需要多少层、每个层中必须存储什么地图数据以及以何种数据格式存储地图数据,没有达成一致意见。由于高清地图的复杂性及其包含的大量数据和信息,很难为其定义一个通用标准,因此创建一个全面且易于理解、存储、维护、更新和有效分发的标准具有挑战性。为地图数据定义一个通用标准将提供更多的数据兼容性,方便访问数据,同时降低开发和集成成本。此外,这将提高数据的质量、一致性和隐私性,从而提高包括自动化车辆在内的所有参与者的道路安全。
- 可扩展性:可扩展的高清地图解决方案对自动驾驶汽车的大规模部署至关重要。构建城市、地区和全国范围的高清地图并保持其更新仍然是一个巨大的挑战,尤其是在处理用于表示几何道路特征和交通标志的不同标准、交通规则和条例时。这些标准因地区而异。映射算法必须是通用的,并且能够在不同的地区和国家工作。映射应该是一个连续的数据收集和处理过程,以修复已更改的区域。这一过程在大的地理区域变得具有挑战性,在这些区域,大量的车辆必须成为地图绘制过程的一部分。绘制地图的成本直接取决于要绘制地图的区域有多大以及为其服务所需的车辆数量。正如本文早期所讨论的,绘制地图的车辆非常昂贵。此外,使用配备消费级传感器的单独车辆需要复杂的算法,这些算法尚未成熟。
- 网络和计算基础设施:在构建和更新可扩展高清地图的情况下,处理和处理大量数据需要可靠的网络和计算基础设施,该基础设施应协调且接近实时。随着5G/6G蜂窝通信、物联网(IoT)和边缘计算架构的出现,车载通信的许多机会普遍可用,处理构建高清地图的解决方案成为商业上可行的选择。这些通信和计算基础设施旨在处理此类数据密集型应用程序,并满足其延迟和带宽要求。具有大量联网车辆的大规模众包地图将是这些基础设施的主要应用之一。
- 建图算法的限制:尽管在构建高清地图的自动化过程中付出了巨大的研发努力,但高清地图的最新研究结果清楚地表明,用于提取高清地图特征和构建道路和车道拓扑的地图算法仍然局限于简单的特征。目前最先进的算法可以检测简单的几何特征,但无法处理高曲率特征,例如环形交叉路口。此外,这些方法中的大多数都需要几个后处理步骤才能以合适的矢量格式获得特征。地图语义特征仍然局限于极少数且易于检测的交通标志。最近很少有工作开始解决构建车道拓扑以构建简化的道路/车道连接网络的问题。开发一个通用的地图管道可以构建一个包含几何、语义和拓扑信息的全功能高清地图。建造这样一条管道仍然是一个挑战。
- 地图数据所有权、隐私、完整性和分发:构建和维护高清地图的未来将是自动化和分发数百万辆汽车所涉及的过程。从环境中收集、处理和存储大量分布式数据引起了对数据所有权、隐私、完整性和分发的一些担忧。原始地图数据是在车辆中生成的,与来自公共当局的其他数据源聚合,由地图提供商处理和分发。从收集到分发的地图数据所有权可能需要在大规模高清地图中解决。此外,保护个人和车辆的隐私至关重要,在绘图过程中必须加以考虑。地图数据可以包括敏感的用户信息,例如车辆的精确位置以及车辆环境的精确描述。必须确保高清地图数据的完整性,以避免错误和致命的决策,尤其是在自动驾驶汽车使用时。构建准确可靠的高清地图仍然是一个正在进行的研究问题。商用高清地图通常要经过人工检查和验证。从多个数据源生成准确可靠的高清地图数据,例如通过众包生成,带来了一些有待解决的技术问题。可扩展高清地图的所有权、隐私和完整性最近开始引起研究人员的注意。另一方面,区块链由于其分布式和安全性,已被证明是一种很有前途的解决方案,可确保数据完整性。构建和更新可扩展高清地图,同时保持数据的可追溯性、隐私性和完整性的用例是区块链的完美应用。这项技术有望在构建和分发下一代高清地图方面发挥核心作用。
B.未来方向
- 精准:精确定位一直是将高清地图引入自动驾驶汽车的主要动机之一。道路环境的密集、紧凑表示的存在是高清地图的基础;尤其是在本地化方面。HD地图中包含的信息密度和处理这些信息所需的计算工作量之间一直存在折衷。神经3D场景表示的最新进展使以非常紧凑的表示方式重建真实感3D场景成为可能。使用神经辐射场(NeFR)表示基础地图层允许受益于该层的紧凑和真实感表示。这项技术可能会让自动驾驶汽车进入一个新时代。
- 自动驾驶以外的应用:高清地图的开发主要是为了帮助自动驾驶汽车了解环境并在环境中安全导航。由于高清地图提供了详细而精确的环境表示,因此也可以用于提高经典数字地图提供的各种服务的质量。此外,高清地图在残疾人数字辅助技术中发挥着重要作用。如果视障人士配备了合适的传感器,并能够获得高度精确、详细和语义丰富的环境表示,他们的行动能力和安全性可以显著提高。如果精确定位,数字辅助设备将能够解释和理解环境,从而生成语音导航消息以实现安全导航。行人高清地图中交通信号灯和其他交通信息的实时状态与增强这些设备的功能有关。目前,大多数高清地图提供商只提供代表车辆环境的地图。今天的高清地图中仍然没有绘制车辆以外参与者的路线图,例如行人人行道和自行车道。为所有参与者构建和更新高清地图将为实现广泛的自主和非自主导航以及一些有用的数字服务铺平道路。
- 面向数字孪生:环境数字孪生是环境的整体数字表示,包括其所有物理和功能特征。城市规模的数字孪生是CCAM中的一个新兴概念,旨在构建一个数据驱动的模型,该模型将来自物联网传感器、联网车辆、建筑、智能基础设施和交通网络以及所有其他数据源的各种来源的数据相结合,以帮助创建一个全面、实时的城市模型,从而改善道路服务。这一概念将高清地图作为联网和自动驾驶汽车的数字模型概括为帮助社会中所有实体的整体数字模型。数字孪生甚至可以用于对环境中不同实体的行为进行建模,即使是在微观细节层面上。高清地图将是数字孪生的单个模块,支持我们智能城市中联网和自动驾驶汽车的不同功能和服务。由于高清地图可用于模拟复杂的驾驶场景,数字孪生将用于模拟和分析这些车辆的复杂城市规模场景。数字孪生将允许研究、分析和模拟新开发项目的影响或交通模式变化的影响,并可以帮助城市规划者和决策者通过预测未来情景来分析和优化城市的表现,并确定改进的机会。建立一个城市规模的数字孪生确实是一个巨大的挑战,需要大量的数据,而且这可能是一个复杂而耗时的过程。分布式大量数据的交叉验证、完整性和可信度仍然是创建数字双胞胎的挑战。车辆的众包道路地图绘制将被同时使用异构连接传感器的大量数据进行室外和室内地图绘制的统一过程所取代。
结论
高清地图仍然是现实世界CCAM应用程序的一个快速发展的方面,推动了该领域的创新和进步。尽管在高清地图在AD系统中的应用以及构建和维护高清地图的算法和基础设施方面进行了大量的研究和开发工作,但很少有文献可以总结和提供这些工作的立足点。本文广泛回顾了以往关于构建和维护高清地图的工作,包括成本效益高的解决方案,以及从生成到分发的通信和地图数据要求。此外,本文还讨论了当前在构建和维护高清地图方面面临的挑战。更准确地说,我们提供了高清地图的独立概述,作为更广泛的智能交通系统社区的背景。我们还讨论和分析了将高清地图用于AD系统中各种核心功能的最新技术。此外,我们广泛讨论和回顾了构建不同层次的高清地图并使其保持最新的不同方法、方法和算法。最后,我们对下一代移动应用的高清地图的未来发展进行了一些说明。
#ADMap
用于重建在线矢量化高精地图的抗干扰框架
- 论文链接:https://arxiv.org/pdf/2401.13172.pdf
- 代码链接:https://github.com/hht1996ok/ADMap
本文介绍了ADMap:用于重建在线矢量化高精地图的抗干扰框架。在自动驾驶领域中,在线高精(HD)地图重建对于规划任务是至关重要的。最近的研究已经开发了若干种高性能的高精地图重建模型来满足这一需求。然而,由于存在预测偏差,实例向量内的点序列可能存在抖动或者锯齿状,这会影响后续任务。因此,本文提出了抗干扰地图重建框架(ADMap)。为了缓解point-order抖动,该框架由三个模块组成:多尺度感知neck(MPN)、实例交互注意力(IIA)和矢量方向差损失(VDDL)。通过以级联方式探索实例之间和实例内部的point-order关系,该模型可以更有效地监测point-order预测过程。ADMap在nuScenes和Argoverse2数据集上实现了最先进的性能。大量结果表明,它能够在复杂且多变的驾驶场景中生成稳定且可靠的地图元素。
在自动驾驶领域,在线高清地图重建对于规划和预测任务具有重要意义,近期的工作构建了许多高性能的高清地图重建模型来满足这一需求。然而矢量化实例内部的点序由于预测偏差可能会出现抖动或锯齿现象,从而影响后续任务。因此,我们提出了Anti-Disturbance Map reconstruction framework(ADMap)。本文希望兼顾模型速度和整体的精度,并且在部署时不会让工程师们感到困扰。因此,提出了三个高效且有效的模块:Multi-Scale Perception Neck(MPN)、Instance Interactive Attention(IIA)和Vector Direction Difference Loss(VDDL)。通过级联的探索实例间和实例内部的点序关系,我们的模型更好地监督了点序的预测过程。
我们在nuScenes和Argoverse2中验证了ADMap的有效性。实现结果表明,其在各基准中均取得最佳性能。nuScenes基准中,ADMap在camera-only框架下和多模态框架下的mAP相较基准分别提高4.2%和5.5%。ADMapv2不仅减少了推理延迟,还有效提高了基线性能,其最高mAP达到了82.8%。在Argoverse中ADMapv2的mAP提高为62.9%,同时还保持了14.8FPS。
本文的贡献如下:
1)本文提出了端到端ADMap,它可以重建更稳定的矢量化高精地图;
2)MPN在不增加计算资源的情况下更精确地捕获多尺度信息,IIA实现了实例之间和实例内部信息之间的有效交互,以缓解实例点位置偏移的问题。VDDL对矢量方向差进行建模,并且使用拓扑信息来监督point-order位置的重建过程;
3)ADMap能够实时重建矢量化高精地图,并且在nuScenes和Argoverse2基准测试中实现了最佳性能。
论文图片和表格
如图1所示,实例中的预测点往往会不可避免的出现抖动或偏移现象,这种抖动会导致重建后的实例矢量变得不平滑或锯齿状,严重影响了在线高精地图的质量和实用性。我们认为,其原因在于现有模型并未充分考虑实例间和实例内部的交互方式,实例点与地图拓扑信息不完全的交互会导致其预测位置的不准。此外仅通过L1 loss和cosine embedding loss等监督无法有效的利用几何关系来约束实例点的预测过程,网络需要利用各点间的矢量线段来精细捕捉点序的方向信息以更准确的约束每个点的预测过程。
方法设计
如图2所示,ADMap通过多尺度感知颈(Multi-Scale Perception Neck,MPN)、实例交互注意力(Instance Interactive Attention,IIA)和矢量方向差损失(Vector Direction Difference Loss,VDDL)来更精细地预测点序拓扑结构。下面将分别介绍MPN、IIA以及VDDL。
实验
为了公平的评估,我们将地图元素分为车道线、道路边界和人行横道三种。采用平均精度(AP)来评估地图构建的质量,使用预测点序和真实点序的chamfer距离之和来判断两者是否匹配。Chamfer距离阈值设置为[0.5, 1.0, 1.5],我们分别在这三种阈值下计算AP,并将平均值作为最终指标。
对比实验
表1报告了ADMap和最先进方法在nuScenes数据集的指标。在camera-only框架下,ADMap的mAP相较于baseline(MapTR)提高了5.5%,ADMapv2相较于baseline(MapTRv2)提高了1.4%。ADMapv2最高mAP达到82.8%,取得当前基准中最佳性能,部分细节会在后续arxiv版本中公布。在速度方面,ADMap相较于其baseline在FPS略微降低的情况下显著提高模型性能。值得一提的是,ADMapv2不仅提高了性能,在模型推理速度方面也有提升。
表2报告了ADMap和最先进方法在Argoverse2中的指标。在camera-only框架下,ADMap和ADMapv2相较于baseline分别提高了3.4%和1.3%。在多模态框架下,ADMap和ADMapv2达到了最佳性能,mAP分别为75.2%和76.9%。在速度方面。ADMapv2相较于MapTRv2提升了11.4ms。
消融实验
在表 3 中,我们提供了在 nuScenes 基准上ADMap各个模块的消融实验。
表4给出了插入不同注意力机制对于最终性能的影响。DSA表示decoupled self-attention,IIA表示实例交互注意力。结果表示IIA相较于DSA,mAP提高1.3%。
表5报告了在融合特征后增加backbone和neck层对mAP的影响。增加基于SECOND的backbone和neck层后,mAP提高了1.2%。而增加MPN后,在不增加推理时间的前提下,模型的mAP提高了2.0%。
表6报告了在nuScenes基准中增加VDDL对性能的影响。可以看到,当权重设置为1.0时,mAP最高,达到了53.3%。
表7报告了在nuScenes基准中,MPN下采样层数对最终性能的影响。下采样层数越多,模型推理速度越慢。因此,为了平衡速度和性能,我们设置了下采样层数为2。
为了验证ADMap有效缓解了点序扰动问题,我们提出了average chamfer distance(ACE)。我们挑选了chamfer distance之和小于1.5的预测实例,并计算它们的average chamfer distance(ACE)。当ACE越小代表实例点序预测的越准确。表8证明了ADMap可以有效缓解点云扰动这一问题。
可视化结果
下面两幅图为nuScenes数据集和Argoverse2数据集中的可视化结果。
总结
ADMap是一种有效且高效的矢量化高精地图重建框架,其通过多尺度感知Neck、实例交互注意力和矢量方向差损失这三个模块,有效地缓解了由实例点抖动造成的地图拓扑失真问题。大量实验表明,本文所提出的方法能够在nuScenes和Argoverse2基准上获得最佳性能,其高效性也得以验证。我们相信,ADMap可以帮助社区推动有关矢量化高精地图重建任务的研究,以更好地发展自动驾驶等领域。
#LidaRF
研究用于街景神经辐射场的激光雷达数据
光真实感模拟在自动驾驶等应用中发挥着关键作用,其中神经辐射场(NeRFs)的进步可能通过自动创建数字3D资产来实现更好的可扩展性。然而,由于街道上相机运动的高度共线性和在高速下的稀疏采样,街景的重建质量受到影响。另一方面,该应用通常需要从偏离输入视角的相机视角进行渲染,以准确模拟如变道等行为。LidaRF提出了几个见解,允许更好地利用激光雷达数据来改善街景中NeRF的质量。首先,框架从激光雷达数据中学习几何场景表示,这些表示与基于隐式网格的辐射解码表示相结合,从而提供了由显式点云提供的更强几何信息。其次,提出了一种鲁棒的遮挡感知深度监督方案,允许通过累积使用密集的激光雷达点。第三,根据激光雷达点生成增强的训练视角,以进一步改进,方法在真实驾驶场景下的新视角合成中取得了显著改进。
LidaRF的贡献主要体现在三个方面:
(i)融合激光雷达编码和网格特征以增强场景表示。虽然激光雷达已被用作自然的深度监督源,但将激光雷达纳入NeRF输入中,为几何归纳偏置提供了巨大的潜力,但实现起来并不简单。为此,采用了基于网格的表示法,但将从点云中学习的特征融合到网格中,以继承显式点云表示法的优势。受到3D感知框架成功的启发,利用3D稀疏卷积网络作为一种有效且高效的架构,从激光雷达点云的局部和全局上下文中提取几何特征。
(ii)鲁棒的遮挡感知深度监督。与现有工作类似,这里也使用激光雷达作为深度监督的来源,但更加深入。由于激光雷达点的稀疏性限制了其效用,尤其是在低纹理区域,通过跨邻近帧密集化激光雷达点来生成更密集的深度图。然而,这样获得的深度图没有考虑到遮挡,产生了错误的深度监督。因此,提出了一种健壮的深度监督方案,采用class学习的方式——从近场到远场逐步监督深度,并在NeRF训练过程中逐渐过滤掉错误的深度,从而更有效地从激光雷达中学习深度。
(iii)基于激光雷达的视图增强。此外,鉴于驾驶场景中的视图稀疏性和覆盖有限,利用激光雷达来密集化训练视图。也就是说,将累积的激光雷达点投影到新的训练视图中;请注意,这些视图可能与驾驶轨迹有一定的偏离。这些从激光雷达投影的视图被添加到训练数据集中,它们并没有考虑到遮挡。然而,我们应用了前面提到的监督方案来解决遮挡问题,从而提高了性能。虽然我们的见解也适用于一般场景,但在这项工作中,更专注于街道场景的评估,与现有技术相比,无论是定量还是定性,都取得了显著的改进。
LidaRF在需要更大程度偏离输入视图的有趣应用(如变道)中也显示出优势,在具有挑战性的街道场景应用中显著提高了NeRF的质量。
LidaRF整体框架一览
LidaRF概述如下所示,它以采样的3D位置x和射线方向d作为输入,并输出对应的密度α和颜色c。它采用稀疏UNet融合了哈希编码和激光雷达编码。此外,通过激光雷达投影生成增强的训练数据,并使用提出的健壮深度监督方案训练几何预测。
1)激光雷达编码的混合表示法
激光雷达点云具有强大的几何指导潜力,这对NeRF(神经辐射场)来说极具价值。然而,仅依赖激光雷达特征来进行场景表示,由于激光雷达点的稀疏性(尽管有时间累积),会导致低分辨率的渲染。此外,由于激光雷达的视野有限,例如它不能捕获超过一定高度的建筑物表面,因此在这些区域中会出现空白渲染。相比之下,本文的框架融合了激光雷达特征和高分辨率的空间网格特征,以利用两者的优势,并共同学习以实现高质量和完整的场景渲染。
激光雷达特征提取。在这里详细描述了每个激光雷达点的几何特征提取过程,参照图2,首先将整个序列的所有帧的激光雷达点云聚合起来,以构建更密集的点云集合。然后将点云体素化为体素网格,其中每个体素单元内的点的空间位置进行平均,为每个体素单元生成一个3维特征。受到3D感知框架广泛成功的启发,在体素网格上使用3D稀疏UNet对场景几何特征进行编码,这允许从场景几何的全局上下文中学习。3D稀疏UNet将体素网格及其3维特征作为输入,并输出neural volumetric 特征,每个被占用的体素由n维特征组成。
2)鲁棒深度监督
除了特征编码外,还通过将激光雷达点投影到图像平面上来从它们中获取深度监督。然而,由于激光雷达点的稀疏性,所得益处有限,不足以重建低纹理区域,如路面。在这里,我们提出累积相邻的激光雷达帧以增加密度。尽管3D点能够准确地捕获场景结构,但在将它们投影到图像平面以进行深度监督时,需要考虑点之间的遮挡。遮挡是由于相机与激光雷达及其相邻帧之间的位移增加而产生的,从而产生虚假的深度监督,如图3所示。由于即使累积后激光雷达的稀疏性,处理这个问题也非常困难,使得诸如z缓冲之类的基本原理图形技术无法应用。在这项工作中,提出了一种鲁棒的监督方案,以在训练NeRF时自动过滤掉虚假的深度监督。
遮挡感知的鲁棒监督方案。本文设计了一个class训练策略,使得模型最初使用更近、更可靠的深度数据进行训练,这些数据更不容易受到遮挡的影响。随着训练的进行,模型逐渐开始融合更远的深度数据。同时,模型还具备了丢弃与其预测相比异常遥远的深度监督的能力。
回想一下,由于车载摄像头的向前运动,它产生的训练图像是稀疏的,视野覆盖有限,这给NeRF重建带来了挑战,尤其是当新视图偏离车辆轨迹时。在这里,我们提出利用激光雷达来增强训练数据。首先,我们通过将每个激光雷达帧的点云投影到其同步的摄像头上并为RGB值进行插值来为其上色。累积上色的点云,并将其投影到一组合成增强的视图上,生成如图2所示的合成图像和深度图。
实验对比分析