本项目包含 Android 原生 APP 与抖音小程序两套端,两端业务逻辑、比对功能完全一致。小程序依托抖音云服务,后端采用 Python 开发;Android 端全部运算本地离线执行,无需上传原始视频,兼顾多端使用需求,面向健身娱乐、动作教学、标准化动作考核等场景,基于 MediaPipe 人体骨骼识别技术,完成用户动作与标准动作模板的姿态比对分析。
业务核心逻辑:用户上传或录制动作视频,系统提取视频内人体骨骼关键点,与预先存储的标准动作 JSON 骨骼模板进行帧匹配。**匹配不依赖时间戳对齐**,仅通过骨骼相似度完成帧配对。遍历用户视频每一帧骨骼数据,和标准动作库计算相似度,匹配成功则在画面叠加两套骨骼(用户骨骼、标准模板骨骼,分色区分);匹配失败则不叠加骨骼。直观呈现用户动作与标准动作之间的偏差,可用于健身娱乐动作打卡、训练复盘、动作质量评估。
核心功能分为四大模块。
1. 视频骨骼解析模块:支持读取本地视频,逐帧提取人体骨骼关键点;加载标准动作 JSON 模板,读取预设标准骨骼数据,视频解码不处理音频流,降低资源开销。
2. 姿态匹配判定模块:计算骨骼相似度分值。匹配成功后自动判定动作结果:动作达标标记为**正确**,记录加分项与对应分值;偏差超过阈值判定为错误动作,记录错误帧、偏差部位与文字说明,全部结果实时展示在界面文本控件,即时反馈动作正误。
3. 骨骼可视化模块:匹配成功帧叠加绘制双骨骼骨架,预览页面实时渲染;导出视频时,输出成品视频每一帧都自带骨骼叠加图层,并非原始视频画面。
4. 结果导出模块,统一汇总生成文件:单个 PDF 评估报告,错误动作页附带骨骼叠加截图与错误描述,正确动作仅记录加分项目;单个完整 MP4 视频,保存带骨骼绘制的画面。Android 端文件写入公共存储并保存至系统相册;抖音小程序文件存储于抖音云,支持在线查看报告与回放比对视频。
技术特点:Android 端 Java 原生开发,MediaCodec/MediaExtractor 完成视频编解码,Canvas 绘制骨骼,PdfDocument 生成 PDF;抖音小程序前端配合 Python 后端、抖音云实现云端骨骼解析与文件存储。
适用场景覆盖两大方向:健身娱乐(居家健身打卡、舞蹈趣味动作比对、动作趣味打分分享);专业场景(康复训练评估、体育动作教学、标准化作业考核)。多端适配满足用户不同使用习惯,APP 注重离线隐私,小程序轻量化、便于社交分享传播
本项目为一套多端一体化人体姿态比对系统,包含Android客户端与抖音小程序两个版本,两端核心业务、比对算法与功能体验完全一致,适用于健身娱乐、动作教学、体态矫正、趣味打卡等场景。
Android客户端采用原生Java开发,全程本地离线运算。项目基于MediaPipe实现人体21点骨骼关键点提取,通过帧骨骼相似度算法,完成用户动作视频与标准动作模板的智能匹配与正误判定。客户端自主实现视频编解码、YUV帧图像处理、双骨骼叠加绘制,支持实时预览比对效果。最终可本地生成带骨骼效果的完整MP4视频与结构化PDF评估报告,文件直接保存至手机相册与下载目录,无需服务器参与,数据私密性强、运行稳定,适配离线使用场景。
抖音小程序端依托抖音云平台部署,采用前端搭配Python后端的云端架构。用户上传视频后,请求交由服务端统一完成骨骼解析、姿态比对与画面渲染,处理后的视频与PDF报告存储于抖音云。小程序轻量化无需安装,支持快速预览比对结果、在线查看评估报告,适配社交分享、趣味健身打卡等轻量化场景,依托抖音生态具备极强的传播性。
两端统一实现动作打分、错误帧记录、骨骼可视化、报告导出核心功能,分别覆盖离线专业使用与线上娱乐分享两大需求,场景互补、体验统一。