В статье рассматривается методика применения приложения Fitmentor в тренировочные процессы спортсменов, тренирующихся в домашних условиях. В работе рассмотрены алгоритмы YOLO для обнаружения человека и его позы с применением фильтров Кэнни и Калмана, основанных на анализе звеньев тела спортсмена, представленных в виде скелетных моделей при выполнении спортивных упражнений. Для решения поставленной задачи в работе выявлены основные критерии для оценки результативности, а также приводятся результаты успешного применения алгоритмов YOLO11n-pose в приложении Fitmentor.
Ключевые слова : машинное обучение, трекинг, компьютерное зрение, тренировки спортсменов, программное обеспечение.
Keywords : machine learning, tracking, computer vision, athlete training, software.
Введение
Современный спорт и фитнес всё больше интегрируют технологии, которые позволяют автоматизировать процессы анализа и улучшения техники выполнения упражнений. В контексте Стратегии развития и цифровизации физической культуры и спорта в России на период до 2030 года [1] компьютерное зрение имеет огромный потенциал для преобразования способов, которыми мы анализируем, тренируемся и развиваемся в спорте. Одной из ключевых целей данной Стратегии развития являются анализ спортивных показателей и повышение эффективности тренировочных процессов.
Одним из высокоэффективных направлений в этой области является использование технологий компьютерного зрения, открывающие новые возможности для оценки движений, предотвращения травм и повышения эффективности тренировок.
В данной работе приводится краткий обзор традиционных и автоматизированных подходов к анализу и оценке движений при выполнении спортивных упражнений, а также показываем практическую реализацию модели оценки позы человека на основе моделей YOLO и разработка алгоритма системы контроля техники выполнения фитнес-упражнений в приложении Fitmentor.
Стоит отметить, что на рынке существуют и другие коммерческие и экспериментальные фитнес-приложения работающие на основе моделей семейства YOLO, такие как GymBuddyPro, Tactical reader и др. [2], а значит интеграция алгоритма в пользовательские приложения вызывает большой практический интерес.
Помимо практической значимости работа также предоставляет и научную новизну поскольку в ней поставлена задача системы управления с целью контроля выполнения фитнес-упражнений, а также показаны различные критерии и подходы для оценки качества техники выполняемых упражнений, а также фиксации прогресса спортсмена.
Также в работе приводятся результаты экспериментальных исследований групп спортсменов, тренирующихся в домашних условиях с применением приложения Fitmentor.
1. Технологии компьютерного зрения в спорте
1.1 Обзор текущих методов анализа позы человека
1.1.1 Традиционные подходы к анализу техники выполнения упражнений
Анализ техники выполнения упражнений всегда являлся важным аспектом спорта, будь то профессиональный уровень или фитнес для любителей. Традиционные методы базируются на прямом участии тренеров, которые оценивают технику по наблюдениям либо на основе видеозаписей. Эти подходы требуют значительных временных и человеческих ресурсов, зависят от субъективного восприятия тренера и не всегда обеспечивают высокую точность диагностики.
Существуют и полуавтоматические методы с использованием магнитных датчиков и систем инерционного трекинга. Эти технологии позволяют анализировать положение тела, используя сенсоры, прикрепленные к спортсмену. Несмотря на широкое применение таких инструментов в профессиональном спорте, их использование в домашнем фитнесе ограничено из-за цены и технической сложности.
1.1.2 Использование компьютерного зрения для анализа движений
Переход к автоматизации анализа позы стал возможен с развитием технологий компьютерного зрения и искусственного интеллекта. Системы, основанные на обработке видеоизображений, позволяют определять ключевые точки тела человека (такие как суставы локтей, коленей, плеч и т. д.) без применения физических маркеров. Одним из первых значительных прорывов стала модель OpenPose, которая использует глубокие сверточные сети для определения ключевых точек человеческого тела на изображении.
Последние разработки, такие как YOLO-Pose и его модификации, примером которых является применяемая нами YOLO11n-pose [3], предлагают еще более эффективные решения. Они работают быстрее, чем подходы OpenPose, благодаря применению «одностадийного» подхода, который объединяет в себе детекцию объектов и определение ключевых точек в одном процессе.
Современные алгоритмы способны вовлекать не только статические кадры, но и анализировать последовательности движений, оценивая динамику человека. Это позволяет применять технологии не только для простого выявления позы, но и для оценки качества выполнения упражнений, выявления отклонений от стандартной траектории движения в том числе и предотвращения травм спортсмена.
1.2 Преимущества компьютерного зрения в спорте
Компьютерное зрение предоставляет ряд уникальных преимуществ, которые делают его перспективным инструментом для применения в спорте и фитнесе. Перечислим основные из них:
— Возможность работы с данными без прямого взаимодействия человека
— Оценка качества упражнений в режиме реального времени
— Потенциал для персонализации тренировок
Действительно, современные технологии компьютерного зрения снимают ограничения, связанные ручной обработкой фото- и видеоматериалов, а также с необходимостью присутствия огромного штата тренеров во время спортивной подготовки спортсмена или профессионального инструктора для фитнес-любителя. К тому же вычислительные мощности и оптимизированные алгоритмы позволяют анализировать технику спортсмена в режиме реального времени и в дальнейшем проводить анализ об особенностях движений с целью учёта анатомических и физиологических особенностей человека, корректируя комплекс упражнений под его индивидуальные параметры. Разработчики Fitmentor, например, заложили возможность фиксировать прогресс спортсмена и критерии внесения корректировок в процесс тренировки.
1.3 Ограничения и проблемы актуальных подходов
Несмотря на многочисленные преимущества, технологии компьютерного зрения в спорте сталкиваются с рядом проблем, которые ограничивают их применение. Например, следующие:
— Ограничения компьютерного зрения в анализе сложных движений. Современные алгоритмы демонстрируют высокую точность при работе с простыми движениями, однако в случае более сложных упражнений, таких как многосуставные динамические действия (например, элементы гимнастики или акробатики), точность распознавания значительно снижается.
— Ошибки в распознавании поз при плохом освещении или нестандартной камере. Качество работы алгоритмов компьютерного зрения во многом зависит от качества входных данных. Низкое освещение, недостаточный угол обзора камеры или неправильное разрешение изображения могут приводить к значительным ошибкам в распознавании позы. В домашних условиях эти факторы часто встречаются, что ограничивает надежность таких систем.
Таким образом, технология компьютерного зрения в спорте находится на стадии активного развития. Несмотря на существующие ограничения и технические проблемы, она уже демонстрирует колоссальный потенциал для автоматизации, персонализации и повышения эффективности тренировок.
2. Выбор модели и её основные особенности
Семейство алгоритмов YOLO (You Only Look Once) появилось в 2015 году с публикацией первой версии, целью которой было создание быстрого, универсального и эффективного подхода к распознаванию объектов. Для работы приложения Fitmentor была выбрана модель YOLO11n-pose, которая представляет собой модифицированную версию YOLO11 [3], ориентированную на задачи анализа позы с использованием распознавания ключевых точек человеческого тела.
Модель обрабатывает изображение за один проход, проводя одновременно выявление всех объектов и анализ их позы. Это достигается объединением задачи детекции объектов с задачей предсказания ключевых точек, что эффективно снижает вычислительные затраты.
Ключевые точки моделируют функционирование суставов и анатомических участков человеческого тела. YOLO11n-pose работает с заданным набором из 17 ключевых точек (голова, шея, плечи, локти, колени, лодыжки и др.), которые соединяются в скелетную форму.
Эффективность YOLO11n-pose обусловлена её возможностью обрабатывать множества фигур одновременно, даже если люди взаимодействуют (пересекаются, накладываются друг на друга). При этом алгоритм позволяет распознавать ошибки в позах пользователя при выполнении упражнений таких как, например, глубоких приседаний, выпадах, планки) и давать рекомендации о корректировке техники. За счёт простоты интеграции модель становится перспективным решением для фитнес-программ будущего.
Таким образом, YOLO11n-pose является мощным и удобным инструментом для анализа поз в реальном времени, применимым в любых условиях, от профессионального спорта до домашних тренировок, и уверенно задаёт новый стандарт в области компьютерного зрения, применяемого в фитнесе и спорте.
3. Алгоритмы и критерии анализа тренировок в приложении Fitmentor
3.1 Сценарии использования
3.1.1 Анализ правильности выполнения отдельных упражнений
Для многих базовых упражнений, таких как приседания, планка и отжимания, крайне важно соблюдение правильной техники, чтобы избежать травм и добиться хороших тренировочных результатов. Fitmentor на основе YOLO11n-pose способно определять ключевые точки тела с высокой точностью, что позволяет системе сравнивать положение тела пользователя с эталонной техникой выполнения.
— Приседания: модель фиксирует положение коленей, таза, спины и головы, чтобы проверить, не округляется ли спина, опускаются ли бёдра ниже указанного уровня или насколько симметричны движения.
— Планка: отслеживаются, нет ли прогиба в пояснице, а также совпадают ли горизонтальные линии предплечий и корпуса.
— Отжимания: анализируется синхронность опускания и подъёма корпуса, угол в локтях и положение головы, а также наличие прогиба в пояснице.
3.1.2 Распознавание динамических движений
Во время выполнения динамических упражнений, такие как бег на месте, прыжки, махи руками и прыжки с приседаниями приложение анализирует каждый кадр видеопотока, при этом YOLO11n-pose помогает отслеживать последовательности движений, измеряет симметрию движения ног и рук, а также оценивает ритм и амплитуду, например, при беге на месте система оценивает каданс (частоту шагов) и равновесие, при прыжках может анализироваться симметрия махов руками и т. д. [4].
3.1.3 Оценка выносливости и прогресса тренирующегося
Также в приложении Fitmentor заложили основу для исследования выносливости и прогресса тренирующегося. Алгоритм не оценивает саму физиологию тела (например, сердцебиение, уровень молочной кислоты и т. п.), но может косвенно фиксировать параметры, связанные с усталостью. Для этих целей решено было фиксировать изменения в амплитуде и динамики движений, а также технике выполнения упражнений на протяжении определённого отрезка времени. Например, если у спортсмена после 10–15 повторений ухудшается техника, то приложение будет определять это как признак усталости. Fitmentor позволит:
— Указать, на каком этапе тренировки возникает утомление.
— Формировать график прогресса выносливости при длительном использовании приложения.
— Рекомендовать подходящий уровень нагрузки.
3.2 Алгоритмы анализа тренировок
3.2.1 Распознавание ключевых точек и их сравнение с эталонной техникой
Применяемая модель в Fitmentor выделяет ключевые точки на теле и фиксирует их положение во времени. Эти данные сравниваются с эталонной позой для каждого упражнения, которая сохраняется как для каждого упражнения, так и в идеале для каждого пользователя (для более точного анализа). Используемые метрики:
— Углы в суставах.
— Симметрия движения (лево/прав) или синхронность.
— Пространственная ориентация тела (угол наклона таза или положение головы относительно корпуса).
3.2.2 Генерация рекомендаций для исправления ошибок
На основании собранных данных приложение формирует персонализированные рекомендации:
— При неправильных угловых данных суставов: добавление диаграмм с указанием оптимальных значений (например, «колени должны сгибаться под углом 90° при идеально ровной линии таза»).
— Для асимметрий движений: предложения добавить упражнения для устранения дисбаланса между правой и левой стороной тела.
— С учётом уровня подготовки: система может уменьшить или увеличить сложность упражнения, если техника ещё не отработана.
В целом в приложении Fitmentor может быть сгенерировано более 30 видов сообщений с рекомендациями
4. Практика применения, преимущества и ограничения подхода модели YOLO11n-pose для домашних тренировок
Рассмотрим практику применения и ограничения модели, а также методы сравнения движений пользователя с эталоном.
4.1. Построение практической системы
Ниже показан код на Python, который использует YOLO11n-pose для извлечения ключевых точек:
from ultralytics import YOLO
import cv2
# Загрузка предобученной модели YOLOv11n-pose
model = YOLO('yolov8n-pose.pt') # 'yolov11n-pose.pt' - это модель для обнаружения ключевых точек
# Загрузка изображения
image_path = 'path_to_your_image.jpg'
image = cv2.imread(image_path)
# Выполнение предсказания
results = model(image)
# Визуализация результатов
for result in results:
# Отображение ключевых точек на изображении
annotated_image = result.plot()
# Сохранение результата
cv2.imwrite('annotated_image.jpg', annotated_image)
# Показ результата
cv2.imshow('YOLOv11n-pose Keypoints', annotated_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# Получение ключевых точек
keypoints = result.keypoints # keypoints - это объект, содержащий ключевые точки
# Вывод ключевых точек
print(keypoints.xy) # Координаты ключевых точек в формате (x, y)
Этот код демонстрирует, как можно извлечь ключевые точки тела с помощью алгоритма позы.
Далее для оценки техники выполнения упражнений (например, приседаний) используется определение углов между сегментами тела.
Для анализа правильности приседаний можно использовать точки:
— A — бедро,
— B — колено,
— C — голень.
Для примера расчета угла между бедром, коленом и голенью приведём формулу угла между тремя точками (A, B, C):
𝑟𝑎𝑑𝑖𝑎𝑛𝑠 = 𝑎𝑡𝑎𝑛2(𝑐 𝑦 − 𝑏 𝑦 , 𝑐 𝑥 − 𝑏 𝑥 ) − 𝑎𝑡𝑎𝑛2(𝑎 𝑦 − 𝑏 𝑦 , 𝑎 𝑥 − 𝑏 𝑥 )
Python-реализация для вычисления угла выглядит следующим образом:
def calculate_angle(a, b, c):
"""
Рассчитать угол между точками a, b, c (в градусах).
a, b, c - это координаты точек (x, y).
"""
a = np.array(a) # Первая точка
b = np.array(b) # Вершина угла
c = np.array(c) # Вторая точка
# Векторы
ab = a - b
bc = c - b
# Скалярное произведение и нормы
cosine_angle = np.dot(ab, bc) / (np.linalg.norm(ab) * np.linalg.norm(bc))
angle = np.arccos(np.clip(cosine_angle, -1.0, 1.0)) # Угол в радианах
return np.degrees(angle)
Пример оценки техники выполнения упражнения
Допустим, у нас есть эталонные значения углов для приседаний:
— Угол A-B-C (между бедром и голенью) должен быть в диапазоне 80 0– 90 0 в нижней точке приседа.
Код для проверки правильности:
# Пример координат:
hip = (200, 300)
knee = (250, 400)
ankle = (300, 500)
# Рассчитываем угол
angle = calculate_angle(hip, knee, ankle)
# Проверяем диапазон
if 80 <= angle <= 90:
print("Правильный угол! Отличный присед!")
else:
print(f"Неправильный угол: {angle:.2f}. Попробуйте присесть глубже.")
В данной части мы показали, что архитектура YOLO11n-pose открывает огромные возможности для спортивных тренировок в домашних условиях. Практическое применение алгоритма позволяет не только контролировать положение тела, но и предоставлять незамедлительную обратную связь, тем самым повышая точность выполнения упражнений.
5. Практические кейсы использования YOLO11n-pose
Рассмотрим основные результаты применения архитектуры YOLO11n-pose в реальных сценариях тренировок, подготовленных на основе приложения Fitmentor.
5.1 Индивидуальная тренировка с обратной связью
Fitmentor обеспечивает пользователям возможность получать автоматическую обратную связь при выполнении упражнений. Например, при проведении домашних тренировок алгоритм анализирует положение тела, оценивает ошибки и предлагает улучшения. Это особенно важно для новичков, не имеющих доступа к профессиональному тренеру.
Для оценки работы выбранной модели YOLO был проведён эксперимент. 50 участников выполняли базовые упражнения (приседания, планка, отжимания), и алгоритм анализировал точность их выполнения. На основе моделей эталонных движений (с использованием профессиональных тренеров) вычислялась ошибка углового отклонения суставов.
Таблица 1
Результат оценки ошибок во время выполнения упражнений
Упражнение |
Средняя ошибка (градусы) |
Процент исправленных ошибок |
Распознавание поз |
Приседания |
4.2 |
87 % |
96 % |
Планка |
2.8 |
92 % |
98 % |
Отжимания |
5.1 |
84 % |
94 % |
Таким образом, Fitmentor на основе YOLO11n-pose продемонстрировало высокую точность в анализе поз и предоставлении корректирующей обратной связи. Средняя ошибка в вычислении углов составила менее 10 градусов, что позволяет считать этот метод эффективным для индивидуальных занятий.
5.2. Эффективность фитнес-приложения Fitmentor
Для оценки работы модели на реальных пользователях было исследовано приложение Fitmentor, в которое внедрили YOLO11n-pose для анализа выполнения упражнений в реальном времени. Участники тренировались с приложением без подсказок тренеров. Сравнивалась производительность пользователей до и после получения рекомендаций от алгоритма.
Таблица 2
Эффективность использования Fitmentor
Метрика |
До обратной связи |
После обратной связи |
Средняя длительность подхода |
45 секунд |
52 секунды |
Количество ошибок за тренировку |
12 |
4 |
Удовлетворённость пользователей тренировкой* |
68 % |
91 % |
*Примечание: удовлетворённость оценивалась на основе анкетирования в приложении (10-балльная шкала)
Вывод: Интеграция YOLO11n-pose в доступное приложение Fitmentor существенно снизила количество ошибок в выполнении упражнений, повысила производительность тренировок и улучшила пользовательский опыт.
Заключение
Результаты данной работы показывают, что YOLO11n-pose может использоваться для анализа как индивидуальных, так и групповых тренировок. Предложенная модель определяет ключевые точки каждого человека, анализирует индивидуальные ошибки и предоставляет рекомендации тренеру в случае групповых тренировок или самому спортсмену при индивидуальной тренировке в домашних условиях.
Проведённые исследования приложения Fitmentor на основе YOLO11n-pose доказали пригодность модели для использования в различных сценариях — от индивидуальных тренировок до групповых тренировок онлайн. Её точность, производительность и способность предоставлять обратную связь делают её ключевым инструментом в развитии домашних тренировок и персонализированного фитнеса.
Литература:
- Распоряжение Правительства РФ от 24 ноября 2020 г. № 3081-р Стратегия развития физической культуры и спорта в Российской Федерации на период до 2030 года: URL: http://static.government.ru/media/files/Rr4JTrKDQ5nANTR1Oj29BM7zJBHXM05d.pdf (дата обращения: 12 января 2025г.).
- П. А. Ткаченко, В. В. Бухарков. Использование компьютерного моделирования в учебно-тренировочном процессе для совершенствования технико-тактических действий самбистов. Ученые записки университета имени П. Ф. Лесгафта. — 2023. — № 9 (223).
- Yolo V11 // Документация по алгоритму обнаружения объектов YOLO v11. URL: https://docs.ultralytics.com/ (дата обращения: 11.01.2025).
- Хафизов Р. Р. Разработка технологий анализа движений спортсменов на основе нейросетевого анализа данных: автореф. дис. … канд. техн. наук / Хафизов Роман Раилевич. — Долгопрудный, Московская область, 2020. — 24 с.