Table of Contents

Введение в 3D object tracking

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

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

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

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

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

Основной механизм

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

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

  • Тип объекта: поддерживаются только жесткие объекты без деформации, преимущественно с выпуклой геометрией и без большого количества отверстий.
  • Диапазон размеров: рекомендуемый размер объекта от 10 cm до 2 m. Слишком маленькие или слишком большие объекты влияют на видимость объекта на естественной дистанции опыта.
  • Требования к среде: зависит от условий освещения. Слишком темная или пересвеченная среда может затруднить detection или привести к потере tracking.

Эффекты и ожидаемые результаты

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

Идеальный эффект

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

Неидеальные ситуации и меры

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

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

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

Итоги и расширение

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