Мониторинг тренировок с помощью Ultralytics YOLO26#
Мониторинг тренировок с помощью оценки позы с Ultralytics YOLO26 улучшает оценку упражнений за счет точного отслеживания ключевых ориентиров тела и суставов в реальном времени. Эта технология обеспечивает мгновенную обратную связь по технике выполнения упражнений, отслеживает режимы тренировок и измеряет показатели производительности, оптимизируя тренировки как для пользователей, так и для тренеров.
Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More
Преимущества мониторинга тренировок#
- Оптимизация результатов: Адаптация тренировок на основе данных мониторинга для достижения лучших показателей.
- Достижение целей: Отслеживай и корректируй фитнес-цели для достижения измеримого прогресса.
- Персонализация: Индивидуальные планы тренировок на основе персональных данных для максимальной эффективности.
- Забота о здоровье: Раннее обнаружение закономерностей, указывающих на проблемы со здоровьем или перетренированность.
- Обоснованные решения: Принятие решений на основе данных для корректировки программ и постановки реалистичных целей.
Реальные сценарии применения#
| Мониторинг тренировок | Мониторинг тренировок |
|---|---|
![]() | ![]() |
| Подсчет отжиманий | Подсчет подтягиваний |
Отслеживай тренировки с помощью YOLO26#
Решение AIGym выполняет оценку позы и считает повторения, измеряя угол, образованный тремя ключевыми точками при движении конечности между пороговыми значениями up_angle и down_angle. Выбери ключевые точки для упражнения, которое хочешь отслеживать с помощью kpts, а затем запусти решение для своего видео через Python API или CLI.
# Run a workout example
yolo solutions workout show=True
# Pass a source video
yolo solutions workout source="path/to/video.mp4"
# Use keypoints for pushups
yolo solutions workout kpts="[6, 8, 10]"Карта ключевых точек#

Аргументы AIGym#
Вот таблица с аргументами AIGym:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
model | str | None | Путь к файлу модели Ultralytics YOLO. |
up_angle | float | 145.0 | Пороговый угол для позы «вверх». |
down_angle | int | 90 | Пороговый угол для позы «вниз». |
kpts | list[int] | '[6, 8, 10]' | Список из трех индексов ключевых точек, используемых для контроля тренировок. Эти ключевые точки соответствуют суставам или частям тела, таким как плечи, локти и запястья, для упражнений типа отжиманий, подтягиваний, приседаний и упражнений на пресс. |
line_width | int | 2 | Толщина линий для рамок, ключевых точек и подсчетов, отрисовываемых решением. |
verbose | bool | True | Включает покадровый лог решения, содержащий форму входных данных, количество классов и скорость обработки. Сам вызов трекинга всегда выполняется молча. |
Решение AIGym также поддерживает ряд параметров отслеживания объектов:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Задает алгоритм трекинга, который нужно использовать. Встроенные опции: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания. |
iou | float | 0.7 | Устанавливает порог Intersection over Union (IoU) для фильтрации пересекающихся детекций. |
classes | list | None | Фильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы. |
device | str | None | Задает устройство для инференса (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели. |
Кроме того, можно применить следующие настройки визуализации:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
show | bool | False | Если True, отображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования. |
show_conf | bool | True | Отображает показатель уверенности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели в каждом обнаружении. |
show_labels | bool | True | Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает быстрое понимание того, какие объекты были обнаружены. |
FAQ#
Чтобы отслеживать свои тренировки с помощью Ultralytics YOLO26, ты можешь использовать возможности оценки позы для отслеживания и анализа ключевых ориентиров тела и суставов в реальном времени. Это позволяет получать мгновенную обратную связь по технике упражнений, считать повторения и измерять показатели производительности. Ты можешь начать с использования предоставленного примера кода для отжиманий, подтягиваний или упражнений на пресс, как показано:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.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 processing is complete.") break results = gym(im0) cv2.destroyAllWindows()Для получения дополнительной информации и настроек ты можешь обратиться к разделу AIGym в документации.
Использование Ultralytics YOLO26 для мониторинга тренировок дает несколько ключевых преимуществ:
- Оптимизация результатов: Адаптируя тренировки на основе данных мониторинга, ты сможешь достичь лучших результатов.
- Достижение целей: Легко отслеживай и корректируй фитнес-цели для достижения измеримого прогресса.
- Персонализация: Получай индивидуальные планы тренировок на основе своих данных для оптимальной эффективности.
- Забота о здоровье: Раннее обнаружение закономерностей, указывающих на потенциальные проблемы со здоровьем или перетренированность.
- Обоснованные решения: Принимай решения на основе данных для корректировки программ и постановки реалистичных целей.
Ты можешь посмотреть демонстрационное видео на YouTube, чтобы увидеть эти преимущества в действии.
Ultralytics YOLO26 обладает высокой точностью в обнаружении и отслеживании упражнений благодаря своим передовым возможностям оценки позы. Модель способна точно отслеживать ключевые ориентиры тела и суставов, предоставляя обратную связь в реальном времени по технике упражнений и показателям производительности. Предобученные веса и надежная архитектура модели обеспечивают высокую точность и надежность. Примеры из реальной жизни можно найти в разделе приложений в реальном мире в документации, в котором продемонстрирован подсчет отжиманий и подтягиваний.
Да, Ultralytics YOLO26 можно адаптировать под индивидуальные комплексы тренировок. Класс
AIGymопределяет повторения упражнений с помощью аргументовup_angle,down_angleиkpts. Ты можешь указать ключевые точки и углы для определения конкретных упражнений. Вот пример настройки:from ultralytics import solutions gym = solutions.AIGym( line_width=2, show=True, kpts=[6, 8, 10], # For pushups - can be customized for other exercises )Для получения подробной информации о настройке аргументов обратись к разделу Аргументы
AIGym. Эта гибкость позволяет отслеживать различные упражнения и настраивать комплексы в соответствии с твоими целями фитнеса.Чтобы сохранить результаты мониторинга, ты можешь изменить код, добавив видеозаписывающее устройство (video writer), которое сохраняет обработанные кадры. Вот пример:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.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 processing is complete.") break results = gym(im0) video_writer.write(results.plot_im) cap.release() video_writer.release() cv2.destroyAllWindows()Эта настройка записывает видео мониторинга в выходной файл, что позволяет просмотреть результаты тренировки позже или поделиться ими с тренером для дополнительной обратной связи.

