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主题和刷新率
参考资料
- 详细架构说明: references/architecture.md
- 动作列表与错误规则: references/exercises.md
- 配置模板: resources/settings_template.yaml
Scan to join WeChat group