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

基于BlazePose和KNN 的健身計數系統設計與實現

2023-07-12 08:44:26孔亞琪
軟件工程 2023年7期
關鍵詞:關鍵點動作檢測

孔亞琪,劉 宇

(南京郵電大學教育科學與技術學院,江蘇 南京 210023)

0 引言(Introduction)

目前,健身運動已經成為人們的一種生活方式,AI健身技術可以幫助用戶更好地完成健身動作,從而達到更好的健身效果。健身動作具有多樣性和復雜性的特點,現有的健身動作識別與計數方法尚存在一些問題,例如識別精度低、計數不準等。因此,如何提高健身動作識別與計數的速度和準確率,成為當前研究的熱點和難點。

近年來,國內外學者對于健身動作識別與計數進行了廣泛的研究。其中,基于深度學習的方法得到了廣泛應用。例如,YANG等[1]使用卷積神經網絡(CNN)識別深蹲和俯臥撐等動作,但是此方法需要大量的數據集與計算量才能達到較高的準確度。基于傳感器的方法是一種常見的健身計數器的設計方案,主要使用加速度計、陀螺儀等傳感器測量用戶的運動狀態,并統計用戶完成的動作次數。例如,MURO-DE-LAHERRAN等[2]使用陀螺儀和加速度儀計數深蹲、引體向上等動作。盡管此方法具有較高的計數準確度,但傳感器的佩戴會對用戶運動過程的舒適度和體驗感造成一定的影響。為解決以上問題,本文使用BlazePose模型對人體的33個關鍵點進行檢測,運用KNN算法作為動作分類器,對懸停動作與當前動作關鍵點之間的距離進行相似度度量,用于判斷用戶是否處于健身的動作中,加入計數器統計動作次數,并對其健身動作進行實時記錄。

1 系統簡介(System introduction)

本文所提健身動作檢測與計數系統基于BlazePose模型和KNN算法,可以自動檢測和計數多種常見的健身動作,如深蹲、俯臥撐、引體向上、仰臥起坐等。該系統利用BlazePose模型實時跟蹤人體骨骼關節,提取人體運動動作的特征,并使用KNN算法判斷當前的健身動作類型并加入計數器進行計數;并且,該系統具有良好的計數準確率和實時性,可以實現對健身動作的高效計數和檢測,使用戶能夠更加方便且有效地進行健身訓練。此外,該系統可以記錄用戶的運動數據,并將運動數據保存到本地文件資源管理器,方便用戶進行健身記錄查看和分析。此健身計數系統的功能流程圖如圖1所示。

圖1 系統功能流程圖Fig.1 System functional flowchart

2 系統關鍵模塊設計(Design of key system modules)

2.1 健身動作檢測與計數模塊設計

健身動作檢測與計數模塊為該系統的關鍵模塊。首先,該模塊使用BlazePose檢測并跟蹤健身者的身體姿勢;其次,根據檢測的姿勢生成人體相應的33個關鍵點坐標,針對每個動作類別,系統會預先收集許多相應類別的健身動作樣本并進行模型訓練,每個樣本對應一個正確執行該動作的健身者姿勢序列,對于新檢測到的動作,該模塊通過攝像頭傳入的人體姿勢關鍵點并計算其33個關鍵點與每個訓練樣本關鍵點之間的相似度,使用KNN算法確定最合適的類別標簽;最后,加入計數器用于對每個動作的執行次數進行計數。健身動作檢測與計數的算法流程圖如圖2所示。

圖2 健身動作檢測與計數算法流程圖Fig.2 Flowchart of the algorithm for detecting and counting fitness pose

2.2 BlazePose和KNN簡介

圖3 BlazePose模型關鍵點位置Fig.3 Key point positions of the BlazePose model

K最近鄰算法(KNN)是一種基于實例的學習算法,可用于解決分類和回歸問題[4]。在該模塊中,KNN 算法通過計算樣本之間的距離對數據進行分類,從而識別健身者正在執行的動作。

2.3 訓練樣本

2.3.1 提取樣本關鍵點坐標

首先,將數據集樣本圖片分為兩類放入兩個不同的文件夾中,以深蹲為例,將數據集圖片分為兩類,分別為完全蹲下狀態和完全起立狀態,放入squat_down和squat_up兩個文件夾中,然后調用一個名為bootstrap的函數,該函數可以從一組圖像中提取人體姿勢關鍵點坐標,并保存這些坐標。

2.3.2 提取樣本特征

特征提取的過程是通過將姿勢的關鍵點轉換為特征向量實現的。這些特征向量可以被看作是數字表示,它們捕捉到了關鍵點的相對位置和方向等重要信息,并且可以用于訓練姿勢相關的深度學習模型[5]。將已保存的關鍵點數據復制到一個名為samples的列表中。使用PCA 算法(一種常見的數據降維方法,通過線性變換將高維數據轉化為低維數據,并且保留數據的主要特征)對samples列表中的姿態關鍵點數據進行降維處理。降維后的姿態關鍵點數據稱為特征向量,將這些特征向量寫入CSV文件中,即可得到每個動作對應的特征向量。

2.3.3 歸一化處理

對于已經提取的樣本特征,進行歸一化處理可以使不同特征之間的比較更加準確和公平,從而提高機器學習算法的性能和模型的泛化能力[6]。歸一化處理后,可以將不同身高、體型的人的姿勢映射到相同的尺度下,從而方便進行特征提取、姿勢分類和計數等操作。如果沒有做歸一化處理,由于不同的姿勢關鍵點取值范圍可能不同,導致不同姿勢的特征向量之間難以比較。并且,歸一化處理可以有效地降低噪聲對關鍵點特征提取的影響,這是因為一些關鍵點的取值范圍可能與其他關鍵點不同,導致它們對特征向量的貢獻有所偏差。通過歸一化處理,可以將這類偏差降至最低,從而減少噪聲對關鍵點特征的干擾[7]。因此,對人體姿勢關鍵點進行歸一化處理,可以提高模型的魯棒性和泛化能力。

?程元敏先生已檢出并加以分析。參見程元敏《尚書學史》,華東師范大學出版社2013年版,第1184~1188頁。

本文采用最大最小歸一化(Min-Max Scaling)方法進行歸一化處理,第i個關鍵點坐標的原始取值為(x i,y i),那么它的歸一化處理后的值為),具體歸一化處理公式如下:

2.3.4 異常樣本識別與剔除

識別異常樣本的方法是通過計算每個樣本的嵌入向量與輸入姿勢嵌入向量的歐氏距離,將距離大于某個閾值的樣本識別為離群點[8]。距離越大,表示兩個特征向量之間的差異越大,越有可能是離群點。通常,閾值的取值范圍是在0~1,該范圍內的值可以表示距離的比例關系。當閾值為1.0時,意味著輸入姿勢嵌入向量與識別為離群點的樣本的嵌入向量之間的歐氏距離為1以上,這意味著異常樣本與輸入樣本特征向量之間的差異較大,可能為錯誤數據,應該被排除或者進一步分析處理。將閾值設置為1.0后,檢測到3張異常樣本圖片,定義一個remove_outliers函數即可剔除這個圖片文件及其相應的關鍵點數據。剔除異常樣本后會排除一些異常噪聲或錯誤數據,可以進一步提高模型的魯棒性和泛化能力。

2.4 構建動作分類器

KNN動作分類器是機器學習模型的其中之一,可用于分類人體動作。該模型通過將人體特征轉化為向量形式,并計算不同向量之間的相似度,利用KNN算法根據最近鄰標準對相似度最高的幾個向量進行分類[9]。KNN動作分類器具體實現算法如下所示:

將已訓練的CSV樣本文件輸入KNN 模型,KNN 模型使用基于歐氏距離的相似性度量方法,計算數據集中所有樣本和當前攝像頭輸入樣本的特征向量之間的距離,這個距離就是攝像頭輸入的當前幀與已訓練的樣本之間的相似度。在這個過程中,k個訓練樣本與測試樣本之間的相似度可以被解釋為置信度,因為該值反映了分類器輸出結果的可信程度[10]。例如,當k個訓練樣本中有n個樣本屬于down(蹲下)類,m個樣本屬于up(起立)類時,該測試樣本被分類為down(蹲下)類的置信度可以表示如下:

其中,k表示KNN分類器選擇的最近鄰數。如果n越大,則置信度越高,這是因為更多的訓練樣本被投票選為down(蹲下)類。同樣,被分類為up(起立)類的置信度可以表示如下:

將檢測down(蹲下)的閾值設為0.6,即如果檢測到當前動作置信度大于0.6,即可以認定健身者處于深蹲健身動作中,對于健身者進入深蹲健身狀態,標記為True,則計數器可以運行;否則不會進行檢測與計數。圖4為一個連續做5個深蹲的健身者的處于down(蹲下)狀態的置信度檢測結果圖(圖中斜線陰影部分為經過平滑處理后的置信度檢測結果),橫軸為幀數,豎軸為置信度。

圖4 連續深蹲的健身者處于“down”狀態置信度檢測圖Fig.4 Confidence interval detection graph of a fitness enthusiast in a continuous″down″state squat

2.5 計數器實現

計數器主要用于計算給定目標姿勢類的重復次數。通過輸入動作分類器的結果,獲取給定動作的置信度。如果置信度超過進入姿勢的閾值,則開始計算該姿勢的重復次數。當置信度低于退出姿勢的閾值時,即完成一次姿勢,并記錄該動作的開始時間、結束時間、動作持續時間和與上一次動作的間隔時間等。檢測過程中,會將結果寫入Excel表格并按照一定格式保存。計數器實現算法具體如下所示:

3 實現與驗證(Implementation and verification)

3.1 數據采集

本文選取了三名身高體重相差較大的體育生作為數據采集對象,通過拍攝其在多種不同場景下的健身動作,盡可能地保證數據收集的全面性。三名體育生的身高和體重分別為170 cm、64 kg,179 cm、75 kg,185 cm、86 kg。三名體育生分別進行持續的深蹲、俯臥撐、引體向上動作,使用25 FPS的錄像設備在不同光線、不同場地、不同拍攝距離的情況下進行水平狀態下的360°循環拍攝。拍攝的健身數據將用于后續對運動姿態識別的研究與分析,為更準確和可靠的運動姿態識別算法的開發提供基礎數據支持。

3.2 數據預處理

為了更方便地采集運動者動作的圖像數據信息,本設計利用Python編寫圖片幀提取的程序,具體要求為將MP4格式的視頻以每秒5幀的速度進行圖片幀提取,將數據集錄像輸入程序即可快速提取錄像的幀。對于提取的視頻幀進行手動篩選后,共得到300張圖像,即每種運動類型的圖像100張作為數據集,提取的部分深蹲數據集圖片如圖5所示。

圖5 深蹲數據集Fig.5 Squat dataset

3.3 運動檢測與計數準確率測試

本文召集另外兩名身高和體重分別為175 cm、70 kg和183 cm、83 kg的體育生作為測試者,用于測試實際計數的準確率。兩名測試者分別進行兩組持續的深蹲、俯臥撐、引體向上動作,深蹲和俯臥撐每組40個動作,引體向上每組20個動作,每名體育生做100個動作,深蹲、俯臥撐、引體向上動作總數共計200個。在此過程中,計數器漏計共5個動作,實際計數動詳見表1,實際計數準確率為95.5%,已具備一定的應用價值。

表1 計數器準確率統計表Tab.1 Statistics table of counter efficiency

3.4 系統實現

本系統基于BlazePose動作檢測模型和KNN算法,旨在實現一個穩定、實時、高計數準確率的健身動作計數系統,系統主界面使用Tkinter進行開發,Tkinter是Python的標準圖形用戶界面(GUI)庫,它提供了一種直觀、簡潔的方式使得開發人員能夠快速創建包括窗口、按鈕、菜單、文本框等基本元素在內的可視化應用程序界面。該系統的主界面如圖6所示。

圖6 系統主界面Fig.6 System main interface

進入主界面后,有三種健身類型可供用戶選擇,選擇其中一種即可自動調用本地攝像頭進行實時的健身動作檢測,檢測窗口左上角顯示置信度檢測圖,右上角數字顯示當前動作數,例如選擇俯臥撐進行檢測與計數后,檢測與計數效果如圖7所示。

圖7 俯臥撐檢測與計數效果Fig.7 Push-up detection and counting effect

本次實現設備基于Windows 11操作系統環境,使用AMD Ryzen 7 5800 H 處理器,NVIDIA GeForce RTX 3060 顯卡,16 GB內存和分辨率為1 280×720的HD檢測攝像頭,實現了基于BlazePose模型和KNN 算法的健身動作計數器,其檢測速度可達30 FPS,能夠有效地檢測用戶的健身動作,提供準確的計數統計并實時記錄用戶的健身數據。

4 結論(Conclusion)

本文基于BlazePose動作識別模型和KNN 算法為核心,實現了一個計數準確率較高的健身動作計數器系統的開發,該計數器結合計算機視覺技術和機器學習算法,可以準確地檢測用戶的運動姿態并提供準確率較高的計數統計。通過詳細的數據采集、數據處理、算法設計和系統驗證等步驟,驗證了該健身計數系統在不同環境下,針對不同健身者的實際動作檢測準確率可達95.5%,并具有實時的檢測功能和較高的計算速度,檢測速度可達30 FPS,有望在健身場所和線上健身平臺等實際應用場景中得到推廣與使用。

猜你喜歡
關鍵點動作檢測
聚焦金屬關鍵點
肉兔育肥抓好七個關鍵點
今日農業(2021年8期)2021-11-28 05:07:50
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
動作描寫要具體
畫動作
動作描寫不可少
小波變換在PCB缺陷檢測中的應用
非同一般的吃飯動作
主站蜘蛛池模板: 亚洲天堂免费| 91精品免费高清在线| 国产精品yjizz视频网一二区| 国产精品私拍在线爆乳| 在线另类稀缺国产呦| 亚洲精品视频在线观看视频| 男人天堂伊人网| 亚洲男人的天堂久久香蕉| 欧美性色综合网| 国产成人免费手机在线观看视频 | 亚洲天天更新| 日本道综合一本久久久88| 久草网视频在线| 久久综合国产乱子免费| 一本视频精品中文字幕| 手机在线免费不卡一区二| 欧美不卡视频在线| 国产亚洲男人的天堂在线观看| 国产成人综合亚洲欧洲色就色| 国产特级毛片| 国产精品第一区在线观看| 久久这里只有精品国产99| 成人一级免费视频| 中文国产成人精品久久| 国产午夜精品一区二区三区软件| 国产va欧美va在线观看| 亚洲无码高清一区二区| 在线观看av永久| 欧美三级自拍| 精品国产成人三级在线观看| 亚洲国语自产一区第二页| 国产成人久久综合一区| 亚洲福利片无码最新在线播放 | 国产成人成人一区二区| 国产美女一级毛片| 嫩草国产在线| 久久久受www免费人成| 九九视频免费看| 国产欧美自拍视频| 国产精品三级专区| 免费毛片全部不收费的| 国产91精品久久| 国产精品亚洲精品爽爽| 欧美激情视频二区三区| 伊人天堂网| 奇米影视狠狠精品7777| 国产欧美日韩在线一区| 青青操国产视频| 亚洲视频在线网| 国产乱人乱偷精品视频a人人澡| 青青草一区| 欧美人与动牲交a欧美精品| Aⅴ无码专区在线观看| 国产高潮视频在线观看| 日韩精品久久久久久久电影蜜臀| 亚洲欧美精品一中文字幕| 91区国产福利在线观看午夜| 国产精品伦视频观看免费| 久久精品这里只有精99品| 亚洲国产高清精品线久久| 亚洲第一黄色网址| 9999在线视频| 亚洲αv毛片| 99热国产这里只有精品9九| 99精品伊人久久久大香线蕉| 亚洲色图欧美视频| 东京热av无码电影一区二区| 亚洲国产精品久久久久秋霞影院| 国产精品欧美在线观看| 中文字幕欧美日韩| 久久国产精品麻豆系列| 一级毛片免费高清视频| 91成人在线免费视频| 亚洲国产天堂久久综合| 欧美区国产区| 国产99在线| 中文字幕在线看| 伊人久久精品无码麻豆精品| 成人精品午夜福利在线播放 | 国产一级毛片yw| 亚洲精品国产日韩无码AV永久免费网 | 亚洲中文字幕97久久精品少妇|