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