参考代码:GitHub - mrnabati/CenterFusion: CenterFusion: Center-based Radar and Camera Fusion for 3D Object Detection
注意:此次复现使用Featurize服务器实现,默认环境Python 3.7,如何在该服务器上保存用户自建虚拟环境可参考在 Featurize 中如何保存自建环境_哔哩哔哩_bilibili
mkvirtualenv centerfusion
此步骤在服务器上可以忽略
pip install torch torchvision
这里需要在服务器上永久保存该环境,故改为pip install --user torch torchvision
pip install cython
pip install -U 'git+[GitHub - cocodataset/cocoapi: COCO API - Dataset @ http://cocodataset.org/](https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI)
同上,改为
pip install --user cython
pip install --user -U 'git+[GitHub - cocodataset/cocoapi: COCO API - Dataset @ http://cocodataset.org/](https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI)
CF_ROOT
路径CF_ROOT=/path/to/CenterFusion git clone --recursive https://github.com/mrnabati/CenterFusion.git $CF_ROOT
这里我手动将CenterFusion库导入到服务器的work目录下,并将CF_ROOT
路径改为CF_ROOT=/home/featurize/work/CenterFusion
cd $CF_ROOT
pip install -r requirements.txt
同上,改为pip install --user -r requirements.txt
cd $CF_ROOT/src/lib/model/networks/DCNv2
./make.sh
cd $CF_ROOT/src/lib/model/networks
git clone https://github.com/CharlesShang/DCNv2/
这里Featurize虚拟机中是不存在DCNv2文件夹的,需要手动从GitHub上下载对应版本,若版本过高会报错。导入后重新运行上述代码。
这里数据集版本很多,有两种办法可以实现复现要求。
PlanⅠ:按照Github上的目录结构,分别下载Full dataset(v1.0)中的Mini、Trainval(Trainval可以只选择其中一个part)和Test版本(三个数据集,共90G左右),并按照目录结构导入到服务器中。
PlanⅡ:只下载Full dataset(v1.0)中的Mini版本,这样做需要将convert_nuScenes.py文件中的train、val和test部分注释掉。
${CF_ROOT}\data\nuscenes
中这里如果想在服务器上实现,需要先将下载的数据集文件v1.0-mini.tar的后缀名改为tar.gz,再导入到服务器中,服务器会自动解压缩并存入数据集下载目录里。
convert_nuScenes.py
文件,将 nuScenes 数据集转换为 COCO 格式同上,如果在服务器上实现,需要修改convert_nuScenes.py文件中的数据集路径。
原作者在google drive上提供了预训练好的模型。
这里贴一下测试结果。
--debug 4
参数具体修改方法可参考debug mode in test.sh gives error (-5:Bad argument) in function ‘line’ · Issue #42 · mrnabati/CenterFusion · GitHub