内容:
训练VOC数据集和coco数据集
测试VOC数据集和coco数据集,并输出各种性能指标
mmdetection的github地址:
https://github.com/open-mmlab/mmdetection
使用深度学习目标检测框架mmdetection训练自己的数据集,首先配置好环境:
根据之前博客https://blog.csdn.net/qq_35153620/article/details/102723960
1.将自己的VOC数据集或者COCO数据集以下面目录格式存储:
2.创建软连接,首先在mmdetection文件中创建data目录,命令:
mkdir data
进入:
cd data/
创建软连接:
ln -s dataset VOCdevkit(coco)
dataset:你自己的数据集的地址
VOCdevkit(coco)根据自己数据集格式,二者选一
3.更改dataset文件
进入mmdet/datasets目录下
打开coco.py或者voc.py更改类别名:
文件中CLASSES改成自己数据集的类别名称
4.更改config配置文件
打开你要使用的检测模型,例如本文使用/configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py
faster-rcnn检测模型,骨干网络resnet-fpn网络
在configs文件你可以选择你想要使用的模型
找到文件中num_classes=16改成你自己数据集的类别数量
5.输入命令:
单GPU使用命令:
python tools/train.py ${CONFIG_FILE}
${CONFIG_FILE}改成你使用的config文件,例如python tools/train.py faster_rcnn_r50_fpn_1x_voc0712.py
多GPU:
./tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM} [optional arguments]
开始训练!
6.测试结果
训练后权重保存在work_dirs目录下
python tools/test.py configs/faster_rcnn_r50_fpn_1x.py work_dir/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth --show
7.输出性能指标
coco数据集可直接:
python tools/test.py configs/faster_rcnn_r50_fpn_1x.py work_dirs/faster_rcnn_r50_fpn_1x/epoch_4.pth --out ./result/result_.pkl --eval bbox
voc数据集需要:
mkdir result
先执行保存result文件
python tools/test.py configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py work_dirs/faster_rcnn_r50_fpn_1x_voc0712/epoch_4.pth --out ./result/result_.pkl
再计算性能指标并输出
python tools/voc_eval.py ./result/result_.pkl configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py