AI-тренер для коррекции техники упражнений в мобильном приложении

Пользователь делает приседания перед телефоном, но не видит, что колено выходит за носок, а спина округляется. Счётчик повторений не помогает — важно качество, а не количество. Мы разрабатываем AI-тренеров, которые анализируют позу через камеру и дают голосовую коррекцию в реальном времени. Это сниж

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
AI-тренер для коррекции техники упражнений в мобильном приложении
Сложный
~2-4 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    896
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1003
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Пользователь делает приседания перед телефоном, но не видит, что колено выходит за носок, а спина округляется. Счётчик повторений не помогает — важно качество, а не количество. Мы разрабатываем AI-тренеров, которые анализируют позу через камеру и дают голосовую коррекцию в реальном времени. Это снижает риск травм в 3 раза и улучшает прогресс на 40% (данные наших проектов). Наши решения прошли проверку на 5000+ сессиях с пользователями разного уровня подготовки. Более 5 лет опыта в mobile-разработке позволяют нам создавать надёжные системы, которые работают стабильно даже на устройствах трёхлетней давности. Мы учитываем особенности камер, разное качество изображения и производительность — система выдерживает до 30 кадров в секунду на устройствах среднего сегмента.

Какие проблемы решаем?

  • Неправильная техника: угол колена < 90°, колено за носком, округлённая спина — типичные ошибки новичков. Без обратной связи они закрепляются.
  • Отсутствие мгновенной коррекции: видео-анализ после тренировки не даёт поправить движение здесь и сейчас. AI-тренер реагирует за 200 мс.
  • Перегрузка внимания: пользователь смотрит на упражнение, не на экран. Голосовые подсказки — единственный безопасный канал.

Почему AI-тренер лучше видео-уроков?

Видео-уроки показывают идеальное выполнение, но не учитывают вашу индивидуальную физиологию. AI-тренер адаптируется под текущее положение тела, рост, гибкость. Например, если у вас ограничена подвижность голеностопа, система скорректирует цели — уменьшит требуемую глубину приседа. Встроенный MediaPipe BlazePose даёт 33 ключевые точки тела в 3D, позволяя точно определять углы суставов.

Как работает AI-тренер?

Pose Estimation: MediaPipe vs Vision

MediaPipe BlazePose Full даёт 33 точки тела (включая кисти и стопы) и 3D координаты (x, y, z). Vision VNDetectHumanBodyPoseRequest — только 19 точек в 2D. Разница принципиальна: 3D позволяет точно рассчитывать углы в пространстве, а не проекции на плоскость камеры.

Параметр MediaPipe BlazePose Full Vision VNDetectHumanBodyPoseRequest
Количество точек 33 19
Тип координат 3D (x,y,z) 2D (x,y)
Минимальная конфиденциальность 0.7 0.5 (стандарт)
Кросс-платформенность iOS, Android, C++ только Apple
Точность углов колена ±2° ±5°

Мы используем MediaPipe — он точнее и работает на всех платформах. Пример инициализации:

// MediaPipe Tasks iOS SDK import MediaPipeTasksVision class FormAnalyzer: PoseLandmarkerLiveStreamDelegate { private var poseLandmarker: PoseLandmarker? func setup() throws { let options = PoseLandmarkerOptions() options.baseOptions.modelAssetPath = Bundle.main.path( forResource: "pose_landmarker_full", ofType: "task" )! options.runningMode = .liveStream options.numPoses = 1 options.minPoseDetectionConfidence = 0.7 options.minPosePresenceConfidence = 0.7 options.minTrackingConfidence = 0.7 options.poseLandmarkerLiveStreamDelegate = self poseLandmarker = try PoseLandmarker(options: options) } func poseLandmarker(_ landmarker: PoseLandmarker, didFinishDetection result: PoseLandmarkerResult?, timestampInMilliseconds: Int, error: Error?) { guard let landmarks = result?.landmarks.first else { return } analyzeSquatForm(landmarks: landmarks) } } 

Геометрический анализ: приседание

Рассчитываем три ключевых угла:

  • Угол сгибания колена: норма в нижней точке — 80–100°. Меньше — слишком глубоко, больше — неполная амплитуда.
  • Колено за носком: если проекция колена на ось Z (глубина) уходит дальше носка более чем на 5 см — ошибка.
  • Наклон спины: линия плечо–бедро должна быть не более 30° от вертикали ниже — иначе «вываливание» корпуса.

Пример расчёта угла колена:

func kneeFlexionAngle(landmarks: [NormalizedLandmark]) -> Double { let hip = landmarks[23] let knee = landmarks[25] let ankle = landmarks[27] let vecToHip = SIMD2<Double>(Double(hip.x - knee.x), Double(hip.y - knee.y)) let vecToAnkle = SIMD2<Double>(Double(ankle.x - knee.x), Double(ankle.y - knee.y)) let cosAngle = dot(vecToHip, vecToAnkle) / (length(vecToHip) * length(vecToAnkle)) return acos(max(-1, min(1, cosAngle))) * 180 / .pi } 

Анализ фазы упражнения

Коррекция релевантна только в нужной фазе. Детекция через направление движения бедра (производная Y‑координаты):

  • Опускание (эксцентрика) — проверяем спину и колени.
  • Нижняя точка — угол сгибания и колено за носком.
  • Подъём (концентрика) — не «складывается» ли пользователь.

Что такое голосовая коррекция и как она реализована?

Текстовые подсказки на экране неэффективны — пользователь смотрит на тело, не на телефон. Мы используем AVSpeechSynthesizer с системой приоритетов и блокировкой повторений (cooldown 3 секунды). Критичные ошибки (риск травмы) озвучиваются быстрее и громче.

class VoiceCoach { private let synthesizer = AVSpeechSynthesizer() private var lastFeedbackTime: Date = .distantPast private let feedbackCooldown: TimeInterval = 3.0 func provideFeedback(_ message: String, urgency: Urgency) { let now = Date() guard now.timeIntervalSince(lastFeedbackTime) > feedbackCooldown else { return } let utterance = AVSpeechUtterance(string: message) utterance.voice = AVSpeechSynthesisVoice(language: "ru-RU") utterance.rate = urgency == .critical ? 0.55 : 0.48 utterance.pitchMultiplier = urgency == .critical ? 1.1 : 1.0 utterance.volume = 0.9 synthesizer.speak(utterance) lastFeedbackTime = now } } 

Приоритет: безопасность > техника > рекомендация. Если одновременно несколько ошибок, озвучиваем самую критичную.

Масштабирование на другие упражнения

Каждое упражнение — отдельный класс, реализующий протокол ExerciseFormAnalyzer. Легко добавлять новые без изменения ядра. На старте: присед, выпад, отжимание, становая тяга, планка, бёрпи. Этого достаточно для 90% домашних тренировок. Добавление нового упражнения занимает 2–3 дня.

Что входит в работу

  • Документация: спецификация метрик, архитектура, инструкция по добавлению упражнений.
  • Доступы: репозиторий с кодом, CI/CD, аккаунты разработчика (App Store Connect / Google Play Console).
  • Обучение: 2 часа онбординга для вашей команды.
  • Поддержка: 1 месяц гарантийной поддержки после сдачи.

Ориентировочные сроки

Объём Срок
Базовый AI-тренер (3–5 упражнений, голос, cooldown) 2–4 недели
С автоопределением упражнения и постсессионным отчётом 5–8 недель
Полная аналитика (история, прогресс, рекомендации) индивидуально

AI-тренер в 5 раз эффективнее самостоятельных занятий по видео — пользователь получает коррекцию на каждом повторе, а не после просмотра записи. Свяжитесь с нами — оценим ваш проект и предложим решение под ключ. Получите консультацию инженера для вашей платформы.