首页 > 其他分享 >手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)

手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)

时间:2023-12-28 14:38:15浏览次数:24  
标签:YOLOv5 训练 -- 检测 手部 yolov5s 关键点


手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)

目录

手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)

1. 前言

2. 手部检测数据集说明

(1)手部检测数据集

(2)自定义数据集

3. 基于YOLOv5的手部检测模型训练

(1)YOLOv5安装 

(2)准备Train和Test数据

(3)配置数据文件

(4)配置模型文件

(5)重新聚类Anchor(可选)

(6)开始训练

(7)可视化训练过程

(8)常见的错误

4. Python版本手部检测效果

5. 手部检测和手部关键点检测(Python/C++/Android)

6.项目源码下载


1. 前言

手部关键点检测(手部姿势估计)的方法与人体关键点检测的方法类似,目前主流的方法主要两种:一种是Top-Down(自上而下)方法,另外一种是Bottom-Up(自下而上)方法;项目采用Top-Down(自上而下)方法,即分为两阶段,先进行手部检测,找到所有的手部框,然后再估计每只手的手部关键点;本篇文章是手部关键点检测的第一阶段,即手部检测模型算法开发,项目基于开源YOLOv5项目,实现一个高精度的手部检测算法( Hand Detection)

手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)_手势检测

目前,基于YOLOv5s的手部检测精度平均值mAP_0.5=0.99919,mAP_0.5:0.95=0.79306。为了能部署在手机Android平台上,本人对YOLOv5s进行了简单的模型轻量化,并开发了一个轻量级的版本yolov5s05_416和yolov5s05_320模型;轻量化模型在普通Android手机上可以达到实时的检测效果,CPU(4线程)约30ms左右,GPU约25ms左右 ,基本满足业务的性能需求。下表格给出轻量化模型的计算量和参数量以及其检测精度

模型

input-size

params(M)

GFLOPs

mAP_0.5

mAP_0.5:0.95

yolov5s

640×640

7.2

16.5

0.99919

0.79306

yolov5s05

416×416

1.7

1.8

0.99885

0.78112

yolov5s05

320×320

1.7

1.1

0.99826

0.77658

先展示一下手部检测以及手部关键点检测(手部姿势估计)效果:

手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)_hand_02

Android手部关键点检测(手部姿势估计)APP Demo体验:

手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)_手部检测_03

  

手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)_手部检测_04

【尊重原创,转载请注明出处】


更多项目《手部关键点检测(手部姿势估计)》系列文章请参考:

  • 手部关键点检测1:手部关键点(手部姿势估计)数据集(含下载链接)
  • 手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)
  • 手部关键点检测3:Pytorch实现手部关键点检测(手部姿势估计)含训练代码和数据集
  • 手部关键点检测4:Android实现手部关键点检测(手部姿势估计)含源码 可实时检测
  • 手部关键点检测5:C++实现手部关键点检测(手部姿势估计)含源码 可实时检测

 

手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)_hand_05


2. 手部检测数据集说明

(1)手部检测数据集

目前收集了三个手部检测数据集:Hand-voc1,Hand-voc2和Hand-voc3,总共60000+张图片;标注格式统一转换为VOC数据格式,标注名称为hand,可用于深度学习手部目标检测模型算法开发,关于手部数据集说明,请参考: 手部关键点(手部姿势估计)数据集(含下载链接) 

(2)自定义数据集

如果需要增/删类别数据进行训练,或者需要自定数据集进行训练,可参考如下步骤:

  1. 采集图片,建议不少于200张图片
  2. 使用Labelme等标注工具,对目标进行拉框标注:labelme工具:GitHub - wkentaro/labelme: Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation).
  3. 将标注格式转换为VOC数据格式,参考工具:labelme/labelme2voc.py at main · wkentaro/labelme · GitHub
  4. 生成训练集train.txt和验证集val.txt文件列表
  5. 修改engine/configs/voc_local.yaml的train和val的数据路径
  6. 重新开始训练

手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)_yolov5_06



3. 基于YOLOv5的手部检测模型训练

(1)YOLOv5安装 

训练Pipeline采用YOLOv5: GitHub - ultralytics/yolov5: YOLOv5

标签:YOLOv5,训练,--,检测,手部,yolov5s,关键点
From: https://blog.51cto.com/u_15764210/9014686

相关文章

  • 人体关键点检测3:Android实现人体关键点检测(人体姿势估计)含源码 可实时检测
    目录1.前言2.人体关键点检测方法(1)Top-Down(自上而下)方法(2)Bottom-Up(自下而上)方法:3.人体关键点检测模型训练4.人体关键点检测模型Android部署(1)将Pytorch模型转换ONNX模型(2)将ONNX模型转换为TNN模型(3)Android端上部署模型(4)Android测试效果 (5)运行APP闪退:dlopenfailed:lib......
  • 手部关键点检测1:手部关键点(手部姿势估计)数据集(含下载链接)
    手部关键点检测1:手部关键点(手部姿势估计)数据集(含下载链接)目录手部关键点检测1:手部关键点(手部姿势估计)数据集(含下载链接)1.前言2.手部检测数据集:(1)Hand-voc1(2)Hand-voc2(3)Hand-voc3 (4)手部目标框可视化效果 3.手部关键点数据集(1)HandPose-v1(2)HandPose-v2(3)HandPose-v3(4)手部关......
  • Vue检测密码复杂度方法
    Vue检测密码复杂度方法<!--检测密码复杂度方法--><template><div><inputtype="password"v-model="password"@input="checkPasswordComplexity"><divv-if="complexityMessage">{{complexityMessa......
  • YOLOv5:将模型预测结果保存为Labelme格式的Json文件
    YOLOv5:将模型预测结果保存为Labelme格式的Json文件前言前提条件相关介绍实验环境YOLOv5:将模型预测结果保存为Labelme格式的Json文件代码实现进行预测输出结果前言由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专......
  • 人体关键点检测4:C/C++实现人体关键点检测(人体姿势估计)含源码 可实时检测OpenCV库使
    人体关键点检测4:C/C++实现人体关键点检测(人体姿势估计)含源码可实时检测目录人体关键点检测4:C/C++实现人体关键点检测(人体姿势估计)含源码可实时检测1.项目介绍2.人体关键点检测方法(1)Top-Down(自上而下)方法(2)Bottom-Up(自下而上)方法:3.人体关键点检测模型(1)人体关键点检测......
  • 人体关键点检测2:Pytorch实现人体关键点检测(人体姿势估计)含训练代码
    人体关键点检测2:Pytorch实现人体关键点检测(人体姿势估计)含训练代码目录人体关键点检测2:Pytorch实现人体关键点检测(人体姿势估计)含训练代码1.前言2.人体关键点检测方法(1)Top-Down(自上而下)方法(2)Bottom-Up(自下而上)方法:3.人体关键点检测数据集4.人体检测模型训练5.人体关键......
  • 人体关键点检测1:人体姿势估计数据集
    人体关键点检测1:人体姿势估计数据集目录人体关键点检测1:人体姿势估计数据集1.人体姿态估计2.人体姿势估计数据集(1)COCO数据集(2)MPII数据集(3)Human3.6M(4)关键点示意图1.人体姿态估计人体关键点检测(HumanKeypointsDetection)又称为人体姿态估计2DPose,是计算机视觉中一个相对基础的任务,......
  • 笔尖笔帽检测2:Pytorch实现笔尖笔帽检测算法(含训练代码和数据集)
    笔尖笔帽检测2:Pytorch实现笔尖笔帽检测算法(含训练代码和数据集)目录笔尖笔帽检测2:Pytorch实现笔尖笔帽检测算法(含训练代码和数据集)1.前言2.笔尖笔帽检测方法(1)Top-Down(自上而下)方法(2)Bottom-Up(自下而上)方法:3.笔尖笔帽检测数据集4.手笔检测模型训练5.笔尖笔帽检测模型训练......
  • 手部关键点检测5:C++实现手部关键点检测(手部姿势估计)含源码 可实时检测OpenCV库使用o
    手部关键点检测5:C++实现手部关键点检测(手部姿势估计)含源码可实时检测目录手部关键点检测4:C++实现手部关键点检测(手部姿势估计)含源码可实时检测1.项目介绍2.手部关键点检测(手部姿势估计)方法(1)Top-Down(自上而下)方法(2)Bottom-Up(自下而上)方法:3.手部关键点检测模型(1)手部......
  • 手部关键点检测4:Android实现手部关键点检测(手部姿势估计)含源码 可实时检测
    目录1.前言2.手部关键点检测(手部姿势估计)方法(1)Top-Down(自上而下)方法(2)Bottom-Up(自下而上)方法:3.手部关键点检测模型训练4.手部关键点检测模型Android部署(1)将Pytorch模型转换ONNX模型(2)将ONNX模型转换为TNN模型(3)Android端上部署模型(4)Android测试效果 (5)运行APP闪退:dlop......