新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計應(yīng)用 > 基于 LabVIEW 和 YOLOv8-Pose 的跳繩計數(shù)裝置

基于 LabVIEW 和 YOLOv8-Pose 的跳繩計數(shù)裝置

作者:李筱語 時間:2025-02-10 來源:OpenVINO 中文社區(qū) 收藏

跳繩是一項廣受歡迎的運(yùn)動項目,因其簡單易行而備受學(xué)生和運(yùn)動愛好者青睞。然而,在實際運(yùn)動中,人工計數(shù)容易出現(xiàn)誤差,影響比賽和訓(xùn)練效果。本文提出了一種基于 和 YOLOv8-Pose 的跳繩計數(shù)裝置,利用深度學(xué)習(xí)的姿態(tài)檢測能力和 的實時處理功能,實現(xiàn)跳繩動作的精準(zhǔn)識別與計數(shù)。本裝置具有操作簡單、檢測精準(zhǔn)、實時性強(qiáng)等優(yōu)點,適用于學(xué)校、體育館及家庭訓(xùn)練場景。

本文引用地址:http://m.butianyuan.cn/article/202502/466783.htm

引言

隨著人工智能技術(shù)的發(fā)展,計算機(jī)視覺在體育領(lǐng)域的應(yīng)用日益廣泛。傳統(tǒng)的跳繩計數(shù)方法主要依賴人工記錄,存在效率低、誤差大的問題。近年來,基于方法逐漸受到關(guān)注,其中人體姿態(tài)識別技術(shù)為跳繩計數(shù)提供了全新的解決方案。

系統(tǒng)設(shè)計

2.1 硬件設(shè)計

本裝置的硬件包括:

攝像頭:用于采集跳繩者的視頻圖像,支持USB接口的普通網(wǎng)絡(luò)攝像頭或工業(yè)相機(jī)。攝像頭的采樣速率建議高于30FPS(每秒30幀)。

圖片

AIPC:搭載GPU的臺式機(jī)或筆記本電腦,用于運(yùn)行 YOLOv8-Pose 模型。

圖片

2.2 軟件模塊

YOLOv8-Pose 模型:基于深度學(xué)習(xí)的開源模型,能夠精準(zhǔn)識別人體關(guān)節(jié)點位置。模型通過訓(xùn)練,能夠檢測跳繩者的肢體動作。

圖片

:用于構(gòu)建圖形化界面和處理邏輯,包括攝像頭采集、處理、計數(shù)及結(jié)果顯示。

圖片

圖片

OpenVINO? :用于加快的模型推理速度,支持 Intel 的 CPU/GPU/NPU。在 AIPC 的 Intel 11 代 1165G7 芯片下,yolov8n-Pose 的最大推理速度可達(dá)到 60FPS。

2.3 軟件設(shè)計

步驟1:模型和攝像頭初始化

使用LabVIEW中的Opencv Camera模塊,即可快速采集攝像頭的圖像,并將圖像顯示在前面板上。程序中,我們需要設(shè)置采集圖像的寬度為640個像素,高度為480個像素。同時,我們初始化yolov8-pose模型,加載至OpenVINO? 推理引擎中。跳繩計數(shù)器歸零,然后進(jìn)入循環(huán)。

圖片

步驟2:實時采集與姿態(tài)識別

每次循環(huán),軟件都從攝像頭中取出一幀圖像,送入 yolov8-pose 的推理函數(shù)中,獲取識別的結(jié)果圖像,和第一個人的所有關(guān)鍵點位置。

圖片

步驟3:

調(diào)用跳繩計數(shù)器算法,每次循環(huán)都需要判斷是否跳繩數(shù)加1。

跳繩計數(shù)算法設(shè)計

3.1 yolov8-pose模型輸出解析

Yolov8-pose算法的輸出分兩部分,第一部分是box,即每個人的外接矩形的位置,里面的參數(shù)為:

Box=[left,top,width,height] (左邊的像素點、上邊的像素點、寬度,高度)

第二部分是keypoints,由17個點構(gòu)成,17個點的定義如下圖:

圖片

3.2 跳繩過程中的坐標(biāo)變化

以雙腳跳為例,采集某同學(xué)整個跳繩過程中的keypoint-15(左腳踝)或者keypoint-16(右腳踝)的y軸數(shù)值。Y值越小,說明在圖中的位置越高。

圖片

波形圖中,左右兩邊部分表示了正常的跳躍時間段,中間有一部分y軸變化較小,說明學(xué)生暫停跳躍。

3.3 算法實現(xiàn)思路

(1) 在正常跳躍時,當(dāng)學(xué)生腳部處于一個周期的最低點(即曲線的極大值)時可認(rèn)為跳了一個。

(2) 但是,曲線在接近最高點時,由于AI產(chǎn)生的誤差,曲線會有毛刺。因此需要判斷當(dāng)前新產(chǎn)生的最高點與上一次最高點的循環(huán)間隔,如果間隔太小,就可以忽略。

(3) 當(dāng)學(xué)生失誤停止跳繩時,由于學(xué)生本身還在移動或測量誤差導(dǎo)致的y值變化也應(yīng)去除。只需判斷當(dāng)前值與歷史數(shù)據(jù)中的最高點(y的最小值)的差,如果小于一個閾值就可忽略。

3.4 算法實現(xiàn)代碼

在 LabVIEW 中,我們?nèi)∽罱?0個點分析,其中最后5個點用來判斷曲線的極大值,如果5個值中第2個(從0開始計數(shù))為最大值的,且與10個數(shù)的最小值的差大于60(最高點與最低點的高度像素差),可將該點作為候選點。

圖片

獲取候選點所對應(yīng)的時間,與它之前的一個候選點做比較。如果時間大于150毫秒(5幀,假設(shè)人類跳繩速度小于每分鐘360個),則忽略,小于則計數(shù)器加1。

圖片

將算法保存為子vi :跳繩計數(shù)判斷.vi,放入主程序,最終程序如下圖:

圖片

實驗

4.1 實驗設(shè)置

在校內(nèi)體育館搭建實驗場景,選取10名學(xué)生進(jìn)行跳繩測試。設(shè)置單人跳繩和雙人交替跳繩兩種模式,采集多組視頻數(shù)據(jù)。

4.2 測試結(jié)果

實驗結(jié)果表明,該裝置在雙腳跳繩場景下的計數(shù)準(zhǔn)確率達(dá)98.5%,在左右腳交替跳繩場景下準(zhǔn)確率為95.3%。與人工計數(shù)相比,誤差控制在±2次以內(nèi)。

誤差原因主要與相機(jī)位置有關(guān),相機(jī)需要放在學(xué)生正前方2~3米左右,高度大約為學(xué)生身高的一半,且相機(jī)鏡頭水平向前。如果相機(jī)斜著,可能造成一定誤差。

4.3 性能分析

實時性:使用 OpenVINO? 及英特爾 GPU 加速,系統(tǒng)處理幀率可達(dá)60 FPS,滿足實時計數(shù)需求。

穩(wěn)定性:即使在光照變化和背景復(fù)雜的情況下,模型依然能夠有效識別關(guān)鍵動作。

創(chuàng)新點與優(yōu)勢

1. 將 LabVIEW 與 YOLOv8-Pose 結(jié)合,實現(xiàn)深度學(xué)習(xí) 型的實時調(diào)用與可視化界面交互。

2. 提出了基于關(guān)鍵點運(yùn)動軌跡的跳繩動作識別算法,有效降低誤判率。

3. 系統(tǒng)成本低、部署簡單,適合中學(xué)生科創(chuàng)比賽和實際推廣。

結(jié)論與展望

本文設(shè)計了一種基于 LabVIEW 和 YOLOv8-Pose 的跳繩計數(shù)裝置,成功解決了人工計數(shù)誤差大的問題。未來可進(jìn)一步優(yōu)化算法,使用平均濾波算法提高人體位置(如腳踝位置的準(zhǔn)確度)、并兼容雙腳跳和單腳跳兩種跳繩模式。同時探索硬件設(shè)備的小型化與便攜化,使其適應(yīng)更多應(yīng)用場景。

參考文獻(xiàn)

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



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉