Table of Contents

Совмещение трекинга плоскости с трекингом движения

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

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

Совмещение движений (Motion Fusion) объединяет данные о позиции и ориентации (позе) из трекинга плоского изображения с данными о позе из трекинга движения устройства для получения более надежной оценки позы. Основной процесс:

Синхронизация и взаимодополнение данных

  • Визуальный трекинг: вычисляет позу текущего кадра (позиция + вращение) путем сопоставления характерных точек изображения, но подвержен влиянию перекрытий, размытия или быстрого движения.
  • Трекинг движения: использует данные IMU-датчиков с высокой частотой обновления и выходные данные визуального изображения для получения данных о движении устройства, но подвержен накоплению дрейфовой ошибки.
  • Механизм совмещения:
    • Выравнивание систем координат позы визуального трекинга и позы трекинга движения устройства.
    • Когда целевое изображение четко видно, движение стабильно: приоритет у визуального трекинга. Позы визуального трекинга постоянно передаются в модуль совмещения для коррекции, чтобы уменьшить накопленный дрейф всей системы.
    • Когда целевое изображение потеряно, занимает слишком малую площадь в кадре или происходит быстрое движение: визуальный трекинг не работает, приоритет у трекинга движения. Прогнозирование совмещенной позы на основе текущей позы трекинга движения.

Ключевые технические аспекты

  • Синхронизация временных меток: выравнивание временных меток визуальных кадров и данных трекинга движения для избежания дрожания из-за задержек.
  • Выравнивание систем координат: выравнивание систем координат на основе траекторий визуального трекинга и трекинга движения.
  • Повторное позиционирование (Relocalization): при повторном появлении изображения визуальный трекинг быстро берет управление, корректируя возможную накопленную ошибку и "возвращая" виртуальный объект на правильную позицию.

Применимые сценарии и ограничения

Совмещение движений подходит не для всех сценариев. Оно не применимо в следующих случаях:

  • Целевое устройство не поддерживает функции трекинга движения, такие как ARCore/ARKit. Подробный список поддерживаемых устройств: Поддержка устройств для трекинга движения.
  • Целевое изображение/плоский объект в сцене является динамическим, например, карточка, которую держат в руке.

Во всех остальных сценариях использование совмещения движений значительно улучшит пользовательский опыт трекинга плоского изображения, включая, помимо прочего:

  • Быстрое движение: пользователь быстро перемещает устройство, размытие при движении приводит к сбою трекинга изображения.
  • Исчезновение цели: виртуальное содержимое продолжает отображаться во всей сцене, когда цель покидает кадр или перекрывается динамическими объектами (например, людьми).
  • Удаление от цели: пользователь отдаляет устройство, из-за чего целевое изображение занимает слишком малую площадь в кадре, но трекинг остается стабильным и непрерывным.
  • Условия низкой освещенности: производительность визуального трекинга снижена, требуется поддержание опыта.

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

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

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

  • Более стабильный трекинг: виртуальные объекты не дрожат, не скачут.
  • Плавные переходы: при сбое визуального трекинга изменения совмещенной позы происходят непрерывно и естественно.
  • Устойчивость к помехам: виртуальные объекты продолжают отслеживать движение устройства при потере целевого изображения, его перекрытии или быстром движении устройства.

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

Явление Причина Восприятие пользователем Решение
Изначально не работает Трекингу движения требуется время на инициализацию Содержимое исчезает на начальном этапе UI-подсказка, подтверждающая завершение инициализации трекинга движения системой
Заметный дрейф Накопление системной ошибки, длительное отсутствие визуальной коррекции Виртуальный объект отклоняется от исходной позиции Предложить пользователю сократить время перекрытия или добавить подсказку для повторного позиционирования
Падение производительности Длительная одновременная работа двух функций Падение частоты кадров, подтормаживание Нормальное явление, можно отключить совмещение движений через API

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

Тестирование на поддерживаемом устройстве в реальных условиях:

  1. Навести на изображение, убедиться в стабильности виртуального объекта.
  2. Перекрыть изображение рукой на 2 секунды, перемещая устройство, проверить плавность движения виртуального объекта.
  3. Убрать руку, убедиться, что виртуальный объект быстро возвращается на место без скачков.

Итоги и лучшие практики

Совмещение движений значительно повышает надежность трекинга плоского изображения во многих сценариях, но требует поддержки со стороны оборудования устройства и достаточной производительности. Разработчикам следует избирательно включать эту функцию в зависимости от устройств целевой аудитории и предусматривать схему упрощения (degradation) для малопроизводительных устройств.

API для включения/выключения совмещения движений в реальном времени: