首页 > 其他分享 >AI健身教练-引体向上-俯卧撑计数代码-仰卧起坐姿态估计-康复训练姿态识别-姿态矫正(附代码)

AI健身教练-引体向上-俯卧撑计数代码-仰卧起坐姿态估计-康复训练姿态识别-姿态矫正(附代码)

时间:2024-09-01 10:22:55浏览次数:5  
标签:hip shoulder 仰卧起坐 代码 body detection self 姿态 landmarks

在AI健身应用中,通过关键点检测技术可以实现对用户动作的精准捕捉和分析,从而进行统计计数和规范性姿态识别。

  1. 统计计数:比如在做瑜伽、健身操等运动时,系统可以通过对人体关键点(如手部、脚部、关节等)的实时追踪,精确计算用户的动作次数。例如,在做深蹲或俯卧撑时,系统能通过检测髋关节和膝关节的角度变化来判断每次动作是否完成,进而准确计数。
  2. 规范性姿态识别:关键点检测技术能够实时获取人体各部位的位置信息,结合人体骨骼模型和预设的标准动作模板,可以评估用户当前动作与标准动作的匹配程度,及时发现并纠正不规范的动作姿势,降低运动伤害风险,提升锻炼效果。例如,在做平板支撑时,系统能够通过检测头部、肩部、腰部、臀部以及四肢的关键点位置,确保用户保持正确的身体姿态。

这种基于深度学习的关键点检测技术,已在许多智能健身应用中得以广泛应用,为用户提供个性化的指导和反馈,让居家健身更加科学、高效。

AI健身教练

这款AI模型用于在健身训练中提供帮助,通过运用算法来跟踪动作和次数。借助对相应身体部位角度的精准识别,该模型能够确定锻炼动作的完成次数。
在这里插入图片描述

引体向上练习

(注:上述内容翻译为中文后,保持了原文的结构,意指这款AI健身教练能够利用技术监测引体向上的动作次数及身体各部位的角度变化,从而准确判断并记录引体向上这一锻炼项目的完成情况。)

在这里插入图片描述

俯卧撑练习

俯卧撑

俯卧撑是一种强化训练动作,执行时需身体呈俯卧姿势,通过伸直和弯曲手臂来抬起和降低身体,同时保持背部挺直,并用手掌和脚尖支撑全身。

运行指令:

python main.py -t push-up -vs videos/push-up.mp4

(这条命令行指示是用Python程序处理一个关于俯卧撑的动作视频,其中“-t push-up”参数表示所做的是俯卧撑运动类型,“-vs videos/push-up.mp4”则指定了分析的视频文件路径为"videos/push-up.mp4",这个程序可能利用AI模型来识别并统计视频中的俯卧撑动作次数及其规范程度。)
在这里插入图片描述

仰卧起坐

仰卧起坐是一种增强腹部耐力的训练练习,旨在强化、紧实和塑造腹部肌肉。它与卷腹类似,但仰卧起坐的动作幅度更大,能锻炼到更多的肌肉群。

在这里插入图片描述

步行锻炼

在这里插入图片描述

深蹲练习

深蹲

深蹲是一项力量训练,要求练习者从站立姿势开始,将臀部下压,然后恢复站立姿势。在深蹲下蹲的过程中,髋关节和膝关节会弯曲,而踝关节会发生背屈。

运行指令:

python main.py -t squat -vs videos/squat.mp4

为了使用你的网络摄像头实时检测你的动态动作,请使用以下命令:

(这段话意味着,通过运行上述Python命令,可以分析指定的"squat.mp4"视频文件中深蹲动作的情况。如果要实时使用网络摄像头检测用户的深蹲动作,则需要另外的命令或设置。)

核心代码

    def angle_of_the_neck(self):
        r_shoulder = detection_body_part(self.landmarks, "RIGHT_SHOULDER")
        l_shoulder = detection_body_part(self.landmarks, "LEFT_SHOULDER")
        r_mouth = detection_body_part(self.landmarks, "MOUTH_RIGHT")
        l_mouth = detection_body_part(self.landmarks, "MOUTH_LEFT")
        r_hip = detection_body_part(self.landmarks, "RIGHT_HIP")
        l_hip = detection_body_part(self.landmarks, "LEFT_HIP")

        shoulder_avg = [(r_shoulder[0] + l_shoulder[0]) / 2,
                        (r_shoulder[1] + l_shoulder[1]) / 2]
        mouth_avg = [(r_mouth[0] + l_mouth[0]) / 2,
                     (r_mouth[1] + l_mouth[1]) / 2]
        hip_avg = [(r_hip[0] + l_hip[0]) / 2, (r_hip[1] + l_hip[1]) / 2]

        return abs(180 - calculate_angle(mouth_avg, shoulder_avg, hip_avg))

    def angle_of_the_abdomen(self):
        # calculate angle of the avg shoulder
        r_shoulder = detection_body_part(self.landmarks, "RIGHT_SHOULDER")
        l_shoulder = detection_body_part(self.landmarks, "LEFT_SHOULDER")
        shoulder_avg = [(r_shoulder[0] + l_shoulder[0]) / 2,
                        (r_shoulder[1] + l_shoulder[1]) / 2]

        # calculate angle of the avg hip
        r_hip = detection_body_part(self.landmarks, "RIGHT_HIP")
        l_hip = detection_body_part(self.landmarks, "LEFT_HIP")
        hip_avg = [(r_hip[0] + l_hip[0]) / 2, (r_hip[1] + l_hip[1]) / 2]

最后!计算机视觉、图像处理、毕业辅导、作业帮助、代码获取

code联系:qq1309399183

标签:hip,shoulder,仰卧起坐,代码,body,detection,self,姿态,landmarks
From: https://blog.csdn.net/m0_74173911/article/details/141676838

相关文章

  • 【机器学习】聚类算法的基本概念和实例代码以及局部度量学习的概念和实例代码
    引言聚类算法在许多领域都有广泛的应用,例如数据挖掘、生物信息学、图像处理等。文章目录引言一、聚类算法1.1K-Means算法1.2DBSCAN算法1.3层次聚类(HierarchicalClustering)算法1.4高斯混合模型(GaussianMixtureModel,GMM)1.5谱聚类(SpectralClustering)算法1.6基......
  • 【从头写CAD】 转换矩阵类系列八,代码汇总
    为了找出优化代码的方案,梳理矩阵类现有代码。现汇总转换矩阵所有代码在同一个文件中,同时调整了与矩阵类重载的代码的先后次序。完整代码如下:/*矩阵类编程思路总说明:平面CAD对象主要包括点(point)、线(line含线段、直线、射线,宽线、多段线)、平面形状(shap含矩形、圆形、椭......
  • 【数模资料包】最新数模国赛word+latex模版|数模常用的算法python+matlab代码
     【2024最全国赛研赛数模资料包】C君珍贵国一数模资料|最新数模国赛word+latex模版|数模常用的算法python+matlab代码国赛指:高教社杯全国大学生数学建模竞赛,研赛指:华为杯研究生数学建模竞赛。资料内容具体看文末卡片以下是三个相关的资料内容:1C君珍贵国一数模资料2最......
  • 代码随想录算法day5 - 哈希表1
    题目1242.有效的字母异位词给定两个字符串*s*和*t*,编写一个函数来判断*t*是否是*s*的字母异位词。字母异位词是通过重新排列不同单词或短语的字母而形成的单词或短语,通常只使用所有原始字母一次。示例1:输入:s="anagram",t="nagaram"输出:true示例2:......
  • 2024强烈推荐8个精选的中后台前端低代码开源框架
    低代码、零代码眼花缭乱,专门解决中后台管理系统的前端低代码、零代码框架有哪些呢?以下列出截至2024年9月最新的代表开源项目:1.AppsmithAppsmith是一款开源低代码框架,主要用于构建管理面板、内部工具和仪表板等,允许拖放UI组件来构建页面,通过连接到任何API、数据库或GraphQL源......
  • 【开源】前端“神器”,开发界面无代码!
    前端技术日新月异,UIOTOS是一款最新开源的前端小工具。UIOTOS前端零代码/前端低代码/大屏可视化/WEB组态/界面设计器/可视化编辑器/h5editor/QtDesigner三年磨一剑,独创的页面嵌套技术,给WEB前端、UI原型、组态HMI、工控上位机,以及工作流、规则链等图形可视化编辑,带来了全新的思路。U......
  • ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞(5-rce)
    漏洞原理该漏洞存在两种利用方式控制器名未过滤导致rce该漏洞出现的原因在于ThinkPHP5框架底层对控制器名过滤不严,从而让攻击者可以通过url调用到ThinkPHP框架内部的敏感函数,进而导致getshell漏洞核心类Request远程代码执行filter[]为回调函数,get[]或route[]或server[R......
  • VBA代码解决方案第十七讲:如何选择一个工作表,如何选择多个工作表
    《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码摆好。这套教程共三册,一百四十七讲,内容覆......
  • 【SQL注入】代码安全审计经验分享
    一、MyBatis框架中的注入漏洞Mybatis框架支持的CURD功能可以直接搜索XML文件中的${和${}拼接的SQL语句,如果SQL的参数可控,就可能造成注入风险。另外,有的SQL语句使用的是注解开发,把SQL语句可以直接写在了代理接口方法上方,审计的时候可以将两种情况都注意一下,或许有不同的发现。......
  • 「代码随想录算法训练营」第五十天 | 图论 part8
    目录拓扑排序题目:117.软件构建dijkstra(朴素版)题目:47.参加科学大会dijkstra算法和prim算法的区别dijkstra(堆优化版)题目:47.参加科学大会拓扑排序拓扑排序概括来说就是给出一个有向无环图,把这个有向无环图转成线性的排序,就叫拓扑排序。使用广度优先搜索(BFS)即可。如上图,当我们......