Реалізація розпізнавання жестів у мобільному застосунку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація розпізнавання жестів у мобільному застосунку
Складний
~1-2 тижні
Часті запитання

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

Етапи розробки

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Реалізація розпізнавання жестів у мобільних додатках

Розпізнавання жестів через камеру — це інтерфейс без дотику. Використовується у фітнес-додатках (підрахунок повторень), додатків доступності, AR-взаємодіях та presentation-режимах. Ключовий інструмент—MediaPipe Hand Landmarker.

MediaPipe Hand Landmarker: як це працює

MediaPipe Hand Landmarker детектує до 2 рук у кадрі та повертає 21 landmark для кожної руки: зап'ясток, п'ясткові кістки, фаланги. Координати нормалізовані (0..1) у просторі зображення плюс 3D-координати (z—глибина відносно зап'ястка).

Latency на сучасних пристроях:

  • Pixel 7 (GPU): ~12 ms
  • iPhone 14 (CPU): ~18 ms
  • Snapdragon 665 mid-range (CPU): ~45 ms

Для real-time UI при 30 FPS бюджет — 33 ms. На слабких пристроях виберіть: знизьте infer до 15 FPS або працюйте з однією рукою (numHands = 1).

Розпізнавання жестів поверх landmarks

MediaPipe Gesture Recognizer—обгортка над Hand Landmarker—розпізнає 7 вбудованих жестів: Open_Palm, Closed_Fist, Pointing_Up, Thumb_Up, Thumb_Down, Victory, ILoveYou. Достатньо для базового управління (наступний слайд, лайк/дизлайк, підтвердження).

Для кастомних жестів два підходи:

Геометричний. Обраховуйте кути між фалангами, дистанції між ключовими точками, визначте "палець зігнутий" через dot product. Швидко (немає додаткового infer), легко налагодити. Добре працює для статичних жестів (конкретна форма кисті).

ML класифікатор. Записуйте landmark вектори для кожного жеста, навчайте невеликий MLP або кастомний GestureRecognizer через MediaPipe Model Maker. Краще для жестів подібної форми та динамічних жестів (рухи рук).

Кейс: керування презентацією через жести під час стендапу. Жести: "наступний слайд" (свайп вправо), "попередній" (свайп вліво), "стоп" (відкрита долонь). Статичні жести через геометрію (Open_Palm з MediaPipe Gesture Recognizer). Динамічні свайпи—через трекінг положення зап'ястка (WRIST landmark) за 10 кадрів: якщо delta_x > 0.3 нормалізованих одиниць за 333 ms—свайп. Поріг налаштований експериментально на 15 тест-користувачах.

Привʼязка жестів до дій

Розпізнаний жест — це подія з впевненістю та мітко часу. Не кожна подія повинна бути оброблена. Debouncing має значення: "великий палець вгору" не повинен повторно спрацьовувати, якщо рука залишається у кадрі. Збережіть стан: lastGestureTime, lastGestureType. Новий жест рахується тільки якщо пройшло >500 ms або змінився тип.

На iOS: MediaPipeTasksVision через Swift Package Manager, обгорніть GestureRecognizer в actor клас. Результати через @Published в ObservableObject.

На Android: MediaPipe Tasks Android SDK (com.google.mediapipe:tasks-vision). GestureRecognizerOptions з runningMode = RunningMode.LIVE_STREAM для відеопотоку, callbacks через ResultListener.

Поширені помилки реалізації

Не враховуйте handedness—MediaPipe повертає LEFT/RIGHT з точки зору моделі (дзеркально від фронтальної камери). "Великий палець вправо" з фронтальної камери детектується як ліва рука. Якщо логіка залежить від конкретної руки, застосуйте дзеркальну корекцію.

Не враховуйте дистанцію до камери. Нормалізовані координати не несуть інформації про фізичну дистанцію—геометричні пороги, що працюють на 50 cm, будуть іншими на 150 cm.

Часові рамки

Базові жести через MediaPipe Gesture Recognizer + привʼязка до дій: 1 тиждень. Кастомні геометричні або ML-жести + динамічні свайпи: 2 тижні. Вартість розраховується індивідуально.