BEVFormer 是基于 PyTorch 和 MMDetection3D 的自动驾驶视觉感知模型,其环境配置需要严格匹配相关依赖库的版本。以下是详细的安装步骤:

一、基础环境准备

  1. 操作系统:推荐 Ubuntu 18.04/20.04(Linux 环境对深度学习库支持更友好)
  2. Python:3.8 或 3.9(过高版本可能存在兼容性问题)
  3. CUDA:11.1 或 11.3(需与 PyTorch 版本匹配,建议 11.3)
  4. cuDNN:8.0+(随 CUDA 一同安装)
  5. GPU:需支持 CUDA,显存 ≥ 11GB(推荐 RTX 3090/4090 或 A100)

二、创建虚拟环境

使用 Anaconda 或 Miniconda 隔离环境:
# 创建虚拟环境
conda create -n bevformer python=3.8 -y
conda activate bevformer

# 安装必要的系统工具
sudo apt-get update
sudo apt-get install -y gcc g++ make cmake libopenmpi-dev openmpi-bin

三、安装 PyTorch 及相关库

需根据 CUDA 版本安装对应 PyTorch:
# 若 CUDA 11.3
pip install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu113/torch_stable.html

# 若 CUDA 11.1
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/cu111/torch_stable.html

四、安装 MMDetection3D 及依赖

BEVFormer 依赖 MMDetection、MMClassification 和 MMDetection3D,需严格指定版本:
安装 MMCV(推荐使用 mim 工具):
pip install openmim
mim install mmcv-full==1.4.0  # 需匹配 PyTorch 和 CUDA 版本

安装 MMDetection

mim install mmdet==2.14.0

安装 MMClassification

mim install mmcls==0.15.0

安装 MMDetection3D

git clone https://github.com/open-mmlab/mmdetection3d.git -b v0.17.1
cd mmdetection3d
pip install -e .  #  editable mode
cd ..

五、安装 BEVFormer

克隆代码仓库

git clone https://github.com/zhiqi-li/BEVFormer.git
cd BEVFormer

安装额外依赖

pip install -r requirements.txt
安装 SpConv(稀疏卷积库,3D 检测必需):
# 若 CUDA 11.3
pip install spconv-cu113==2.1.21

# 其他版本可从 https://pypi.org/project/spconv/ 查找对应版本

六、验证安装

检查 MMDetection3D 是否安装成功:

import mmdet3d
print(mmdet3d.__version__)  # 应输出 0.17.1
尝试运行 BEVFormer 的 demo 脚本(需提前下载预训练模型):
# 下载预训练模型(以 nuScenes 数据集为例)
mkdir checkpoints
wget https://download.openmmlab.com/mmdetection3d/v1.0.0_models/bevformer/bevformer_r101_dcn_24ep_2x8_3d-3class_nus-26dd2709.pth -P checkpoints

# 运行 demo
python demo/pcd_demo.py demo/data/nuscenes/n015-2018-07-24-11-22-45+0800.pcd.bin configs/bevformer/bevformer_r101_dcn_24ep_2x8_3d-3class.py checkpoints/bevformer_r101_dcn_24ep_2x8_3d-3class_nus-26dd2709.pth

常见问题解决

  1. CUDA 版本不匹配:重新安装对应版本的 PyTorch 和 MMCV。
  2. SpConv 安装失败:确保 CUDA 路径正确,或从源码编译:git clone https://github.com/traveller59/spconv && cd spconv && python setup.py bdist_wheel && pip install dist/*
  3. 数据集路径错误:在配置文件中修改 data_root 为实际数据集路径(如 nuScenes、KITTI)。
如果遇到其他依赖问题,建议参考 BEVFormer 官方文档MMDetection3D 安装指南

更多推荐