基于opencv的人体姿态识别 人体关键点识别 深蹲计数 姿态评估 姿态识别+康复训练矫正+代码+部署(AI 健身教练来分析深蹲等姿态)

张开发
2026/4/11 17:47:40 15 分钟阅读

分享文章

基于opencv的人体姿态识别 人体关键点识别 深蹲计数 姿态评估 姿态识别+康复训练矫正+代码+部署(AI 健身教练来分析深蹲等姿态)
姿态识别康复训练矫正AI 健身教练姿态分析目录本文旨在构建一个 AI 健身教练帮助判断姿态标准与否并且矫正姿态无论您是初学者还是专业人士它都可以帮助您无缝地进行深蹲。为了完成这项任务我们可以利用基于深度学习的人类姿态估计算法的强大功能。身体姿态估计用于姿势分析的正面和侧视图的直觉]姿势构建 AI 健身教练来分析深蹲深蹲时的状态图解释]AI Fitness Trainer 的应用流程]设计应用程序时的关键概念角度计算AI Fitness Trainer 应用程序的反馈操作](计算非活动时间]AI Fitness Trainer 应用程序中的测试用例]深蹲模式 – 初学者与专业人士姿态估计使用检测器管道首先定位帧内的人物/姿势感兴趣区域 ROI。跟踪器随后使用 ROI 裁剪的帧作为输入来预测 ROI 中的姿态地标和分割掩码。姿势分析的正面和侧视图的直觉在设计一个应用程序来分析各种健身锻炼时人们可能会好奇地执行各种计算同时牢记相机对物体人的视野。使用正面视图我们可以访问左侧和右侧因此可以利用各种地标点的坡度和角度例如膝臀线和膝臀线之间的角度等。这些信息可能有助于分析头顶推举、侧板支撑、仰卧起坐、卷曲等练习。我们可以使用侧视图来更好地估计有关垂直或水平的各种倾斜度。这些信息有助于分析硬拉、俯卧撑、深蹲、俯卧撑等运动。由于我们正在分析深蹲和所有关于垂直方向适当倾斜度的重要计算因此我们选择了侧视图。为确保健康的生活方式罗马尼亚主动向进行 20 次深蹲的人提供免费巴士票。看看这个Instagram帖子姿势构建 AI 健身教练来分析深蹲下图描述了我们的应用程序所需的地标。我们将考虑髋-膝、膝-踝和肩-髋线与垂直线的角度以计算状态在后续部分中解释并执行适当的反馈消息。如下图所示。用于姿势分析的正面和侧视图的直觉在设计一个应用程序来分析各种健身锻炼时人们可能会好奇地执行各种计算同时牢记相机对物体人的视野。使用正面视图我们可以访问左侧和右侧因此可以利用各种地标点的坡度和角度例如膝臀线和膝臀线之间的角度等。这些信息可能有助于分析头顶推举、侧板支撑、仰卧起坐、卷曲等练习。我们可以使用侧视图来更好地估计有关垂直或水平的各种倾斜度。这些信息有助于分析硬拉、俯卧撑、深蹲、俯卧撑等运动。由于我们正在分析深蹲和所有关于垂直方向适当倾斜度的重要计算因此我们选择了侧视图。为确保健康的生活方式罗马尼亚主动向进行 20 次深蹲的人提供免费巴士票。看看这个Instagram帖子在Instagram上查看此帖子Алина Бжолка alinabzholkina 分享的帖子使用 MediaPipe 姿势构建 AI 健身教练来分析深蹲下图描述了我们的应用程序所需的地标。我们将考虑髋-膝、膝-踝和肩-髋线与垂直线的角度以计算状态在后续部分中解释并执行适当的反馈消息。如下图所示。此外我们将计算偏移角度鼻子和肩膀所占的角度并发出适当的警告以保持良好的侧视图。此外我们还将考虑计算不活动的时间根据这些时间正确和不正确的深蹲计数器将被重置。该应用程序还将提供两种模式初学者和专业;人们可以选择其中任何一个并开始无缝地进行深蹲无论他是初学者还是专家。人体姿态估计是计算机视觉中最令人兴奋的研究领域之一。它在广泛的应用中具有重要意义。我们可以用它来构建一个简单而令人兴奋的应用程序来[分析不良的坐姿]深蹲时的状态图解释状态转换图解释了执行深蹲时保持的各种状态。请注意所有状态都是根据髋膝线和垂直线之间的角度计算的为简单起见我们将此阶段压缩为膝盖和垂直线之间的角度.以下 gif 说明了过渡的各个阶段。我们将处理应用程序的三种状态s1、s2和s3。状态 s1如果膝盖与垂直方向的夹角落在32°以内则处于正常阶段其状态为s1。它本质上是更新正确和不当深蹲计数器的状态。状态 s2如果膝盖和垂直方向之间的角度落在35° 和65°之间则处于过渡阶段随后进入状态s2.状态 s3如果膝盖和垂直方向之间的角度在特定范围内例如在 75° 和95°之间则它处于通过阶段随后进入状态s3.我们最终也可以提供状态转换图。![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_urlC%3A%5CUsers%5Cadmin%5CDesktop%5C%E5%9B%BE%E5%BA%93%5C5.pngpos_idimg-3im2gicr-1698838611908注意与反馈相关的所有计算都是针对状态s2 和 s3计算的。在实施过程中我们维护一个列表state_sequence。它包含人员从状态s1到s3再回到s1时的一系列状态。state_sequence中的最大状态数 为3[s2** s3 s2]**。此列表确定是否执行正确或不正确的深蹲。一旦遇到状态s1我们将state_sequence重新初始化为空列表以便进行后续的深蹲计数。设计应用程序时的关键概念角度计算3 点之间的角度其中 1 个是参考点如下所示。该等式由下式给出例如要计算偏移角我们将找到鼻子和肩膀之间的角度鼻子的坐标是参考点。当偏移角度超过某个OFFSET_THRESH时我们假设该人面向相机前方并显示相应的警告消息。同样可以参考下图来计算肩臀线与垂直线之间的夹角.AI Fitness Trainer 应用程序的反馈操作我们的应用程序应提供五条反馈消息而一条执行深蹲即向前弯曲向后弯曲降低臀部膝盖从脚趾上掉下来深蹲当髋部与髋部的垂直角度即肩髋线与垂直线之间的夹角低于阈值例如 20°时将显示反馈1如下图所示。当髋部垂直角度高于阈值例如 45°时将显示反馈2 如下所示# 代码与部署环境安装unzipmyproject.zipcdmy_project conda create-npose python3.9pipinstall-rrequirements.txt脚本运行python run.py总结到目前为止我们已经展示了如何使用姿态识别解决方案构建一个简单的应用程序来分析深蹲。该应用程序的关键组件包括计算角度例如肩-髋、髋-膝和膝-踝线及其相应的垂直线。我们保持各种状态以显示适当的反馈并区分正确和不适当的深蹲。计算重置相应计数器期间的非活动状态。该应用程序假设该人应保持相机的良好侧视图。如果一个人完全面对镜头前我们会显示适当的警告信息。

更多文章