Table of Contents

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

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

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

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

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

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

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

    • Система загружает целевое изображение, извлекает из него множество визуальных feature points, создаёт его feature description и добавляет в базу признаков.
    • Чем богаче текстура изображения, тем легче его распознать и отслеживать. Можно использовать инструмент проверки целевого изображения, чтобы заранее проверить распознаваемость вашей цели.

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

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

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

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

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

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

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

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

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

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

Неидеальные ситуации и действия

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

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

  • Этап разработки: используйте камеру PC через Play Mode Unity Editor для предварительного просмотра.
  • Этап тестирования: используйте официальную sample-сцену или собственное тестовое изображение, чтобы покрыть разные условия освещения, угла и расстояния.

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

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

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

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

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

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

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

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

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

    Изображение с повторяющимся паттерном нельзя отслеживать

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

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

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

    Слишком узкие изображения трудно отслеживать

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