Введение в отслеживание 3D объектов
Помимо плоских объектов, EasyAR также предоставляет функционал отслеживания 3D объектов. В этой статье рассматриваются ключевые принципы, ожидаемые результаты и потенциальные ограничения технологии отслеживания 3D объектов, что поможет разработчикам понять сферу её применения.
Основные принципы
Отслеживание 3D объектов реализуется за счет распознавания и отслеживания трехмерных объектов реального мира (таких как игрушки, скульптуры, промышленные детали) для наложения AR-контента. Основной процесс выглядит следующим образом:
Технологический процесс
- Подготовка модели: Разработчик предоставляет файл 3D-модели отслеживаемого объекта (в формате Wavefront OBJ). Система загружает модель локально, извлекает визуальные признаки модели с различных ракурсов и генерирует уникальную базу признаков.
- Сопоставление в реальном времени: После захвата реальной сцены камерой система анализирует визуальные признаки в кадре и сопоставляет их с предварительно сохраненной базой признаков модели.
- Расчет позиции: По совпадающим точкам рассчитывается 6DoF-позиция объекта в 3D-пространстве, что обеспечивает точное выравнивание виртуального контента относительно объекта.
- Непрерывное отслеживание: Даже при частичном перекрытии объекта или его перемещении система может поддерживать отслеживание за счет оставшихся видимых опорных точек.
Ключевые механизмы
- Локальная обработка: Все вычисления выполняются на устройстве, модель и контент управляются разработчиком, обеспечивая оффлайн-работоспособность.
- Зависимость от текстуры: Поверхность объекта должна иметь богатую текстуру или геометрические детали. Однотонные или гладкие поверхности (например, стекло, металл) отслеживаются с трудом.
- Формат модели: Поддерживается только формат OBJ. Модель должна включать MTL-файл материалов и как минимум одну текстуру (JPEG/PNG). Пути к файлам должны быть относительными (абсолютные пути или пробелы не допускаются).
Технические ограничения
- Тип объекта: Поддерживаются только жесткие объекты (не деформирующиеся), преимущественно с выпуклой геометрией (без большого количества отверстий).
- Диапазон размеров: Рекомендуемый размер объекта — от 10 см до 2 м. Слишком маленькие или большие объекты влияют на их видимость на естественном расстоянии взаимодействия.
- Требования к среде: Технология зависит от условий освещения. Слишком темная или переэкспонированная сцена затрудняет обнаружение или приводит к потере трекинга.
Результаты и ожидания
Функция отслеживания объектов опирается на текстуру самого объекта для сопоставления визуальных признаков, поэтому достижимые результаты также имеют некоторые ограничения. Понимание этих результатов поможет вам установить разумные критерии тестирования в процессе разработки.
Идеальные результаты
- Точное привязывание: Виртуальный контент точно выровнен по границам 3D-объекта.
- Реакция в реальном времени: Сверхнизкая задержка от загрузки модели до успешного обнаружения.
- Устойчивость к перекрытию: Отслеживание сохраняется даже при частичном перекрытии объекта (например, на 30%).
- Поддержка множества ракурсов: Виртуальный контент продолжает следовать за объектом при его повороте на 360° или при наблюдении с разных точек зрения.
Неидеальные ситуации и способы их устранения
| Явление | Причина | Восприятие пользователем | Краткое решение (подробнее в следующих разделах) |
|---|---|---|---|
| Не распознается | Недостаток текстуры модели, неверный путь, кодировка файла не UTF-8 | Виртуальный контент не отображается | Оптимизировать текстуру модели, проверить формат файлов и пути |
| Дрожание трекинга | Резкие изменения освещения, блики на поверхности объекта | Заметное дрожание виртуального объекта | Контролировать освещение, избегать отражающих поверхностей |
| Частая потеря трекинга | Быстрое движение объекта или полное его перекрытие | Мерцание/исчезновение виртуального объекта | Увеличить размер модели или использовать слияние с данными движения |
| Ошибка загрузки | Ошибка формата OBJ/MTL файлов, отсутствие текстуры | Невозможно инициализировать трекер | Проверить спецификации модели, обратиться к официальным примерам |
Метод проверки ожидаемых результатов
- Этап разработки: Используйте пример
HelloARObjectTracking, импортируйте официальные тестовые модели (и создайте физические прототипы) для проверки базовой функциональности. - Этап тестирования: Тестируйте стабильность трекинга в реальных условиях при разном освещении, с разных ракурсов и при различной степени перекрытия объекта.
Заключение и расширение возможностей
Отслеживание 3D объектов реализуется через локальную обработку визуальных признаков модели и подходит для оффлайн AR-приложений, работающих с неплоскими объектами. Разработчикам необходимо обеспечить соответствие модели формату и уделять внимание качеству окружающей среды и текстуры объекта. В следующей главе подробно рассматриваются подготовка модели и методы оптимизации.