基于 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 训练识别人物的主要内容,如果未能解决你的问题,请参考以下文章

基于 yolo_v5 训练识别人物

基于人脸识别的人脸考勤机实现(训练测试部署)

基于人脸识别的人脸考勤机实现(训练测试部署)

[OpenCV实战]1 基于深度学习识别人脸性别和年龄

yolo_v3训练自己的模型(人脸及deep-sort)

Python+OpenCV摄像头实时识别人脸