mmdetection训练、测试


前言

用于记录mmdetection训练、测试自己的数据集(采用mask-rcnn)。关于mmdetection的源码知识日后慢慢补充。


一、使用mmdetection训练测试Mask-Rcnn

mmdetection是商汤科技(2018COCO目标检测挑战赛冠军)和香港中文大学开源的一个基于Pytorch实现的深度学习目标检测工具箱,支持多种目标检测框架,如Faster RCNN, Mask RCNN, RetinaNet,。源码:mmdetection源码
The master branch works with PyTorch 1.3 to 1.6. The old v1.x branch works with PyTorch 1.1 to 1.4

1.数据集转化

mmdetection自带的绝大多数配置文件都默认用的COCO数据集格式,使用的时候把自己的数据及标签转化为coco数据格式。如果是txt型的标注先转成json再转成coco(具体见mask-rcnn牙齿分割文档)

2.准备配置文件

mmdetection/configs/下包含了多个网络模型的配置文件,拷贝需要用到的模型文件如maskr_rcnn_r50_fpn_1x.py到一个新建的wyk_configs文件夹,修改model字典中的num_classes,num_classes=3,#类别数+1修改data字典中的img_scale:img_scale=(540,960), #输入图像尺寸(train、val、test这三处都要修改)。复制一份mmdetection/mmdet/datasets/coco.py到wyk_configs并修改CLASSES内类别。
详细修改可以参考添加链接描述

3.训练

python tools/train.py configs/faster_rcnn_r50_fpn_1x.py --gpus 1 --validate --work_dir work_dirs

可选参数:
–validate:每k个epoch进行评估,默认k为1
–work-dir:保存训练结果的路径
–resume-from:如果中断时可以用此参数继续训练,如–resume-from work_dirs/lastest.pt

4.测试

python tools/test.py ./configs/faster_rcnn_r50_fpn_1x.py ./work_dirs/cascade_rcnn_r50_c4_1x/latest.pth --eval mAP

./configs/faster_rcnn_r50_fpn_1x.py是配置文件,./work_dirs/cascade_rcnn_r50_c4_1x/latest.pth是测试的模型文件,–eval mAP是评估方式

二、mmdetection补充知识

mmdetection的模型主要由以下4个部分构成:
①backbone:通常是一个全卷积网络如ResNet用于提取feature map
②neck:连接backbone和head的部分,如FPN
③head:用于特定任务如bbox预测,maskyuce等的模块
④ROI extractor:从feature map提取特征,如ROI Align、RoIPooling等

源码解读

猜你喜欢

转载自blog.csdn.net/qq_43173239/article/details/112979340
今日推荐