【YOLO数据集分享】健身动作姿态识别数据集,7种健身动作,支持YOLO Pose与动作计数
今天分享一个适合人体姿态估计、健身动作识别和动作计数研究的数据集
该数据集包含深蹲、硬拉和肩部训练等7种健身动作,通过 YOLO Pose 提取人体关键点,并为动作帧标注 Up(向上)和 Down(向下)等状态。
与普通的人体目标检测数据集不同,这个数据集不仅关注人体位置,还包含人体骨架关键点和动作状态信息,适合开展健身动作识别、动作阶段分类和自动计数相关实验。
一、数据集基本介绍
数据集通过提取人员进行健身运动时的视频帧,使用 YOLO Pose 模型获取人体关键点,并为对应动作帧添加状态标签。
其主要用途是利用人体关键点的位置变化,判断健身动作所处的阶段。
1.1 数据集基本信息
| 项目 | 内容 |
|---|---|
| 中文名称 | 健身动作姿态识别数据集 |
| 数据集类型 | 人体姿态估计、动作状态分类 |
| 文件数量 | 约9192个 |
| 数据大小 | 约528 MB |
| 动作种类 | 7种 |
| 主要动作 | 深蹲、硬拉、肩部训练 |
| 姿态提取模型 | YOLO Pose |
| 数据组织说明 | COCO格式及关键点TXT文件 |
| 状态标签 | Up、Down等 |
| 适用任务 | 动作识别、动作阶段分类、动作计数 |
需要注意,9192是提供的数据文件数量,并不一定代表9192张独立图像,具体图片数量和标签数量需要以下载后的文件统计为准。
二、数据集包含哪些健身动作?
数据集共包含7种健身动作,主要分为三组:
| 动作类别 | 数量 | 主要运动特征 |
|---|---|---|
| 深蹲(Squat) | 3种变式 | 髋关节、膝关节屈伸 |
| 硬拉(Deadlift) | 3种变式 | 髋部伸展、躯干角度变化 |
| 肩部训练(Shoulder Exercise) | 1种 | 上肢抬举、肩肘关节变化 |
| 合计 | 7种 | — |
2.1 深蹲动作(Squat)
深蹲是人体姿态估计中比较典型的动作识别任务。
运动过程中,人体膝关节和髋关节角度会发生明显变化。
通常可以分为:
- Up:站立或向上阶段。
- Down:下蹲阶段。
通过连续识别 Up 和 Down 状态,可以进一步实现深蹲动作计数。
2.2 硬拉动作(Deadlift)
硬拉主要涉及髋部、膝部和躯干的协调运动。
在硬拉过程中,人体由俯身状态逐渐伸展至直立状态,再返回初始姿态。
数据集介绍中提到了硬拉相关的ibw标签,因此实际使用时需要检查其具体含义和标签映射,不能直接假定所有硬拉样本都采用完全相同的 Up/Down 命名。
2.3 肩部训练(Shoulder Exercise)
肩部训练主要涉及上肢运动,可以通过肩关节、肘关节及腕关节的位置变化分析动作状态。
与深蹲、硬拉相比,肩部训练更依赖上半身关键点。
因此,不同健身动作在特征选择方面可能存在差异。
三、数据集标注有什么特点?
该数据集的核心特点是:
人体关键点 + 动作状态标签
普通 YOLO 目标检测数据集通常只标注目标的矩形框,而人体姿态数据集需要描述人体关节的位置。
3.1 人体关键点信息
YOLO Pose 常用的 COCO 人体关键点定义包含17个关键点。
| 关键点编号 | 人体部位 |
|---|---|
| 0 | 鼻子 |
| 1~2 | 左右眼 |
| 3~4 | 左右耳 |
| 5~6 | 左右肩 |
| 7~8 | 左右肘 |
| 9~10 | 左右腕 |
| 11~12 | 左右髋 |
| 13~14 | 左右膝 |
| 15~16 | 左右踝 |
这些关键点可以用于计算人体关节角度、分析身体姿态,以及判断动作变化。
例如:
- 深蹲:重点分析髋部、膝部和踝部关键点。
- 硬拉:重点分析肩部、髋部和膝部关键点。
- 肩部训练:重点分析肩部、肘部和腕部关键点。
需要注意,17关键点是常见的 COCO 人体姿态定义,实际数据文件中的关键点数量、顺序和可见性字段,应以下载后的标注内容为准。
3.2 COCO与YOLO Pose格式
数据集介绍提到使用 COCO 格式组织数据,并通过 YOLO Pose 提取关键点,映射到对应的TXT文件。
这里需要区分两种格式:
COCO关键点格式
通常使用JSON文件保存图片、人体框、关键点坐标等信息。
YOLO Pose格式
通常使用TXT文件,每行记录人体类别、检测框和关键点坐标。
常见的17关键点YOLO Pose标注结构如下:
class x_center y_center width height x1 y1 v1 x2 y2 v2 ... x17 y17 v17其中:
class:人体类别。x_center、y_center:人体框中心坐标。width、height:人体框宽度和高度。x、y:人体关键点坐标。v:关键点可见性信息。
这是标准格式示例,并不代表该数据集的TXT文件一定采用完全相同的字段结构。
如果数据集中保存的是已经提取好的关键点坐标,则可以直接用于后续动作分类模型,不一定需要重新训练 YOLO Pose。
四、Up和Down标签有什么作用?
这是该数据集与普通人体姿态数据集最大的区别之一。
数据集不仅包含人体关键点,还为动作帧标注了不同的运动状态。
| 状态标签 | 中文含义 | 典型场景 |
|---|---|---|
| Up | 向上或上方状态 | 深蹲站立阶段 |
| Down | 向下或下方状态 | 深蹲下蹲阶段 |
具体状态含义需要结合不同健身动作的标注规则理解。
例如,深蹲动作可以通过连续状态变化实现计数。
动作计数基本原理
开始 ↓ 读取视频帧 ↓ 提取人体关键点 ↓ 识别当前动作状态 ↓ Down → Up ↓ 完成一次有效动作 ↓ 计数 +1需要说明的是,单张图片只能判断当前动作状态,不能直接确定已经完成多少次动作。
真正的动作计数需要连续视频帧、状态变化判断和重复触发过滤。
例如,可以加入状态持续帧数限制,避免模型在 Up 和 Down 之间频繁抖动,导致重复计数。
因此,这个数据集比较适合训练动作状态分类模型,再结合状态机实现健身动作计数。
五、如何使用数据集进行模型训练?
这个数据集可以采用两种技术路线。
5.1 方案一:YOLO Pose + 规则计数
首先使用预训练 YOLO Pose 模型提取人体关键点,再通过关节角度判断动作状态。
例如,深蹲可以计算膝关节角度:
importnumpyasnpdefcalculate_angle(a,b,c):a=np.array(a,dtype=float)b=np.array(b,dtype=float)c=np.array(c,dtype=float)ba=a-b bc=c-b cosine=np.dot(ba,bc)/(np.linalg.norm(ba)*np.linalg.norm(bc)+1e-8)angle=np.degrees(np.arccos(np.clip(cosine,-1.0,1.0)))returnangle输入髋部、膝部和踝部三个关键点,就可以计算膝关节角度。
再结合阈值判断动作处于 Up 还是 Down 阶段。
这种方法不需要单独训练动作分类模型,实现难度较低,适合基础实验。
5.2 方案二:YOLO Pose + 机器学习分类
利用数据集已经提取的人体关键点和状态标签,训练一个 Up/Down 分类模型。
可选算法包括:
| 算法 | 主要用途 | 难度 |
|---|---|---|
| Random Forest | 关键点特征分类 | 低 |
| SVM | 动作状态分类 | 低 |
| MLP | 非线性姿态特征分类 | 中 |
| LSTM | 连续姿态序列分析 | 中 |
| GRU | 轻量化动作时序分类 | 中 |
如果数据集中的样本主要是独立视频帧,可以先使用 Random Forest 或 MLP 完成状态分类。
如果希望使用 LSTM、GRU 等时序模型,则需要确认原始数据是否保留视频来源和帧顺序,以便构建连续动作序列。
推荐初学者优先采用:YOLO Pose + Random Forest + 状态机计数。
这样既能利用已有关键点标签,也可以通过状态变化实现动作次数统计。
六、数据集适合哪些研究方向?
该数据集不仅可以用于动作计数,也适合开展人体姿态分析相关实验。
| 研究方向 | 主要内容 | 难度 |
|---|---|---|
| 深蹲动作状态识别 | 判断Up/Down状态 | 低 |
| 健身动作自动计数 | 根据状态变化统计次数 | 低 |
| 多种健身动作分类 | 区分不同健身动作 | 中 |
| 关键点分类算法对比 | RF、SVM、MLP对比 | 中 |
| 健身动作时序识别 | LSTM、GRU分析动作序列 | 中 |
| 健身动作规范性分析 | 结合关节角度和额外标准判断动作质量 | 中~高 |
需要特别注意,数据集主要提供动作关键点及状态信息,没有明确说明包含动作是否标准、错误动作类型等标签。
因此,如果要实现动作规范性评分或错误姿势纠正,通常还需要补充规则、人工标注或额外的数据集。
适合的毕业设计题目
- 基于YOLO Pose的健身动作识别与自动计数研究
- 基于YOLO11-Pose的深蹲动作识别与计数方法研究
- 基于人体关键点与随机森林的健身动作状态分类研究
- 基于YOLO Pose与GRU的健身动作时序识别研究
- 基于深度学习的多类别健身动作识别与计数方法研究
对于本科毕业设计,使用该数据集完成关键点提取、动作状态分类和自动计数,具有一定的实践价值。
如果是研究生课题,建议进一步研究动作识别的时序建模、跨人员泛化能力、关键点遮挡鲁棒性等问题。
七、使用这个数据集需要注意什么?
虽然数据集已经提供关键点和动作状态标签,但实际使用时仍然需要关注以下问题。
1. 确认动作类别与状态标签的对应关系
7种动作与Up/Down状态是两个不同层次的标签,训练前需要明确动作类型、状态类别以及对应文件的映射关系。
3. 避免训练集和测试集数据泄漏
如果多个图片来自同一段健身视频,建议按照原始视频或人员划分数据集,而不是随机划分相邻视频帧。
4. 检查关键点质量
健身动作可能出现人体遮挡、关节重叠和关键点识别错误等问题,建议先可视化检查关键点标注。
5. 动作计数需要连续视频
独立帧状态分类准确率高,并不意味着动作计数一定准确。最好额外录制完整健身视频,验证实际计数误差。
八、数据集总结
本次分享的是一个面向健身动作分析的人体姿态数据集。
其主要特点包括:
- 约9192个数据文件
- 数据大小约528MB
- 包含7种健身动作
- 涉及3种深蹲、3种硬拉和1种肩部训练
- 使用YOLO Pose提取人体关键点
- 包含Up/Down等动作状态标注
- 适合动作识别、状态分类和自动计数研究
与普通目标检测数据集相比,该数据集的重点不再是识别图片中有没有人,而是通过人体关键点分析人员正在进行什么动作、动作处于哪个阶段。
对于正在寻找 YOLO Pose、人体姿态估计、健身动作识别相关毕业设计数据集的同学,可以作为参考。