UniAD自动驾驶感知框架安装指南
2025-07-09 01:45:36作者:鲍丁臣Ursa
前言
UniAD是OpenDriveLab团队开发的自动驾驶统一感知框架,基于BEVFormer和MMDetection3D构建。本文将详细介绍如何从零开始搭建UniAD的开发环境,帮助研究人员和开发者快速上手这一先进的自动驾驶感知系统。
环境准备
1. 创建Python虚拟环境
我们推荐使用conda创建独立的Python环境,以避免依赖冲突:
conda create -n uniad2.0 python=3.9 -y
conda activate uniad2.0
提示:使用虚拟环境可以隔离项目依赖,确保系统Python环境不被污染。
2. 安装PyTorch框架
UniAD需要PyTorch 2.0及以上版本。根据您的CUDA版本选择合适的安装命令:
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
注意:请确保安装的PyTorch版本与CUDA驱动版本兼容。
3. 编译器配置
UniAD需要GCC 5.0或更高版本进行编译:
# 检查当前GCC版本
gcc --version
# 如果版本低于5.0,建议安装新版本
# conda install -c omgarcia gcc-6
# 设置GCC路径
export PATH=YOUR_GCC_PATH/bin:$PATH
4. CUDA环境配置
正确设置CUDA_HOME环境变量对于GPU加速至关重要:
export CUDA_HOME=YOUR_CUDA_PATH/
提示:可以通过
which nvcc
命令查找CUDA安装路径。
依赖安装
1. MMCV系列组件
UniAD基于OpenMMLab生态系统构建,需要安装以下关键组件:
git clone https://github.com/open-mmlab/mmcv.git & cd mmcv
git checkout v1.6.0
export MMCV_WITH_OPS=1 MMCV_CUDA_ARGS=-std=c++17
pip install -v -e .
pip install mmdet==2.26.0 mmsegmentation==0.29.1 mmdet3d==1.0.0rc6
技术说明:MMCV_WITH_OPS=1表示启用自定义CUDA算子,这对性能优化至关重要。
2. UniAD本体安装
获取UniAD源代码并安装依赖:
cd ~
git clone https://github.com/OpenDriveLab/UniAD.git
cd UniAD
pip install -r requirements.txt
预训练模型准备
UniAD采用分阶段训练策略,需要下载以下预训练权重:
mkdir ckpts && cd ckpts
# BEVFormer基础模型
wget https://github.com/zhiqi-li/storage/releases/download/v1.0/bevformer_r101_dcn_24ep.pth
# 第一阶段模型(感知部分)
wget https://github.com/OpenDriveLab/UniAD/releases/download/v1.0/uniad_base_track_map.pth
# 完整端到端模型
wget https://github.com/OpenDriveLab/UniAD/releases/download/v1.0.1/uniad_base_e2e.pth
模型说明:BEVFormer作为基础特征提取器,uniad_base_track_map.pth包含感知模块,uniad_base_e2e.pth是完整的端到端解决方案。
常见问题排查
- CUDA版本不匹配:确保PyTorch、CUDA驱动和CUDA Toolkit版本兼容
- GCC编译错误:检查GCC版本,必要时升级编译器
- MMCV安装失败:尝试降低MMCV版本或检查CUDA环境
- 显存不足:可尝试减小batch size或使用更小的模型变体
后续步骤
完成环境配置后,下一步是准备训练和验证数据集,具体方法请参考数据集准备指南。
通过本指南,您应该已经成功搭建了UniAD的开发环境。这套框架集成了最先进的自动驾驶感知算法,为研究者提供了强大的baseline和灵活的扩展接口。