Skip to content

flyingGH/SimpleBEV

Repository files navigation

SimpleBEV

SimpleBEV是一个简单的基于BEV(Bird's Eye View)的3D目标检测框架,专为自动驾驶和机器人感知应用设计。该框架支持多种数据集(如NuScenes、KITTI),并提供高效的点云处理和BEV特征编码实现。

项目结构

SimpleBEV/
├── configs/              # 配置文件目录
├── data/                 # 数据集目录
├── datasets/             # 数据集加载模块
├── models/               # 模型实现模块  
├── tools/                # 辅助工具脚本
│   ├── train.py          # 训练脚本
│   ├── download_nuscenes.py  # 下载NuScenes数据集
│   └── create_nuscenes_infos.py  # 生成数据集信息文件
├── utils/                # 通用工具模块
├── requirements.txt      # 项目依赖列表
├── setup.sh              # Linux/Mac安装脚本
└── setup.ps1             # Windows安装脚本

安装

环境依赖

  • Python 3.7+
  • PyTorch 2.0+
  • CUDA 11.8+(推荐)

重要提示: 本项目使用NumPy 1.24.3和对应的依赖包。NumPy 2.x会导致某些依赖项(如nuscenes-devkit)出现兼容性问题。

自动安装(推荐)

使用提供的安装脚本一键安装所有依赖:

Linux/Mac:

bash setup.sh

Windows:

# 以管理员权限运行PowerShell
.\setup.ps1

手动安装

  1. 克隆代码库:
git clone https://github.com/your-username/SimpleBEV.git
cd SimpleBEV
  1. 创建conda环境(可选):
conda create -n simplebev python=3.8 -y
conda activate simplebev
  1. 安装依赖:
# 首先安装NumPy 1.24.3(重要!)
pip install numpy==1.24.3

# 安装PyTorch
pip install torch==2.0.1 torchvision==0.15.2 --index-url https://download.pytorch.org/whl/cu118

# 安装numpy-quaternion
pip install numpy-quaternion==2022.4.2

# 安装其他依赖
pip install -r requirements.txt

数据准备

NuScenes数据集

  1. 下载NuScenes-mini数据集(约1.4GB):
python tools/download_nuscenes.py --output_dir ./data/nuscenes
  1. 生成数据信息文件:
python tools/create_nuscenes_infos.py --data_path ./data/nuscenes --version v1.0-mini

训练

使用预配置的参数开始训练:

python tools/train.py --config configs/simple_bev_base.yaml

可以通过以下参数自定义训练过程:

  • --batch_size: 设置批次大小
  • --epochs: 设置训练轮数
  • --workers: 设置数据加载的工作进程数
  • --output_dir: 设置输出目录
  • --resume: 从检查点恢复训练

监控训练

训练启动后,您可以通过TensorBoard查看训练进度:

tensorboard --logdir output/tensorboard

致谢

本项目受到以下开源项目的启发:

许可证

此项目采用MIT许可证。

解决模块导入问题

如果在运行tools/train.pytools/test.py时遇到模块导入错误,有以下解决方法:

方法1:使用启动脚本(推荐)

项目提供了两个便捷的启动脚本,可以正确设置Python路径:

# 训练模型
python run_train.py --config configs/simple_bev_base.yaml

# 测试模型
python run_test.py --config configs/simple_bev_base.yaml --checkpoint path/to/checkpoint.pth

方法2:使用开发模式安装

可以将项目以开发模式安装到Python环境中:

# 安装项目
pip install -e .

# 之后可以直接运行原始脚本
python tools/train.py --config configs/simple_bev_base.yaml
python tools/test.py --config configs/simple_bev_base.yaml --checkpoint path/to/checkpoint.pth

方法3:手动设置PYTHONPATH

# Linux/Mac
export PYTHONPATH=$PYTHONPATH:$(pwd)

# Windows (PowerShell)
$env:PYTHONPATH = "$env:PYTHONPATH;$(Get-Location)"

# 然后运行脚本
python tools/train.py --config configs/simple_bev_base.yaml

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages