基于 yolo_v5 训练识别人物
Posted Top嵌入式
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 yolo_v5 训练识别人物相关的知识,希望对你有一定的参考价值。
文章目录
基于 yolo_v5 训练识别人物
一、文章前言
文章分享yolo模型训练和部署
二、工具&环境准备
2.1 安装必要环境工具
IDE:使用 Pycharm 2021 社区版,推荐安装参考博文:pycharm安装教程,超详细
CUDA 和 CUDNN:用于使用 GPU 加速训练和推理,推荐安装参考博文:Cuda和cuDNN安装教程(超级详细)
Git:便于进行模型操作和环境配置,推荐安装参考博文:Git安装教程(Windows安装超详细教程)
Anconada:便于配置管理 Python 环境,推荐安装参考博文:Win10+Anaconda3 的详细安装教程(图文并茂)
AnLink:将手机画面投屏到电脑的工具,下载链接:AnLink官网
2.2 获取 yolov5 源码
源码获取推荐参考文章:YOLOv5的详细使用教程,以及使用yolov5训练自己的数据集
步骤简单总结一下就是:
- 使用 Git 工具拉取源码
- 使用 Conda 安装配置 yolo 需要的环境
三、模型训练
准备一段用于训练的视频,这里我用的小鲁班作为目标
将这段视频导出为图片,推荐训练的张数为 100 - 400 张,导出可以使用 PR 或者一些网页进行转化,转换网页推荐:Convert To JPG
有了图片后使用 Labelimg 进行标注,在 Git 中使用如下命令下载:
pip install labelimg
下载后启动:
labelimg
选择 yolo 标注模式进行标注,设置目标标签为 luban,标注文件生成的是 txt,用于后续的训练
这里的 labelimg 标注工具有一些使用细节要注意,推荐大家参考阅读这篇文章:labelImg 使用教程 图像标定工具
数据集准备好后,我们放到同一个文件夹下
用 pytorch 打开代码工程,在如下位置新建一个数据集配置文件
输入配置参数:
train: D:\\yolo_v5\\datasets\\trains2 # train images (relative to 'path') 128 images
val: D:\\yolo_v5\\datasets\\trains2 # val images (relative to 'path') 128 images
nc: 1 # number of classes
names: ['luban'] # class names
- train:训练集标签路径
- val:验证集标签路径(理论上两个数据集应该不一样,训练效果更好,这里我使用了同一个)
- nc:识别的种类数目
- names:识别的标签,和标注时设置的标签要对上
之后修改训练脚本 train.py 参数:
配置 pycharm 运行此程序,python 的运行环境是我用 conda 新建的环境
训练现象:GPU 进入打工人状态,整体 200 多张图片训练了 4 个小时左右
模型训练完成后测试训练结果:训练模型结果放在了 yolo_v5\\yolov5\\runs\\train\\expxx
目录下面,模型文件是 best.pt 文件
我们修改 detect.py 检测脚本
然后运行检推理检测程序,运行后在输出目录下生成检测的视频文件,结果如下:
观察效果也可以看训练目录下的参数结果:
整体参数还行,loss 曲线正常拟合,没有过拟合和欠拟合情况
以上是关于基于 yolo_v5 训练识别人物的主要内容,如果未能解决你的问题,请参考以下文章