以下链接是个人关于mmdetection(Foveabox-目标检测框架)所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信:a944284742相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。 文 末 附 带 \color{blue}{文末附带} 文末附带 公 众 号 − \color{blue}{公众号 -} 公众号− 海 量 资 源 。 \color{blue}{ 海量资源}。 海量资源。
目标检测00-00:mmdetection(Foveabox为例)-目录-史上最新无死角讲解
通过前面的博客,我们已经知道怎么去评估以及训练一个模型,但是都是基于官方的数据集进行训练,那么我们如何去训练自己的数据呢?那么这篇博客我们来为大家讲解,首先请大家下载好该数据集,如果连接失效,请留言,本人会及时更换: 链接:https://pan.baidu.com/s/1X0grp4ILVEbgxJJn5cePoA 提取码:94uk 下载好之后,本人摆放的位置如下:
放置好之后,那么我来简单的介绍一下该数据集。该数据集主要是一个仪表数据集,总共就一个类别,如果加上背景则为2个类别,打开其中的 test.json即可查看,如下: 其中的categories的内容为: 只有一个类别
'油面温度表'数据的格式,完全按照coco的数据格式(想要详细了解的,可以自行百度),因为这样我们就能直接使用coco的API,可以节约很多时间。
为了在不更改任何源码源码的情况下,训练自己的数据,本人使用的是如下方案。
1.自定义config文件 2.自定义数据读取器,并且添加到 mmdetection 框架之中 3.进行训练测试
通过如下连接: 目标检测00-04:mmdetection(Foveabox为例)-config文件注释-持续更新:https://editor.csdn.net/md?not_checkout=1&articleId=108388011 复制 非 注 释 的 代 码 \color{blue}{非注释的代码 } 非注释的代码 的 config 到 configs/foveabox/my_fovea_r50_fpn_4x4_2x_coco.py (自行创建)之中。其中的 num_classes=1 是比较关键地方,不需要加上背景类。
复制 mmdet/datasets/coco.py 文件重命名为 mmdet/datasets/mycoco.py, 然后修改其中的 CocoDataset 为 MyCocoDataset,如下:
#class CocoDataset(CustomDataset): class MyCocoDataset(CustomDataset):把 CLASSES 替换成如下:
CLASSES = ['油面温度表']修改 mmdet/datasets/init.py (下划线打不出来)文件,添加如下代码:
from .mycoco import MyCocoDataset并且在 __all__中也加上MyCocoDataset
执行指令:
# $MMPOSE表示项目(从githubu下载)的根目录 cd ${mmdetection-root} python tools/train.py configs/foveabox/my_fovea_r50_fpn_4x4_2x_coco.py本人打印如下:
查看测试集的测试结果
# $MMPOSE表示项目(从githubu下载)的根目录 cd ${mmdetection-root} # fovea_r50_fpn_4x4_2x_coco 表示你想保存测试图片的目录 python tools/test.py configs/foveabox/my_fovea_r50_fpn_4x4_2x_coco.py work_dirs/my_fovea_r50_fpn_4x4_2x_coco/latest.pth --show-dir my_fovea_r50_fpn_4x4_2x_coco进行mAP评估
python tools/test.py work_dirs/my_fovea_r50_fpn_4x4_2x_coco/my_fovea_r50_fpn_4x4_2x_coco.py work_dirs/my_fovea_r50_fpn_4x4_2x_coco/latest.pth --eval-options 'classwise=True' --eval bbox proposal报错1
File "/my_app/anaconda3/envs/09.-pytorch1.5-py3.6/lib/python3.6/site-packages/mmcv/utils/logging.py", line 82, in print_log print(msg)这里主要的原因是有因为类别名称使用了中文, 所 以 强 烈 建 议 标 注 文 件 不 要 使 用 中 文 \color{red}{所以强烈建议标注文件不要使用中文} 所以强烈建议标注文件不要使用中文,为了避免中文打印,本人执行如下指令:
python tools/test.py work_dirs/my_fovea_r50_fpn_4x4_2x_coco/my_fovea_r50_fpn_4x4_2x_coco.py work_dirs/my_fovea_r50_fpn_4x4_2x_coco/latest.pth --eval bbox proposal显示如下: 对于单张图片以及摄像头的测试,loss 画图等等,请大家阅读上一篇博客。