hasaneyldrm/exercises-dataset
摘要
一个结构化的多语言数据集,包含1,324个练习,配有开发者设置向导、数据库模式、API代码和LLM提示,涵盖六大语言的类别、身体部位、器材和指导说明。
一个包含433个健身练习的全面数据集。每个条目包括名称、类别、目标肌肉群、器材、指导说明、缩略图和动画视频。
查看缓存全文
缓存时间: 2026/06/30 23:27
hasaneyldrm/exercises-dataset 来源:https://github.com/hasaneyldrm/exercises-dataset # 💪 练习数据集 一个开发者设置向导 + 结构化的多语言练习数据集 —— 通过 1,324 个练习,包含类别、身体部位、器械、目标及肌群数据,以及 6 种语言(英语、西班牙语、意大利语、土耳其语、俄语、中文)的分步说明,快速搭建您的练习应用后端(数据库模式、API 代码、LLM 提示)。练习媒体不包含在内。 练习数据 语言 格式 媒体 — ## ⚠️ 注意 —— 练习媒体不包含在内 > 此仓库是一个开发者设置向导和结构化的练习数据集。 练习媒体(缩略图图像和动画 GIF)不包含在此处。 > > 这些媒体存在多个、相互冲突的所有权主张,因此不在此仓库中重新分发。 每条记录保留一个 media_id(原始 ExerciseDB 媒体引用);数据集本身提供练习元数据和多语言说明翻译(EN、ES、IT、TR、RU、ZH)。 > > 如果您是该媒体的权利人,请提交问题或联系维护者。 — ## 📦 数据来源与归属 本仓库中的基础练习数据源自 ExerciseDB v1 by AscendAPI (https://oss.exercisedb.dev)(API 文档 (https://oss.exercisedb.dev/docs)),通过 Kaggle 上 omarxadel (https://www.kaggle.com/datasets/omarxadel/fitness-exercises-dataset) 的重新托管获得。关联的媒体(图像与动画 GIF)_不_包含在此仓库中 —— 请参见上面的注意。每条记录的 media_id 是原始 ExerciseDB v1 媒体 ID(例如 2gPfomN);官方 CDN 在 static.exercisedb.dev/media/{media_id}.gif 上为有权使用的人提供相应资源。 本仓库在基础数据之上添加了: - 🇪🇸 西班牙语、🇮🇹 意大利语、🇹🇷 土耳其语、🇷🇺 俄语和 🇨🇳 中文的说明翻译 - 交互式浏览器(index.html)和开发者设置指南(setup.html) - 格式化和清理 > 原始来源归属是在问题 #5 之后添加的(感谢 @shinkaidev (https://github.com/shinkaidev) 的报告)。如果您是权利人并希望移除或澄清任何内容,请提交问题。 — ## 📋 目录 - 数据来源与归属 - 概述 - 交互式浏览器与开发者设置 - 文件结构 - 统计 - 数据模式 - 示例练习 - 使用示例 - 许可与使用 — ## 🔍 概述 本数据集是一个精心整理的 1,324 个健身练习集合,用于教育和研究目的。它涵盖广泛的肌群、器械类型和练习类别 —— 非常适合用于: - 构建健身或训练计划应用 - 涉及练习识别或推荐的机器学习项目 - 健康与保健研究 - 教育演示和原型 每条练习记录包含: | 字段 | 描述 | |—|—| | 唯一 ID | 数字标识符(例如 "0001") | | 名称 | 完整的描述性练习名称 | | 类别 | 主要目标肌群 | | 目标 | 特定目标肌肉 | | 肌群 | 辅助/协同肌肉 | | 器械 | 所需器械(或 body weight 表示自重) | | 说明 | 每个练习的分步说明 | | 可用语言 | 🇬🇧 英语 · 🇪🇸 西班牙语 · 🇮🇹 意大利语 · 🇹🇷 土耳其语 · 🇷🇺 俄语 · 🇨🇳 中文 | | 媒体 ID | 原始 ExerciseDB 媒体引用 ID(媒体本身不捆绑 —— 参见注意) | — ## 🖥️ 交互式浏览器与开发者设置 本仓库包含两个即用型 HTML 工具 —— 无需服务器,只需在浏览器中打开。 > 注意: 由于媒体未捆绑,浏览器仅显示练习元数据和说明;缩略图和 GIF 插槽为空。 ### index.html — 练习浏览器 一个完全客户端的练习探索器,具备: - 跨所有 1,324 个练习的实时搜索 - 按类别、器械和目标肌肉筛选 - 无限滚动网格 - 点击任意卡片查看完整详细信息及英语、西班牙语、意大利语、土耳其语、俄语或中文说明 ### setup.html — 开发者设置指南 一份将数据集集成到您自己应用中的分步指南: 1. 数据库设置 — 适用于 SQL Server、PostgreSQL、MySQL 和 SQLite 的 CREATE TABLE SQL。生成一个包含全部 1,324 条 INSERT 语句的即用型 .sql 文件,完全在浏览器中构建。 2. API 集成 — 复制粘贴 JavaScript、Python、C#、Java、PHP、Go 和 cURL 的客户端代码,展示如何调用您的后端 API。输入您的基 URL 后所有示例将实时更新。 3. 向您的 LLM 提问 — 一个结构化提示(选择您的框架 + 数据库),您可以粘贴到 ChatGPT、Claude 或 Gemini 中,一次性生成完整的、生产就绪的 REST API。支持 Express.js、FastAPI、ASP.NET Core、Spring Boot、Laravel 和 Gin。 — ## 📂 文件结构 exercises-dataset/ ├── data/ │ └── exercises.json # 完整数据集 — 1,324 条练习记录(JSON 数组) ├── index.html # 交互式练习浏览器(客户端,无需服务器) ├── setup.html # 开发者设置指南(数据库导入 + API 集成) └── README.md ### 关键文件 - data/exercises.json — 主要数据文件。一个包含 1,324 个练习对象的 JSON 数组,包含所有元数据。image 和 gif_url 字段为 null;media_id 保存原始 ExerciseDB 媒体引用。 - index.html — 独立练习浏览器。直接在任何现代浏览器中打开。 - setup.html — 数据库设置、API 集成和 LLM 辅助后端生成的开发者指南。 > 媒体(images/、videos/)有意不包含在此仓库中 —— 请参见注意。 — ## 📊 统计 | 指标 | 数量 | |—|—| | 总练习数 | 1,324 | | 说明语言 | 6 | ### 按身体部位划分的练习 | 身体部位 | 练习数量 | |—|—| | 上臂 | 292 | | 大腿 | 227 | | 背部 | 203 | | 腰部 | 169 | | 胸部 | 163 | | 肩部 | 143 | | 小腿 | 59 | | 前臂 | 37 | | 有氧 | 29 | | 颈部 | 2 | ### 按器械划分的练习 | 器械 | 练习数量 | |—|—| | 自重 | 325 | | 哑铃 | 294 | | 绳索 | 157 | | 杠铃 | 154 | | 杠杆器械 | 81 | | 弹力带 | 54 | | 史密斯机 | 48 | | 壶铃 | 41 | | 负重 | 36 | | 健身球 | 28 | | EZ 杠铃 | 23 | | 其他 | 83 | > 注意: 约 25% 的练习无需任何器械 —— 非常适合家庭锻炼应用。 — ## 🗂️ 数据模式 data/exercises.json 中的每条记录遵循以下结构: | 字段 | 类型 | 描述 | |—|—|—| | id | string | 唯一数字标识符(例如 "0001") | | name | string | 完整练习名称(例如 "3/4 Sit-up") | | category | string | 身体部位类别(例如 "upper arms"、"chest"、"back") | | body_part | string | 与 category 相同 —— 目标身体部位 | | equipment | string | 所需器械(例如 "dumbbell"、"body weight") | | instructions.en | string | 英文的分步说明 | | instructions.es | string | 西班牙文的分步说明 | | instructions.it | string | 意大利文的分步说明 | | instructions.tr | string | 土耳其文的分步说明 | | instructions.ru | string | 俄文的分步说明 | | instructions.zh | string | 中文的分步说明 | | muscle_group | string | 主要协同肌群 | | secondary_muscles | array[string] | 其他涉及的肌肉 | | target | string | 主要目标肌肉(例如 "biceps"、"pectoralis major") | | media_id | string | 原始 ExerciseDB 媒体引用 ID(例如 "2gPfomN")—— 媒体未捆绑 | | image | null | 保留用于缩略图路径;null(媒体未包含) | | gif_url | null | 保留用于动画路径;null(媒体未包含) | | created_at | string | ISO 8601 格式的记录创建时间戳 | ### 示例记录 json { "id": "0001", "name": "3/4 Sit-up", "category": "waist", "body_part": "waist", "equipment": "body weight", "instructions": { "en": "Lie flat on your back with your knees bent and feet flat on the ground. Place your hands behind your head with your elbows pointing outwards. Engaging your abs, slowly lift your upper body off the ground, curling forward until your torso is at a 45-degree angle. Pause for a moment at the top, then slowly lower your upper body back down to the starting position. Repeat for the desired number of repetitions.", "es": "Túmbate sobre tu espalda con las rodillas flexionadas y los pies apoyados en el suelo. ...", "it": "Sdraiati sulla schiena con le ginocchia piegate e i piedi appoggiati a terra. ...", "tr": "Sırt üstü yatın, dizlerinizi bükün ve ayaklarınızı yere düz koyun. ...", "ru": "Лягте на спину, согните колени и поставьте ступни на землю. ...", "zh": "平躺,膝盖弯曲,双脚平放在地上。..." }, "muscle_group": "hip flexors", "secondary_muscles": ["hip flexors", "lower back"], "target": "abs", "media_id": "2gPfomN", "image": null, "gif_url": null, "created_at": "2026-03-18T12:31:32.854798+00:00" } — ## 🎬 示例练习 > 媒体未捆绑(请参见注意);每个示例的 media_id 仅供参考。 ### 1 — 杠铃平板卧推 · 胸部 > 器械: 杠铃 · 目标: 胸大肌 · 辅助: 肱三头肌、肩膀 · 媒体 ID: EIeI8Vf 杠铃平板卧推是胸部训练的基石,也是“三大”力量举动作之一。平躺在长凳上,将装有杠铃片的杠铃下放至胸部,然后爆发性地推起。它同时调动胸大肌、肱三头肌和三角肌前束,是发展上肢推力和胸部肌肉质量最有效的单一练习。 关键提示: 在起杠前回缩并下沉肩胛骨。双脚平放在地面上,自然拱起下背部,保持与肩同宽的握距。有控制地将杠铃下放到胸中部,并通过脚跟发力推起。 ### 2 — 杠铃硬拉 · 大腿 / 背部 > 器械: 杠铃 · 目标: 臀大肌 · 辅助: 腘绳肌、下背部 · 媒体 ID: ila4NZS 杠铃硬拉被广泛认为是终极全身力量练习。它几乎调动后链的所有主要肌肉——臀大肌、腘绳肌和下背部——同时也需要上背部、斜方肌和抓握力的显著参与。正确的脊柱对齐和憋气技巧对于表现和安全性都至关重要。 关键提示: 设置时让杠铃位于脚掌中部上方。在髋部处屈曲,握杠于双腿外侧,收紧核心,并在整个过程中让杠铃保持接触小腿。将地面推离,在顶部锁定,挤压臀大肌并完全伸展髋部。 ### 3 — 杠铃全幅度深蹲 · 大腿 > 器械: 杠铃 · 目标: 臀大肌 · 辅助: 股四头肌、腘绳肌、小腿、核心 · 媒体 ID: qXTaZnJ 常被称为“所有练习之王”,杠铃全幅度深蹲要求整个下半身和核心的协调力量。突破平行深蹲能最大化臀大肌和腘绳肌的激活,相比半蹲更有效。它是几乎所有力量和增肌计划的基础。 关键提示: 杠铃放在上斜方肌(高杠)或三角肌后束(低杠)上。下蹲前收紧核心,膝盖朝脚趾方向推出,臀部向后坐,下蹲至大腿平行于地面。通过全脚掌发力站起。 ### 4 — 哑铃弯举 · 上臂 > 器械: 哑铃 · 目标: 肱二头肌 · 辅助: 前臂 · 媒体 ID: NbVPDMW 哑铃弯举是最广为人知的孤立手臂练习。独立训练每侧有助于识别和纠正肢体间的力量不平衡。旋后(手掌朝上)握法可在动作顶部最大化肱二头肌的收缩。 关键提示: 站直,手肘固定在身体两侧。向上弯举时旋前手腕,在顶部挤压,有控制地放下,不要摆动。避免使用肩部或下背部的动量。 ### 5 — 引体向上 · 背部 > 器械: 自重 · 目标: 背阔肌 · 辅助: 肱二头肌、前臂 · 媒体 ID: lBDjFxJ 引体向上是上肢拉力力量的自重黄金标准练习。它主要发展背阔肌——打造梦寐以求的 V 形身材——同时大量涉及肱二头肌、三角肌后束和核心稳定肌群。它可以从初学者(弹力带辅助)进阶到高级(负重)。 关键提示: 正握悬吊,握距与肩同宽或稍宽。通过下沉肩胛骨启动背阔肌,然后将胸部向横杆拉起。每次动作之间完全下放以维持活动范围。 ### 6 — 哑铃侧平举 · 肩部 > 器械: 哑铃 · 目标: 三角肌 · 辅助: 斜方肌 · 媒体 ID: DsgkuIt 哑铃侧平举是塑造肩宽的首选孤立练习。它直接针对三角肌外侧(中束),这是实现宽肩外观的关键。控制节奏和严格的动作形式远比负荷重要。 关键提示: 站立,整个过程中手肘保持微屈。将哑铃向两侧举起,直到手臂与地面平行——不要更高。用手肘而不是手腕引导。慢速有控制地放下以最大化肌肉受力时间。 — ## 🚀 使用示例 ### Python — 加载与筛选 python import json with open("data/exercises.json", "r", encoding="utf-8") as f: exercises = json.load(f) print(f"加载的练习总数: {len(exercises)}") # 按类别筛选 chest_exercises = [ex for ex in exercises if ex["category"] == "chest"] print(f"胸部练习数: {len(chest_exercises)}") # -> 胸部练习数: 163 # 按器械筛选 bodyweight = [ex for ex in exercises if ex["equipment"] == "body weight"] print(f"自重练习数: {len(bodyweight)}") # -> 自重练习数: 325 # 获取所有唯一类别 categories = sorted({ex["category"] for ex in exercises}) print("类别:", categories) # 访问多语言说明 ex = exercises[0] print(ex["instructions"]["en"]) # 英语 print(ex["instructions"]["es"]) # 西班牙语 print(ex["instructions"]["it"]) # 意大利语 print(ex["instructions"]["tr"]) # 土耳其语 print(ex["instructions"]["ru"]) # 俄语 print(ex["instructions"]["zh"]) # 中文 ### Python — 使用 Pandas 加载 python import json import pandas as pd with open("data/exercises.json", "r", encoding="utf-8") as f: data = json.load(f) df = pd.DataFrame(data) # 按练习数量排名的前十个类别 print(df["category"].value_counts().head(10)) # 所有针对大腿的杠铃练习 barbell_quads = df[(df["equipment"] == "barbell") & (df["category"] == "upper legs")] print(barbell_quads[["name", "target", "equipment"]]) ### JavaScript / Node.js ```js const exercises = require(“./data/exercises.json”); console.log(练习总数: ${exercises.length}); // 仅自重练习 const bodyweight = exercises.filter(ex => ex.equipment === “body weight”); console.log(自重练习数: ${bodyweight.length}); // -> 自重练习数: 325 // 按类别分组练习 const byCategory = exercises.reduce((acc, ex) => { acc[ex.category] = (acc[ex.category] || []); acc[ex.category].push(ex); return acc; }, {}); // 访问
相似文章
@tom_doerr: 包含动画GIF和双语说明的健身数据集 https://github.com/hasaneyldrm/exercises-dataset…
一个全面的健身练习数据集,包含1,324个练习,每个练习都包括动画GIF、缩略图、肌肉群信息、器材数据和双语说明(英文/土耳其文),适用于构建锻炼应用程序或机器学习项目。
@AYi_AInotes: GitHub 上有人把 1324 个健身动作做成开源数据库了,不是那种只有文字描述的。 每个动作配了 jpg 静态图 + gif 动画演示 + 双语说明 + 目标肌肉 + 器械类型,2648 个媒体文件全打包好。 还自带一个本地网页,支持…
GitHub上有人开源了1324个健身动作数据库,每个动作包含图片、GIF动画、双语说明、目标肌肉和器械类型,并附带可直接运行的本地网页和开发者工具,适合健身App原型、AI动作识别等场景。
@tom_doerr: 大语言模型指令与推理数据集精选列表 https://github.com/mlabonne/llm-datasets…
由 mlabonne 整理的大语言模型指令与推理数据集列表,包含数据集特征、许可证及用例详情。
@cevenif: 健身房几百块一节的私教课,现在有个开源平替能把你安排得明明白白。 GitHub 上有个叫 workout-cool 的项目,健身党用起来很顺手: 选器械、选部位,自动给你生成训练计划,还能全程跟进度 海量动作库,图文加视频讲解,动作不容易…
workout-cool 是一个开源的健身教练平台,可以自动生成训练计划、跟踪进度,包含海量动作库和视频讲解,支持 Docker 一键部署,数据归用户所有。
用于临床培训的法语OSCE对话数据集与可控虚拟患者系统
本文介绍了一个包含240次交互的法语OSCE对话数据集,以及一个基于可控LLM的流水线,用于生成合成OSCE对话,从而实现医学培训中带有自动反馈的逼真虚拟患者模拟。