Розробка модуля AI-аналізу постави через камеру на iOS/Android

Реалізація AI-аналізу постави через камеру Користувачі часто сутуляться перед екраном, і фронтальна камера смартфона може своєчасно виявити порушення. Pose estimation модель видає 17–33 ключових точки скелета в реальному часі, а геометрія — кути між суглобами та зміщення центру маси — дає точну к

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Розробка модуля AI-аналізу постави через камеру на iOS/Android
Складний
~1-2 тижні

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

Часті запитання

Останні роботи

  • 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-аналізу постави через камеру

Користувачі часто сутуляться перед екраном, і фронтальна камера смартфона може своєчасно виявити порушення. Pose estimation модель видає 17–33 ключових точки скелета в реальному часі, а геометрія — кути між суглобами та зміщення центру маси — дає точну картину постави. Понад 60% офісних працівників мають forward head posture з кутом >20°, що виявляється за 30 секунд сканування. Ми використовуємо перевірені стеки: Apple Vision для iOS-only або MediaPipe для кроссплатформенних проектів. Накопичений досвід дозволяє обирати оптимальну модель під завдання вашого додатку. Економія часу користувача за рахунок автоматичного аналізу досягає 90% порівняно з ручною оцінкою.

Як вибрати між Apple Vision та MediaPipe?

Два основні шляхи на iOS — Apple Vision framework з VNDetectHumanBodyPoseRequest, та MediaPipe Pose (BlazePose). На Android — ML Kit Pose Detection або той же MediaPipe. Характеристики зведені в таблицю:

Параметр Apple Vision MediaPipe
Платформа iOS тільки iOS, Android, Web
Кількість точок 19 33 (з обличчям та кистями)
Точність плечей Середня Висока
Продуктивність Легкий (< 50 мс на кадр) Важкий (Lite/Full/Heavy, 30–80 мс)
Інтеграція Нативна Через SDK

Apple Vision Vision framework краще для iOS-only проектів — він нативний і не навантажує батарею. MediaPipe MediaPipe Pose точніший (особливо по плечах і стегнах), але потребує більше ресурсів. Ми зазвичай рекомендуємо Vision для мінімалістичних фіч і MediaPipe для глибокого аналізу з корекційними рекомендаціями.

Приклад на Swift для Apple Vision

import Vision import AVFoundation class PostureAnalyzer: NSObject { private var poseRequest = VNDetectHumanBodyPoseRequest() func analyze(sampleBuffer: CMSampleBuffer) { let handler = VNImageRequestHandler(cmSampleBuffer: sampleBuffer, orientation: .up) do { try handler.perform([poseRequest]) guard let observation = poseRequest.results?.first else { return } processBodyPose(observation) } catch { print("Pose detection failed: \(error)") } } private func processBodyPose(_ observation: VNHumanBodyPoseObservation) { guard let leftShoulder = try? observation.recognizedPoint(.leftShoulder), let rightShoulder = try? observation.recognizedPoint(.rightShoulder), let nose = try? observation.recognizedPoint(.nose), leftShoulder.confidence > 0.6, rightShoulder.confidence > 0.6 else { return } // Кут нахилу плечової лінії let shoulderDelta = leftShoulder.location.y - rightShoulder.location.y let shoulderWidth = abs(leftShoulder.location.x - rightShoulder.location.x) let shoulderTiltAngle = atan2(shoulderDelta, shoulderWidth) * 180 / .pi // Зміщення голови від центру плечей let shoulderMidX = (leftShoulder.location.x + rightShoulder.location.x) / 2 let headOffset = (nose.location.x - shoulderMidX) / shoulderWidth postureObserver?(PostureMetrics( shoulderTilt: shoulderTiltAngle, headOffset: headOffset )) } } 

confidence > 0.6 — поріг, нижче якого ключові точки вважаються ненадійними. Координати в Vision перевернуті по Y, при відображенні потрібно інвертувати.

Які метрики постави ми вимірюємо?

Хороша постава — це геометрія. Формалізували її в таблицю:

Метрика Норма Як рахуємо
Нахил плечей < 5° atan2(Δy плечей, Δx плечей)
Forward head posture < 15° кут шия–вухо–плече (джерело: ергономічні дослідження)
Нахил тулуба ±3° вертикаль через плечі та стегна
Симетрія плечей по Y < 3% висоти різниця Y-координат плечей

Forward head posture — найпоширеніша проблема. Вимірюємо через кут між вектором вухо→плече та вертикаллю. У Vision: leftEar → leftShoulder вектор, кут до осі Y екрана. При використанні MediaPipe (33 точки) додаються: кут ліктя, положення тазу, нахил голови вбік, викривлення хребта. Ці метрики корисні для спортивних та реабілітаційних додатків.

Як забезпечити real-time продуктивність?

Pose estimation на кожен кадр AVCaptureSession (30 fps) надто дорогий для старих пристроїв. Ми використовуємо throttling: запускаємо аналіз не на кожен кадр, а кожні 100 мс (10 fps). VNDetectHumanBodyPoseRequest виконується у фоновій черзі — VNImageRequestHandler.perform() синхронний, блокує потік.

private let analysisQueue = DispatchQueue(label: "posture.analysis", qos: .userInitiated) private var lastAnalysisTime: CFTimeInterval = 0 func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) { let now = CACurrentMediaTime() guard now - lastAnalysisTime > 0.1 else { return } // 10 fps lastAnalysisTime = now analysisQueue.async { self.analyze(sampleBuffer: sampleBuffer) } } 

Додатково фільтруємо за впевненістю ключових точок (confidence > 0.6), щоб не витрачати ресурси на нечіткі кадри. На пристроях нижче iPhone 8 знижуємо частоту до 5 fps. В умовах низької освітленості похибка збільшується на 10-12%, але пороги впевненості відсікають брак. Отримайте консультацію з тонкого налаштування продуктивності під ваш цільовий девайс.

Зворотний зв'язок користувачеві

Два режими:

  • Real-time overlay — лінії поверх камери (CAShapeLayer) показують відхилення. Наприклад, червоні лінії на плечах, якщо вони не рівні.
  • Сесійний аналіз — користувач тримає телефон 30 секунд, отримує звіт за підсумками.

Тактильний відгук (хаптік) при сильному відхиленні, gamification (серії «хорошої постави»). Рекомендації пов'язують метрики з вправами: якщо forward head >20°, пропонуємо розтяжку грудних та зміцнення шиї з відео.

Процес роботи

  1. Аналіз вимог та вибір стеку (Vision/MediaPipe, iOS/Android/Flutter).
  2. Інтеграція моделі та реалізація метрик постави.
  3. UI: камера + overlay + екран звіту.
  4. Оптимізація продуктивності на реальних пристроях (A/B-тестування на 5+ моделях).
  5. Тестування точності (A/B на різних позах, 10+ сценаріїв).
  6. Публікація в App Store / Google Play з налаштуванням code signing та provisioning profile.

У роботу входить вихідний код модуля з коментарями на Swift/Kotlin/Flutter, документація з архітектури, API інтеграції та налаштування, допомога з публікацією (App Store Connect, TestFlight, Google Play Console), гарантія на код та безкоштовна підтримка 30 днів. Вартість розробки розраховується індивідуально після аналізу вимог. Замовте розробку модуля AI-аналізу постави під ключ.

Чому варто замовити у нас?

Наша команда має понад 5 років досвіду в мобільній розробці AI-рішень. Ми реалізували понад 20 проектів з pose estimation, включаючи додатки для спорту та реабілітації. Забезпечуємо високу якість коду, точність аналізу та дотримання термінів. Гарантуємо прозору комунікацію на всіх етапах. Зв'яжіться з нами для оцінки вашого проекту — отримайте консультацію вже сьогодні.