Table of Contents

Введение в отслеживание 3D объектов

Помимо плоских объектов, EasyAR также предоставляет функционал отслеживания 3D объектов. В этой статье рассматриваются ключевые принципы, ожидаемые результаты и потенциальные ограничения технологии отслеживания 3D объектов, что поможет разработчикам понять сферу её применения.

Основные принципы

Отслеживание 3D объектов реализуется за счет распознавания и отслеживания трехмерных объектов реального мира (таких как игрушки, скульптуры, промышленные детали) для наложения AR-контента. Основной процесс выглядит следующим образом:

Технологический процесс

  1. Подготовка модели: Разработчик предоставляет файл 3D-модели отслеживаемого объекта (в формате Wavefront OBJ). Система загружает модель локально, извлекает визуальные признаки модели с различных ракурсов и генерирует уникальную базу признаков.
  2. Сопоставление в реальном времени: После захвата реальной сцены камерой система анализирует визуальные признаки в кадре и сопоставляет их с предварительно сохраненной базой признаков модели.
  3. Расчет позиции: По совпадающим точкам рассчитывается 6DoF-позиция объекта в 3D-пространстве, что обеспечивает точное выравнивание виртуального контента относительно объекта.
  4. Непрерывное отслеживание: Даже при частичном перекрытии объекта или его перемещении система может поддерживать отслеживание за счет оставшихся видимых опорных точек.

Ключевые механизмы

  • Локальная обработка: Все вычисления выполняются на устройстве, модель и контент управляются разработчиком, обеспечивая оффлайн-работоспособность.
  • Зависимость от текстуры: Поверхность объекта должна иметь богатую текстуру или геометрические детали. Однотонные или гладкие поверхности (например, стекло, металл) отслеживаются с трудом.
  • Формат модели: Поддерживается только формат OBJ. Модель должна включать MTL-файл материалов и как минимум одну текстуру (JPEG/PNG). Пути к файлам должны быть относительными (абсолютные пути или пробелы не допускаются).

Технические ограничения

  • Тип объекта: Поддерживаются только жесткие объекты (не деформирующиеся), преимущественно с выпуклой геометрией (без большого количества отверстий).
  • Диапазон размеров: Рекомендуемый размер объекта — от 10 см до 2 м. Слишком маленькие или большие объекты влияют на их видимость на естественном расстоянии взаимодействия.
  • Требования к среде: Технология зависит от условий освещения. Слишком темная или переэкспонированная сцена затрудняет обнаружение или приводит к потере трекинга.

Результаты и ожидания

Функция отслеживания объектов опирается на текстуру самого объекта для сопоставления визуальных признаков, поэтому достижимые результаты также имеют некоторые ограничения. Понимание этих результатов поможет вам установить разумные критерии тестирования в процессе разработки.

Идеальные результаты

  • Точное привязывание: Виртуальный контент точно выровнен по границам 3D-объекта.
  • Реакция в реальном времени: Сверхнизкая задержка от загрузки модели до успешного обнаружения.
  • Устойчивость к перекрытию: Отслеживание сохраняется даже при частичном перекрытии объекта (например, на 30%).
  • Поддержка множества ракурсов: Виртуальный контент продолжает следовать за объектом при его повороте на 360° или при наблюдении с разных точек зрения.

Неидеальные ситуации и способы их устранения

Явление Причина Восприятие пользователем Краткое решение (подробнее в следующих разделах)
Не распознается Недостаток текстуры модели, неверный путь, кодировка файла не UTF-8 Виртуальный контент не отображается Оптимизировать текстуру модели, проверить формат файлов и пути
Дрожание трекинга Резкие изменения освещения, блики на поверхности объекта Заметное дрожание виртуального объекта Контролировать освещение, избегать отражающих поверхностей
Частая потеря трекинга Быстрое движение объекта или полное его перекрытие Мерцание/исчезновение виртуального объекта Увеличить размер модели или использовать слияние с данными движения
Ошибка загрузки Ошибка формата OBJ/MTL файлов, отсутствие текстуры Невозможно инициализировать трекер Проверить спецификации модели, обратиться к официальным примерам

Метод проверки ожидаемых результатов

  • Этап разработки: Используйте пример HelloARObjectTracking, импортируйте официальные тестовые модели (и создайте физические прототипы) для проверки базовой функциональности.
  • Этап тестирования: Тестируйте стабильность трекинга в реальных условиях при разном освещении, с разных ракурсов и при различной степени перекрытия объекта.

Заключение и расширение возможностей

Отслеживание 3D объектов реализуется через локальную обработку визуальных признаков модели и подходит для оффлайн AR-приложений, работающих с неплоскими объектами. Разработчикам необходимо обеспечить соответствие модели формату и уделять внимание качеству окружающей среды и текстуры объекта. В следующей главе подробно рассматриваются подготовка модели и методы оптимизации.