我对于center point的复现进行了两次,一次是跑center point的源码,将mm3d引入。这种方式相对来说比较困难,在环境配置这一块我觉得很复杂,所以没有过多的介绍。另一次是配置mmdetection3d的框架,在框架里面去跑center point。这一种方法相对于来说比较简单,而且MM3D框架完整且相对简单,比较容易上手。故这篇博客将详细的介绍如何在上述框架中去跑通center point。
一、MM3D环境配置(ubuntu系统)
首先那些必须的显卡驱动、conda等我就不介绍怎么安装了。记得在终端输入nvidia-smi查看最高支持的cuda版本,11.7就可以继续安装。
1、创建并激活虚拟环境(使用3.10版本)
conda create -n mm3d python=3.10
conda activate mm3d
2、安装pytorch(这一步最重要,一定要安装版本对应的,不然后面都是白搭),我安装的是1.13.1版本的
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
是否匹配的验证方法:
①打开cmd,依次输入python;import torch;torch.cuda.is_available()。结果是true就是匹配
②直接安装之后输入:
python -c 'import torch;print(torch.__version__);print(torch.cuda.is_available());print(torch.backends.cudnn.is_available());print(torch.version.cuda);print(torch.backends.cudnn.version())'
结果为:1.13.1;TURE;TURE;11.7;8500就是安装成功
3、其他工具
安装openmim,用于启动和安装 OpenMMLab 项目及其扩展
pip install openmim==0.3.9
安装mmengine,用于训练深度学习模型的基础库
pip install mmengine==0.10.1
安装MMCV
pip install mmcv==2.1.0 -f https://download.openmmlab.com/mmcv/dist/cu117/torch1.13/index.html
安装MMdetection
pip install mmdet==3.2.0
4、安装MMDetection3d
从github上面克隆源码
git clone https://github.com/open-mmlab/mmdetection3d.git -b dev-1.x
然后继续输入:
pip install -r requirements.txt
pip install -e .
5、验证安装成功
依次顺序输入:
mim download mmdet3d --config pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car --dest .
python demo/pcd_demo.py demo/data/kitti/000008.bin pointpillars_hv_secfpn_8xb6-
160e_kitti-3d-car.py hv_pointpillars_secfpn_6x8_160e_kitti-3d-car_20220331_134606-d42d15ed.pth --show
出现以下界面即为安装成功:
二、center point运行
1、数据集准备
在官网上下载nuscenes数据的"v1.0-mini"版本,这个网上教程很多,下载下来应该是:有maps、samples、sweeps、v1.0-mini四个文件夹就可以。
注意:下载下来的数据文件夹要放在mmdetection3d/data路径下
2、数据集预处理
在pycharm终端运行:
python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes
这是官网给的运行代码,然后重点来了,必然会报错:
AssertionError: Database version not found: ./data/nuscenes/v1.0-trainval
意思就是找不到v1.0-trainval,两个解决办法,要么重命名,要么改配置文件。前一个我试了很麻烦,就是把v1.0-mini复制下来改成v1.0-trainval,但是后面又会有新的报错,不推荐。后一个解决方法两步:
就是把上面提到的两个地方都改成v1.0-mini即可。
最后会生成:
要用的就是那三个pkl文件。
3、运行center point
在终端输入:
python tools/train.py configs/centerpoint/centerpoint_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d.py
前面的是固定的,centerpoint_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d是我选定的使用的配置文件,这个你可以根据mmdetection3d/configs/centerpoint里面的配置文件去选择,哪个都可以。直接运行,那么现在程序应该可以跑了。
有问题欢迎评论区交流~