复现 MonoEF:Monocular 3D Object Detection: An Extrinsic Parameter Free Approach
时间:2022年7月13日

代码连接:
https://github.com/ZhouYunsong-SJTU/MonoEF

1.安装环境

环境:环境与代码中要求的环境一样。

Ubuntu 16.04
Python 3.7
Pytorch 1.3.1
CUDA 10.0

这里pytorch版本1.3.1为什么用这么低的?原因:因为代码中用到了DCN模块,DCN模块需要这么低的pytorch版本。如果要用高版本的pytorch,DCN模块要自己找最新的,然后安装新版的。

2.kitti数据集

kitti数据集的划分,及ImageSets中数据集的划分,可以看我的另一篇博客“kitti数据集划分”。

kitti
│──training
│    ├──calib
│    ├──label_2
│    ├──image_2
│    └──ImageSets
└──testing├──calib ├──image_2└──ImageSets

3.下载代码+编译setup.py

1.下载好MonoEF代码后,进入到MonoEF路径下,再下载SMOKE代码!!SMOKE代码连接https://github.com/lzccccc/SMOKE
估计作者的工作是基于SMOKE的,所以要在自己的代码中还要再下载别人SMOKE的代码。

路径大致如下:
--monoEF--configs--datasets--dcn--smoke--SMOKE--tools--make.sh--setup.py--test.sh--train.sh

注意:smoke和SMOKE不要弄混了,smoke文件夹代码是MonoEF自带的。而SMOKE是从https://github.com/lzccccc/SMOKE下载的,SMOKE是另一个人的工作。
2.进入SMOKE,执行

python setup.py build develop

3.回到MonoEF,执行

python setup.py build develop

4.进入MonoEF/dcn/DCNv2_latest,执行

python setup.py install develop

否则会报错:

no module  named _ext

所以是运行了3个不同的setup.py,SMOKE的setup.py,MonoEF的setup.py, DCN的setup.py

4.下载SMOKE的pretrained weights

如果不下载的SMOKE的与训练权重,会报错:

FileNotFoundError: [Errno 2] No such file or directory: './SMOKE/pre_trained/model_final.pth'

权重文件在SMOKE官方代码中提供了连接,不过是google云盘的连接,大小223.43MB。下载好后放在./SMOKE/pre_trained/model_final.pth路径下即可。注意路径名字,别弄错名字了。
为了防止有的学者访问不了google云盘,我在baidu云盘创建了一个备份,如下:

链接:https://pan.baidu.com/s/1ZeaE462nBsiHtdAgFwMvUA
提取码:cumt

5.环境配置

MonoEF和SMOKE官方代码竟然都没有requirement.txt,真离谱!!导致运行代码,一会一个报错:no module named XXX !!!
我这里列举的可能不全,少哪个包,安哪个包!

no module  named cv2
no module  named skimage
no module  named PIL
no module  named tqdm
cannot import name  PILLOW_VERSION  from  PIL

着重说一下pillow包,pillow版本太高会报错,pillow安6.1版就好了。
解决方法:

pip install pillow==6.1
pip install opencv-python
pip install scikit-image
pip install tqdm

6.修改代码

MonoEF/tools/plain_train_net.py 中的第6行代码:

sys.path.append('/media/lion/Seagate_Backup/SenseTimeResearch/pod_ad/Smoke_sequence_2/SMOKE/')

修改为自己的SMOKE路径即可。注意:不能用相对路径只能用绝对路径!!!
例如: 我的SMOKE路径是:/root/MonoEF-main/SMOKE,则修改为:

sys.path.append('/root/MonoEF-main/SMOKE')

再次提醒,不能用相对路径,只能用绝对路径。

如果不修改这行代码,会报错,报错内容如下:

Traceback (most recent call last):File "tools/plain_train_net.py", line 9, in <module>from smoke.config import cfg
ModuleNotFoundError: No module named 'smoke'

6.训练与检测

单个GPU训练:

python tools/plain_train_net.py --config-file "configs/smoke_gn_vector.yaml"

几秒就训练完了。真奇怪。

复现 MonoEF:Monocular 3D Object Detection: An Extrinsic Parameter Free Approach相关推荐

  1. 论文阅读笔记:(2021.06, cvpr) Monocular 3D Object Detection: An Extrinsic Parameter Free Approach

    这是一篇发表在了cvpr 2021上,能够在线估计外参的单目3D目标检测算法,借鉴了visual odometry和style transfer的方法,效果好, 速度快(~30ms), 意料之外,情理 ...

  2. Delving into Localization Errors for Monocular 3D Object Detection 论文学习

    论文地址:Delving into Localization Errors for Monocular 3D Object Detection Github地址:Delving into Locali ...

  3. FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

    Paper name FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection Paper Reading Note UR ...

  4. 【论文翻译】FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

    文章目录 PaperInfo Abstract 1 Introduction 2 Related Work 2D Object Detection Monocular 3D Object Detect ...

  5. 论文精读《OFT: Orthographic Feature Transform for Monocular 3D Object Detection》

    OFT: Orthographic Feature Transform for Monocular 3D Object Detection 文章目录 OFT: Orthographic Feature ...

  6. 论文精读 《CaDNN: Categorical Depth Distribution Network for Monocular 3D Object Detection》

    CaDNN: Categorical Depth Distribution Network for Monocular 3D Object Detection 文章目录 CaDNN: Categori ...

  7. 【3D目标检测】SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation

    目录 前提 概述 细节 网络结构 特征提取网络 检测头1:关键点检测 检测头2:3D参数回归 损失函数 前提 需要先了解下CenterNet [目标检测]Objects as Points 概述 本文 ...

  8. MONODISTILL: LEARNING SPATIAL FEATURES FOR MONOCULAR 3D OBJECT DETECTION

    Paper name MONODISTILL: LEARNING SPATIAL FEATURES FOR MONOCULAR 3D OBJECT DETECTION Paper Reading No ...

  9. 【论文翻译】Orthographic Feature Transform for Monocular 3D Object Detection

    标题:<Orthographic Feature Transform for Monocular 3D Object Detection> 作者:Thomas Roddick, Alex ...

最新文章

  1. input type=file /,美化自定义上传按钮
  2. 动态参数 名称空间 作用域 作用域链 加载顺序 函数的嵌套 global nonlocal 等的用法总结...
  3. Web应用_Tomcat部署及优化
  4. nodejs unhandledPromiseRejectionWarning警告信息
  5. 《ASP.NET Core 微服务实战》-- 读书笔记(第11章)
  6. python调用PostgreSQL 11
  7. moodle架构分析---表现层的设计(二)
  8. python中的zip、map、reduce 、lambda、filter函数的使用
  9. 1086: [SCOI2005]王室联邦
  10. [开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析
  11. 181104每日一句
  12. Unity3D关于VR的Demo(一)
  13. C语言strtok_r和strtok使用方法
  14. TC SRM599 div2 p950
  15. 物联网毕业设计 单片机火灾报警器设计与实现
  16. 用CentOS 7安装cadence搭建适合IC Design的科研环境(四)——IC617、MMSIM151、calibre2015安装过程step by step
  17. 特斯拉Autopilot软件重写
  18. 数据处理-18.数据采集渠道
  19. Codeforces 7D
  20. 期货反向跟单--仍然逃不过二八定律

热门文章

  1. 企业微信的聊天记录可以被领导看到吗?这样算不算被窥探隐私?
  2. Android 调节屏幕亮度(当前应用和系统亮度)
  3. Python并发之协程gevent数据结构和实践(6)
  4. Bugku:杂项 猫片(安恒)
  5. 2021最新 阿里云购买学生机服务器搭建部署一条龙服务
  6. 元旦带听泉登王子山游芙蓉沟
  7. 什么是有理数和无理数?
  8. 微信小程序开发收藏经验(一)
  9. 特朗普纽约投资项目售价8.5亿
  10. 计算机毕业设计-仿QQ音乐--HTML+CSS