mmdetection训练自己的VOC数据集

官方步骤:

https://github.com/open-mmlab/mmdetection/blob/master/GETTING_STARTED.md

首先根据规范的VOC数据集导入到项目目录下,如下图所示:

mmdetection
├── mmdet
├── tools
├── configs
├── data
│   ├── VOCdevkit
│   │   ├── VOC2007
│   │   │   ├── Annotations
│   │   │   ├── JPEGImages
│   │   │   ├── ImageSets
│   │   │   │   ├── Main
│   │   │   │   │   ├── test.txt
│   │   │   │   │   ├── trainval.txt
然后复制configs/retinanet_x101_64x4d_fpn_1x.py ,更名为my.py

修改其中dataset settings部分:

dataset_type = 'VOCDataset'
data_root = 'data/VOCdevkit/'
img_norm_cfg = dict(
    mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
data = dict(
    imgs_per_gpu=2,
    workers_per_gpu=2,
    train=dict(
        type='RepeatDataset',  # to avoid reloading datasets frequently
        times=3,
        dataset=dict(
            type=dataset_type,
            ann_file=[
                data_root + 'VOC2007/ImageSets/Main/train.txt',#train.txt
            ],
            img_prefix=[data_root + 'VOC2007/'],
            img_scale=(1333, 800),
            img_norm_cfg=img_norm_cfg,
            size_divisor=32,
            flip_ratio=0.5,
            with_mask=False,
            with_crowd=False,
            with_label=True)),
    val=dict(
        type=dataset_type,
        ann_file=data_root + 'VOC2007/ImageSets/Main/trainval.txt',
        img_prefix=data_root + 'VOC2007/',
        img_scale=(1333, 800),
        img_norm_cfg=img_norm_cfg,
        size_divisor=32,
        flip_ratio=0,
        with_mask=False,
        with_crowd=False,
        with_label=True),
    test=dict(
        type=dataset_type,
        ann_file=data_root + 'VOC2007/ImageSets/Main/test.txt',
        img_prefix=data_root + 'VOC2007/',
        img_scale=(1333, 800),
        img_norm_cfg=img_norm_cfg,
        size_divisor=32,
        flip_ratio=0,
        with_mask=False,
        with_crowd=False,
        with_label=False,
        test_mode=True))

修改mmdetection/mmdet/datasets/voc.py下classes为自己的类

mmdetection训练自己的VOC数据集_第1张图片

如遇到label=self.cat2label 报错,请查看本人的其他博客

 

 

运行代码python tools/train.py  config/my.py

 

推荐一个讲解比较详细的源代码的私人博客(如有侵权,请联系删除)
https://heary.cn/posts/mmdetection-基于PyTorch的开源目标检测系统/

你可能感兴趣的:(mmdetection)