YOLO Vision 2026:

Мониторинг тренировок с помощью Ultralytics YOLO26#

Open Workouts Monitoring In Colab

Мониторинг тренировок с помощью оценки позы с Ultralytics YOLO26 улучшает оценку упражнений за счет точного отслеживания ключевых ориентиров тела и суставов в реальном времени. Эта технология обеспечивает мгновенную обратную связь по технике выполнения упражнений, отслеживает режимы тренировок и измеряет показатели производительности, оптимизируя тренировки как для пользователей, так и для тренеров.



Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More

Преимущества мониторинга тренировок#

  • Оптимизация результатов: Адаптация тренировок на основе данных мониторинга для достижения лучших показателей.
  • Достижение целей: Отслеживай и корректируй фитнес-цели для достижения измеримого прогресса.
  • Персонализация: Индивидуальные планы тренировок на основе персональных данных для максимальной эффективности.
  • Забота о здоровье: Раннее обнаружение закономерностей, указывающих на проблемы со здоровьем или перетренированность.
  • Обоснованные решения: Принятие решений на основе данных для корректировки программ и постановки реалистичных целей.

Реальные сценарии применения#

Мониторинг тренировокМониторинг тренировок
YOLO push-ups counting with pose estimationYOLO pull-ups counting with pose estimation
Подсчет отжиманийПодсчет подтягиваний

Отслеживай тренировки с помощью YOLO26#

Решение AIGym выполняет оценку позы и считает повторения, измеряя угол, образованный тремя ключевыми точками при движении конечности между пороговыми значениями up_angle и down_angle. Выбери ключевые точки для упражнения, которое хочешь отслеживать с помощью kpts, а затем запусти решение для своего видео через Python API или CLI.

Мониторинг тренировок с помощью Ultralytics YOLO
# 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]"

Карта ключевых точек#

YOLO pose estimation keypoints order diagram

Аргументы AIGym#

Вот таблица с аргументами AIGym:

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO.
up_anglefloat145.0Пороговый угол для позы «вверх».
down_angleint90Пороговый угол для позы «вниз».
kptslist[int]'[6, 8, 10]'Список из трех индексов ключевых точек, используемых для контроля тренировок. Эти ключевые точки соответствуют суставам или частям тела, таким как плечи, локти и запястья, для упражнений типа отжиманий, подтягиваний, приседаний и упражнений на пресс.
line_widthint2Толщина линий для рамок, ключевых точек и подсчетов, отрисовываемых решением.
verboseboolTrueВключает покадровый лог решения, содержащий форму входных данных, количество классов и скорость обработки. Сам вызов трекинга всегда выполняется молча.

Решение AIGym также поддерживает ряд параметров отслеживания объектов:

АргументТипПо умолчаниюОписание
trackerstr'botsort.yaml'Задает алгоритм трекинга, который нужно использовать. Встроенные опции: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
ioufloat0.7Устанавливает порог Intersection over Union (IoU) для фильтрации пересекающихся детекций.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
devicestrNoneЗадает устройство для инференса (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.

Кроме того, можно применить следующие настройки визуализации:

АргументТипПо умолчаниюОписание
showboolFalseЕсли True, отображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования.
show_confboolTrueОтображает показатель уверенности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели в каждом обнаружении.
show_labelsboolTrueОтображает метки для каждого обнаружения в визуальном выводе. Обеспечивает быстрое понимание того, какие объекты были обнаружены.

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()

    Эта настройка записывает видео мониторинга в выходной файл, что позволяет просмотреть результаты тренировки позже или поделиться ими с тренером для дополнительной обратной связи.

Комментарии