Yoga teacher - это уникальное приложение для занятий йогой дома с интерактивным измерением точности выполнения поз (асан) с помощью камеры и алгоритма распознавания движений пользователя.
Приложение сделали под iPad, так как это наиболее удобное устройство для занятий йогой и просмотра поз на экране.
Постановка задачи
Дать возможность новичкам заниматься йогой и улучшить свое мастерство с помощью интерактивного обучающего тренажера. Тренажер заменит тренера, поэтому нет необходимости посещать студии йоги.
Новички занимаются по картинкам, но они могут стать в асану (позу) неправильно. Приложение - самоучитель, который может с помощью камеры устройства определять положение человека, сверять с параметрами выполняемой позы и выдавать процент точности выполнения.
Исследование
Мы искали наиболее подходящий метод, по которому камера сможет определять положение тела человека. Были разработаны программные прототипы, работавшие по разным методам, искали самый лучший для основной технологии.
Алгоритм должен рассчитывать соотношения точек эталона и пользователя, тем самым рассчитывая процент точности выполнения поз.
При поиске решения испытывали различные математические формулы. Например, по формуле евклидовой метрики высчитывали расстояние от угловых точек, далее по ним определяли позу, но в дальнейшем эту формулу отбросили.
Также было отброшено еще несколько формул из-за неудовлетворявшего наши требования уровня отделения человека от фона. В продукте технология должна не только качественно различать человека и фон, но и делать это быстро, не заставляя пользователей ждать, в реальном времени.
Создание минимального продукта
Мы создали технологию для MVP, а для тестирования устраивали настоящие занятия йогой. В тестировании участвовали как умелые йоги, так и новички. Было принято решение разделить девушек и парней для лучшего распознавания качества выполнения поз.
Для пользователей, в зависимости от уровня владения йогой, была построена таблица: насколько точно надо принять асану, чтобы выполнить упражнение правильно. Проверяли параметры каждой асаны приложения (84 позы) с каждым тестируемым по 3 повторения, чтобы иметь максимально точные базовые показания. У каждой позы был свой предел точности – картинка, взятая как идеальный вариант.
Наша команда провела 3 итерации тестов на пользователях, каждый раз после проверки снимали параметры, коррелировали их, оттачивали таким образом технологию, добиваясь максимально верного считывания асан и избавляясь от погрешностей. Для тестирования прототипа использовались как мастера йоги в спортзалах, так и новички в различных окружениях и освещенностях. Основной принцип работы на проекте - постоянный тест. Продукт после релиза должен правильно работать с живым человеком у него дома.
Технология
При поиске решения пришли к выводу, что аналогов технологии распознавания сложной позы человека через фронтальную 2D камеру нет: консоль XBox Kinect 360 выполняет схожую цель, но она имеет 3 камеры, которые снимают в 3D. В нашем же случае мы нашли решение с одной фронтальной 2D камерой iPad.
Наши специалисты специально для создания нужной технологии изучали OpenCV (библиотеку компьютерного зрения) и нашли способы его внедрения в iOS (технология работает только на этом языке). Встраивание модуля распознавания в iOS оказалось непростой задачей. Технология писалась на языке C++, который не является объектно ориентированным, поэтому он конфликтовал с objective-c.
Концепции дизайна
Поставили задачу сделать приложение простым в использовании, людям должно быть легко и удобно взаимодействовать с приложением.
Визуальное оформление должно быть приятным, но в тоже время настраивать на занятие йогой.
Исходя из этого, было подготовлено 3 концепции:
UI-дизайн
После всех исследований начался процесс разработки и создания UI-приложения, которое имеет следующий функционал:
- В приложении существуют 24 полноценных комплекса тренировок для новичков и профессионалов для достижения необходимых целей. Например, похудения.
- После каждой тренировки отображаются графики точности выполнения поз и виден прогресс пользователя в тренировках.
- Автоматическая фотография при достижении 100% точности для дальнейшего анализа или постинга в социальные сети :)
- Игровая механика для мотивации- разработали простые достижения при регулярных тренировках.
- Календарь для хранения истории тренировок, их результатов, а также планирования будущих занятий.
Требования наших клиентов на стадии оценки проекта:
- Успешный опыт разработки проектов для среднего и крупного бизнеса.
- Бизнес-экспертиза при разработке стартапов.
- Команда от 7 специалистов при разработке приложения или веб-сайта.
- Уникальность, никаких типовых решений.
- Срок - разработка от 3-х месяцев.
- Прозрачная система контроля и гибкость в разработке.
- Обоснованная стоимость разработки мобильного приложения