准备工作
1. 安装labelimg
labelimg:主要用于目标检测的目标框绘制,得到关于我们训练的边框位置、类别等数据
pip install labelimg
2. 下载yolov5源码
我使用的是v7.0版本,直接下载即可,下载后解压出来
2.1 安装yolov5运行依赖包
进入到解压出来的文件夹,运行此指令:
pip install -r requirements.txt
3.准备数据
一、在yolov5的同级目录下创建如下图结构文件夹,名字最好不要更改
images:保存的是原图片,train文件夹保存用于训练集图片,val文件夹保存所有的图片,test文件夹用于保存测试集图片。
labels:保存labelimg转化出来的yolo txt文件,train文件夹保存训练集图片的yolo信息,val文件夹保存所有的图片的yolo信息,test文件夹用于保存测试集图片yolo信息。
4.目标标注
使用labelimg进行目标标注
windows在控制台输入labeli按下tap键可自动补全,回车即可
labelImg.exe
打开以后如下图:
-
open Dir是原图片文件夹路径:打开第3步中创建的文件夹images/val
-
Change Save Dir是保存yolo信息的文件夹:打开第3步创建的文件夹labels/val
-
开始目标标注,鼠标点击Edit>Create RectBox(或者按下键盘w键也可以)后就可以在图片上进行目标标注
-
打开自动保存,
![在这里插入图片描述](https://img-blog.csdnimg.cn/61443549f37c4a2eb07495866bd7d1e7.png -
选择保存为yolo txt格式
点击切换
-
标注目标以后可以通过按键盘a(上一张)或者d(下一张)来切换图片,标注的图片会自动保存
5. 分离训练集和测试集数据
例如在images/val中如下图片:
0001.jpg
0002.jpg
0003.jpg
0004.jpg
0005.jpg
0006.jpg
将0001.jpg ~ 0005.jpg复制到images/train文件夹下;将0006.jpg复制到images/test文件夹下.
同样的,也要将转化后的对应的yolo信息文件移动到对应的文件夹;
将0001.txt ~ 0005.txt复制到labels/train文件夹下;将0006.txt复制到labels/test文件夹下.
6.修改源代码路径
检测train.py文件找到data参数对应的默认文件:
修改coco128.yaml文件
nc:表示检测的类别数量,这里只检测人,只有1个
names: 表示检测的类别,这里只检测人
还要修改models文件夹下的yolov5s.yaml文件
修改完成以后直接运行指令开始训练即可
python train.py