测试通过环境: ultralytics==8.3.34
演示效果:
通过用 yolo11-pose模型通过实时准确追踪主要身体地标和关节,加强运动评估。这项技术提供了关于锻炼形式的即时反馈,跟踪锻炼日常程序,测量性能指标,优化用户和培训员的培训课程。 锻炼监控的好处? 最佳性能: 根据监测数据进行定制工作,以取得更好的结果。 实现目标: 追踪和调整适应性目标,以实现可衡量的进展。 个性化: 根据个人数据定制的有效性锻炼计划。 健康意识: 早期发现表明健康问题或过度训练的模式。 知情决定: 数据驱动的决策,以调整例行程序和设定现实的目标。 现实世界应用 监测工作 监测工作 计数器 计数器 计数器 计数器 !!!“训练监测示例”
=== “CLI”
# Run a workout example
yolo solutions workout show=True
# Pass a source video
yolo solutions workout source="path/to/video/file.mp4"
# Use keypoints for pushups
yolo solutions workout kpts=[6, 8, 10]
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
# Video writer
video_writer = cv2.VideoWriter("workouts.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init AIGym
gym = solutions.AIGym(
show=True, # Display the frame
kpts=[6, 8, 10], # keypoints index of person for monitoring specific exercise, by default it's for pushup
model="yolo11n-pose.pt", # Path to the YOLO11 pose estimation model file
# line_width=2, # Adjust the line width for bounding boxes and text display
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
im0 = gym.monitor(im0)
video_writer.write(im0)
cv2.destroyAllWindows()
video_writer.release()
关键点图
AIGym参数:
常见问题 我如何使用这个框架来监控我的锻炼? 为了用YLOL11来监控你的训练,你可以利用这个姿势估计能力来实时追踪和分析重要的身体标志和关节。这使你可以在练习表格上收到即时反馈,计算重复次数,并测量性能指标。您可以开始使用提供的例子代码的俯卧撑,脉冲,或AB练习如下:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture(“path/to/video/file.mp4”)
assert cap.isOpened(), “Error reading video file”
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
gym = solutions.AIGym(
line_width=2,
show=True,
kpts=[6, 8, 10],
)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print(“Video frame is empty or video processing has been successfully completed.”)
break
im0 = gym.monitor(im0)
cv2.destroyAllWindows()
关于进一步的定制和设置,您可以参考 Aigym 文件中的章节。
在锻炼监测中使用YLOL11有什么好处? 在锻炼监测中使用YLOL11提供了几个关键的好处:
最佳性能: 通过根据监视数据定制训练,您可以获得更好的结果。 实现目标: 容易追踪和调整适合的目标,以衡量可衡量的进展。 个性化: 根据您的个人数据定制锻炼计划,以获得最佳效果。 健康意识: 早期发现显示潜在健康问题或过度训练的模式。 知情决定: 做出数据驱动的决策,以调整例程和设定现实的目标。 你可以去看 视频演示 才能看到这些好处。
在检测和追踪练习中,超级分析学YLOL11的准确性如何? 由于其最先进的姿势估计能力,YLOL11在检测和跟踪练习中是非常精确的。它可以精确追踪关键身体标志和关节,提供运动形式和性能指标的实时反馈。模型的预先训练的重量和健壮的架构确保了高 精密 以及可靠性。对于现实世界的例子,请参阅 现实世界应用 文档中的部分,展示了俯卧撑和拉脱计数。
我可以使用yolo11为定制锻炼程序吗? 是的,yolo11可以适应定制的锻炼程序。…AIGym 类支持不同的姿势类型,如"俯卧撑"、“拉起来"和"锻炼”。你可以指定关键点和角度来检测特定的练习。这里有一个例子:
from ultralytics import solutions
gym = solutions.AIGym( line_width=2, show=True, kpts=[6, 8, 10], ) 有关设置参数的详情,请参阅 争论AIGym 分部。这种灵活性使您可以根据需要监控各种练习和定制例程。
我怎样才能用YLOL11保存锻炼监测输出? 为了保存锻炼监控输出,您可以修改代码以包含保存处理框架的视频编写器。以下是一个例子:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video/file.mp4") assert cap.isOpened(), "Error reading video file" w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("workouts.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
gym = solutions.AIGym( line_width=2, show=True, kpts=[6, 8, 10], )
while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or video processing has been successfully completed.") break im0 = gym.monitor(im0) video_writer.write(im0)
cv2.destroyAllWindows() video_writer.release()
#code can download from:mbd.pub/o/bread/Z5iZkp9x