Skip to content

🏋️ AI 健身教练:人体姿态识别深蹲计数


一、教学目标

  1. 理解 人体姿态识别(Pose Estimation) 在智能健身中的应用
    • 智能健身镜
    • 体感训练
    • 运动评估
  2. 掌握 AI 视觉传感器 的人体姿态识别与动作判断方法
  3. 学会通过 关键姿态变化 识别「深蹲」动作
  4. 实现 动作检测 → 计数 → 显示反馈 的完整 AI 系统
  5. (进阶)理解
    • 人体位置变化
    • 方向判断
    • 机器人转向跟随逻辑
  6. 培养学生的
    • 状态机思维
    • 逻辑判断能力
    • 调试与分析能力

二、教学准备

1. 硬件

  • 乐高 SPIKE / EV3 主机 × 1
  • AI 视觉传感器 × 1
    • 模式:人体姿态识别(Pose 模式)
    • 摆放:正对训练者(全身或下半身可见)
  • 显示方式
    • 主机屏幕(显示数字)
  • 机器人外壳
    • 乐高积木搭建的「健身教练」外形
    • 不需要动作,仅作为教练形象

📌 接口说明

  • 左腿电机:E 口
  • 右腿电机:F 口
  • AI 视觉传感器:A 口
  • 其他接口可自由使用

2. 软件

  • SPIKE / EV3 / RobotCode 编程环境
  • AI 视觉模型:人体姿态识别(Pose)

三、教学流程

1️⃣ 导入(5 分钟)

提问引导

  • 去健身房时,教练是怎么判断你有没有「蹲到位」的?
  • 智能健身镜是怎么帮你自动计数的?

引出主题

🎯 今天我们要做一位
🏋️ 会“数你深蹲次数”的 AI 健身教练

强调一句话:

❗ 不是按按钮计数
❗ 而是 AI 看动作自动计数

拓展提问:

除了上下蹲,人还会左右移动
教练要不要一直面对你?


2️⃣ 场景与原理讲解(5 分钟)

深蹲的关键特征(教学简化)

人体动作过程:

  • 站立 → 下蹲 → 再站起

姿态变化表现为:

  • 身体整体高度明显下降
  • 腿部弯曲角度发生变化

📌 教学结论(简化版)

「身体下去一次,再上来一次
= 1 个深蹲」


3️⃣ 搭建(15 分钟)

AI 视觉传感器安装要求

  • 安装位置
    • 机器人“头部” 或 三脚架
  • 镜头高度
    • 40–70 cm
  • 摄像头方向
    • 正对训练者

人与传感器距离

  • 建议:1.5 – 3 米

画面中必须看到

  • 头部
  • 躯干
  • 大腿

📌 教师提示

  • 背景尽量简单
  • 避免多人同时进入画面
  • 手臂动作可自由发挥

alt textalt text


四、编程(25 分钟)

1️⃣ 核心系统逻辑(重点)

text
人体姿态识别

判断当前状态(站立 / 下蹲)

检测状态变化

计数 +1

显示反馈

📌 这是一个典型的「状态机」模型


2️⃣ 深蹲判断规则(教学级)

定义两个状态

状态说明
STAND站立
SQUAT下蹲

3️⃣ 姿态判断方式(示例)

AI 视觉传感器可提供:

  • 身体中心 Y 坐标
  • 臀部 Y 坐标

📌 简化判断规则

  • 如果 身体高度 < 下蹲阈值SQUAT
  • 如果 身体高度 > 站立阈值STAND

⚠️ 阈值由老师提前测试并给出


4️⃣ 计数逻辑(关键)

只有从「下蹲 → 站立」
才算一次完整深蹲

伪代码(通用 / RobotCode 思路)

text
初始化:
  squatCount = 0
  lastState = STAND

循环执行:
  当前高度 = 获取人体高度

  如果 当前高度 < squatThreshold:
    currentState = SQUAT
  否则:
    currentState = STAND

  如果 lastState == SQUAT 且 currentState == STAND:
    squatCount = squatCount + 1
    显示 squatCount

  lastState = currentState

📌 教学重点强调

  • 不能一直加
  • 必须等人「站起来」

5️⃣ 代码说明(示例备注)

SPIKE 示例说明

alt text

左侧程序

  • 用于方向跟随
  • 人向左 → 健身教练向左
  • 若方向不对,可自行调整电机方向

右侧程序

  • 用于深蹲计数
  • 加入防止重复计数的逻辑

RobotCode 示例说明

alt text

  • 百位:是否允许计数

    • 0:不计数
    • 1:允许计数
  • 个位 + 十位:转向角度

    • 中心点为 50

五、演示与测试(10 分钟)

学生轮流测试

  • 每人做 3–5 个深蹲
  • 观察以下内容:
    • 计数是否准确
    • 左右移动时是否跟随转向(进阶功能)

常见问题引导

问题可能原因
少计蹲得不够低
多计身体抖动
不计距离太近或太远

六、拓展思考(10 分钟)

引导学生升级系统:

  1. 如何区分「半蹲」和「标准深蹲」?
    → 设置更低的下蹲阈值

  2. 如何检测动作过快?
    → 增加最小时间间隔

  3. 能否支持多种动作?
    → 深蹲 / 开合跳 / 弯腰

  4. 能否做一个 AI 健身评分?
    → 次数 + 速度 + 稳定性


七、教学总结

学生掌握了

  • 人体姿态识别在健身中的真实应用
  • 状态机 + 计数逻辑设计方法

学生理解了

  • AI ≠ 魔法
  • AI = 数据 + 规则 + 工程逻辑

学生建立了

  • 面向真实世界的 AI 工程思维

八、课堂展示素材

Released under the MIT License.