自定义类别目标检测通用步骤,Pytorch实现。
文件目录:
- 首先从网络或自建数据集获取符合需求的目标检测任务的数据;
- 采用流行的标注软件进行标注得到标注文件,此例程采用Labelme软件标注,标注参考数据;
To实习生:
数据说明:作为例程,数据用于跑通代码进行测试,请在实现过程中采用自己标注的数据进行训练,用此244张图像作为验证评估数据。
标注示例图:
- 得到标注数据目录格式:
|-------------------------------|
|-class |-annotations |-1.json |
| | |-2.json |
| | |-3.json |
| |----------------------|
| |-images |-1.jpg |
| | |-2.jpg |
| | |-3.jpg |
|-------------------------------|
1_transformat.py实现格式转换功能;
目前有三种主流格式:
- coco格式标注
- Yolo格式的标注
- 标注软件原生标注
各个标注格式的文件一般可以相互转换;
- 生成文件名列表 2_file_list.py
- 根据文件名列表划分数据集 3_split_data.py
4_train.py
配置文件:bowl.yaml
# Bowl
path: ./data/ # dataset root dir
train: /data/bowl/train.txt # train images
val: /data/bowl/val.txt # val images
# Classes
names:
0: Bowl
预训练模型:pretrained_model
采用Yolov8实现,Yolov8详细使用方式和参数设置参考Yolov8官方教程
yolo运行起来检查是否读取到标签,若不成功检查格式转换的label目录和配置文件是否错误;
查看训练过程:
终端切换到当前目录:tensorboard --logdir=runs/detection/train* # *代表当前训练
查看链接:http://localhost:6006/
5_predict.py
用训练好的模型测试相应图像进行性能评估,测试图像