← 返回项目列表
全栈

FitPose AI 健身教练

面向健身训练场景的 AI Coach MVP,使用 OpenCV + MediaPipe Pose、FastAPI、Vue3 和模型管理链路,打通深蹲识别、主动学习、模型训练与 AI 问答。

周期
个人项目|持续迭代
角色
AI 辅助独立开发
类型
全栈

01

我的工作

  • 围绕深蹲训练场景拆分实时训练、姿态识别、动作分析、训练 Session、样本标注、模型训练和 AI 教练等模块。
  • 使用 OpenCV + MediaPipe Pose 解析摄像头画面,通过 WebSocket 将前端视频帧送入 FastAPI 后端进行实时关键点检测。
  • 实现深蹲阶段识别、自动计数、动作评分和错误姿势提示,覆盖站立、下蹲、最低点和起身等训练状态。
  • 设计主动学习流程,将训练帧保存为训练样本,并支持标准/不标准标注、错误原因选择和样本质量评估。
  • 实现模型版本管理能力,支持重新训练、指标查看、历史模型启用、模型删除、artifact 清理和训练报告查看。
  • 封装 AI Coach 能力,支持本地规则教练以及 OpenAI / DeepSeek 等兼容 Chat Completions 的 Provider。
  • 整理训练历史、最近训练帧、当前模型版本和训练报告作为 AI 问答上下文,使教练回答能够结合用户训练数据。
  • 采用 FastAPI + Clean Architecture 组织后端目录,将 Pose Engine、分析器、数据集、模型训练和 AI Provider 保持可替换边界。
  • 构建 Vue3 + TypeScript 前端页面,覆盖训练、分析、数据集、模型管理和 AI 教练等核心演示路径。

02

技术流程

  1. 浏览器采集摄像头画面并通过 WebSocket 发送视频帧
  2. FastAPI 后端调用 Pose Engine 提取人体关键点
  3. Feature Extractor 和 Action Analyzer 计算深蹲阶段、计数、评分和反馈
  4. 训练过程生成 Workout Session,并可将训练帧保存为标注样本
  5. Dataset Manager 评估样本质量并保留 Session 来源血缘
  6. Model Trainer 使用可训练样本生成新模型版本和训练报告
  7. AI Coach 读取训练历史、模型版本和训练报告,生成总结或问答回复

03

问题与约束

这个项目的难点不只是做一个姿态识别 Demo,而是把实时识别、训练数据沉淀、样本标注、模型训练、模型版本管理和 AI 教练解释串成一条可持续优化的产品闭环。实现时需要同时处理实时 WebSocket 链路、计算机视觉结果的不确定性、训练样本质量和 AI 回答边界。

04

关键技术决策

先聚焦深蹲 MVP

先把深蹲一个动作的实时识别、计数、评分、样本标注、模型训练和 AI 问答闭环打通,再预留后续扩展俯卧撑、平板支撑等动作的空间。

以 Session 建立数据血缘

训练样本能够追溯到对应 Workout Session,模型训练报告也能回到样本和 Session 来源,便于解释模型效果和发现样本来源单一等问题。

本地规则教练兜底

默认提供无需 API Key 的本地规则模式,同时保留 OpenAI / DeepSeek 兼容 Provider,避免项目演示强依赖外部大模型服务。

后端保持可替换边界

通过 Clean Architecture 拆分领域实体、用例、基础设施和接口层,让 MediaPipe、模型训练器、数据库和 AI Provider 后续可以替换。

05

结果与复盘

完成一个面向求职展示的 AI 健身教练 MVP:已覆盖实时姿态识别、深蹲阶段分析、训练 Session、主动学习样本、模型版本管理、训练报告和 AI 教练问答等核心链路。项目 README 提供本地启动、演示路径、常用接口、AI Provider 配置和后续计划。

06

项目边界

公开个人项目,当前聚焦深蹲 MVP,不是商业化健身产品或医疗康复建议系统;默认使用本地 SQLite 和规则教练,可配置 MySQL 与外部大模型。AI 参与了较多编码和文档生成,本人主要负责方向定义、功能拆解、验收、调试与持续迭代。