Реалізація розпізнавання об'єктів (Object Tracking) в AR-застосунку

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

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація розпізнавання об'єктів (Object Tracking) в AR-застосунку
Складний
~3-5 днів
Часті запитання

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

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

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

  • 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

Реалізація розпізнавання та трекінгу об'єктів (Object Detection) в AR-додатку

Object tracking — це AR без маркерів. Система розпізнає реальний фізичний об'єкт за його 3D-формою та утримує AR-контент прив'язаним до нього при русі камери та самого об'єкта. Це складніше за image tracking, вимагливіше до hardware та значно обмеженіше за каталог — але саме це потрібно, коли наклеїти маркер неможливо або небажано.

ARKit Object Detection: сканування та розпізнавання

Pipeline ARKit складається з двох фаз.

Фаза 1: Сканування. ARObjectScanningConfiguration — спеціальна конфігурація лише для Xcode-утиліти сканування (Reality Composer або демо-додаток Apple). Користувач обходить об'єкт з усіх сторін, ARKit будує point cloud. Результат — файл .arobject (~1–50 МБ залежно від деталізації).

Фаза 2: Детектування. ARWorldTrackingConfiguration з detectionObjects = [arObject]. При детектуванні — renderer(_:didAdd:for:) з ARObjectAnchor. Anchor містить transform об'єкта в світовому просторі.

Критичне обмеження: ARKit Object Detection працює лише на пристроях A12+ і вимагає достатньої текстури об'єкта. Гладкі однотонні об'єкти (білий пластиковий корпус, скляна пляшка) не сканюються надійно. Features points потребують текстурних деталей, логотипів, написів.

Що добре трекується, а що ні

Хороші кандидати Погані кандидати
Іграшки з рисунками/деталями Однотонні пластикові корпуси
Побутова техніка з панелями Скляні/прозорі об'єкти
Промислове обладнання з маркуванням Металеві полісовані поверхні
Коробки з упаковкою М'які деформовані об'єкти
Автомобільні деталі Об'єкти без постійної форми

Скляні та дзеркальні поверхні принципово не підходять для visual feature tracking. Для них — лише маркери або LiDAR mesh matching.

Vuforia Model Targets: альтернативний підхід

ARKit Object Detection вимагає фізичного сканування об'єкта. Vuforia Model Targets — розпізнавання за CAD-моделлю (STEP, OBJ, FBX) без фізичного сканування. Це принципова різниця для промислового застосування, де CAD-дані вже є.

Vuforia Model Target Generator (desktop додаток) компілює базу даних з CAD-моделі. SDK на iOS/Android детектує об'єкт за силуетом та feature map, згенерованою з CAD. Точність позиціонування — до 5–10 мм при хорошому освітленні.

Ліцензія Vuforia Engine від $840/рік. Model Targets доступні в тарифі Engine+.

Object Tracking (рухомий об'єкт)

ARKit Object Detection фіксує статичний об'єкт. Трекінг рухомого об'єкта — принципово інша задача.

ARKit 2021+ підтримує ARTrackedRaycast для динамічної прив'язки, але для незалежно рухомого об'єкта (деталь конвеєра, рухаючийся робот) потрібен кастомний підхід:

  • MediaPipe Object Detection (COCO SSD, EfficientDet) — bounding box об'єкта в 2D
  • Depth estimation (LiDAR) → проектуємо 2D bounding box у 3D для отримання позиції
  • AR-контент слідує за об'єктом з інтерполяцією (lerp) для плавності

Це значно складніше та менш точно, ніж Static Object Detection. Точність трекінгу деградує при швидкості руху > 0.5 м/с.

Практичний кейс

Додаток для сервісного центру: технік наводить на двигун автомобіля — ARKit розпізнає конкретну модель двигуна за .arobject, зверху з'являється схема з підписами до вузлів. Анотації прив'язані до конкретних точок у coordinate space об'єкта.

Складність: двигуни у реальному сервісі брудні, частково перекриті патрубками, з нагаром. Чистий еталонний .arobject не розпізнає брудний двигун. Рішення: сканувати кілька варіантів (чистий / з помірним забрудненням) і додавати всі до detectionObjects. ARKit вибере найкраще збіг.

Сроки

Базове object detection з одним об'єктом + статичні анотації — 1–2 тижні (включаючи сканування). Кілька об'єктів, анімовані анотації, інтеграція з базою даних — 3–5 тижнів. Vuforia Model Targets замість ARKit scan — аналогічні сроки плюс ліцензія. Вартість розраховується індивідуально.