AI学习笔记四:yolov5训练自己的数据集

若该文为原创文章,转载请注明原文出处。

一般情况下,大部分人的电脑都是没有cpu的,cpu也是可以训练的,但花费的时间太长,实际200张图片,使用CPU训练300轮花了3天,本章记录使用云服务器来训练自己的数据集。

使用的云服务器是AutoDL,一直在使用,性价比还是比较高的。

AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL

训练疲劳驾驶行为检测

一、准备数据集

数据集可以自己拍照,也可以网上找,博主在网上找到了一份疲劳驾驶行为的图片,直接拿过来用了,共有2千多张。 

AI学习笔记四:yolov5训练自己的数据集_第1张图片

准备好数据后需要数据标注,数据标注是大部分人工智能算法得以有效运行的关键环节。数据标注的过程是通过人工贴标的方式,为机器系统可供学习的样本。yolov5标注使用的是labelimg软件。

需要数据集,下方评论或@博主。标注数据是在本地电脑操作,标注后才把数据上传到云服务器训练

二、labelimg

1、激活环境

conda activate yolo

imgAI学习笔记四:yolov5训练自己的数据集_第2张图片编辑

2、安装labelimg

# 使用pip 安装
pip install labelimg

安装后,在终端输入labelimg启动软件

AI学习笔记四:yolov5训练自己的数据集_第3张图片

3、标注

标记完成的数据请按照下面的格式进行放置,方便程序进行索引。 colo128 ├─ images │ ├─ test # 下面放测试集图片 │ ├─ train # 下面放训练集图片 │ └─ val # 下面放验证集图片 └─ labels ├─ test # 下面放测试集标签 ├─ train # 下面放训练集标签 ├─ val # 下面放验证集标签

3.1 打开图片及设置标注文件保存的目录并设置自动保存,这里需要主要选择yolo格式

AI学习笔记四:yolov5训练自己的数据集_第4张图片

3.2 开始标注,画框,标记目标的label,crtl+s保存,然后d切换到下一张继续标注,不断重复重复

AI学习笔记四:yolov5训练自己的数据集_第5张图片

标注完成后,把colo128打包压缩下,准备上传到服务器。

三、训练数据集

1、注册AutoDL

自行注册,云服务可以按时收费,也可以其他方式,自己选择。

2、创建实例

AI学习笔记四:yolov5训练自己的数据集_第6张图片

配置选择,选择的是3090,也可以其他,我比较喜欢就是直接选择好社区镜像,就给你创建好环境

AI学习笔记四:yolov5训练自己的数据集_第7张图片

创建后开启,可以通过多种方式登录,为了方便,直接使用JupyterLab

AI学习笔记四:yolov5训练自己的数据集_第8张图片

JupyterLab,打开终端就可以看到终端界面了,环境也安装好了

AI学习笔记四:yolov5训练自己的数据集_第9张图片

3、上传数据集和下载YOLOV5-5.0

删除环境自带的yolov5版本,然后下载yolov5-5.0版本,并上传到服务器,可以直接拖进去,并把标注好的数据也一并上传。

AI学习笔记四:yolov5训练自己的数据集_第10张图片

4、修改配置文件

博主是 基于colo128配置文件训练的,这里需要修改两个文件

修改文件一:复制yolov5-5.0/data/colo128.yaml为pilao_coco128.yaml

# 修改一:数据集路径
train: ../coco128/images/train2017/  # 128 images
val: ../coco128/images/train2017/  # 128 images
​
# number of classes
# 修改,原本是80,修改成3
nc: 3
# 修改二:class names即标注的类,数据集标注了3类,所以修改成3类,colo128是80类
# class names
names: [ 'closed_eye','closed_mouth','open_eye']

修改文件二:复制yolov5-5.0/models/yolov5s.yaml为pilao_yolov5s.yaml

注意不一定是yolov5s.yaml,这是训练时参考的模型,可以是其他的,自行了解

# parameters
# 修改,原本是80,修改成3
nc: 3  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.50  # layer channel multiple

5、训练

python train.py --img 640 --batch 16 --epochs 300 --data ./data/pilao_coco128.yaml --cfg ./models/pilao_yolov5s.yaml

AI学习笔记四:yolov5训练自己的数据集_第11张图片

看到进度,已经在运行了,训练了大概3个多小时。

最后可以在runs/train/expX/weights目录下看到生成了两个pt文件

6、测试

python detect.py --source data/images/zidane.jpg --weights runs/train/exp2/weights/best.pt

路径自行修改。

如有侵权,或需要完整代码,请及时联系博主。

你可能感兴趣的:(AI计算机视觉,学习,笔记,YOLO)