
点击下方卡片,关注“自动驾驶之心”公众号
作者 | 高毅鹏
编辑 | 自动驾驶之心
原文链接:https://zhuanlan.zhihu.com/p/2024469168322265851
本文只做学术分享,如有侵权,联系删文
>>自动驾驶前沿信息获取→自动驾驶之心知识星球

在2022年之前,自动驾驶行业高度依赖预采集的离线高精地图。这一时期的技术特点包括:
2023年开始,行业逐步转向“无图智驾”方案,利用在线生成的矢量地图结合轻量化地图(LD Map)实现自动驾驶。这一阶段的技术特征为:
面向2025年及未来,技术发展呈现以下趋势:


HDMapNet是静态道路结构感知领域的开创性工作,首次提出了局部在线地图构建的完整框架。其技术架构包含以下核心模块:
HDMapNet的主要贡献在于首次验证了在线建图的可行性,但其采用的后处理流程较为复杂,推理速度受限。

VectorMapNet 让自动驾驶车通过摄像头和激光雷达,直接输出矢量格式的局部高精地图,而不是像素图片。

VectorMapNet── 问题定义│ ├── 输入:多摄像头图像 + 激光雷达点云│ ├── 输出:矢量格式局部 HD 地图│ └── 优势:端到端、无需后处理│├── 核心创新│ ├── 点集表示 polyline│ ├── 两阶段检测(粗→细)│ └── 自回归生成点序列│├── 架构组成│ ├── BEV 特征提取器│ │ ├── CNNs(图像)│ │ ├── PointPillars(点云)│ │ └── IPM + Voxelization│ ││ ├── Map Element Detector│ │ ├── Element Query 设计│ │ ├── Transformer Decoder│ │ ── Deformable Attention│ ││ └── Polyline Generator│ ├── 细化几何特征│ ├── 自回归点序列生成│ └── EOS 结束标记│├── 训练目标│ ├── L_det(检测损失)│ │ ├── 关键点位置│ │ └── 元素分类│ ││ ── L_gen(生成损失)│ └── 点序列概率分布│└── 输出格式 ├── Drivable Area(可行驶区域) ├── Boundary(边界) ├── Ped Crossing(人行横道) └── Divider(车道分隔线)什么是矢量地图? | 用点序列表示道路元素(车道线、路沿等),而不是像素网格。
例:
一条车道线 = [(x1,y1), (x2,y2), (x3,y3)...] | ✅ 矢量 = 数学坐标✅ 紧凑、精确✅ 适合规划系统使用
为什么用 polyline? | polyline(折线)由点构成,点的顺序天然表示方向。
Planner(规划系统)接口方便。 | ✅ 点集表达灵活✅ 方向信息内置✅ 接口友好
整体流程是什么? | 传感器数据 → BEV 特征 → Map Element Detector → Polyline Generator → 矢量地图 | ✅ 两阶段检测✅ 先框架后细化
怎么训练的? | Loss = 检测损失 + 生成损失检测:关键点位置 + 分类生成:点序列概率分布 | ✅ 多任务联合优化✅ 自回归生成
多摄像头图像 + 激光雷达点云 ↓ 转换到鸟瞰视角(BEV) ↓ 统一特征表示为什么是BEV视角?因为地图是俯视的,这样最直观。
输入:BEV 特征 + Element Query(查询向量) ↓ Transformer Decoder ↓输出:关键点位置 + 元素类型Element Query 是什么?
关键点表示方式:

输入:检测到的元素框架 ↓ 自回归生成点序列 ↓输出:精细的矢量坐标自回归是什么意思?
3️⃣ Loss 函数设计
总 Loss = 检测 Loss + 生成 Loss检测 Loss = 关键点位置误差 + 分类误差生成 Loss = 生成点序列的概率对数似然直观理解:



┌─────────────────────────────────────────────────────────┐│ MapTR v1 架构 │├─────────────────────────────────────────────────────────┤│ ││ 传感器数据 (摄像头 + 激光雷达) ││ ↓ ││ ┌─────────────────┐ ││ │ Map Encoder │ 2D 图像 → BEV 特征 ││ │ (Backbone) │ 点云 → BEV 特征 ││ └────────┬────────┘ ││ ↓ ││ ┌─────────────────┐ ││ │ BEV Features │ 256×256×256 鸟瞰特征图 ││ └────────┬────────┘ ││ ↓ ││ ┌─────────────────────────────────────────────────┐ ││ │ Map Decoder (Transformer) │ ││ │ ┌─────────────┐ ┌─────────────┐ │ ││ │ │ Instance │ │ Point │ │ ││ │ │ Query │────▶│ Query │ │ ││ │ │ (元素级) │ │ (点级) │ │ ││ │ └─────────────┘ └─────────────┘ │ ││ └─────────────────────────────────────────────────┘ ││ ↓ ││ ┌─────────────────────────────────────────────────┐ ││ │ Hierarchical Bipartite Matching │ ││ │ Layer1: 实例级匹配 (分类 + 位置) │ ││ │ Layer2: 点级匹配 (点序列对齐) │ ││ └─────────────────────────────────────────────────┘ ││ ↓ ││ 输出:矢量地图 (ped crossing, divider, boundary) ││ │└─────────────────────────────────────────────────────────┘用 点集 (Point Set) 统一表示所有地图元素(车道线、边界、人行横道)
✅ 方向灵活性,位置关系之间的不变性✅ 端到端输出
✅ 两层次 Query✅ 分层匹配策略
预测:Ŷ = {ŷ₁, ŷ₂, ..., ŷₙ} (每个ŷ = 点集 + 类型)真值:Y = {y₁, y₂, ..., yₘ}Step 1: 实例级匹配┌────────────────────────────────────────────┐│ 找哪个预测对应哪个真值元素 ││ min Σ [L_Focal(分类) + L_position(位置)] ││ 类似"这是车道线还是边界" + "大概在哪" │└────────────────────────────────────────────┘ ↓Step 2: 点级匹配┌────────────────────────────────────────────┐│ 在实例匹配基础上,对齐点序列 ││ min Σ D_Manhattan(点坐标) ││ 类似"这条线的每个点精确位置" │└────────────────────────────────────────────┘Loss 函数设计? | L = λL_cls + αL_p2p + βL_dir
✅ 多任务联合✅ 几何 + 语义

v2 相比 v1 改进什么?
┌─────────────────────────────────────────────────────────┐│ MapTR v2 vs v1 改进对比 │├─────────────────────────────────────────────────────────┤│ ││ 1️⃣ 增加 centerline 元素类型 ││ ┌──────────────────────────────────────┐ ││ │ v1: ped crossing, divider, boundary │ ││ │ v2: + centerline (车道中心线) │ ││ │ → 更丰富的地图语义 │ ││ └──────────────────────────────────────┘ ││ ││ 2️⃣ Decoupled Self-Attention (解耦自注意力) ││ ┌──────────────────────────────────────┐ ││ │ v1: 全局自注意力,计算量大 │ ││ │ v2: 实例内计算,实例间分离 │ ││ │ → 计算量↓ 效率↑ │ ││ └──────────────────────────────────────┘ ││ ││ 3️⃣ 辅助头监督 ││ ┌──────────────────────────────────────┐ ││ │ 在 Decoder 中间层加监督信号 │ ││ │ → 梯度传播更好,收敛更快 │ ││ └──────────────────────────────────────┘ ││ ││ 4️⃣ 分层级 Query Embedding ││ ┌──────────────────────────────────────┐ ││ │ qᵢʰᵉ = qⁱⁿˢ + qⱼᵖᵗ │ ││ │ 实例 Query + 点 Query 融合 │ ││ │ → 更好的层次表示 │ ││ └──────────────────────────────────────┘ ││ ││ 5️⃣ 固定方向编码 ││ ┌──────────────────────────────────────┐ ││ │ 线性元素使用固定方向 │ ││ │ → 减少学习难度,更稳定 │ ││ └──────────────────────────────────────┘ ││ │└─────────────────────────────────────────────────────────┘#### Decoupled Self-Attention 详解v1 的 Self-Attention:┌────────────────────────────────────────┐│ 所有 Query 互相计算注意力 ││ 计算量:O((N×nᵥ)²) ││ N=实例数,nᵥ=每实例点数 ││ → 计算爆炸! │└────────────────────────────────────────┘v2 的 Decoupled Self-Attention:┌────────────────────────────────────────┐│ 1) 实例内自注意力 ││ 每个元素的点之间计算 ││ 计算量:O(N × nᵥ²) ││ ││ 2) 实例间自注意力 ││ 不同元素之间计算 ││ 计算量:O(N²) ││ ││ 总计算量:O(N × nᵥ² + N²) << O((N×nᵥ)²)││ → 效率提升显著! │└────────────────────────────────────────┘ ✅ 效率提升✅ 精度提升✅ 元素更丰富
地图元素的表示方法直接决定了建模精度和学习难度。当前主流方法分为三大流派:

代表模型:MapTR、MapTRv2
核心思想:将地图元素离散化为一组有序点集 ,通过“排列等价”的概念消除点序定义的歧义。
技术特点:采用层级查询(实例级查询 × 点级查询),并行回归所有点的坐标;能统一建模折线和多边形;均匀采样可能导致复杂弯道细节丢失。
代表模型:BeMapNet、PivotNet
核心思想:使用数学曲线显式建模道路几何形状。
技术细节:BeMapNet使用分段贝塞尔曲线头,通过控制点显式建模平滑曲线;PivotNet基于关键点驱动,将点级表示转换为实例级掩码。
优缺点:能精细建模复杂曲线形状,但需要额外的几何先验知识。
代表模型:HiMap、MapVR
核心思想:结合点级和实例级的优势。
技术特点:HiMap采用点级与实例级双向交互学习,利用双向注意力机制;MapVR输出矢量化结果的同时,结合可微光栅化添加分割监督信号。
发展趋势:混合表示正在成为2024年的主流趋势。
MGMap(CVPR 2024):掩码引导学习,通过学习到的掩码在多尺度BEV特征中精确定位。
GeMap(ECCV 2024):几何约束学习,端到端学习欧式几何形状及其关系(平行、垂直、矩形),首次在Argoverse2数据集上突破70% mAP。
MapQR(ECCV 2024):增强查询集设计,采用“散发与聚集”策略深度挖掘实例级查询的信息。
ADMap(ECCV 2024):抗干扰框架,专门针对遮挡、恶劣天气等干扰场景。

单帧推理在遮挡和远距离场景下表现受限。通过融合历史帧信息,时序建模可实现:
StreamMapNet引入了时序融合机制,通过记忆缓存利用历史帧信息。
核心组件:多点注意力(Multi-Point Attention)突破标准可变形注意力的局部感受野限制,有效捕捉长条形地图元素;记忆缓存(Memory Buffer)存储历史帧的BEV特征和传播查询。
姿态对齐:通过自车位姿变换对历史特征进行对齐融合。
MapTracker将地图构建表述为跟踪问题,通过跟踪确保地图元素ID的跨帧一致性。
长时记忆:维护跨越20帧的历史记忆,利用跨步记忆融合(Strided Memory Fusion)。
跟踪真值:引入额外的跟踪标注,确保时序稳定性。
性能提升:在nuScenes数据集上,mAP提升8%,一致性mAP(C-mAP)提升19%。
SQD-MapNet:流式查询去噪,通过在传播查询中加入噪声并进行去噪训练,增强对累积误差的鲁棒性。
MemFusionMap:工作记忆融合,仅使用4帧历史信息即实现显著性能提升。
HisTrackMap(2025):综合方案,结合全局矢量化地图构建与历史跟踪融合。
仅仅感知车道的几何形状是不够的,系统必须理解车道间的连接关系、语义属性以及与交通控制元素的交互。拓扑推理是规划模块的核心,直接关系到驾驶的安全性和系统泛化能力。
车道-车道拓扑(Lane-Lane Topology):关注车道之间的连通逻辑。
Lane_A -> Lane_BLane_A <-> Lane_CLane_A -> Lane_D, Lane_E车道-交通拓扑(Lane-Traffic Topology):建立交通元素与车道之间的关联。
STSU(ICCV 2021):早期方法,利用DETR编码车道查询进行拓扑预测。
TopoNet(Arxiv 2023):引入Deformable DETR和图神经网络聚合车道连通特征。
TopoMLP(ICLR 2024):结合PETR车道检测和MLP进行拓扑推理。
TopoLogic(NeurIPS 2024):侧重构建可解释的车道拓扑推理管线。
T2SG/TopoFormer(CVPR 2025):提出交通拓扑场景图,实现车道、信号和拓扑关系的统一建模。
在OpenLane-V2数据集上:
多摄像头是静态道路结构感知的主要传感器。典型配置包括:
视图转换技术:将透视视图(Perspective View)转换到鸟瞰图(BEV)是核心步骤。
激光雷达提供精确的深度信息和三维结构:
早期融合:在特征提取阶段融合不同传感器的原始数据。
晚期融合:各传感器独立处理后在决策层融合。
BEV空间融合:在统一的BEV表示空间中进行特征融合,是当前主流方案。
nuScenes:由法雷奥(Valio)和安波福(Aptiv)联合发布,包含1000个场景,40万个关键帧。
Argoverse 2:Argo AI发布,专注于3D追踪和地图构建任务。
OpenLane-V2:专门用于评估拓扑推理能力的数据集。
mAP(mean Average Precision):地图元素重构的平均精度均值。
C-mAP(Consistency mAP):时序一致性指标,衡量跨帧结果的稳定性。
G-mAP(Global mAP):全局一致性指标。
DET_l、TOP_ll、OLS:拓扑推理专项指标。
自动驾驶之心



求点赞

求分享

求喜欢
