Win10 超详细 0基础 用YOLO V5训练自己数据集【使用篇】

1.本文简介

最近在研究YOLO V5的用法,借此机会整理一下,希望对大家有参考。

搭建教程请见: Win10 超详细 0基础 搭建YOLOV5教程【环境搭建篇】

此文对YOLO V5性能不多做介绍,由于网上许多教程都略微有些繁杂,因此本文旨在展示 最简单 的 【搭建方法】和【用法】,供0基础的初学者也能上手。

本文将涵盖【用YOLOV5做检测】、【训练自己的数据集】等内容,并提供相关工具的下载和基本用法。

#本文不涉及调参,或模型修改

 

目录

1.本文简介

2. 关于YOLO V5【简介】

3.如何用YOLO V5进行检测

4.如何用自己的数据集来训练



 

2. 关于YOLO V5【简介】

YOLO V5内置4种大小不同的默认模型

【s版】小、快、精度低,【x版】大、慢、精度高

Win10 超详细 0基础 用YOLO V5训练自己数据集【使用篇】_第1张图片

调用yolov5检测时,在控制台cmd按以下规则输入指令

python  detect.py  --source 【输入文件】 --weights 【权重文件】 

1.【detect.py】代表检测模式,用【train.py】则是训练自己的程序。

2.【source】代表图像输入,训练时为yaml格式文件,检测时为图片路径。

3.【weights】代表权重文件,训练结果。yolov5内置一些训好的权重文件。

4.【yolov5s.pt】代表选择了yolov5s模型,可以用【yolo5m.pt】等其他模型去替换

 

3.如何用YOLO V5进行检测

yolo v5支持用 图片、视频、文件夹 等多种格式的图像作输入。

3.1.用默认权重文件进行检测

1.打开【anaconda navigator】→【CMD.exe Prompt】进入控制台

2.将图片放在【C:\Users\用户名\yolov5\inference\images】内

3.在CMD输入指令开始test


cd yolov5                   

activate yolov5         //若没有创建环境则不需要这一步

python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.3     //阈值0.3可自行设定

Win10 超详细 0基础 用YOLO V5训练自己数据集【使用篇】_第2张图片

test结果在【C:\Users\用户名\yolov5\inference\output】文件夹

 

3.2.用自己的训练好的权重文件进行检测

3.1.步骤不变,划线部分【yolov5s.pt】改为自己的权重文件即可,

【默认权重】python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.3

【更改后例】python detect.py --source ./inference/images/ --weights ./runs/exp**/weights/test.pt --conf 0.3

 

4.如何用自己的数据集来训练

本节将使用【yolov5s.pt】模型举例如何进行训练。

#数据制作方法暂未更新#

4.1.数据集准备

这里用roboflow提供的Mask Wearing Dataset(416×416,149imgs)进行训练演示

选择格式为YOLO v5 PyTorch进行下载并解压。

Win10 超详细 0基础 用YOLO V5训练自己数据集【使用篇】_第3张图片

【train】、【valid】、【test】放到【C:\Users\用户名\yolov5\data\

Win10 超详细 0基础 用YOLO V5训练自己数据集【使用篇】_第4张图片

#补充

images里的图片 跟 labels里的标签,是按文件名 1:1对应的(如:1.jpg 对应 1.txt标签文件)

训练自己的数据时也需要分成【train】、【valid】、【test】并放在【C:\Users\用户名\yolov5\data\】内

 

4.2.训练数据

训练前需要配置2个yaml格式文件,便可进行训练。

4.2.1.配置yaml文件

【C:\Users\用户名\yolov5】内新建一个test.txt,右键【编辑】,

根据下面格式,写入训练集和验证集的路径,并把后缀【txt】改为【yaml】。(nc是类的数量)

———————test.yaml———————

train: data/train/images
val: data/valid/images

nc: 2                               
names: ['mask', 'no-mask']

—————————————————

【C:\Users\用户名\yolov5\models】内新复制一个【yolov5s.yaml】(可用别的模型)

并将新复制出来的文件改名为【masktest.yaml】,右键【编辑】把nc修改为2,保存即可。

Win10 超详细 0基础 用YOLO V5训练自己数据集【使用篇】_第5张图片

训练自己的数据时,请按需选择并修改yaml文件。要注意nc的值

订正:depth和width如果没有特殊需求不需要修改。我的图片是x版本,但文字标注写的s!只改nc即可。

4.2.2.命令行运行

CMD输入以下命令并执行

python train.py --data test.yaml --cfg ./models/masktest.yaml --weights '' --batch-size 16

提示:训练自己的数据时修改下划线部分即可,记得激活环境

训练结束,打开【C:\Users\用户名\yolov5\runs\exp**\weights\】

best.pt就是我们需要的检测用的weights文件

 

以上便是关于训练的全部内容,本人还在摸索中,欢迎探讨

你可能感兴趣的:(目标追踪,机器学习,深度学习,pytorch,神经网络,人工智能)