基于LabVIEW和YOLOv8-Pose的跳绳计数装置
本文设计了一种基于LabVIEW和YOLOv8-Pose的跳绳计数装置,成功解决了人工计数误差大的问题。
作者:李筱语
指导老师:王立奇 英特尔创新大使
跳绳是一项广受欢迎的运动项目,因其简单易行而备受学生和运动爱好者青睐。然而,在实际运动中,人工计数容易出现误差,影响比赛和训练效果。本文提出了一种基于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
更多推荐
所有评论(0)