mmdetection自定义数据集进行训练

mmdetection对coco数据优先支持。所以在开始之前建议把自己数据修改为标准的coco格式,各种类型数据转coco格式脚本见:转换工具箱。

mmdetection训练自己数据

1.第一步当然是定义数据种类,需要修改的地方在mmdet\datasets

在这个目录下新建一个文件,例如:my_data.py,然后把coco.py的内容复制过来,修改class类名为MyDataset最后把CLASSES的那个tuple改为自己数据集对应的种类tuple即可,例如:

CLASSES = ('1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
           '11', '12', '13', '14', '15', '16', '17', '18', '19', '20')

表明你的数据集有21类(包含背景),命名是’1’-‘20’,还有一类背景。

2.接着在mmdet\datasets\__init__.py引入你自定义的数据集

在这个py文件中开头加入

from .my_data.py import MyDataset

然后在__all__列表中加入你的MyDataset

3.然后在mmdet\core\evaluation\class_names.py中加入你刚才的数据集类别

在开头加入

def mydata_classes():
    return [
        '1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
            '11', '12', '13', '14', '15', '16', '17', '18', '19', '20'
    ]

然后在dataset_aliases字典中加入:

'mydata':['mydata']

最后在mmdet\core\evaluation\__init__.py引入你自定义的数据集,在__all__列表中加入你的mydata_classes

4最后.在你训练的config文件中引入自己数据路径即可

config文件中把dataset_type改为mydata,然后把data_root改成你coco格式自定义数据集的根目录即可。

你可能感兴趣的:(mmdetection,深度学习,图像处理,PyTorch)