首页
/ UniAD自动驾驶感知框架安装指南

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是完整的端到端解决方案。

常见问题排查

  1. CUDA版本不匹配:确保PyTorch、CUDA驱动和CUDA Toolkit版本兼容
  2. GCC编译错误:检查GCC版本,必要时升级编译器
  3. MMCV安装失败:尝试降低MMCV版本或检查CUDA环境
  4. 显存不足:可尝试减小batch size或使用更小的模型变体

后续步骤

完成环境配置后,下一步是准备训练和验证数据集,具体方法请参考数据集准备指南。

通过本指南,您应该已经成功搭建了UniAD的开发环境。这套框架集成了最先进的自动驾驶感知算法,为研究者提供了强大的baseline和灵活的扩展接口。