st-Gcn训练跳绳识别模型六:YOLOv8-Pose 和 ST-GCN 实现实时跳绳计数器应用
🎯 目标:开发一个实时跳绳计数器,利用 YOLOv8-Pose 检测关键点,结合 ST-GCN 模型进行动作识别,并通过 PyQt6 界面实现用户友好的交互体验。
动作识别技术在体育分析和健康监测领域有着广泛应用,实时跳绳计数器是一个典型案例。本篇博客将详细解析一个 Python 脚本,该脚本结合 YOLOv8-Pose 和 ST-GCN 模型,通过摄像头实时捕获视频,检测跳绳动作并计数。我们将逐段分析代码,讲解其功能、实现细节,并提供优化建议,同时加入一些小贴士(✨)帮助读者更好地理解和改进应用。
脚本概述
该脚本实现了一个基于摄像头的实时跳绳计数器,结合计算机视觉和深度学习技术,完成以下任务:
-
关键点检测:使用 YOLOv8-Pose 从视频帧中提取 17 个 COCO 关键点(x 和 y 坐标)。
-
动作识别:通过预训练的 ST-GCN 模型判断当前是否为跳绳动作(标签 0:非跳绳,标签 1:跳绳)。
-
跳绳计数:基于脚踝 y 坐标的动态变化,检测跳跃并计数。
-
用户界面:使用 PyQt6(PySide6)显示实时视频、关键点、跳绳状态和计数。
脚本通过 JumpCounter 类实现跳绳计数逻辑,JumpRopeApp 类整合模型和界面,提供流畅的实时体验。以下是详细代码解析,附带实用