当前位置: 首页 > article >正文

手势识别-Yolov5模型-自制数据集训练

1、源码下载:

        大家可以直接在浏览器搜索yolov5即可找到官方链接,跳转进github进行下载:

        这里对yolov5模型补充说明一下,它是存在较多版本的,具体信息可在master->tags中查看,大家根据需要下载。这些不同版本一个显著差别是使用的库不同,这会影响到模型部署的难度。此外,不同模型在功能上也存在一定区别。

2、自制数据集的准备

        由于数据集是自制的,需要手动制作标签,这里我是使用labelimg进行制作。labeling的安装及使用可参考文章:Yolov模型的使用及数据集准备(1)LabelImg的下载和使用_labelimg下载yolo-CSDN博客

        在数据的制作上,yolov官方好像是有一个推荐标准的,大家可自行查看。        

        准备好的训练数据及标签如图所示:

        需要说明的是,使用yolov5进行模型训练,在数据集准备上不需要将各个类别的图片分开放,可以将所有类别的图片放在一个文件夹中。因为在使用labelimg进行标签制作时,会自动生成和图片名一样的txt标签文件。只需要分开放训练集和验证集即可。

3、官方项目结构介绍

大体需要用到的文件如上图所示。

4、关于预训练模型

yolov官方是提供了多个预训练模型(也即初始权重文件)。每个模型具体的大小,推理速度,参数量等官方都有详细的说明,大家可以根据需要自行下载。

一般来说,越大的初始模型,推理速度越慢,对自己的电脑性能要求也越高,当然准确度也越高。

5、关于配置文件.yaml文件

配置文件的名称,大家可以自定义。注意其中各种分好,空格之类的小细节。

6、模型训练

将上述工作全部准备好后,就可以开始训练了。yolov5官方提供了训练文件train.py,我们可以在终端或者命令行窗口运行该文件来训练自己的模型。

训练指令是:

python train.py --batch-size 4 --epochs 200 --data .\ab.yaml --weights .\yolov5s.pt

具体的操作步骤:

对了,进入项目文件的话我这里是使用虚拟环境的命令行工具(anaconda prompt),而非windows自带的。

 

注意:上图中模型权重文件的路径是 .\weights\yolov5s.pt(按你自己放的位置修改)

上述指令执行后,如果出现下图所示情况,就说明在正常训练模型啦!!!

训练结束后的结果:

7、运用模型

对于上述步骤训练得到的模型,我们可以在run\train\exp8\weights文件夹下找到

python .\detect.py --source .\data\images --weights .\your_model.pt

8、简单的小测试:

下面的这个模型,是做的一个小测试,对手势(石头剪刀布)的识别,总体来看,效果还是蛮好的。


http://www.kler.cn/news/310657.html

相关文章:

  • Kafka是如何保证数据的安全性、可靠性和分区的
  • 共享股东分红模式小程序开发
  • [数据集][目标检测]葡萄成熟度检测数据集VOC+YOLO格式1123张3类别
  • C HTML格式解析与生成之gumbo
  • python怎么输入整数
  • 万能小程序运营管理系统 _requestPost 任意文件读取漏洞复现
  • DAY20240911 VUE:解锁前端路由的奥秘:如何在单页应用中避免404困境?
  • 流量牵引技术与传统防火墙的区别
  • 在网络环境中怎么保护个人信息安全?
  • 土壤墒情测定仪的工作原理
  • 汽车软件开发之敏捷开发
  • Spring 源码解读:手动实现Spring事件机制
  • JSON.parseArray 内存溢出
  • 【第十一章:Sentosa_DSML社区版-机器学习分类】
  • Oracle数据库高级技术探秘:分区表管理与代码实战
  • Python 全栈系列271 微服务踩坑记
  • 数据库学习02——mysql清空表数据后 IBD 文件仍很大的解决方案
  • 面向开发者的LLM入门教程(学习笔记01)
  • 探索学习Python的最佳开发环境和编辑器
  • 家用燃气报警器-家庭可燃气体探测器-旭华智能
  • 【网络安全】服务基础第二阶段——第四节:Linux系统管理基础----Linux网络与日志服务器
  • Docker 镜像制作(Dockerfile)
  • 为解决bypy大文件上传报错—获取百度云文件直链并使用Aria2上传文件至服务器
  • Mini-Omni:语言模型可以在流中听、说和思考
  • Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
  • Spring boot aop集成(面向切面的编程)
  • TMStarget学习——T1 Segmentation数据处理及解bug
  • js进阶-作用域是什么
  • idear导入他人项目如何快速运行
  • 【PostgreSQL】安装及使用(Navicat/Arcgis),连接(C#)