Advertisement

使用mmdetection训练自己voc格式的数据集

阅读量:

使用mmdetection训练自己的数据集

之前使用mmdetection训练的时候,找过几个老哥的博客,但都只是布置voc07或者12的数据训练,没有定义自己的数据集,所以这里特地把训练自己数据集的方式记录下来

场景:【有voc形式的数据集,类别数和名称自定】
我有9类的数据集 名为 “MyDataset”
类别名为 [‘000’,‘001’,‘002’,‘003’,‘004’,‘005’,‘006’,‘007’,‘008’]

mmdetection的最新版本(2019/7/4查看)的GETTING_STARTED.md 里面已经给出了两种使用自己数据集的方法:
两种定义数据集方法
为了符合之前自己的习惯,选择用online conversion,自己用labelImg标注的xml文件和图像共同输入
下面是修改方法

  1. 在mmdet/datasets/init.py 里注册自己的数据集
    在以下两个地方添加

    注册自己的数据集

  2. mmdet/datasets 里有voc.py里面存放了voc数据集的信息,我们改成自己的
    但是这个代码里默认有img_prefix,我没有对它改动,只为了尽快布置好数据集,
    由voc.py改成的MyDataset

    由voc.py改成的,大部分没有变动

  3. 在自己相应的网络配置文件里修改路径,这里一定要记住,因为上一步为了方便没有修改voc数据的前缀名相关的代码,所以我们把自己的数据放在名为 VOC2012的文件夹中

  • data
    • VOC2012
      • JEPGImages #存放自己的数据图片
      • Annotations #标注信息
      • Imagesets #训练时的划分

修改类别数
修改类别数,别忘了还有背景类噢.
设置数据路径
在这里插入图片描述
把下面相关的都改成VOC2012
这样改比较方便

就可以开始用自己的数据集训练啦

另外 如果想用GETTING_STARTED.md里的另一种方式offline conversion,需要修改mmdet/core/evaluation/class_name以及tools/convert_datasets/pascal_voc.py 就可以把数据转成pkl使用,这里因为需要经常查看图像和标注内容,就没有使用这种方法

全部评论 (0)

还没有任何评论哟~