🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主
🎄所属专栏:『LabVIEW深度学习实战』
📑推荐文章:『LabVIEW人工智能深度学习指南』
🍻本文由virobotics(仪酷智能)原创🥳欢迎大家关注✌点赞👍收藏⭐留言📝订阅专栏
文章目录
大家好,这里是 仪酷智能 VIRobotics。
本文为李筱语投稿内容,以下是投稿内容。
跳绳是一项广受欢迎的运动项目,因其简单易行而备受学生和运动爱好者青睐。然而,在实际运动中,人工计数容易出现误差,影响比赛和训练效果。本文提出了一种基于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:每个人的外接矩形
[left, top, width, height]
(左边的像素点、上边的像素点、宽度,高度) - Keypoints:由17个关键点构成,17个点的定义如下图:
3.2 跳绳过程中的坐标变化
以双脚跳为例,采集某同学整个跳绳过程中的keypoint-15(左脚踝)或者keypoint-16(右脚踝)的y轴数值。Y值越小表示跳得越高。波形图可以清晰地看出跳跃周期,停止跳跃时Y轴波动减小。
波形图中,左右两边部分表示了正常的跳跃时间段,中间有一部分y轴变化较小,说明学生暂停跳跃。
3.3 算法实现思路
1) 在正常跳跃时,当学生脚部处于一个周期的最低点(即曲线的极大值)时可认为跳了一个。
2) 但是,曲线在接近最高点时,由于AI产生的误差,曲线会有毛刺。因此需要判断当前新产生的最高点与上一次最高点的循环间隔,如果间隔太小,就可以忽略。
3) 当学生失误停止跳绳时,由于学生本身还在移动或测量误差导致的y值变化也应去除。只需判断当前值与历史数据中的最高点(y的最小值)的差,如果小于一个阈值就可忽略。
3.4 算法实现代码逻辑(LabVIEW)
- 在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
🎯总结
以上就是今天要给大家分享的内容,希望对大家有用。如有笔误,还请各位及时指正。后续我们将为大家更新更多关于AI模型在LabVIEW的部署案例,欢迎大家关注博主。我是virobotics(仪酷智能),我们下篇文章见~
如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群:705637299。进群请备注:仪酷智能
更多内容可查看:
- 仪酷智能官网:https://www.virobotics.net/
- 微信公众号:仪酷智能科技
- B站:仪酷智能
- 邮箱:info@virobotics.net
如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏、👍订阅专栏
推荐阅读
AI Vision Toolkit for LabVIEW重磅升级:2.0版本支持本地部署DeepSeek R1
【YOLOv5】LabVIEW+TensorRT的yolov5部署实战(含源码))
【YOLOv5】手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速,实现YOLOv5实时物体识别(含源码)
【YOLOv8】实战一:手把手教你使用YOLOv8实现实时目标检测
【YOLOv8】实战二:YOLOv8 OpenVINO2022版 windows部署实战
【YOLOv8】实战三:基于LabVIEW TensorRT部署YOLOv8
【YOLOv9】实战一:在 Windows 上使用LabVIEW OpenVINO工具包部署YOLOv9实现实时目标检测(含源码)
【YOLOv9】实战二:手把手教你使用TensorRT实现YOLOv9实时目标检测(含源码)
【YOLOv11】实战一:在LabVIEW 中使用OpenVINO实现YOLOv11
👇技术交流 · 一起学习 · 咨询分享,请联系👇