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