Table of Contents

Введение в отслеживание плоских изображений

Отслеживание плоских изображений (Planar Image Tracking) используется для обнаружения и отслеживания текстурированных плоских объектов в повседневной жизни. Под "плоскими" объектами понимаются предметы с ровной поверхностью, такие как книги, визитки, плакаты или даже крупные цели, например, граффити-стены. Эти объекты обладают плоской поверхностью и богатой, неповторяющейся текстурой.

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

Основной процесс

Понимание этих принципов поможет разработчикам оптимизировать распознавание и избежать распространенных проблем.

Основной процесс

  1. Этап загрузки и предварительной обработки:

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

    Слева: изображение с богатой текстурой, легко распознается (5 звезд). Справа: простые элементы, недостаток текстуры, сложно распознать (1 звезда).
    Рекомендуем использовать целевые изображения с качеством 4-5 звезд.

  2. Этап обнаружения и отслеживания в реальном времени:

    • После захвата кадров камерой система анализирует особые точки текущего изображения и сопоставляет их с базой признаков целевого изображения.
    • С помощью алгоритма PnP (Perspective-n-Point) вычисляется поза (положение + вращение) изображения в 3D-пространстве.
    • После успешного обнаружения цели система переходит в режим отслеживания. Она сравнивает последовательные кадры и анализирует движение между ними, обеспечивая отслеживание в реальном времени.
  3. Оптимизационные механизмы:

    • Восстановление после потери отслеживания: Система автоматически перезапускает обнаружение цели после кратковременного перекрытия или сильного размытия при быстром движении.
    • Одновременное отслеживание нескольких целей: Параметр Simultaneous Number контролирует количество целей, которые один Tracker может отслеживать одновременно, позволяя отслеживать несколько целей одним вызовом Tracker.

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

  • Поддерживаются только плоские изображения (не 3D-объекты или динамический контент).
  • Зависит от освещения: слишком темная или пересвеченная сцена затрудняет обнаружение или приводит к потере отслеживания.
  • При обнаружении камера не должна быть слишком далеко от цели. Целевое изображение должно занимать не менее 30% площади кадра.
  • Количество одновременно отслеживаемых целей ограничено производительностью устройства. Обычно на ПК можно отслеживать более 10 целей, на мобильных устройствах — 4-6 плоских целей.

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

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

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

  • Точное наложение: Виртуальные объекты точно совмещены с краями изображения.
  • Быстрое обнаружение: Сверхнизкая задержка от загрузки приложения до успешного обнаружения.
  • Стабильное отслеживание: Отслеживание сохраняется при вращении, перемещении или частичном перекрытии изображения.

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

Явление Причина Восприятие пользователя Краткое решение (подробнее в следующих разделах)
Не распознается Недостаток текстуры, слишком маленький размер Виртуальный объект не появляется Оптимизировать целевое изображение, проверить распознаваемость инструментом
Дрожание отслеживания Цель занимает слишком малую площадь кадра, недостаточно точек для отслеживания Заметное дрожание виртуального объекта Избегать слишком большого расстояния до цели, установить режим отслеживания PreferQuality
Частая потеря цели Быстрое движение цели или полное перекрытие Мерцание/исчезновение виртуального объекта Стабилизировать устройство/целевое изображение, увеличить размер цели
Пропуск целей при множественном отслеживании Ограничения производительности оборудования Некоторые целевые изображения не отслеживаются Установить разумный параметр Simultaneous Number, учитывая производительность

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

  • Этап разработки: Использовать веб-камеру ПК в режиме Play редактора Unity для предварительного просмотра.
  • Этап тестирования: Использовать официальные сцены Sample или создать свои тестовые изображения, охватывающие различные условия освещения/угла/расстояния.

Лучшие практики для целевых изображений

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

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

Базовые требования

  • Формат изображения: Рекомендуется JPG или PNG.
  • Обработка альфа-канала: Если изображение имеет прозрачность (альфа-канал), система обработает его как белый фон. Если это нежелательно, избегайте прозрачности.

Ключевые моменты оптимизации

  1. Обеспечьте богатую текстуру и детализацию
    Шаблонное изображение должно иметь достаточное количество деталей и перепадов краев. Избегайте однотонных заливок или простых геометрических фигур.

    Слева: изображение с богатой текстурой, может быть обнаружено. Справа: однотонное изображение, не может быть обнаружено.

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

    Пример: изображение с повторяющимся паттерном не может быть отслежено.

  3. Контент должен заполнять кадр
    Основной объект должен занимать максимальную площадь изображения, минимизируя пустые области.

    Слева: изображение с заполненным объектом легче обнаружить и отследить. Справа: изображение с избытком пустого пространства.

  4. Контролируйте соотношение сторон
    Изображение не должно быть слишком вытянутым. Длина короткой стороны должна составлять не менее 20% от длины длинной стороны.

    Пример: вытянутое изображение сложно отслеживать.

  5. Выберите подходящее разрешение
    Рекомендуемый диапазон: От SQCIF (128×96) до QVGA (1280×960).
    Слишком маленькое: Недостаточно особых точек, снижается вероятность распознавания.
    Слишком большое: Неоправданно увеличивает затраты памяти при генерации данных Target и время вычислений.