使用CenterNet训练自己的数据集

最近在做目标检测的项目,使用YOLOv3,Mask R-CNN,Faster R-CNN训练了自己的数据,效果还可以,在保证精度的情况下,速度有点慢。于是就开始找别的方法,发现了2019年的文章CenterNet :Objects as Points,想尝试看看效果。于是就开始了艰难的配置,在这里记录一下。
我是在服务器上训练的,环境是cuda10 ,使用的代码是https://github.com/xingyizhou/CenterNet
1.按照https://github.com/xingyizhou/CenterNet/blob/master/readme/INSTALL.md步骤一步步安装。
在这里插入图片描述
在进行第一步时,出现了问题,Pytorch应该安装适合自己cuda版本的,因为没有在网上找到适合cuda10版本的0.4.1版本的Pytorch,于是就去官网按照以下命令下载了
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
在进行第五步时,首先:
问题:ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.
原因:在PyTorch 1.1.0中,torch.utils.ffi被弃用了,需要用其他包来替代
解决方法:
把build.py和build_double.py中的
from torch.utils.ffi import create_extension 替换为 from torch.utils.cpp_extension import BuildExtension
ffi = create_extension(…) 替换为 ffi = BuildExtension(…)
参考:https://blog.csdn.net/c20081052/article/details/89407771
又遇到了新的问题:TypeError: dist must be a Distribution instance
参考https://www.gitmemory.com/issue/xingyizhou/CenterNet/7/486653333这篇文章问题得以解决。
按照上面,配置的工作完成了。
2.数据集
把数据集转换为COCO之后,按照以下路径存放
在这里插入图片描述
3.为了训练自己的数据集,需要修改代码。
src/lib/opts.py:
第338行的num_classes修改为自己的种类数
src/lib/datasets/dataset/coco.py:
第14行num_classes修改为自己的种类数
第40行self.class_name修改为自己的种类名
第26行的文件名根据自己的命名进行修改(测试时)
在这里插入图片描述
src/lib/utils/debugger.py:
第46行num_classes改为自己的种类数
第454行coco_class_name改为自己的种类名
3.开始训练
在experiments作者已经写好了几个sh,可以直接使用,我使用的是ctdet_coco_resdcn18.sh
在这里插入图片描述
4.测试
CUDA_VISIBLE_DEVICES=1 python test.py ctdet --load_model /home/XX/code/CenterNet-zhouxy/exp/ctdet/coco_resdcn18/model_best.pth --test
可计算出AP等

5.测试视频:
CUDA_VISIBLE_DEVICES=1 python demo.py ctdet --demo /home/XX/code/CenterNet-zhouxy/video/test.avi --load_model /home/XX/code/CenterNet-zhouxy/exp/ctdet/coco_resdcn18/model_120.pth
需要修改的地方:
增加.global_variable.py:
在这里插入图片描述
在这里插入图片描述

debugger.py中修改:
在这里插入图片描述
在这里插入图片描述
修改demo.py:
在这里插入图片描述
6.测试单张图片
CUDA_VISIBLE_DEVICES=2 python demo.py ctdet --demo /home/XX/code/CenterNet-zhouxy/data/in/004641.jpg
–load_model /home/XX/code/CenterNet-zhouxy/exp/ctdet/coco_resdcn18/model_120.pth

  • 9
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值