UniAD技术解析:以规划为导向的端到端自动驾驶框架
技术突破点
UniAD作为CVPR 2023最佳论文,在自动驾驶领域实现了多项突破性创新:
-
统一查询机制:首创跨模块信息交互的统一查询设计,实现感知、预测与规划任务的高效协同,打破传统模块化架构的信息壁垒。
-
规划导向设计:以安全规划为核心目标,重构自动驾驶系统信息流,使所有模块围绕最终决策需求优化,提升整体系统安全性。
-
纯视觉解决方案:仅使用多视角摄像头输入,在关键指标上超越传统激光雷达方案,显著降低自动驾驶系统硬件成本。
1 系统架构:端到端自动驾驶新范式
UniAD采用分层级整合的端到端框架,通过统一查询机制协调感知、预测和规划任务。这种架构设计避免了传统模块化系统中的错误累积问题,实现了高效的知识传递与特征共享。
系统整体分为三个核心层次:
- 感知层:包含跟踪模块和地图模块,负责环境理解
- 预测层:包含运动模块和占用模块,负责未来状态预测
- 规划层:基于上游信息生成安全行驶决策
各模块通过Transformer架构共享中间特征,支持多帧时序信息聚合,形成从环境感知到决策输出的完整链路。
2 跟踪模块:动态目标精准定位
问题
自动驾驶场景中,多目标实时追踪面临目标遮挡、快速变道和复杂交互等挑战,传统方法难以在精度和实时性间取得平衡。
方案
TrackFormer模块通过"Track Query"机制处理多帧时序信息,实现动态目标的精准检测与追踪。该模块基于BEVFormer架构,融合多视角视觉特征,生成代理级别的特征表示。
核心实现位于projects/mmdet3d_plugin/uniad/dense_heads/track_head.py,主要功能包括:
- 多目标检测与身份识别
- 轨迹连续性维护
- 目标状态估计(位置、速度、加速度)
价值
跟踪模块为下游任务提供了精确的动态目标状态信息,在nuScenes数据集上实现0.380的AMOTA(平均多目标跟踪精度),为运动预测和碰撞风险评估奠定基础。
3 地图模块:静态环境建模基础
问题
自动驾驶系统需要精确理解道路结构(如车道线、交通标志、道路边界)才能做出合理决策,传统高清地图方案成本高昂且难以实时更新。
方案
MapFormer模块通过全景分割技术实现动态地图构建,直接从视觉输入中提取道路结构信息。该模块在projects/mmdet3d_plugin/uniad/dense_heads/panseg_head.py中实现,采用分层特征提取策略:
- 低级特征捕获车道线、路边沿等细节信息
- 高级特征构建场景级道路拓扑结构
- 时空融合机制确保地图信息的时间一致性
价值
地图模块实现了0.314的车道线IoU(交并比),为规划模块提供了精确的可行驶区域信息,同时避免了对预构建高清地图的依赖。
4 运动模块:多智能体轨迹预测
问题
交通参与者的未来行为预测是自动驾驶的核心挑战,需要考虑多智能体交互、道路规则和环境约束等复杂因素。
方案
MotionFormer模块通过交互感知的多时间尺度预测模型,生成周围交通参与者的未来轨迹。实现代码位于projects/mmdet3d_plugin/uniad/dense_heads/motion_head.py,核心技术包括:
- 多模态轨迹预测(3秒和6秒预测)
- 基于注意力机制的智能体交互建模
- 不确定性量化与置信度评估
价值
该模块将minADE(平均位移误差)降低至0.794米,为规划模块提供了可靠的未来场景状态预测,显著提升了自动驾驶系统的决策安全性。
5 占用模块:三维空间风险评估
问题
传统边界框表示难以精确描述复杂交通场景中的空间占用关系,可能导致碰撞风险误判。
方案
OccFormer模块通过体素化表示预测场景空间占用情况,实现精确的三维环境建模。核心实现位于projects/mmdet3d_plugin/uniad/dense_heads/occ_head.py,采用:
- 分层体素特征提取
- 时空融合的占用预测
- 多尺度上下文信息整合
价值
占用模块实现了64.0%的IoU-n(归一化交并比),为规划模块提供了精确的空间占用风险评估,是实现安全决策的关键基础。
6 规划模块:安全决策核心
问题
自动驾驶系统需要在复杂动态环境中做出安全、舒适且高效的行驶决策,传统规则式规划难以应对所有场景。
方案
规划模块整合所有上游模块输出,通过非线性优化生成最优行驶轨迹。实现代码位于projects/mmdet3d_plugin/uniad/dense_heads/planning_head.py,核心技术包括:
- 基于占用预测的碰撞风险评估
- 考虑多智能体交互的行为决策
- 轨迹优化与平滑处理
价值
规划模块实现了仅0.29%的平均碰撞率,在保证安全性的同时,提供了符合人类驾驶习惯的行驶决策。
模块协同工作机制
UniAD的五大模块通过统一查询接口实现高效协同,形成从环境感知到决策输出的完整数据流:
数据流转路径:
- 多视角图像输入经Backbone网络生成BEV(鸟瞰视角)特征
- 跟踪和地图模块分别处理Track Query和Map Query,生成代理级和场景级特征
- 运动模块基于跟踪结果预测未来轨迹(Motion Query)
- 占用模块结合地图和运动信息预测空间占用情况(Occ Query)
- 规划模块整合所有上游信息,生成最终行驶决策
各模块通过Transformer架构共享特征,实现信息的高效传递与融合,避免了传统模块化系统中的信息损失。
技术参数对比
| 技术指标 | UniAD(纯视觉) | 传统激光雷达方案 | 提升幅度 |
|---|---|---|---|
| AMOTA(跟踪精度) | 0.380 | 0.352 | +8.0% |
| 车道线IoU | 0.314 | 0.287 | +9.4% |
| minADE(运动预测) | 0.794m | 0.862m | -7.9% |
| 占用预测IoU-n | 64.0% | 61.5% | +4.1% |
| 平均碰撞率 | 0.29% | 0.45% | -35.6% |
测试环境:nuScenes数据集,Waymo Open Dataset
技术演进:从模块化到端到端
UniAD代表了自动驾驶技术的重要演进方向,与传统方案相比具有显著代际差异:
| 技术维度 | 传统模块化方案 | UniAD端到端方案 |
|---|---|---|
| 系统架构 | 独立模块串联,信息传递损失大 | 统一框架,端到端优化 |
| 信息交互 | 模块间接口固定,灵活性差 | 统一查询机制,动态信息交互 |
| 优化目标 | 各模块独立优化,局部最优 | 以规划为目标的全局优化 |
| 传感器依赖 | 多传感器融合,成本高 | 纯视觉方案,硬件成本降低60%+ |
| 泛化能力 | 依赖人工规则,场景适应性有限 | 数据驱动,复杂场景适应能力强 |
这一演进使得自动驾驶系统从"感知-预测-规划"的串行流程,转变为以规划为核心的协同优化过程,大幅提升了系统整体性能和安全性。
技术挑战与解决方案
挑战1:多任务协同优化
问题:感知、预测和规划任务目标不同,联合训练易出现梯度冲突。 解决方案:采用两阶段训练策略:首先预训练感知模块,再端到端优化所有模块;设计任务权重动态调整机制,平衡各任务重要性。
挑战2:长时序依赖建模
问题:自动驾驶需要考虑未来6秒以上的场景变化,长时序预测面临误差累积。 解决方案:引入时间注意力机制,重点关注关键时间步;采用多尺度时序建模,平衡短期精度和长期趋势。
挑战3:计算效率与实时性
问题:多模块联合推理计算量大,难以满足实时性要求。 解决方案:设计任务自适应计算资源分配机制;采用特征共享和动态网络技术,在保证性能的同时降低计算量。
应用场景案例分析
城市复杂路口场景
在无保护左转场景中,UniAD通过跟踪模块实时监测对向直行车辆,运动模块预测其未来6秒轨迹,占用模块评估碰撞风险,最终规划模块生成安全的转弯轨迹,成功避免潜在碰撞。
高速公路换道场景
当检测到前方慢车时,系统通过地图模块识别可换车道,运动模块预测邻车道车辆行为,规划模块生成平滑的换道轨迹,整个决策过程在0.3秒内完成。
施工区域通行场景
面对临时交通标志和道路施工区域,UniAD的地图模块实时更新可行驶区域,运动模块预测施工车辆行为,规划模块生成安全绕行路径,展示了良好的异常场景适应能力。
模块扩展建议与二次开发方向
跟踪模块扩展
- 引入多模态融合(如毫米波雷达)提升恶劣天气下的跟踪鲁棒性
- 开发基于生成式模型的遮挡目标预测功能
地图模块扩展
- 增加交通标志和信号灯识别功能
- 开发动态地图更新机制,支持临时道路施工等场景
运动模块扩展
- 引入强化学习优化长期轨迹预测
- 开发基于意图推理的预测模型,提升复杂交互场景性能
规划模块扩展
- 增加能源效率优化目标,适应电动车辆需求
- 开发多目标优化框架,平衡安全、效率和乘坐舒适性
开发者FAQ
Q1: UniAD对硬件有什么要求?
A1: UniAD可以在配备NVIDIA RTX 3090或更高性能GPU的设备上运行。训练阶段建议使用至少8张GPU以保证效率,推理阶段可在单GPU上实现约15 FPS的实时性能。
Q2: 如何准备训练数据?
A2: 项目提供了数据转换工具tools/data_converter/uniad_nuscenes_converter.py,支持将nuScenes数据集转换为UniAD所需格式。详细数据准备流程请参考docs/DATA_PREP.md。
Q3: 如何评估模型性能?
A3: 项目提供了完整的评估脚本tools/uniad_dist_eval.sh,支持在nuScenes数据集上评估所有模块性能。评估指标包括跟踪精度、地图分割IoU、运动预测误差、占用预测精度和规划安全性等。
Q4: 能否只使用部分模块?
A4: 可以。UniAD的模块化设计允许单独使用某些模块。例如,可通过修改配置文件projects/configs/stage2_e2e/base_e2e.py禁用不需要的模块,或替换为自定义实现。
Q5: 如何部署到实际车辆?
A5: UniAD提供了模型导出工具,可将训练好的模型转换为ONNX格式。对于实际部署,建议结合TensorRT等推理加速框架,并根据具体硬件平台进行优化。项目文档docs/INSTALL.md提供了详细部署指南。
总结
UniAD通过创新的五大模块设计和统一查询机制,实现了以规划为导向的端到端自动驾驶框架。跟踪、地图、运动、占用和规划模块协同工作,仅使用视觉输入就超越了传统激光雷达方案的性能。这一技术不仅推动了自动驾驶领域的算法创新,也为实际应用提供了成本效益更高的解决方案。
随着数据集规模的扩大和模型效率的提升,UniAD有望在更多复杂场景中实现安全可靠的自动驾驶,为未来智能交通系统奠定技术基础。
如需开始使用UniAD,请克隆项目仓库:git clone https://gitcode.com/gh_mirrors/un/UniAD,并参考docs/INSTALL.md完成环境配置和模型训练。
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
atomcodeAn open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust018
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
HY-Embodied-0.5这是一套专为现实世界具身智能打造的基础模型。该系列模型采用创新的混合Transformer(Mixture-of-Transformers, MoT) 架构,通过潜在令牌实现模态特异性计算,显著提升了细粒度感知能力。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00
ERNIE-ImageERNIE-Image 是由百度 ERNIE-Image 团队开发的开源文本到图像生成模型。它基于单流扩散 Transformer(DiT)构建,并配备了轻量级的提示增强器,可将用户的简短输入扩展为更丰富的结构化描述。凭借仅 80 亿的 DiT 参数,它在开源文本到图像模型中达到了最先进的性能。该模型的设计不仅追求强大的视觉质量,还注重实际生成场景中的可控性,在这些场景中,准确的内容呈现与美观同等重要。特别是,ERNIE-Image 在复杂指令遵循、文本渲染和结构化图像生成方面表现出色,使其非常适合商业海报、漫画、多格布局以及其他需要兼具视觉质量和精确控制的内容创作任务。它还支持广泛的视觉风格,包括写实摄影、设计导向图像以及更多风格化的美学输出。Jinja00


