
1、 Annotations 目录是存放 xml 文件;
2、 ImageSets 目录是存放 txt 文件,主要是测试集、训练集、验证集等文件名称的集合;
3、 JPEGImages 目录是存放图片文件( jpg );
1、从 Annotations 目录下读取 xml 目录;
2、把 xml 目录,随机重置一下,这样在训练的时候,各个分类是随机读取,不会出现某一个分类聚集读取,从而影响训练效果。当然,你也可以在训练的时候选择随机重置,道理是一样的;
3、创建将要写入的 txt 文件。这里示范了训练集、验证集,其他的可自行添加;
4、读取目录文件,通过前缀判断,写入 txt 文件。
有时候不需要指定数据集,只是从一个大的原始数据集中,随机选取一部分当中训练集、一部分当作验证集、一部分当作测试集。
本文以 Faster R-CNN 为例,介绍如何修改 MMDetection v2 的配置文件,来训练 VOC 格式的自定义数据集。
2021.9.1 更新: 适配 MMDetection v2.16
目录:
服务器的环境配置:
./configs/_base_ 的目录结构:
可以看出,包含四类配置:
打开 ./configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py :
修改数据集配置的路径:
打开 ./configs/_base_/datasets/voc0712.py :
打开 ./configs/_base_/models/faster_rcnn_r50_fpn.py :
修改 roi_head 的类别个数 num_classes :
打开 ./configs/_base_/schedules/schedule_1x.py :
修改学习率 lr 和迭代轮数 total_epochs :
打开 ./configs/_base_/default_runtime.py :
修改 log_config 的日志记录间隔 interval ,并开启 TensorBoard 记录器:
另外,也可以将上面步骤 1-5 修改的配置写在一个文件中。
这样就能够更方便地管理不同的配置文件,避免因频繁修改导致出错。
在训练和测试时,遇到的一些容易报错的地方,这里做下记录。
修改 VOCDataset() 的标签类别 CLASSES :
修改 voc_classes() 返回的标签类别:
如果是自定义数据集的名字,需要注释报错信息 ValueError ,并将 self.year 设为 None :
如果图像文件不是 jpg 格式,需要将 filename 和 img_path 的后缀名改为相应格式:
如果标注文件中不存在 difficult 标签,需要将 difficult 设为 0 :
将 results 中的 20 改为自定义数据集的类别个数:
有帮助的话,点个赞再走吧,谢谢~
参考:
超图数据集管理基本 *** 作和添加删除属性表字段方法如下
bcbobo21cn
码龄16年
关注
打开一个自带数据源;这是一个数据源模板;里面数据是空的;
右击数据集,属性;
工作空间管理器选中矢量数据集,数据集属性面板中会显示:数据集、投影、矢量、属性表、值域五个面板;
数据集信息
面板中将显示该矢量数据集的属性信息,包括矢量数据集的基本信息、数据集范围信息以及数据集的详细描述信息;
坐标系
面板中显示该矢量数据集的坐标系信息
坐标系名称:显示矢量数据集的坐标系信息。
单位:显示矢量数据集的距离单位。
坐标系信息:显示矢量数据集投影的详细描述信息。
值域
面板显示该矢量数据集字段的值域信息,包括矢量数据集的字段别名、字段类型、值域类型及值域设置;
属性表面板;字段名称,别名,类型,长度,可空否,缺省值;
除了系统字段,自己的字段可自己管理;可添加、删除字段;点加号按钮,添加一个测试字段如下,字段名-mymemo,别名-注释,类型-字符,缺省值-"一切正常";
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)