赞
踩
首先确定已安装好MMDetection环境,能正常运行 demo/image_demo.py 输出内容。
这里需要注意一点,如果高版本MMDetection安装输出有问题,建议安装低版本的库 mmcv<2.0以及mmdet<3.0,以及更低版本的pytorch<2.0,这一点非常关键,在MMDetection高版本上运行不了的程序,在低版本上是可以运行的。
数据集文件夹存放方式,按照如下格式
- --data #顶层文件夹
- --coco
- --anotations # 标注文件
- --instances_train2017.json
- --instances_val2017.json
- --train2017 # 训练集
- --val2017 # 测试集
如下图所示,将数据集文件夹放到mmdetection项目主目录中
项目整体架构
- configs/_base_
- /datasets/coco_detection.py
- --> 1.训练输入大小(img_scale)
- 2. batch_size(samples_per_GPU)
- 3.数据集路径
- 4.最底下 evaluation,添加参数(save_best='auto')#保存最好权重
- /models/算法核心文件 -->1.确定训练类别数量(num_classes)
- /shedules/训练策略 --> 1.确定训练时长(epoch)
- configs/文件夹/使用具体哪个训练算法
-
- #训练自己的数据集--修改2个关键核心位置
- mmdet/core/
- evaluation/class_names.py/ def coco_classes()-->修改为自己的数据集类别
- datasets/coco.py/-->class CoCoDataset 修改为自己的类别 CLASSES, PALETTE 几个类别就用几个颜色框
3.1修改 mmdet/core/evaluation/class_names.py def coco_classes()
如果找不到这个文件,直接在项目组里Ctrl+F,搜索class_name.py文件
- def coco_classes() -> list:
- """Class names of COCO."""
- # 写上自定义数据集的类别的名称
- # 将上面的COCO类别名称注释掉
- return ['0', '1', '2', '3'] # 这里有四个类别
3.2 修改mmdet/datasets/coco.py文件 class COCODataset(BaseDetDataset)
- class CocoDataset(BaseDetDataset):
- """Dataset for COCO."""
-
- METAINFO = {
-
- #修改为自定义数据集的类别名称,将上面的COCO类别名称注释掉
- 'classes': ('0', '1', '2', '3'),
- # 这里有4个类别,需要四个颜色框就可以了
- 'palette':
- [(220, 20, 60), (119, 11, 32), (0, 0, 142), (0, 0, 230),]
-
- }
3.3 重新编译
在文件夹主层目录进行文件编译,目的是对类别编译
python setup.py install
3.4以Faster RCNN举例
接下来还要修改 FasterRCNN配置文件中类别数量
位置在configs/_base_/models/faster_rcnn_r50_fpn.py
- # 找到参数 num_class
-
- # num_classes=80 # 默认coco数据集类别数量
- num_classes=4 # 修改为自定义数据集类别数量
关键训练参数 epoch,batch_size, input_size
4.1在configs/schedules/schedule_1x.py
max_epoch=12 # 设置训练epoch
4.2 在configs/datasets/coco_detection.py
- train_pipeline = [
- # 修改scale为需要的输入大小
- dict(type='Resize', scale=(1333, 800), keep_ratio=True),]
-
- test_pipeline = [
- # 修改scale为需要的输入大小
- dict(type='Resize', scale=(1333, 800), keep_ratio=True),]
4.3 进行训练
为了方便可以指定具体参数 tools/train.py
- #关键参数
- parser.add_argument('--config', default='configs/faster_rcnn/faster-rcnn_r50_fpn_1x_coco.py', help='train config file path')
- parser.add_argument('--work-dir', default= 'wordir/faste_rcnn', help='the dir to save logs and models')
启动训练
python tools/train.py
4.4 进行测试
例如,测试faster-rcnn_r50_fpn_1x_coco.py
配置好 config文件夹位置,训练权重位置,工作文件夹
- #关键参数
- parser.add_argument('--config', default='configs/faster_rcnn/faster-rcnn_r50_fpn_1x_coco.py', help='train config file path')
- parser.add_argument('--checkpoint', default='workdir/faster_rcnn/epoch_20', help='checkpoint file')
- parser.add_argument('--work-dir', default= 'wordir/faste_rcnn', help='the dir to save logs and models')
python tools/test.py
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。