Back to skills
extension
Category: Productivity & OfficeNo API key required

本地智能健身教练-实时姿态纠正

AIPC本地AI健身教练,基于MediaPipe姿态检测与OpenVINO加速LLM的实时运动指导技能,支持11种健身动作的实时姿态分析、错误检测与AI语音反馈,完全离线运行

personAuthor: z20181313zhanghubModelScope

AI Fitness Coach - AIPC本地AI健身教练

使用场景

当用户需要以下场景时,使用此技能:

  • 在本地搭建一个AI驱动的健身教练系统
  • 使用摄像头进行实时姿态检测和运动指导
  • 利用Intel AIPC的GPU/NPU加速能力进行本地LLM推理
  • 完全离线运行的隐私保护健身辅助工具
  • 对健身动作进行自动计数、评分和错误检测

功能概览

AI Fitness Coach 是一个完全本地运行的AI健身教练系统,专为Intel AIPC平台优化。核心能力包括:

  • 实时姿态检测: 基于MediaPipe PoseLandmarker的33点人体姿态估计,<50ms延迟
  • 11种健身动作支持: 深蹲、俯卧撑、平板支撑、引体向上、哑铃弯举、弓步蹲、肩推、硬拉、手臂上举、原地踏步、提踵
  • 智能错误检测: 40+条规则覆盖膝盖内扣、塌腰、弓背等常见错误,分HIGH/MEDIUM/LOW三级严重度
  • 多维评分系统: 形式(40%) + 幅度(30%) + 节奏(30%) 的100分制评分
  • AI教练反馈: 基于事件驱动的LLM反馈系统,生成个性化的中文语音指导
  • OpenVINO加速: 支持Intel GPU/NPU异构加速,INT4/INT8量化优化
  • 多模态交互: Rich终端实时数据面板 + pyttsx3离线TTS语音 + OpenCV视频叠加
  • 隐私优先: 所有摄像头数据和姿态信息均不离开本地设备

技术架构

Camera (OpenCV 30fps)
    |
    v
Pose Detection (MediaPipe PoseLandmarker)
    |
    v
Exercise Analysis Engine (Rules-based, <100ms)
    |-- Angle Calculator -> Phase Detector -> Rep Counter
    |-- Error Detector -> Scorer
    |
    v
Event Bus (pub/sub)
    |
    v
LLM Coach (async, non-blocking)
    |-- Ollama backend (default)
    |-- OpenVINO backend (AIPC GPU/NPU accelerated)
    |
    v
Output: Terminal UI + TTS Voice + Camera Overlay

操作步骤

1. 安装依赖

# 安装核心依赖
python scripts/install_deps.py

# 安装核心 + OpenVINO加速依赖(推荐AIPC用户)
python scripts/install_deps.py --openvino

# 安装全部依赖
python scripts/install_deps.py --all

2. 配置LLM服务

方式A: 使用Ollama(默认)

# 启动Ollama服务
ollama serve

# 拉取推荐模型
ollama pull qwen3.5:2b

方式B: 使用OpenVINO加速(推荐AIPC用户)

# 转换模型为OpenVINO IR格式
python scripts/convert_openvino.py --model Qwen/Qwen2.5-1.5B-Instruct --quant INT4 --device AUTO

# 检测可用设备
python scripts/convert_openvino.py --detect-devices

3. 运行健身教练

# 使用Ollama后端(默认)
python scripts/run_fitness_coach.py

# 使用OpenVINO加速后端
python scripts/run_fitness_coach.py --openvino --device GPU

# 指定模型和禁用TTS
python scripts/run_fitness_coach.py --openvino --model qwen3-4b --no-tts

4. 运行时控制

| 快捷键 | 功能 | |--------|------| | 1-9 | 切换动作 | | n | 下一个动作 | | 空格 | 暂停/继续 | | r | 重置当前组 | | c | 切换摄像头 | | q/ESC | 退出 |

OpenVINO AIPC加速说明

本技能内置了OpenVINO加速模块,充分利用Intel Core Ultra处理器的异构计算能力:

设备支持

| 设备 | 说明 | 适用场景 | |------|------|----------| | CPU | 默认,全平台兼容 | 通用 | | GPU | Intel Arc集显 | Core Ultra笔记本 | | NPU | Intel AI Boost | Core Ultra笔记本AI加速 | | AUTO | 自动选择最优设备 | 推荐 |

量化模式

  • INT4: 4位整数量化,模型缩小至~25%,速度最快,推荐AIPC首选
  • INT8: 8位整数量化,模型缩小至~50%,质量更好
  • FP16: 16位浮点,质量最佳,GPU加速
  • FP32: 32位浮点,原始精度,仅CPU

推荐模型(<=35B参数,适配AIPC)

| 别名 | HuggingFace ID | 参数量 | 推荐度 | |------|---------------|--------|--------| | qwen2.5-1.5b | Qwen/Qwen2.5-1.5B-Instruct | 1.5B | 轻量首选 | | qwen3-4b | Qwen/Qwen3-4B | 4B | 均衡推荐 | | qwen3-8b | Qwen/Qwen3-8B | 8B | 质量推荐 | | qwen3-32b | Qwen/Qwen3-32B | 32B | 高端AIPC |

性能基准

使用 scripts/benchmark.py 进行性能对比:

# 对比OpenVINO和Ollama
python scripts/benchmark.py --compare --rounds 10

# 仅测试OpenVINO
python scripts/benchmark.py --openvino-only --device GPU

小模型兼容性验证

本技能已在以下<=35B参数模型上完成指令测试:

  • Qwen2.5-1.5B-Instruct (1.5B) - 流畅运行
  • Qwen3-4B (4B) - 流畅运行
  • Qwen3-8B (8B) - 流畅运行
  • Qwen3-14B (14B) - 正常运行
  • Qwen3-32B (32B) - 需INT4量化

所有模型均支持中文健身教练指令,反馈生成延迟在可接受范围内(<5秒)。

配置参考

配置文件位于 resources/settings_template.yaml,可自定义:

  • 摄像头源(本地/手机IP/RTSP)
  • MediaPipe检测参数
  • LLM后端选择(Ollama/OpenVINO)
  • TTS语音设置
  • UI主题和刷新率

参考资料