1 项目背景
1.1 项目介绍
本项目基于 Mind+ V2 的姿态分类模型训练功能,训练了一个能够识别人体姿态的 AI 模型。玩家只需站在摄像头前,通过举手跳跃、弯腰下蹲、自然站立三种姿态,就能实时控制小恐龙躲避障碍物。
不需要任何额外设备——你的身体就是控制器。
1.2 设计理念
这个项目源于一个创客教师的日常思考:
🏠 场地小怎么运动? 师生日常久坐 8-10 小时。休息时间碎片化,活动空间有限。
🎮 游戏能不能健康化? 学生喜欢玩游戏,能不能让单纯的"玩游戏"与互动健身结合起来?
🌧️ 恶劣天气怎么办? 下雨天、雾霾天等恶劣天气,多数学校没有室内体育馆,体育课只能看自习。本该运动时间就这样浪费了。
AI体感小恐龙就是对这些问题的探究:仅需一台电脑和一个摄像头,在任何室内空间(教室、楼道、客厅、办公室),就能通过体感游戏实现有效运动。同时,整个项目从体验AI体感游戏到图形化积木编程搭建、认识姿态分类原理到数据采集、模型训练和部署应用的全流程,都可以手把手带学生完成,寓教于乐。
1.3 演示视频
2 姿态分类模型训练
2.1 训练环境
| 项目 | 配置 |
|---|---|
| 软件 | Mind+ V2.0.5 |
| 摄像头 | 电脑、手机摄像头 |
| 使用者距离 | 摄像头前方约 1-2 米 |
| 画面范围 | 人体上半身(头、肩、手臂、部分躯干) |
实测发现:在 2 米以内距离下,摄像头主要捕捉人体上半身。因此,姿态设计尽可能基于上半身可见关节(头、颈、肩、肘、腕)的相对位置关系来区分。
2.2 姿态类别设计
本项目设计了 3 种控制姿态,每种姿态对应小恐龙的一个动作:
| 姿态名称 | 身体动作 | 上半身判别特征 | 游戏指令 | 对应运动 |
|---|---|---|---|---|
| stand(站立) | 身体直立,双手自然下垂 | 双手位于腰部以下,肩部水平 | 正常奔跑 | 静态平衡 |
| jump(跳跃) | 双手举起 | 双手腕高于头部,手臂伸展 | 恐龙跳跃越过地面障碍 | 肩臂+核心 |
| duck(下蹲) | 弯腰,双手下垂触膝位置 | 肩部大幅低于正常位置,头部前倾下移 | 恐龙下蹲躲避空中障碍 | 腰背+核心 |
2.3 数据采集
步骤1:新建项目
打开 Mind+ V2 → 选择姿态分类任务 → 新建项目 → 模型训练。
步骤2:背景样本采集
新增类别(空背景),点击"摄像头"按钮,在无人状态下采集当前环境的背景图像。
步骤3:姿态样本采集
新增 3 个类别,分别命名为 直立站好、双手举起、下蹲,逐一采集姿态样本。
姿态样本需要解决1-2米距离不方便点击鼠标的问题:
方案一:提供了摄像头实时采集,鼠标线比较长,还是可以的👌 采集的时候把可能的相关动作录制进去。
方案二:手机录制 + 本地上传(没有尝试)
├── 用手机前置摄像头在 2 米处录制姿态视频
├── 从视频中提取图片帧(每秒5帧)
├── 筛选高质量图片,每类保留 100-150 张
└── 在 Mind+ 中通过"上传"按钮批量导入
2.4 模型训练
数据采集完成后,点击"训练模型"开始训练。
训练参数设置:
| 参数 | 设置值 | 说明 |
|---|---|---|
| 周期数(Epochs) | 50 | 3类姿态以及背景数据,数据量适中 |
| 批次大小(Batch Size) | 16 | 普通电脑推荐值 |
| 学习速率(Learning Rate) | 0.001 | 默认值,无需调整 |
训练过程监控:
点击"高级设置"中的"深入了解",实时观察:
准确率曲线:应逐步上升并趋于稳定
损失曲线:应逐步下降并趋于收敛
混淆矩阵:观察各类别之间的混淆情况
模型优化:
如果校验效果不理想,可从以下方面优化:
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| jump 和 stand 混淆 | 举手是有前举和侧举 | 补充样本 |
| 没有加入背景样本 | 补充环境的背景样本,重新训练 |
2.5 模型校验
切换到"摄像头"校验模式,站在摄像头前做出各种相关的姿态,观察识别结果是否正确。校验通过后,点击"导出模型",将模型导出文件,保存到项目文件夹中。

3 程序设计与实现
3.1 基础游戏框架
本项目的基础游戏框架参考了 Scratch 社区的 Chrome 小恐龙跑酷项目(scratch.mit.edu/projects/384023850),并在其基础上进行了优化和 AI 姿态识别的集成。
原始 Scratch 项目的核心逻辑:
Chrome 小恐龙跑酷游戏逻辑:
├── 恐龙角色:在地面自动奔跑(通过背景滚动模拟)
├── 跳跃机制:按空格键/上箭头 → 恐龙向上跳跃
├── 下蹲机制:按下箭头 → 恐龙切换为下蹲造型
├── 障碍物生成:
│ ├── 地面障碍(仙人掌)→ 需要跳跃越过
│ └── 空中障碍(翼龙)→ 需要下蹲躲避
├── 碰撞检测:恐龙碰到障碍物 → 游戏结束
├── 计分系统:存活时间越长,分数越高
└── 难度递增:速度随时间逐渐加快
3.2 姿态识别集成 —— 核心改造
添加扩展库
在 Mind+ V2 图形化编程模式下,点击"扩展",搜索并添加模型训练推理库。初始化摄像头并载入姿态分类模型。

AI 姿态识别控制

跳跃逻辑:这里使用递归函数
- 递归调用确保了跳跃动作的完整执行:从起跳 → 上升 → 下降 → 落地 → 准备下一次跳跃
- 每次落地后自动重置状态,为下一次跳跃做好准备

下蹲逻辑:

3.3 运动数据统计
运动姿态次数统计
核心问题:如何准确统计举手和下蹲的次数?
关键挑战:
- 如果玩家一直举手不放或者下蹲不起,不能算作多次
- 需要检测姿态的完整切换过程才算一次有效动作
解决方案:状态切换检测法

精确计时与计分
使用 Mind+ 的计时器积木获取精确时间戳,通过计算时间差来实现精确计时,避免程序阻塞。

热量消耗计算与互动健身报告
计算原理:基于代谢当量(MET)的热量消耗公式
本项目的 MET 值参考:
根据《中国健康成年人身体活动能量消耗参考值》(T/CSSS 002-2023)和体感游戏相关研究对热量消耗进行估算。
| 活动类型 | MET值 | 说明 |
|---|---|---|
| 站立(stand) | 1.3 | 基础代谢水平 |
| 举手跳跃(jump) | 4.5 | 类似轻度有氧舞蹈 |
| 弯腰下蹲(duck) | 3.5 | 类似轻度家务活动 |
| 体感游戏综合 | 3.5-6.0 | 根据动作频率动态计算 |

3.4 完整代码结构
| 角色 | 代码截图 |
|---|---|
| 🦖小恐龙 | ![]() |
| 🌵仙人掌 | ![]() |
| 🐦鸟 | ![]() |
| ☁️云 | ![]() |
| 地面 | ![]() |
| 背景 | ![]() |
| 🔚游戏结束 | ![]() |
4 功能测试运行
4.1 操作说明
| 姿态 | 动作要领 | 效果 |
|---|---|---|
| 🧍 自然站立 | 身体正直,双手自然下垂 | 恐龙正常奔跑 |
| ⬆️ 举手跳跃 | 双手快速举过头顶 | 恐龙跳跃越过仙人掌 |
| ⬇️ 弯腰下蹲 | 上半身前倾弯腰 | 恐龙下蹲躲避翼龙 |
4.2 界面显示
实时呈现得分和运动数据,摄像头实时画面和当前识别的姿态等内容。

5 项目总结与拓展
5.1 项目亮点
| 亮点 | 说明 |
|---|---|
| 🎯 零门槛 | 仅需电脑+摄像头,无需任何额外硬件 |
| 🧠 AI全流程 | 覆盖互动体验→数据采集→模型训练→部署应用的完整AI开发流程 |
| 🏃 健身价值 | 举手跳跃锻炼肩臂核心,弯腰下蹲锻炼腰背。 碎片化微运动,增加日常活动量,缓解久坐影响。 |
| 📚 教学友好 | 3种简单姿态,基础程序趣味化,学生可手把手完成 |
| 🌐 多场景适用 | 教室、居家、办公室,任何室内空间均可开展 |
注意事项:本项目寓教于乐,条件允许时多参加户外体育活动。
5.2 拓展方向
增加最高分记录,速度随时间递增,优化热量消耗公式等等
增加开始游戏姿态(全流程体感控制)
增加双人轮流PK模式(排行榜竞技)
增加健身课程模式(定时训练)
优化运动数据可视化
5.3 学习评价表
| 评价维度 | 评价指标 | 自评 |
|---|---|---|
| AI知识理解 | 能说出姿态分类的基本原理 | ⬜⬜⬜⬜⬜ |
| 数据采集能力 | 能独立完成姿态数据采集 | ⬜⬜⬜⬜⬜ |
| 模型训练能力 | 能完成模型训练并理解参数含义 | ⬜⬜⬜⬜⬜ |
| 编程能力 | 能理解姿态识别控制的游戏逻辑 | ⬜⬜⬜⬜⬜ |
| 创新思维 | 能提出自己的拓展改进方案 | ⬜⬜⬜⬜⬜ |
6 参考资源
| 资源 | 链接 |
|---|---|
| Mind+ V2 下载 | https://mindplus.cc/download.html |
| 姿态分类教程 | |
| 参考案例:滑雪大冒险 | https://makelog.dfrobot.com.cn/article-318909.html |
| Scratch 小恐龙参考项目 | https://scratch.mit.edu/projects/384023850/ |
| Mind+ V2 系列教程 | https://makelog.dfrobot.com.cn/article-318613.html |
| Mind+ V2 模型训练挑战赛 | https://makelog.dfrobot.com.cn/contest-3016.html |

返回首页
回到顶部










评论