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

news2024/11/14 15:39:56

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.coloradmin.cn/o/2144725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024.9.18 作业

将配置桥接网络的过程整理成文档,发csdn 放资源里了 思维导图:

0基础带你入门Linux之简介

1.Linux和Windows对比 Window很明显的特征就是有C盘、D盘登各种磁盘 我们通过点击不同的盘符,点击里面存储的文件进行查阅的操作 而Linux则很简单,只有一个根目录,也可以说只有一个盘,整个系统所有的东西都是在根目录下的 我们可…

C/C++中哪些数据存放于栈区、堆区、静态区、常量区的详细说明

文章目录 1. 栈区(Stack)2. 堆区(Heap)3. 静态区(Static)4. 常量区(Read-Only or Constant Section)总结:栈(Stack)的生长:堆&#xf…

js中apply,call,bind的区别与用法

在JavaScript中,所有的函数再被调用的时候都会默认传入两个参数,一个是this,还有一个是arguments。在默认情况下this都是指当前的调用函数的对象。但是有时候我们需要改变this的指向,也就是说使函数可以被其他对象来调用&#xff…

【数据可视化】Arcgis api 4.x 专题图制作之分级色彩,采用自然间断法(使用simple-statistics JS数学统计库生成自然间断点)

1.效果 2.实现 2.1 分级色彩 分级色彩是在GIS制图中,通过不同颜色等级来表示数据量级差异的符号化方法,帮助用户直观识别和比较数据的大小。 2.2 分级方法 在GIS中进行分级色彩制图时,可以选择不同的分级方法来表示数据的分布和变化&#xf…

好用又便宜的电商分账系统

多部门联合治税的背景下,合规运营是企业的首要任务。确保税务合规不仅能避免法律风险,还能提升企业的信誉和运营效率,电商分账系统是电商行业必备的合规工具。今天,商淘云为您分享选择性价比高的电商分账系统的三大规则&#xff0…

鸿蒙Harmony应用开发,数据驾驶舱登录页面的实现

鸿蒙Harmony应用开发,数据驾驶舱登录页面的实现 ​ 首先我们有个Splash 过渡页面来判断当前是用户是否登录,我们先从preferences中获取token是否存在。如果不存在直接跳转登录即可,如果存在的情况我们再去获取下用户的信息看看token是否过期…

探索音乐的新边界——AI写歌的奇妙呈现

在音乐的世界里, 创新总是令人充满期待。 对于没有创作灵感、毫无创作水平的小孩,走进一个充满惊喜的音乐平台 —— (Suno) 看看AI 写歌的神奇魅力。S为我们提供了一个丰富多彩的音乐世界, 从新歌推荐到各种风格的音…

Vmware虚拟机无法打开内核设备“\\.\Global\vmx86“的解决方法

我的问题是在一次系统更新后,导致虚拟机无法使用的。我的虚拟机只有方法三解决了问题。 一、方法一 以管理员身份打开cmd,依次执行以下命令: net start vmci net start vmx86 net start VMnetuserif二、方法二 按 WinR 键,运行…

用好这几个AI抠图工具,既省心又省力!

在设计、摄影和数字创作的世界里,抠图虽然常见,却往往让人感到繁琐。不过,随着人工智能的飞速发展,许多可爱的AI抠图工具应运而生,轻松高效地解决了这一难题!下面就来看看几款超级实用的AI抠图工具&#xf…

Python “字符串操作” ——Python面试100道实战题目练习,巩固知识、检查技术、成功就业

本文主要是作为Python中列表的一些题目,方便学习完Python的元组之后进行一些知识检验,感兴趣的小伙伴可以试一试,含选择题、判断题、实战题、填空题,答案在第五章。 在做题之前可以先学习或者温习一下Python的列表,推荐…

Qt 学习第九天:标准对话框 页面布局

系统标准对话框 错误对话框 //错误对话框connect(createPro, &QAction::triggered, this, []{//参数1 父亲 参数2 标题 参数3 对话框内显示文本内容 。。。QMessageBox::critical(this, "报错!", "没加头文件!");}); 【运行结果】 信息对话框 co…

使用arduino玩基于esp8266的nodemcu开发板

一、简介 中秋节到图书馆看书,看到了arduino方面的书籍,里面有提到ESP8266模块。让我想起我抽屉里吃灰很久了的基于esp8266的nodemcu开发板。于是把书借回家研究了一下。这里做个记录。 二、我目前在使用的云服务器推荐 学Linux不搞个云服务器始终感觉…

【笔记】进制转换

文章目录 一、任意进制转十进制1、整数转化成十进制(1)二进制转十进制(2)八进制转十进制 2、小数转化成十进制(1)二进制转十进制(2)八进制转十进制 3、代码1、整数转化成十进制2、小…

使用 Vue 3 和 TypeScript 实现带打字效果的仿 AI 分析展示组件

在这篇博客中,我将分享如何用 Vue 3 和 TypeScript 实现一个带打字效果的 AI 分析展示组件。该组件具有如下功能: 动态打字效果:模拟打字机逐步显示内容。自动滚动:内容超出容器高度时自动滚动到最新位置。 1. 组件实现需求 我…

【读点论文】Text Recognition in the Wild: A Survey 非常纯粹的OCR研究,专业细致,脉络清晰

Text Recognition in the Wild: A Survey 文本的历史可以追溯到几千年前。文本所携带的丰富而精确的语义信息在广泛的基于视觉的应用场景中非常重要。因此,自然场景中的文本识别一直是计算机视觉和模式识别中一个活跃的研究领域。近年来,随着深度学习的…

基础 Web 开发

1. 构建项目&#xff1a; 2.添加依赖 <dependencies> <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupI…

低代码门户技术:构建高效应用的全新方式

什么是低代码门户技术&#xff1f; 低代码门户技术是一种利用低代码平台构建企业门户网站或应用的技术。门户通常是企业内部和外部用户访问信息和应用的集中平台。低代码门户技术通过图形化界面和预置组件&#xff0c;允许用户快速搭建和定制这些门户平台&#xff0c;而无需深…

数据结构入门学习(全是干货)——树(中)

数据结构入门学习&#xff08;全是干货&#xff09;——树&#xff08;中&#xff09; 1 二叉搜索树&#xff08;Binary Search Tree&#xff0c;简称 BST&#xff09; 1.1 二叉搜索树及查找 二叉搜索树&#xff08;Binary Search Tree, BST&#xff09; 是一种特殊的二叉树…

四、JVM原理-4.1、JVM介绍

4.1、JVM介绍 4.1.1、如何理解Java虚拟机&#xff0c;它的结构是如何设计的&#xff1f; 答&#xff1a; Java虚拟机&#xff08;Java Virtual Machine&#xff0c;JVM&#xff09;是Java语言编写的程序在运行时的执行环境。它是Java的核心组成部分&#xff0c;负责解释和执行…