CenterFusion代码复现

参考代码:GitHub - mrnabati/CenterFusion: CenterFusion: Center-based Radar and Camera Fusion for 3D Object Detection

一、环境配置

注意:此次复现使用Featurize服务器实现,默认环境Python 3.7,如何在该服务器上保存用户自建虚拟环境可参考在 Featurize 中如何保存自建环境_哔哩哔哩_bilibili

1.安装虚拟环境(可选):

mkvirtualenv centerfusion

此步骤在服务器上可以忽略

2.安装PyTorch:

pip install torch torchvision

这里需要在服务器上永久保存该环境,故改为pip install --user torch torchvision

3.安装 COCOAPI:

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)

4.安装CenterFusion仓库,并设置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

5.安装需求文件:

cd $CF_ROOT

pip install -r requirements.txt

同上,改为pip install --user -r requirements.txt

6.创建可变形卷积库:

cd $CF_ROOT/src/lib/model/networks/DCNv2

./make.sh

注意:如果目录中不存在 DCNv2 文件夹,需手动下载

cd $CF_ROOT/src/lib/model/networks

git clone https://github.com/CharlesShang/DCNv2/

这里Featurize虚拟机中是不存在DCNv2文件夹的,需要手动从GitHub上下载对应版本,若版本过高会报错。导入后重新运行上述代码。

二、准备数据集

1.从nuScenes上下载数据集

这里数据集版本很多,有两种办法可以实现复现要求。

PlanⅠ:按照Github上的目录结构,分别下载Full dataset(v1.0)中的Mini、Trainval(Trainval可以只选择其中一个part)和Test版本(三个数据集,共90G左右),并按照目录结构导入到服务器中。

PlanⅡ:只下载Full dataset(v1.0)中的Mini版本,这样做需要将convert_nuScenes.py文件中的train、val和test部分注释掉。

2.解压缩目录中下载的文件,并导入${CF_ROOT}\data\nuscenes

这里如果想在服务器上实现,需要先将下载的数据集文件v1.0-mini.tar的后缀名改为tar.gz,再导入到服务器中,服务器会自动解压缩并存入数据集下载目录里。

3.运行convert_nuScenes.py文件,将 nuScenes 数据集转换为 COCO 格式

同上,如果在服务器上实现,需要修改convert_nuScenes.py文件中的数据集路径。

三、预训练模型

原作者在google drive上提供了预训练好的模型。

四、训练

五、测试

这里贴一下测试结果。

六、查看可视化结果

1.在test.sh中添加--debug 4参数

2.将CenterFusion/src/lib/utils下的debugger.py做部分修改

具体修改方法可参考debug mode in test.sh gives error (-5:Bad argument) in function ‘line’ · Issue #42 · mrnabati/CenterFusion · GitHub

3.在CenterFusion/exp/ddd/centerfusion/debug中查看可视化结果

CenterFusion代码复现相关推荐

  1. 【神经网络】(17) EfficientNet 代码复现,网络解析,附Tensorflow完整代码

    各位同学好,今天和大家分享一下如何使用 Tensorflow 复现 EfficientNet 卷积神经网络模型. EfficientNet 的网络结构和 MobileNetV3 比较相似,建议大家在学 ...

  2. 【神经网络】(16) MobileNetV3 代码复现,网络解析,附Tensorflow完整代码

    各位同学好,今天和大家分享一下如何使用 Tensorflow 构建 MobileNetV3 轻量化网络模型. MobileNetV3 做了如下改动(1)更新了V2中的逆转残差结构:(2)使用NAS搜索 ...

  3. 【神经网络】(15) Xception 代码复现,网络解析,附Tensorflow完整代码

    各位同学好,今天和大家分享一下如何使用 Tensorflow 构建 Xception 神经网络模型. 在前面章节中,我已经介绍了很多种轻量化卷积神经网络模型,感兴趣的可以看一下:https://blo ...

  4. 【神经网络】(14) MnasNet 代码复现,网络解析,附Tensorflow完整代码

    各位同学好,今天和大家分享一下如何使用 Tensorflow 复现谷歌轻量化神经网络 MnasNet  通常而言,移动端(手机)和终端(安防监控.无人驾驶)上的设备计算能力有限,无法搭载庞大的神经网络 ...

  5. 【神经网络】(13) ShuffleNetV2 代码复现,网络解析,附Tensorflow完整代码

    各位同学好,今天和大家分享一下如何使用 Tensorflow 复现轻量化神经网络 ShuffleNetV2. 为了能将神经网络模型用于移动端(手机)和终端(安防监控.无人驾驶)的实时计算,通常这些设备 ...

  6. 【神经网络】(11) 轻量化网络MobileNetV1代码复现、解析,附Tensorflow完整代码

    各位同学好,今天和大家分享一下如何使用 Tensorflow 复现轻量化神经网络模型 MobileNetV1.为了能将神经网络模型用于移动端(手机)和终端(安防监控.无人驾驶)的实时计算,通常这些设备 ...

  7. 进阶必备:CNN经典论文代码复现 | 附下载链接

    经常会看到类似的广告<面试算法岗,你被要求复现论文了吗?>不好意思,我真的被问过这个问题.当然也不是所有面试官都会问,究其原因,其实也很好理解.企业肯定是希望自己的产品是有竞争力,有卖点的 ...

  8. DL之YoloV3:Yolo V3算法的简介(论文介绍)、各种DL框架代码复现、架构详解、案例应用等配图集合之详细攻略

    DL之YoloV3:Yolo V3算法的简介(论文介绍).各种DL框架代码复现.架构详解.案例应用等配图集合之详细攻略 目录 Yolo V3算法的简介(论文介绍) 0.YoloV3实验结果 1.Yol ...

  9. 时空上下文视觉跟踪(STC)算法的解读与代码复现

    时空上下文视觉跟踪(STC)算法的解读与代码复现 zouxy09@qq.com http://blog.csdn.net/zouxy09 本博文主要是关注一篇视觉跟踪的论文.这篇论文是Kaihua Z ...

最新文章

  1. python的应用范围有哪些_Python主要应用场景有哪些?
  2. 牛客 - Prize(bitset优化暴力)
  3. Symbol Mc1000 Text文本阅读器整体代码
  4. django mysql settings
  5. Ubuntu16.04 下SU画图,批量和单个
  6. 题库:queryset数据类型的特性
  7. sql 查询数据库索引重建_SQL查询性能的杀手– –了解不良的数据库索引
  8. java流家族_1.1.2 完整的流家族
  9. 无标度网络和小世界网络的区别
  10. Windows下使用c++编译hiredis.lib,Win32_Interop.lib
  11. 步进电机、伺服电机、舵机的区别与控制(角度、转速)
  12. Silabs Homekit开发--静态Pin码的产生和使用
  13. Linux如何实现网络通信
  14. [自学笔记]UE4(虚幻四)初学者入门
  15. java画星星_用Java 做一个星星图案
  16. 成都启英泰伦科技有限公司
  17. PAT_乙级_1011_筱筱
  18. 手机罗盘(指南针)校准方法
  19. uniapp onReachBottom 不触发
  20. java volatile

热门文章

  1. 初识pyQt5之简易翻译软件
  2. 应用程序正常初始化0xc0000135失败的解决办法
  3. vue之原生上传图片并压缩图片大小(1)
  4. AD18版本中测距之后显示信息不能清除
  5. 配置zsh的prompt
  6. 小程序自定义导航栏指南
  7. 视频批量添加透明水印,必须用这个方法
  8. 二叉树的前序遍历(Java)
  9. S5PV210 裸机开发驱动之LED灯
  10. VS6 sp6补丁下载 [防VC6卡死]