Люди нуждаются
Актуальность разработки, как отметили участницы, обусловлена тревожной статистикой. По данным ВОЗ, более 1 млрд человек в мире нуждаются в реабилитационных услугах. В России более 2 млн человек после травм остаются без квалифицированной поддержки специалистов, особенно в удаленных регионах. Исследования также показывают, что до 70% пациентов выполняют упражнения с ошибками. Это не только снижает терапевтический эффект, но и может привести к повторным травмам.
«Существующие фитнес-приложения не адаптированы под потребности людей с ОВЗ, а профессиональное оборудование достаточно дорогое и недоступное, - говорит Анастасия Шпигальских. - Наше приложение решает эти проблемы, используя обычную камеру смартфона и компьютерное зрение, что делает качественную реабилитацию доступной и контролируемой на ваших условиях».
Аналоги приложения на рынке хоть и существуют, но полностью бесплатных решений с использованием компьютерного зрения нет - обычно это платные подписки. Разработка Анастасии Шпигальских и Ульяны Соловьевой работает бесплатно и использует компьютерное зрение как полноценный инструмент.
В одном месте
После регистрации в приложении перед глазами пользователя появляется главный экран. На нем расположен каталог упражнений, сгруппированный по разным частям тела, далее идут персональные рекомендации. В идеале, отметили разработчицы, эти упражнения должны выполнять специальные инструкторы - квалифицированные люди, однако на текущем этапе видео записывали сами студентки.
Система рекомендаций строится на медицинских показаниях, которые пользователь указывает при заполнении профиля. Помимо логина и почты, в профиле есть раздел с медицинскими показателями, по которым в дальнейшем и выстраиваются рекомендации. На начальном этапе разработки участницы консультировались с врачами, чтобы определить, какие именно показатели должны там быть.
Затем пользователь выбирает упражнение и открывает экран с видео, где может ознакомиться с эталонным выполнением и описанием. По кнопке «Начать упражнение» запускается основное действие, и человек переходит на главный экран сессии. Этот экран разделён на две части: сверху демонстрируется эталонное упражнение, а снизу — живое изображение с фронтальной камеры пользователя.
По кнопке «Начать» человек повторяет движение, видя перед собой живое видео и следуя за ним. В процессе выполнения система дает визуальные и звуковые подсказки о правильности выполнения упражнения.
В конце система выдает обратную связь в виде детального отчета по суставам. Действует стобалльная система: если упражнение выполнено идеально, система выставляет 100 баллов. Если человек допускает ошибки, система подсчитывает баллы и формирует детальный отчет по суставам. Например, она может указать, что правую ногу следовало поднять выше или что какой-то угол был неправильным.
Система напрямую сообщает человеку, что именно он сделал не так. У пользователя есть возможность повторить упражнение заново.
Собрано вручную
Клиентская часть приложения, разработанная на React Native и TypeScript, включает 13 экранов. Как объяснила Анастасия Шпигальских, навигационная структура объединяет вход, регистрацию, профиль, главный экран с видеокатегориями, личными рекомендациями, поиском, избранным и настройками.
Центральный элемент - экран сессии, разделенный на две половины: сверху демонстрируется эталонное видео упражнения, а снизу - живое изображение с фронтальной камеры пользователя. Это позволяет одновременно видеть образец и собственное движение, не переключаясь между экранами.
Жизненный цикл в системе управляется четырьмя состояниями: ожидание, запись, загрузка и результаты. Особое внимание было уделено доступности. Большинство компонентов написаны вручную для достижения уникального дизайна, адаптированного для людей с нарушениями. Используется контрастная цветовая схема с акцентом на зеленый цвет, ассоциирующийся с медициной, поддержка увеличенного размера шрифтов и крупные элементы управления.
Приложение протестировано на iOS и Android. И все 13 пользовательских сценариев - от регистрации и выбора упражнения до записи видео и загрузки результатов - успешно пройдены на обеих платформах. «Move Well» пока не доступно для скачивания, но участницы планируют запустить его.
Взвешенная оценка
Серверная часть обрабатывает видеопоток с помощью алгоритмов компьютерного зрения. В папке с маршрутами разработчики выделили четыре группы запросов: авторизация, работа с модулями, каталог упражнений и анализ видео. Все настройки вынесены в отдельный конфигурационный файл, что позволяет легко менять параметры без изменения кода. Локализация настроена на 90%, а токен шифруется при регистрации и используется для всех последующих запросов.
Ключевой компонент системы — модуль компьютерного зрения на базе OpenPose, который определяет 18 ключевых точек тела. Принцип работы следующий: кадры извлекаются из видео с частотой 3 кадра в секунду, каждый кадр помещается в OpenPose, который распознает координаты 18 ключевых точек с уровнем уверенности.
Каждая точка проверяется, чтобы исключить ложные срабатывания. Затем вычисляются углы для восьми контролируемых суставов: правого и левого локтя, плеча, колена и тазобедренного сустава. Углы вычисляются через скалярное произведение векторов. Например, угол в локте вычисляется по трем точкам: плечо, локоть и запястье.
Оценка всех точек реализуется относительно ширины ключевого сустава пользователя, что обеспечивает инвариантность к антропологическим особенностям и положению пользователя относительно камеры.
Вместо сравнения абсолютных значений углов используется сравнение скорости и амплитуды движения. Итоговый балл формируется из отношения амплитуд динамического движения (с весом 40%) и коэффициента пересечения диапазонов - доли кадров пользователя, попадающих в эталонный коридор (с весом 60%).
Итоговая оценка от 0 до 100 вычисляется как взвешенное значение совпадения по всем суставам. Детальные ошибки по каждому суставу выдаются пользователю для обратной связи.
Результаты тестирования
В ходе тестирования была определена точность диагностики. Для крупных суставов - плеч, бедер и коленей - она достигает 95-96%, что сопоставимо с результатами ведущих академических исследований. Для мелких суставов - запясий и стопы - точность снижается до 85%, что объясняется частичным развитием и влиянием обмена.
Анастасия Шпигальских и Ульяна Соловьева продемонстрировали работу OpenPose на тестовом видео, где подтвердили, что все 18 точек детектируются корректно, скелет строится.
Они также показали два сценария: при идеальном повторении эталонного упражнения система выдала 100 баллов без замечаний, а при полном отклонении от эталона - низкий результат с обратной связью в виде конкретных замечаний по текущему упражнению.
В планах у Анастасии Шпигальских и Ульяны Соловьевой - интеграция OpenPose в режиме реального времени через WebSocket для непрерывной обратной связи во время выполнения упражнения без загрузки полного видеофайла, реализация оффлайн-режима с легкими моделями, интеграция с системами электронного документооборота для автоматической связи отчетов с врачами, расширение библиотеки упражнений совместно с медицинскими специалистами, геймификация процесса для повышения мотивации пациентов и проведение клинических испытаний для получения медицинской сертификации.