记录一下CenterFusion环境搭建

先说搭建环境的主要问题

  1. 一定要在文件夹内进行,稍后看到会定义一个CF_ROOT,配置过程中路径很绕,注意路径的变化
  2. 难点在DCNv2的配置
  3. 要修改代码
  4. 配置和运行前注意虚拟环境要激活

一、环境准备

1.1 服务器

  • 采用MistGPU租用服务器 https://mistgpu.com
    环境规格
  • 创建好服务器后登录,这里我用的是命令行登录
    在这里插入图片描述

1.2 创建一个虚拟环境

  • 创建一个名为“centerfusion”,python版本为3.7的虚拟环境
    conda create -n centerfusion python=3.7
  • 创建成功后切换到该虚拟环境
    conda activate centerfusion

1.3 安装必要框架

1.4 克隆代码

  • 需要先设置一下路径,不然会出现一系列问题,作者配置的服务器是如下设置的

  • Mist GPU服务器的默认目录是在/home/mist 下,这里我没有采用官方设置的CF_ROOT=/path/to/CenterFusion,我自己指定了CF_ROOT=work/CenterFusion,使用这个命令时,路径在/home/mist下,具体步骤如下
    CF_ROOT=work/CenterFusion
    git clone --recursive https://github.com/mrnabati/CenterFusion.git $CF_ROOT

  • 此处克隆命令容易出现下面原因,因为mistgpu里的git默认添加加速代理,遇到这个错误可以手动上传到CF_ROOT路径
    在这里插入图片描述
    上传后手动解压

  • 随后进入到CF_ROOT路径下,也就是/work/CenterFusion,执行下面命令(确保虚拟环境已经激活),安装所需包
    pip install -r requirements.txt

    在这里插入图片描述

  • 下面配置DCNv2,仓库里可能有DCNv2,但实测运行不了,用下面这个版本 https://pan.baidu.com/s/1ua7gyzFn1nmTGuFYP1SHVg?pwd=1csg 提取码:1csg,上传到$CF_ROOT/src/lib/model/networks/DCNv2,然后解压,解压后进入DCNv2-pytorch_1.7,执行下面命令
    ./make.sh
    在这里插入图片描述

  • 构建成功后出现下面提示
    在这里插入图片描述

二、数据准备

2.1 数据集准备

  • 下载nuscenes数据集,解压到CenterFusion/data/nuscenes文件夹,这里我只用了数据集的mini部分,https://www.nuscenes.org/nuscenes#download
    在这里插入图片描述
  • 下载得到一个名为v1.0-mini.tgz的文件,注意解压一定要在CenterFusion/data/nuscenes目录下进行,data文件夹中是没有nuscenes这个目录的,自己新建一个文件夹,解压命令
    tar -zxvf v1.0-mini.tgz -C 路径
    如果已经在CenterFusion/data/nuscenes目录下,直接解压即可
    tar -zxvf v1.0-mini.tgz
    在这里插入图片描述

2.2 预训练模型准备

三、修改代码

  • 参考@可乐有点好喝 大佬的文章,https://blog.csdn.net/ssj925319/article/details/124294911,修改如下几处代码:
  • 目前只做了测试工作,训练所需修改的代码请移步上面大佬的文章
  • 修改CenterFusion/experiments/test.sh,–debug 4代表可视化在这里插入图片描述
  • 修改CenterFusion/src/tools/convert_nuScenes.py,第56行修改为3
    在这里插入图片描述
  • 修改CenterFusion/src/lib/utils/debugger.py,即强制转换为int类型,参考http://t.csdn.cn/smn4F
    在这里插入图片描述

四、运行

4.1 数据集转换

  • 运行CenterFusion/src/tools/convert_nuScenes.py,将数据集转换为COCO格式
  • 运行之前别忘了把环境切换到创建的虚拟环境
conda activate centerfusion
#进入到CenterFusion/src/tools/
python convert_nuScenes.py
  • 转换完成后会在CenterFusion/data/nuscenes下生成annotations_3sweeps目录,该目录下存放着COCO格式的数据集

4.2 运行

  • 返回到CenterFusion根目录,运行下列代码
    bash experiments/test.sh
  • 可视化输出在CenterFusion/exp/ddd/centerfusion/debug目录下
    在这里插入图片描述
    在这里插入图片描述

五、参考资料

[1] CenterFusion 项目超详细环境搭建步骤及可视化操作 @可乐有点好喝
[2] CenterFusion代码复现 @溏心蛋不加糖
[3] CenterFusion算法环境配置与demo运行 CenterFusion: Center-based Radar and Camera Fusion for 3D Object Detection @HIT_Vanni

猜你喜欢

转载自blog.csdn.net/u014295602/article/details/126677196