跳繩是一項廣受歡迎的運動項目,因其簡單易行而備受學生和運動愛好者青睞。然而,在實際運動中,人工計數(shù)容易出現(xiàn)誤差,影響比賽和訓練效果。本文提出了一種基于LabVIEW和YOLOv8-Pose的跳繩計數(shù)裝置,利用深度學習的姿態(tài)檢測能力和LabVIEW的實時處理功能,實現(xiàn)跳繩動作的精準識別與計數(shù)。本裝置具有操作簡單、檢測精準、實時性強等優(yōu)點,適用于學校、體育館及家庭訓練場景。
1
引言
隨著人工智能技術的發(fā)展,計算機視覺在體育領域的應用日益廣泛。傳統(tǒng)的跳繩計數(shù)方法主要依賴人工記錄,存在效率低、誤差大的問題。近年來,基于機器視覺的自動計數(shù)方法逐漸受到關注,其中人體姿態(tài)識別技術為跳繩計數(shù)提供了全新的解決方案。
2
系統(tǒng)設計
2.1硬件設計
本裝置的硬件包括:
攝像頭:用于采集跳繩者的視頻圖像,支持USB接口的普通網(wǎng)絡攝像頭或工業(yè)相機。攝像頭的采樣速率建議高于30FPS(每秒30幀)。
AIPC:搭載GPU的臺式機或筆記本電腦,用于運行YOLOv8-Pose模型。
2.2軟件模塊
YOLOv8-Pose模型:基于深度學習的開源模型,能夠精準識別人體關節(jié)點位置。模型通過訓練,能夠檢測跳繩者的肢體動作。
LabVIEW:用于構建圖形化界面和處理邏輯,包括攝像頭采集、處理、計數(shù)及結果顯示。
OpenVINO :用于加快的模型推理速度,支持Intel的CPU/GPU/NPU。在AIPC的Intel 11代1165G7芯片下,yolov8n-Pose的最大推理速度可達到60FPS。
2.3 軟件設計
步驟1:模型和攝像頭初始化
使用LabVIEW中的Opencv Camera模塊,即可快速采集攝像頭的圖像,并將圖像顯示在前面板上。程序中,我們需要設置采集圖像的寬度為640個像素,高度為480個像素。同時,我們初始化yolov8-pose模型,加載至OpenVINO推理引擎中。跳繩計數(shù)器歸零,然后進入循環(huán)。
步驟2:實時采集與姿態(tài)識別
每次循環(huán),軟件都從攝像頭中取出一幀圖像,送入yolov8-pose的推理函數(shù)中,獲取識別的結果圖像,和第一個人的所有關鍵點位置。
步驟3:
調用跳繩計數(shù)器算法,每次循環(huán)都需要判斷是否跳繩數(shù)加1。
3
跳繩計數(shù)算法設計
3.1 yolov8-pose模型輸出解析
Yolov8-pose算法的輸出分兩部分,第一部分是box,即每個人的外接矩形的位置,里面的參數(shù)為:
Box=[left,top,width,height] (左邊的像素點、上邊的像素點、寬度,高度)
第二部分是keypoints,由17個點構成,17個點的定義如下圖:
3.2 跳繩過程中的坐標變化
以雙腳跳為例,采集某同學整個跳繩過程中的keypoint-15(左腳踝)或者keypoint-16(右腳踝)的y軸數(shù)值。Y值越小,說明在圖中的位置越高。
波形圖中,左右兩邊部分表示了正常的跳躍時間段,中間有一部分y軸變化較小,說明學生暫停跳躍。
3.2 算法實現(xiàn)思路
(1) 在正常跳躍時,當學生腳部處于一個周期的最低點(即曲線的極大值)時可認為跳了一個。
(2) 但是,曲線在接近最高點時,由于AI產(chǎn)生的誤差,曲線會有毛刺。因此需要判斷當前新產(chǎn)生的最高點與上一次最高點的循環(huán)間隔,如果間隔太小,就可以忽略。
(3) 當學生失誤停止跳繩時,由于學生本身還在移動或測量誤差導致的y值變化也應去除。只需判斷當前值與歷史數(shù)據(jù)中的最高點(y的最小值)的差,如果小于一個閾值就可忽略。
3.3 算法實現(xiàn)代碼
在LabVIEW中,我們取最近的10個點分析,其中最后5個點用來判斷曲線的極大值,如果5個值中第2個(從0開始計數(shù))為最大值的,且與10個數(shù)的最小值的差大于60(最高點與最低點的高度像素差),可將該點作為候選點。
獲取候選點所對應的時間,與它之前的一個候選點做比較。如果時間大于150毫秒(5幀,假設人類跳繩速度小于每分鐘360個),則忽略,小于則計數(shù)器加1。
將算法保存為子vi :跳繩計數(shù)判斷.vi,放入主程序,最終程序如下圖:
4
實驗
4.1 實驗設置
在校內體育館搭建實驗場景,選取10名學生進行跳繩測試。設置單人跳繩和雙人交替跳繩兩種模式,采集多組視頻數(shù)據(jù)。
4.2 測試結果
實驗結果表明,該裝置在雙腳跳繩場景下的計數(shù)準確率達98.5%,在左右腳交替跳繩場景下準確率為95.3%。與人工計數(shù)相比,誤差控制在±2次以內。
誤差原因主要與相機位置有關,相機需要放在學生正前方2~3米左右,高度大約為學生身高的一半,且相機鏡頭水平向前。如果相機斜著,可能造成一定誤差。
4.3 性能分析
實時性:使用OpenVINO及英特爾GPU加速,系統(tǒng)處理幀率可達60 FPS,滿足實時計數(shù)需求。
穩(wěn)定性:即使在光照變化和背景復雜的情況下,模型依然能夠有效識別關鍵動作。
5
創(chuàng)新點與優(yōu)勢
將LabVIEW與YOLOv8-Pose結合,實現(xiàn)深度學習模型的實時調用與可視化界面交互。
提出了基于關鍵點運動軌跡的跳繩動作識別算法,有效降低誤判率。
系統(tǒng)成本低、部署簡單,適合中學生科創(chuàng)比賽和實際推廣。
6
結論與展望
本文設計了一種基于LabVIEW和YOLOv8-Pose的跳繩計數(shù)裝置,成功解決了人工計數(shù)誤差大的問題。未來可進一步優(yōu)化算法,使用平均濾波算法提高人體位置(如腳踝位置的準確度)、并兼容雙腳跳和單腳跳兩種跳繩模式。同時探索硬件設備的小型化與便攜化,使其適應更多應用場景。
參考文獻
Redmon J., Farhadi A. YOLOv8: Real-Time Object Detection and Pose Estimation. arXiv preprint.
National Instruments. LabVIEW User Manual. NI.
Cao Z., Simon T., Wei S. Pose Estimation in Sports Applications. IEEE Transactions.
https://doc.virobotics.net/zh_cn/ai_toolkit_for_ov
https://github.com/openvinotoolkit/openvino_notebooks/tree/latest/notebooks/pose-estimation-webcam
英特爾、英特爾標識、以及其他英特爾商標是英特爾公司或其子公司在美國和/或其他國家的商標。
-
LabVIEW
+關注
關注
1975文章
3657瀏覽量
324656 -
算法
+關注
關注
23文章
4625瀏覽量
93123 -
計數(shù)
+關注
關注
1文章
57瀏覽量
20120
原文標題:開發(fā)者實戰(zhàn) | 基于LabVIEW和YOLOv8-Pose的跳繩計數(shù)裝置
文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論