基于OpenCV MediaPipe实现运动姿态AI检测在体育训练中的应用.pdf
《基于OpenCV MediaPipe实现运动姿态AI检测在体育训练中的应用.pdf》由会员分享,可在线阅读,更多相关《基于OpenCV MediaPipe实现运动姿态AI检测在体育训练中的应用.pdf(5页珍藏版)》请在咨信网上搜索。
1、第 18 期2023 年 9 月无线互联科技Wireless Internet TechnologyNo.18September,2023基金项目:2023 年度宁夏工商职业技术学院校级科研项目;项目名称:基于 OpenCV+MediaPipe 的运动姿态AI 训练系统的设计与开发;项目编号:NXGS2023ZR10。作者简介:谢鹏(1975),男,山西临猗人,助教,硕士;研究方向:人工智能与大数据技术。基于 OpenCV+MediaPipe 实现运动姿态 AI 检测在体育训练中的应用谢 鹏(宁夏工商职业技术学院,宁夏 银川 750021)摘要:文章基于 OpenCV 在计算机视觉和 Medi
2、aPipe 在机器学习中人体姿态估计中的应用,开发了体育运动 AI 训练系统 V1.0,实现自定义示范动作,用以达到辅助体育训练的目的;实现方法为,通过采集 MediaPipe 检测追踪和捕获在人体运动时姿态各个关节角度数据,作为示范动作的数据集,将训练者动作数据集与示范动作数据集对比,判断动作是否标准;系统经运动员测试使用,动作识别率较高,训练效果良好;运动姿态 AI 检测在体育训练方面应用有效可行。关键词:OpenCV;MediaPipe;人体姿态估计;体育训练中图分类号:TP391 文献标志码:A1 概述 体育训练通常要求运动员身体具备很好的四肢协调性,运动员很多情况下是重复某个动作的训
3、练,训练的动作本身对身体姿态有一定的要求,包括身体四肢和躯干部分起始动作位置的相互夹角和结束动作位置的夹角。基于这种实际需求,经过综合分析并考虑到技术实现的可行性,笔者选择使用基于OpenCV 计算机视觉库1,结合 MediaPipe 机器学习中 Pose 的姿态估计2-4,以及 PyQt5 的 GUI 界面设计的技术,综合运用实现体育运动 AI 训练系统 V1.0 软件的设计和开发。系统通过视频获取的实时动作姿态参数与参考动作参数对比,达到辅助训练的目的,经过测试,使用情况良好,有一定的推广价值。以下介绍 OpenCV、MediaPipe 和 PyQt5 的基本情况。1.1 OpenCV 开
4、源的计算机视觉库 开源计算机视觉库(Open Source Computer Vision Library,OpenCV)是一个基于 Apache2.0 许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在 Linux、Windows、Android 和 Mac OS 操作系统上,其中包含数百种图像处理和计算机视觉算法,已经成为计算机视觉领域最有力的研究工具之一。它轻量级而且高效,由一系列 C 函数和少量 C+类构成,同时提供了 Python、Ruby、MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法,使得开发者可以在不同的平台下使用 OpenCV 计算机设计
5、算法处理问题。应用领域包括:人机互动、物体识别、图像分割、人脸识别、动作识别、运动跟踪、机器人、运动分析、机器视觉和结构分析。1.2 MediaPipe 开源的多媒体处理框架 MediaPipe 为直播和流媒体提供跨平台、可定制的 ML 解决方案。MediaPipe 的 Pose 解决方案中的人体姿态估计在量化的体育运动、手语识别和全身手势控制等各种应用中发挥着极为重要的作用。它可以构成运动、健身、瑜伽和舞蹈应用的基础,甚至还可以在增强现实中将计算机中数字的内容和信息与在现实世界进行实时的交互,Pose 是一种用于身体姿态实时跟踪的 ML 解决方案,BlazePose 通过从 RGB 视频帧中
6、获得身体上的 33 个 3D 特征点(landmark)和背景分割掩码,如图 1 所示。这些特征点会随着动作的动态变化,实时跟踪身体的位置,坐标也实时变化。BlazePose 的应用之一是健身运动方面,主要在姿态分类和重复计数,在 Colabs 的帮助下构建自定义姿态分类器。常见健身的两种练习是俯卧撑和深蹲,选择了 k-最近邻算法(k-NN)作为分类器,为建立一个001第 18 期2023 年 9 月无线互联科技技术应用No.18September,2023较为准确的分类器,训练集需要收集约几百个,适当涵盖不同的相机角度、环境条件、体型和运动变化的样本(俯卧撑的“向上”和“向下”位置)。重复计
7、数,以俯卧撑的“向上”和“向下”终端状态为例:会分别计算“向下”和“向上”姿态类的概率首次超过某个阈值时,认为是“向上”和“向下”2 个动作,并计为 1 次。图 1 33 个姿态特征点1.3 PyQt5 UI 设计工具 PyQt5 是基于 Qt5 的 Python GUI(图形用户界面)框架,能够利用 Python 语言所提供的便捷性和灵活性,在跨平台的程序设计和开发过程中提供高效、可靠和易用的工具和资源。PyQt5 可以在 Windows、Mac OS X、Linux、Android 等多个主流操作系统平台上进行编程开发,同时也支持多种编程语言,例如 C+、Python、Java 等。PyQ
8、t5 具有友好易用的 API 和完整的类库,提供了丰富的图形、网络、数据库、多媒体等核心功能组件,同时也涵盖了多种常用控件和界面元素,例如窗口、按钮、文本框、列表框、菜单、工具栏、表格等等。PyQt5 在 GUI 编程方面使用已经越来越普遍,被广泛应用于各种应用程序的开发、测试和发布,具有丰富的社区支持和资料资源库,为 Python 开发者提供了强有力的工具和框架。2 体育运动 AI 训练系统 V1.0 的设计与实现 系统开发 IDE 为 PyCharm 和 QT designer,开发语言为 Python,以及 OpenCV、MediaPipe、PyQt5 等第三方库。系统的 4 大功能:自
9、定义运动姿态、AI 辅助训练、实时姿态数据可视化和视频图像的任意缩放5。本系统可以将运动员自定义的示范动作(主要是四肢与身体的夹角,肘部、膝盖和脚踝的夹角)的数据存储起来,任何需要训练的时候可以选择某个动作数据,点击开始训练,就可以参照示范动作进行训练,左上角的标记,在开始做动作在示范动作的上下 15的范围内时候呈现一种颜色,动作介绍在示范的动作的上下 15的范围内呈现另外一种颜色。两种颜色按顺序变化,则表示动作正确,会有相应的提示。通过反复地在起始位置做动作,颜色相继变化,动作的范围越来越接近参考值,意味着动作越来越接近示范动作,就是接近正确的动作。实现该系统的主要方法为 poseDetec
10、tor 类的findPose()、findPostion()和 findAngle()方 法,findPostion()可以获得运动姿态的 33 个特征值,findAngle()输入 3 个相邻点的特征值,通过计算获得中间点和两边点的夹角,也就是关节间的夹角。获取运动姿态特征值需要使用的是 mediapipe.solutions.pose.Pose()方法中的 findPosition()方法,获取运动姿态的关节角度需要使用 findAngle()方法,Pose()方法中传递的 5 个重要参数,具体使用如下:class poseDetector():self.pose=self.mpPose.
11、Pose(self.mode,self.upBody,1,self.smooth,self.detectionCon,self.trackCon)101第 18 期2023 年 9 月无线互联科技技术应用No.18September,20232.1 实现方法2.1.1 获取姿态 findPose()findPose()方法实现获得并标记特征值的点。def findPose(self,img,draw=True):self.imgRGB=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)self.results=self.pose.process(self.imgRGB)#判
12、断特征值是否存在if self.results.pose_landmarks:if draw:#标记出运动姿态图像特征值 self.mpDraw.draw_landmarks(img,self.results.pose _ landmarks,self.mpPose.POSE _CONNECTIONS)return img#返回标记特征值的运动姿态图像2.1.2 获取特征值 findPosition()使用 findPosition 方法,能够将运动姿态的 33 个特征值,每个特征值包括序号、x 坐标和 y 坐标 3 项,x和 y 坐标根据图像通过换算转换为实际窗口上的坐标,在每个点上画出圆形
13、进行标注。def findPosition(self,img,draw=True):self.lmList=#判断特征值 if self.results.pose_landmarks:for id,lm in enumerate(self.results.pose_landmarks.landmark):h,w,c=img.shape cx,cy=int(lm.x w),int(lm.y h)self.lmList.append(id,cx,cy)return self.lmList2.1.3 获取关节角度 findAngle()findAngle()获得以 p2 为顶点的以 p1p2、p2p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于OpenCV MediaPipe实现运动姿态AI检测在体育训练中的应用 基于 OpenCV MediaPipe 实现 运动 姿态 AI 检测 体育 训练 中的 应用
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。