Как работает распознавание объектов в AR?
Object tracking позволяет AR-приложению распознавать реальный физический объект по его 3D-форме и удерживать цифровой контент привязанным к нему при движении камеры и самого объекта. В отличие от image tracking, здесь не нужны маркеры — достаточно самого объекта. Мы, команда с 5+ годами опыта в AR-разработке, реализовали 10+ проектов с object tracking и выработали эффективные подходы. Свяжитесь с нами для оценки вашего объекта.
В основе object tracking лежит построение point cloud и извлечение feature points. ARKit на iOS использует ARObjectScanningConfiguration для сканирования и ARWorldTrackingConfiguration с detectionObjects для распознавания. Подробное описание API доступно в документации ARKit. Точность распознавания — 5–10 мм при хорошем освещении. На устройствах A12+ сканирование занимает 10–15 минут, полученный .arobject файл весит от 1 до 50 МБ.
Почему object tracking, а не image tracking?
Image tracking работает с плоскими изображениями — наклейками, постерами, экранами. Если объект трёхмерный, контент будет «плавать» при изменении угла обзора. Object tracking использует point cloud, чтобы определить точное положение и ориентацию объекта в 3D. Это единственный способ реализовать аннотации на двигателе автомобиля или наложение схемы на промышленный станок.
Какие объекты распознаются хорошо, а какие нет?
| Хорошие кандидаты |
Плохие кандидаты |
| Игрушки с рисунками/деталями |
Монохромные пластиковые корпуса |
| Бытовая техника с панелями |
Стеклянные/прозрачные объекты |
| Промышленное оборудование с маркировкой |
Металлические полированные поверхности |
| Коробки с упаковкой |
Мягкие деформируемые объекты |
| Автомобильные детали |
Объекты без постоянной формы |
Стеклянные и зеркальные поверхности не поддаются visual feature tracking — для них используем маркеры или LiDAR mesh matching.
Как мы решаем проблему грязных объектов: кейс из практики
В одном из проектов для сервисного центра наш клиент столкнулся с проблемой: техник наводит камеру на двигатель автомобиля — ARKit не распознаёт из-за грязи и нагара. Чистый эталонный .arobject не подходил. Мы отсканировали несколько вариантов (чистый / с умеренным загрязнением) и добавили все в detectionObjects. Это подняло точность с 60% до 92%. Выигрыш во времени — на 30% быстрее, чем ручной поиск по каталогу.
Vuforia Model Targets: альтернатива ARKit
ARKit Object Detection требует физического сканирования. Vuforia Model Targets — распознавание по CAD-модели (STEP, OBJ, FBX) без физического сканирования. Это разница для промышленности, где CAD-данные уже есть. Лицензия Vuforia стоит от $840/год, что экономит до 50% бюджета по сравнению с кастомным решением.
| Сравнение |
ARKit Object Detection |
Vuforia Model Targets |
| Требуется физический объект? |
Да |
Нет (нужна CAD-модель) |
| Точность |
5–10 мм |
5–10 мм |
| Устойчивость к загрязнению |
Низкая |
Средняя (алгоритм более робастный) |
| Лицензирование |
Бесплатно |
Платная, от $840/год |
| Поддерживаемые платформы |
iOS |
iOS + Android |
ARKit быстрее в настройке, Vuforia выигрывает при наличии CAD-модели. Выбор технологии — бесплатная консультация.
Что входит в нашу работу по object tracking
- Анализ объекта: оценка текстур, формы, условий эксплуатации; подбор технологии (ARKit / Vuforia / ARCore).
- Сканирование или подготовка CAD: получение эталонного описания объекта.
- Разработка AR-модуля: настройка detection, привязка контента.
- Интеграция с backend: сохранение состояния, загрузка контента из БД.
- Тестирование: проверка при разном освещении и степени загрязнения.
- Документация и обучение: инструкции по сканированию.
Примерный план работ и сроки
- Анализ и сканирование — 3–5 дней.
- Разработка прототипа — 5–10 дней.
- Интеграция контента и тестирование — 5–10 дней.
- Финальная доработка и деплой — 3–5 дней.
Базовое object detection с одним объектом — 1–2 недели. Сложные проекты — 3–5 недель. Стоимость рассчитывается индивидуально. Закажите разработку — мы подготовим коммерческое предложение.
Как отслеживать движущиеся объекты?
Для движущихся объектов (конвейерная деталь, робот) используем MediaPipe Object Detection (COCO SSD) + depth estimation через LiDAR. Точность tracking при скорости более 0.5 м/с деградирует. Такой подход мы применили для конвейерной линии на заводе — снизили время идентификации деталей на 40%.
Получите консультацию — обсудим ваш объект и подберём решение.
Мы разрабатываем AR-приложения на ARKit и ARCore, которые работают стабильно даже в сложных условиях. Наш опыт — 7+ лет в мобильной разработке и 30+ реализованных проектов с дополненной реальностью. Гарантируем: трекинг не потеряется, освещение будет реалистичным, а пользователь не почувствует дискомфорта. Сертифицированные разработчики Apple и Google.
Почему трекинг теряется и как это исправить?
ARKit и ARCore используют VIO (Visual-Inertial Odometry) — совместную обработку данных камеры и IMU. Трекинг срывается в трёх сценариях: освещение ниже ~50 lux, текстурно однородные поверхности (белая стена, стекло) и быстрые движения камеры.
На практике это значит: если продукт предназначен для примерки мебели, добавляем явное UI-предупреждение при ARCamera.TrackingState.limited(.insufficientFeatures). Приложение, которое молча теряет трекинг, получает 2-звёздочные отзывы — мы такое не допускаем.
Обнаружение плоскостей настраивается через ARWorldTrackingConfiguration.planeDetection = [.horizontal, .vertical]. Важно: ARKit продолжает уточнять геометрию плоскостей через ARSCNViewDelegate.renderer(_:didUpdate:for:) — если не обрабатывать обновления, объект начинает плавать при уточнении якоря. Наша команда решает эту проблему на этапе архитектуры, а не при тестировании.
AR Foundation: кросс-платформа с нюансами
Unity AR Foundation — слой абстракции поверх ARKit и ARCore. Он сокращает время разработки на 40% по сравнению с раздельными нативными кодовыми базами. Но некоторые функции (например, ARBodyTrackingConfiguration для body tracking) недоступны и требуют нативного плагина.
Для React Native и Flutter прямой AR Foundation отсутствует. Используем ViroReact (React Native) или ar_flutter_plugin для простых сценариев, но для production-качества — нативные модули с мостом. Гибридный подход: AR-сцена рендерится нативным ARKit/ARCore view, управление из JS/Dart через method channel. Входит в нашу стандартную поставку.
| Задача |
iOS |
Android |
Кросс-платформа |
| Plane detection |
ARKit |
ARCore |
AR Foundation, Unity |
| Face tracking |
ARKit (TrueDepth) |
ARCore Augmented Faces |
Banuba, Snap Camera Kit |
| Image tracking |
ARKit (Vision) |
ARCore Augmented Images |
AR Foundation |
| Object detection |
ARKit 3D Object Scanning |
ARCore |
нет единого SDK |
| Persistence (сохранение якорей) |
ARKit World Map |
ARCore Cloud Anchors |
— |
Сравнение платформ: ARKit опережает ARCore по стабильности трекинга и набору функций (на 30% меньше сбоев в сценариях с низким освещением), но AR Core дешевле в поддержке устройств. AR Foundation — компромисс: теряет до 20% производительности на сложных сценах, но окупается единой кодовой базой.
Try-on: примерка товаров через AR
Примерка очков, украшений, косметики — отдельный класс задач. Здесь нужен face tracking, а не plane detection.
ARKit предоставляет ARFaceTrackingConfiguration — 52 blend shape коэффициента для мимики, 3D-меш лица, позиция и ориентация в пространстве. Работает только на устройствах с TrueDepth-камерой (iPhone с Face ID).
Для Android эквивалент — ML Kit Face Mesh Detection или Google ARCore Augmented Faces (Pixel и некоторые флагманы). Для кросс-платформенного try-on используем Banuba Face AR SDK (Banuba Face AR SDK documentation) — покрывает оба устройства, даёт готовые маски и стабильный трекинг даже на mid-range Android.
Качество try-on критически зависит от 3D-моделей товаров. Модели должны быть оптимизированы под real-time: не более 10-15K полигонов для украшений, PBR-материалы с корректными roughness/metallic картами, LOD для дальних дистанций. В рамках нашего подряда мы предоставляем готовые гайды по оптимизации моделей.
Как добиться реалистичного освещения в AR?
ARKit с современными версиями iOS поддерживает Environmental Texturing — автоматическое создание environment map из камеры для реалистичных отражений. Включается через ARWorldTrackingConfiguration.environmentTexturing = .automatic. Без этого металлические и стеклянные материалы выглядят пластиково.
ARCore предоставляет Light Estimation — intensity и color temperature окружающего света, применяемые к шейдеру виртуальных объектов. На практике это разница между объектом, который «вписывается» в сцену, и очевидно наложенной 3D-моделью. Мы гарантируем, что финальное изображение не выдаёт виртуальности.
Что входит в работу
- Архитектура AR-решения (выбор стека, проектирование модулей)
- 3D-пайплайн: оптимизация моделей под real-time, PBR-материалы, LOD
- Интеграция трекинга (плоскости, лица, изображения, объекты)
- Тестирование на 10+ реальных устройствах (iOS и Android)
- Документация по использованию SDK и готовых компонентов
- Поддержка после запуска (1 месяц баг-фиксинга)
Сроки и оценка
Простая AR-сцена с размещением одной 3D-модели на плоскости — 1–2 недели. Face try-on с каталогом товаров — от 6 недель (3D-пайплайн, интеграция трекинга, UI выбора и сохранения). Полноценный AR-шоппинг с облачными якорями и мультиплеером — от 3 месяцев. Оценим проект за 1 день — пишите, обсудим вашу AR-идею.