logo

Виртуальный ассистент для тренировок

Создали фитнес-приложение для тренировок на базе искусственного интеллекта.
Frame 2131327278.png
1 background.png
ИндустрияСпорт
Тип бизнесаB2C, eComm
РегионСША
ИндустрияСпорт
Тип бизнесаB2C, eComm
РегионСША

Клиент

Бизнес все больше заинтересован во внедрении искусственного интеллекта, и ретейлеры – не исключение. В 2021 году к нам обратился крупный крупный американский фитнес-бренд с сетью офлайн-магазинов и развитым онлайн-направлением. Владельцы хотели создать продукт в поддержку основного бизнеса – мобильное приложение для тренировок с использованием ИИ.

Вызовы

С помощью приложения владельцы рассчитывали привлечь новых покупателей и вовлечь их в тренд на здоровье. Целевая аудитория приложения – новички и пользователи со стандартными запросами в фитнесе, которым нужен безопасный старт и быстрая обратная связь без тренера.

Виртуальный ассистент – не замена тренеру в спортзале, а помощник. Значит, тренировки должны быть простыми и безопасными, но при этом продуктивными.
fitnesswoman-practicing-yoga-rain (1) (1).jpg

Как считывать движения

Для обучения модели нужны «правильные» данные. Отсюда и первая задача: разобраться с тем, как поделить тело на отдельные точки, а затем определить, как координаты этих точек соотносятся друг с другом и с окружающим пространством.

1 background.png

Кастомные датасеты

Да, существуют предобученные модели. Они легко справятся со стандартными задачами – определением объекта в кадре, ракурса, ключевых точек. Только их будет недостаточно для задачи типа нашей – нам просто не хватит данных.

Логика такая: для поз взять предобученную модель (например, ML Kit), а нашу кастомную модель – обучить и использовать для подсчета повторов и оценки техники поверх ключевых точек.

Как мы разрабатывали фитнес-приложение на базе ИИ:

Базовое определение позы

Как и в случае с SignLab, нашим внутренним проектом, датасеты для ассистента тренировок собирали, очищали и размечали вручную. Проанализировали большой объем данных на тему корректной техники выполнения упражнений в трехмерном пространстве.

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

Уточним, что трехмерное пространство – не совсем полноценная 3D-геометрия. Это работа с ключевыми точками: двухмерные координаты (ось «x» и «y») плюс «z» – относительная оценка глубины.

Кастомная модель анализа техники

Чтобы приложение могло «видеть» человека, использовали стандартный инструмент Android — CameraX. Он отвечает за работу с камерой: показывает превью, настраивает фокус и освещение.

Но просто картинки с камеры мало. Поэтому дальше включается библиотека ML Kit и API Pose Detection. Она в реальном времени преобразует изображение в набор ключевых точек на теле – всего их 33: от головы и плеч до коленей и стоп. Это «скелет», по которому алгоритм понимает, как именно двигается пользователь.
На этих точках уже работает наша кастомная модель: считает повторы, проверяет правильность техники, дает подсказки и фидбэк.

Как работает основная функция приложения

Шаг 1. Пользователь открывает камеру на смартфоне внутри приложения. Устанавливает ее так, чтобы во время выполнения упражнений попасть в кадр в полный рост. Выбирает нужное упражнение из списка. Все готово, можно приступать к тренировке.

Шаг 2. Модель проводит онбординг: собирает данные о ракурсе, освещении, определяет позы и фазы упражнения. Приложение через камеру сравнивает движения пользователя – траекторию и углы суставов – с эталонными паттернами для каждого упражнения. Строит скелетные точки, считает повторы, валидирует технику исполнения. Дает обратную связь с задержкой в 100-200 миллисекунд на актуальных для 2021 года Android-устройствах. Не медицинская точность, но более чем достаточно для целевого предназначения. Доступ к камере – только на время упражнения.

Шаг 3. В случае ошибки появляется визуальная подсказка: неправильное расположение части тела, подсвеченное красным, плюс рекомендация по улучшению тренировочного процесса. Подсветка идет поверх суставов, в основе рекомендаций – одно-два типовых правила (например, колено не выходит за носок при приседе). Это формат подсказки, а не строгое руководство к действию.

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

Что еще умеет приложение

Во второй версии мы расширили функционал:

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

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

– Составление индивидуального плана тренировок на основе целей пользователя, информации о его возрасте и уровне активности, занесение плана во встроенный календарь. Кстати, задачи и пожелания можно описывать в диалоговой форме – ИИ помогает сформулировать цель (вес, выносливость, осанка) и собирает вводные. Здесь мы подробнее рассказываем о том, как создавали платформу для чат-ботов – чат-бот в виртуальном тренере создан по тому же принципу.

– Адаптация персональной программы в зависимости от прогресса, но без медицинских заключений.

– Отслеживание прогресса с учетом питания и затраченных килокалорий через ручной импорт (данные вводит пользователь).

Конфиденциальность

– Весь процесс идет не в облаке, а на смартфоне — видео остается на устройстве.

– Личные данные никуда не уходят. На сервере хранятся только анонимные агрегированные данные – цифры без биометрии. И только при согласии пользователя.

– Данные хранятся 30 дней и соответствуют требованиям GDPR и CCPA.

Технологии

technology
Бэкенд

Firebase

technology
Алгоритм

Python

technology
Android

Java

technology
База данных

Firestore

technology
Библиотека

TensorFlow Lite

technology
Библиотека

ML Kit Pose Detection

Результат

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

Приложение выполняет бизнес-миссию, для которой было создано:

  • Привлекает новых пользователей, делает занятия доступными для каждого. Как следствие – больше людей заинтересовано в приобретении спортивной экипировки и инвентаря.
  • Персонализированный подход помогает пользователям достичь целей быстрее, а сам процесс проходит безопаснее.
  • Это не медицинское приложение, оно ничего не диагностирует – все данные используются только для фитнес-целей.

Пока у приложения есть и некоторые ограничения в работе. Например, требуется хорошее освещение, камера на уровне пояса, человек в кадре целиком, контрастная одежда. Также возможен небольшой процент ошибок при перекрытии суставов, слишком быстрых и резких движениях или в узких помещениях. В следующих апдейтах это будет исправлено.

Также в планах у владельцев – расширить количество упражнений и синхронизировать приложение с IoT-устройствами. Умные устройства помогут приложению автоматически отмечать сигналы усталости — для корректировки нагрузки и корректировать программу «на лету», ведь пользователь не всегда вовремя замечает и оценивает сигналы собственного тела.

в 5 раз

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

grade
в 4 раза

прирост в корзинах с промокодом из приложения.

grade

Напишите нам

/ 5000

Что происходит дальше:

  • Мы получаем запрос, обрабатываем его в течение 24 часов и связываемся по указанным вами e‑mail или телефону для уточнения деталей.

  • Подключаем аналитиков и разработчиков. Совместно они составляют проектное предложение с указанием объемов работ, сроков, стоимости и размера команды.

  • Договариваемся с вами о следующей встрече, чтобы согласовать предложение.

  • Когда все детали улажены, мы подписываем договор и сразу же приступаем к работе.