999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenCV+MediaPipe實現運動姿態AI檢測在體育訓練中的應用

2023-11-30 03:45:45謝鵬
無線互聯科技 2023年18期
關鍵詞:體育訓練

基金項目:2023年度寧夏工商職業技術學院校級科研項目;項目名稱:基于OpenCV+MediaPipe的運動姿態AI訓練系統的設計與開發;項目編號:NXGS2023ZR10。

作者簡介:謝鵬(1975— ),男,山西臨猗人,助教,碩士;研究方向:人工智能與大數據技術。

摘要:文章基于OpenCV在計算機視覺和MediaPipe在機器學習中人體姿態估計中的應用,開發了體育運動AI訓練系統V1.0,實現自定義示范動作,用以達到輔助體育訓練的目的;實現方法為,通過采集MediaPipe檢測追蹤和捕獲在人體運動時姿態各個關節角度數據,作為示范動作的數據集,將訓練者動作數據集與示范動作數據集對比,判斷動作是否標準;系統經運動員測試使用,動作識別率較高,訓練效果良好;運動姿態AI檢測在體育訓練方面應用有效可行。

關鍵詞:OpenCV;MediaPipe;人體姿態估計;體育訓練

中圖分類號:TP391? 文獻標志碼:A

1? 概述

體育訓練通常要求運動員身體具備很好的四肢協調性,運動員很多情況下是重復某個動作的訓練,訓練的動作本身對身體姿態有一定的要求,包括身體四肢和軀干部分起始動作位置的相互夾角和結束動作位置的夾角。基于這種實際需求,經過綜合分析并考慮到技術實現的可行性,筆者選擇使用基于OpenCV計算機視覺庫[1],結合MediaPipe機器學習中Pose的姿態估計[2-4],以及PyQt5的GUI界面設計的技術,綜合運用實現體育運動AI訓練系統V1.0軟件的設計和開發。系統通過視頻獲取的實時動作姿態參數與參考動作參數對比,達到輔助訓練的目的,經過測試,使用情況良好,有一定的推廣價值。以下介紹OpenCV、MediaPipe和PyQt5的基本情況。

1.1? OpenCV——開源的計算機視覺庫

開源計算機視覺庫(Open Source Computer Vision Library,OpenCV)是一個基于Apache2.0許可(開源)發行的跨平臺計算機視覺和機器學習軟件庫,可以運行在Linux、Windows、Android和Mac OS操作系統上,其中包含數百種圖像處理和計算機視覺算法,已經成為計算機視覺領域最有力的研究工具之一 。它輕量級而且高效,由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法,使得開發者可以在不同的平臺下使用OpenCV計算機設計算法處理問題。應用領域包括:人機互動、物體識別、圖像分割、人臉識別、動作識別、運動跟蹤、機器人、運動分析、機器視覺和結構分析。

1.2? MediaPipe——開源的多媒體處理框架

MediaPipe 為直播和流媒體提供跨平臺、可定制的 ML 解決方案。MediaPipe的Pose解決方案中的人體姿態估計在量化的體育運動、手語識別和全身手勢控制等各種應用中發揮著極為重要的作用。它可以構成運動、健身、瑜伽和舞蹈應用的基礎,甚至還可以在增強現實中將計算機中數字的內容和信息與在現實世界進行實時的交互,Pose是一種用于身體姿態實時跟蹤的ML解決方案,BlazePose通過從RGB視頻幀中獲得身體上的33個3D特征點(landmark)和背景分割掩碼,如圖1 所示。這些特征點會隨著動作的動態變化,實時跟蹤身體的位置,坐標也實時變化。BlazePose的應用之一是健身運動方面,主要在姿態分類和重復計數,在 Colabs 的幫助下構建自定義姿態分類器。常見健身的兩種練習是俯臥撐和深蹲,選擇了k-最近鄰算法(k-NN)作為分類器,為建立一個較為準確的分類器,訓練集需要收集約幾百個,適當涵蓋不同的相機角度、環境條件、體型和運動變化的樣本(俯臥撐的“向上”和“向下”位置)。重復計數,以俯臥撐的“向上”和“向下”終端狀態為例:會分別計算“向下”和“向上”姿態類的概率首次超過某個閾值時,認為是“向上”和“向下”2個動作,并計為1次。

1.3? PyQt5——UI設計工具

PyQt5是基于Qt5的Python GUI(圖形用戶界面)框架,能夠利用Python語言所提供的便捷性和靈活性,在跨平臺的程序設計和開發過程中提供高效、可靠和易用的工具和資源。PyQt5可以在Windows、Mac OS X、Linux、Android等多個主流操作系統平臺上進行編程開發,同時也支持多種編程語言,例如C++、Python、Java等。PyQt5具有友好易用的API和完整的類庫,提供了豐富的圖形、網絡、數據庫、多媒體等核心功能組件,同時也涵蓋了多種常用控件和界面元素,例如窗口、按鈕、文本框、列表框、菜單、工具欄、表格等等。PyQt5在 GUI編程方面使用已經越來越普遍,被廣泛應用于各種應用程序的開發、測試和發布,具有豐富的社區支持和資料資源庫,為Python開發者提供了強有力的工具和框架。

2? 體育運動AI訓練系統V1.0的設計與實現

系統開發IDE為PyCharm和QT designer,開發語言為Python,以及OpenCV、MediaPipe、PyQt5等第三方庫。系統的4大功能:自定義運動姿態、AI輔助訓練、實時姿態數據可視化和視頻圖像的任意縮放[5]。

本系統可以將運動員自定義的示范動作(主要是四肢與身體的夾角,肘部、膝蓋和腳踝的夾角)的數據存儲起來,任何需要訓練的時候可以選擇某個動作數據,點擊開始訓練,就可以參照示范動作進行訓練,左上角的標記,在開始做動作在示范動作的上下15°的范圍內時候呈現一種顏色,動作介紹在示范的動作的上下15°的范圍內呈現另外一種顏色。兩種顏色按順序變化,則表示動作正確,會有相應的提示。通過反復地在起始位置做動作,顏色相繼變化,動作的范圍越來越接近參考值,意味著動作越來越接近示范動作,就是接近正確的動作。

實現該系統的主要方法為poseDetector類的findPose()、findPostion()和findAngle()方法,findPostion()可以獲得運動姿態的33個特征值,findAngle()輸入3個相鄰點的特征值,通過計算獲得中間點和兩邊點的夾角,也就是關節間的夾角。

獲取運動姿態特征值需要使用的是mediapipe.solutions.pose.Pose()方法中的findPosition()方法,獲取運動姿態的關節角度需要使用findAngle()方法,Pose()方法中傳遞的5個重要參數,具體使用如下:

class poseDetector():

self.pose=self.mpPose.Pose(self.mode, self.upBody, 1,self.smooth,self.detectionCon, self.trackCon)

2.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)

#判斷特征值是否存在

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坐標根據圖像通過換算轉換為實際窗口上的坐標,在每個點上畫出圓形進行標注。

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.lmList

2.1.3? 獲取關節角度——findAngle()

findAngle()獲得以p2為頂點的以p1p2、p2p3為邊的夾角,也是姿態關節的夾角,筆者就是通過與參考夾角范圍對比,來判斷某個動作是否符合要求的。

def findAngle(self, img, p1, p2, p3, draw=True):

# 獲得特征值

x1, y1=self.lmList[p1][1:]

x2, y2=self.lmList[p2][1:]

x3, y3=self.lmList[p3][1:]

# 計算角度

angle=math.degrees(math.atan2(y3 - y2, x3 - x2) -math.atan2(y1 - y2, x1 - x2))

return angle

2.2? 自定義運動姿態

以乒乓球正手攻球動作為例,如圖2所示,示范者先做好開始動作后由操作人員點擊“開始動作”按鈕,記錄開始動作的四肢動作夾角值,然后再做“結束動作”并點擊結束按鈕。這兩步操作之后,系統會分別記錄動作開始和結束數據,點擊確定“記錄按鈕”,會在excel表中新增加一個工作簿。并且操作人員可以自定義命名動作的名稱,如果名稱重復,則需要重新錄入。然后確定存入excel表中新建的工作表,并可以通過選擇下拉列表選擇當前的數據,便可以在實時顯示界面上顯示剛剛記錄的數據集,如果要開始訓練,點擊開始訓練按鈕進行訓練。

2.3? AI輔助訓練

當運動員選擇了要訓練的參考動作數據集之后[6],就可以開始訓練,其原理為通過視頻抓取每一幀的姿態動作與系統參考動作數據進行對比,動作范圍可以自定義,本系統默認是15°的范圍,比如:開始動作參考數據里的連接前臂和上臂的肘關節夾角度數為120°,那么參考標準度數為120°,訓練者的動作可以在105°~135°,如此則認為符合標準的開始動作,結束動作情況一樣。比如收小臂之后,參考數據是80°,訓練者的動作在65°~95°,筆者認為是符合標準的結束動作,如圖3所示。標準的開始和結束動作,兩種狀態數據都符合標準,認為這是一個標準的動作。筆者特意設計開始和結束使用兩種不同的顏色加以區分,開始和結束動作的狀態提示。

2.4? 實時姿態數據可視化

使用者將從視頻中獲得的每一幀動作數據,存在一個數組里面,將數據賦值進度條控件,隨著每一幀數據變化的不同,進度條的數據也發生變化,這樣就有了數據動態變化的數據可視化效果。隨著動作的不同,實時數據的變化體現在圖形變化上,表現出動作的連續性。

2.5? 視頻圖像的任意縮放功能

使用者通過操作界面拉動滑桿獲取比例數據后,賦值給控制視頻放大倍數的參數,從而實現視頻圖像的任意變大或是縮小。

3? 未來研究方向

本系統實現最核心的AI輔助訓練功能,未來工作方向在如何將收集來的數據進行進一步分析,為訓練者提供更多有價值的指導,主要有以下幾點。

(1)增加分析功能:訓練過程中,將訓練數據記錄存儲。比如規定時間內的標準動作的次數,統計正確率。

(2)增加糾正動作功能:從智能輔助訓練到智能糾正動作過渡,能夠通過數據指出哪個動作有問題,問題出在哪里,可以考慮語音播報提示。

(3)增加輔助教練:可以根據參考數據,自動產生示范動作的虛擬教練,在屏幕上做動作,起到示范作用。

(4)增加數據可視化:從更多維度來展示,訓練動作與參考動作數據的可視化對比效果。

4? 結語

本文較為深入地探討了基于OpenCV、MediaPipe的運動姿態檢測在體育輔助訓練中的應用,通過設計和開發軟件來整合輔助訓練的功能,并給出了實現代碼,詳細闡述了主要功能實現的過程,展示采集數據和訓練數據的過程,不同運動員做同一動作均可識別,提高運動者的動作輔助訓練效果顯著。對OpenCV、MediaPipe的運動姿態檢測的研究方向,也進行了一定的討論,今后會在更為廣泛的體育運動或是其他與工作姿態相關的領域得到一定的應用。

參考文獻

[1]朱文偉,李建英.OpenCV 4.5計算機視覺開發實戰:基于Python[M].北京:清華大學出版社,2022.

[2]王萬良.人工智能應用教程[M].北京:清華大學出版社,2023.

[3]張宇,溫光照,米思婭,等.基于深度學習的二維人體姿態估計綜述[J].軟件學報,2022(11):4173-4191.

[4]張國平.深度學習方法在二維人體姿態估計的研究進展[J].計算機科學,2022(12):219-228.

[5]朝樂門.數據科學理論與實踐[M].北京:清華大學出版社,2017.

[6]朝樂門.Python編程:從數據分析到數據科學[M].北京:電子工業出版社,2019.

(編輯? 沈? 強)

Application of AI detection of motion posture based on OpenCV+MediaPipe in sports training

Xie? Peng

(Ningxia Vocational Technical College of Industry and Commerce, Yinchuan 750021, China)

Abstract:? This article is based on the application of OpenCV in computer vision and MediaPipe in machine learning for human pose estimation. The author has developed Sports Motion AI Training System V1.0 to achieve the goal of assisting sports training by implementing custom demonstration actions. The method involves collecting angle data of various jointsposes during human motion using MediaPipes detection and tracking, creating a dataset of demonstration actions. The system compares the dataset of the trainees actions with the dataset of demonstration actions to determine if the actions are standardized. The system has been tested by athletes and has shown high accuracy in action recognition, resulting in good training effectiveness. The application of AI-based motion pose detection in sports training is effective and feasible.

Key words: OpenCV; MediaPipe; human posture estimation; physical training;

猜你喜歡
體育訓練
體育訓練教學中的平衡發展
河北畫報(2021年2期)2021-05-25 02:08:06
高校體育訓練中如何培養興趣探究
灌籃(2019年15期)2019-11-26 00:38:27
體育訓練中的興趣與培養
灌籃(2019年16期)2019-11-25 15:59:23
營養健康與體育訓練結合的思考
當前我國普通高校體育訓練現狀及對策分析
智能終端在體育訓練過程精細化管理中的應用探討
淺談學校體育訓練與競技體育訓練結合的可行性
成功(2018年10期)2018-03-26 02:56:14
青少年體育訓練存在的問題及對策
體育風尚(2018年10期)2018-01-28 22:53:45
高校體育訓練中興趣的培養途徑分析
體育風尚(2018年11期)2018-01-28 13:31:59
試析高校體育訓練中智能手機APP的應用思路
主站蜘蛛池模板: 亚洲一区毛片| 99久久这里只精品麻豆| 国产成人综合亚洲欧洲色就色| 国产特级毛片| 亚洲最大看欧美片网站地址| 日韩国产 在线| 国产va欧美va在线观看| 美女无遮挡免费网站| 亚洲人成人伊人成综合网无码| 国产在线观看人成激情视频| www.亚洲色图.com| 亚洲无码A视频在线| 久久99国产精品成人欧美| 激情爆乳一区二区| 性色一区| 色综合日本| 91久久大香线蕉| 精品国产网站| 亚洲第一成年人网站| 色综合手机在线| aaa国产一级毛片| 日韩精品资源| 国产成人精品一区二区| 色久综合在线| 日本尹人综合香蕉在线观看 | 毛片在线看网站| 成人国产一区二区三区| 青青久久91| 热久久国产| 国产91线观看| 久久青青草原亚洲av无码| 婷婷午夜天| 国产人碰人摸人爱免费视频| 国产草草影院18成年视频| 热热久久狠狠偷偷色男同| 色噜噜在线观看| 国产成人精品18| 国产精品福利在线观看无码卡| 亚洲午夜18| yjizz视频最新网站在线| 日韩大片免费观看视频播放| 青青草国产在线视频| 中文精品久久久久国产网址 | 亚洲性日韩精品一区二区| 亚洲美女一区| 亚洲精品免费网站| 国产一区二区三区免费| 亚洲无码高清一区二区| 国产黄色免费看| 亚洲国产精品一区二区高清无码久久| 欧美日韩中文字幕在线| 国产区成人精品视频| 91综合色区亚洲熟妇p| 国产乱子伦视频三区| 色成人亚洲| 国产在线观看精品| 老司国产精品视频91| 综合色在线| 免费看a级毛片| 免费一级无码在线网站| 亚洲不卡av中文在线| 中文字幕不卡免费高清视频| 蜜桃视频一区二区三区| 亚欧成人无码AV在线播放| 亚洲无线一二三四区男男| 国产精品网址在线观看你懂的| 欧美中文一区| 狠狠色综合网| 国产精品太粉嫩高中在线观看 | 99久久精品免费看国产电影| 国产一区自拍视频| 国产精品免费电影| 无码精品国产VA在线观看DVD| 欧美一区精品| 亚洲大学生视频在线播放| 亚洲午夜综合网| 精品国产自在在线在线观看| 国产毛片高清一级国语| 国产精品久久久久久久久久98| 久久青草热| 国产精品自拍露脸视频| 不卡午夜视频|