В современном мире набирают популярность приложения, использующие дополненную реальность. Они применяются почти во всех сферах жизни. Существует несколько готовых решений для разработчиков программного обеспечения, которые помогают достаточно просто реализовать приложения с подобным функционалом.
В данной статье будут рассмотрены Vuforia SDK и его возможности, которые предлагает данный пакет разработчикам для работы с маркерами отслеживания. Также рассмотрен процесс отслеживания различных видов мишеней, таких как мишень-изображение, мишень-объект и мишень-текст.
Цель исследования: рассмотреть Vuforia SDK и его возможности, которые предлагает данный пакет разработчикам для работы с маркерами отслеживания, а также рассмотреть процесс отслеживания различных видов мишеней, таких как мишень-изображение, мишень-объект и мишень-текст.
Объект исследования
Платформа Vuforia является продуктом компании Qualcomm Technologies, Inc. Это одна из лучших и наиболее креативных фирменных программных платформ AR, которая использует технически эффективные и высококачественные технологии распознавания изображений на основе компьютерного зрения в устройствах для соединения физического мира с цифровой средой. Это в основном набор для разработки программного обеспечения (SDK), который предоставляет инструменты для разработки приложений дополненной реальности.
Vuforia SDK предоставляет следующие возможности:
1) обратные вызовы для событий (пример: доступно новое изображение с камеры);
2) высокоуровневый доступ к аппаратным блокам (пример: запуск/остановка камеры);
3) несколько отслеживаемых объектов (типы отслеживания):
– изображения [1];
– множественные мишени [2];
– цилиндрические мишени [3];
– маркеры кадра;
– объектная мишень [4];
4) взаимодействие с реальным миром: виртуальные кнопки.
Ключевые компоненты AR:
1) данные камеры;
2) данные о местоположении;
3) сенсорные данные;
4) наложения компьютерной графики.
Данные камеры – это данные отображения в реальном времени с камеры android.
Для некоторых приложений android требуются текущие данные о местоположении мобильного устройства, на основе которых будет отображаться соответствующая информация.
Данные датчиков являются одним из основных ключевых компонентов приложений AR. При использовании камеры устройства android для получения фокуса конкретного изображения или объекта важным фактором, который следует учитывать, будет ориентация устройства android.
Таким образом, объединение всех данных образует графическое наложение над каналом камеры [5].
Особенности отслеживания мишеней
Vuforia использует некоторые вариации отслеживания природных особенностей. Естественными чертами на изображениях обычно являются резкие детали, такие как высококонтрастные углы или кончики треугольника (рис. 1) [6, 7].
Рис. 1. Демонстрация определения объектов
Четыре фигуры демонстрируют то, что зарегистрировано как объект Vuforia. Объекты отмечены красными кругами. Обратите внимание на круг, не содержащий никаких элементов, так как нет углов, острых или заостренных деталей.
Данный метод был введен в начале 1980-х годов и основывается на разделении изображения на несколько разделов. Каждый участок смещается в нескольких направлениях, и измеряется изменение интенсивности изображения (значение RGB). Например, если участок изображения содержит прямую линию (или ребро, как его чаще называют), то сдвиг вдоль ребра приведет к небольшим общим изменениям интенсивности изображения. Однако сдвиг перпендикулярно краю вызовет большие изменения. Угол или пятно вызовут большие изменения при смещении в любом направлении. Рассматривая эти изменения интенсивности изображения, алгоритм отслеживания объектов может определить, что является объектом, и сопоставить положения этих объектов на изображении.
В результате алгоритм создает шаблон объектов. В базе платформы Vuforia эта модель особенностей – это то, что определяет цель. Когда цель обнаруживается приложением, объекты сопоставляются с предопределенными шаблонами объектов и оценивается положение этой цели. Поза – это общий термин, используемый в области компьютерного зрения. Это комбинация положения и ориентации, часто по отношению к 2D системе координат. В случае Vuforia система координат состоит из шаблона, созданного отслеживанием природных объектов.
Расширенное отслеживание
Расширенное отслеживание – это функция, которая позволяет Vuforia отслеживать цели, используя природные объекты, окружающие ее. С этими природными объектами Vuforia может построить карту объектов, окружающих цель и поддерживающих обнаружение, даже если маркер не находится в поле зрения камеры (рис. 2).
При включенном расширенном отслеживании Vuforia может отслеживать цели даже тогда, когда соответствующая цель находится вне поля зрения. На этом изображении назначенной целью является печатное изображение, прикрепленное к доске.
Создание и обновление карты могут потребовать очень больших вычислительных затрат.
Рис. 2. Демонстрация расширенного отслеживания
Процесс распознавания различных видов мишеней. Распознавание изображений
С помощью Диспетчера целей можно определить цель изображения, используя любое изображение по выбору [8]. Является ли изображение хорошей мишенью – это другой вопрос. Целевые объекты изображения определяются на основе естественных объектов, которые извлекаются из целевого изображения и затем сравниваются во время выполнения с объектами в изображении камеры в реальном времени. Звездный рейтинг цели колеблется между 1 и 5 звездами, хотя цели с низким рейтингом (1 или 2 звезды) обычно могут обнаруживаться и отслеживаться хорошо. Для достижения наилучших результатов необходимо стремиться к целям с 4 или 5 звездами. Состав и количество объектов являются решающими факторами в том, насколько легко Vuforia может обнаружить цель изображения. Например, цели, показанные на рис. 3, демонстрируют, что Vuforia считает «хорошей» и «плохой» целью.
Рис. 3. Хорошая и плохая мишени
Мишень изображения машины скорой помощи с высокой степенью обнаруживаемости указывает, что это легко отслеживается. Желтые крестики представляют обнаруженные объекты.
Более конкретно – хорошие цели содержат большое количество объектов, расположенных как можно более уникально. Изображение плотной 2D-сетки может содержать много объектов, но, поскольку шаблон повторяющийся, каждая секция этого изображения будет неразличима Vuforia. Это делает невозможным определение для программного обеспечения, что является верхом, низом и др. Следовательно, такие изображения станут плохими целями. Изображения круглых фигур без острых краев также будут плохими целями, просто потому, что нет никаких функций для обнаружения Vuforia. Обратите внимание на полное отсутствие обнаруженных объектов (нет желтых крестиков).
Изображение машины скорой помощи было сочтено Vuforia весьма заметным, поэтому его следует использовать в качестве мишени. Противоположное можно сказать об образе черного круга. Простой тест, показанный на рис. 4, демонстрирует обнаружение изображения этих двух целей.
Рис. 4. Демонстрация обнаружения
Обе цели дополняются текстом, информирующим пользователя, если изображение было обнаружено. Текст появится только в том случае, если цель обнаружена. Цель машины скорой помощи обнаружена немедленно из-за ее высокой степени обнаруживаемости, тогда как черный круг не обнаружен вообще.
Распознавание объектов
В то время как Vuforia использует естественное отслеживание объектов в своей основе, процесс создания объектов-мишеней сильно отличается от создания мишеней-изображений [9]. Целевой объект изображения отображает объекты в 2D путем анализа пикселей файла изображения, предоставленного целевому менеджеру. 3D-объект имеет третью ось для рассмотрения. Мишени объектов позволяют пользователям просматривать дополненный объект с нескольких ракурсов, в то время как объект поддерживает его увеличение. Прежде чем увеличивать 3D-объекты, их нужно как-то сканировать.
Компания Vuforia разработала приложение для сканирования, которое способно сканировать относительно небольшие объекты, используя определенную «плоскость сканирования», на которой расположен объект (рис. 5, а) [10]. Сканер объектов Vuforia – это приложение для android, используемое для сканирования физического 3D-объекта. Сканер объектов выдает объектные данные – файл, содержащий исходные данные, необходимые для определения целевого объекта в Диспетчере целевых объектов. Сканер позволяет создавать, тестировать и редактировать OD-файлы. Он обеспечивает визуализацию объектных особенностей, а также их покрытие по всему объекту. Объекты следует сканировать при умеренно ярком и рассеянном освещении. Необходимо избегать прямого попадания света. Сканирование объектов с отражающими поверхностями при прямом освещении может привести к появлению областей без точек слежения. Поверхности объекта должны быть равномерно освещены и не содержать теней, вызванных другими объектами или людьми. Использование световых коробов и диффузоров помогает устранить прямое освещение и свести к минимуму спектральные отражения. Следует сканировать модель в среде, свободной от фонового шума. Это предотвращает введение свойств, которые не являются частью модели. Сканирование в загроможденных средах может создать ложные точки отслеживания. Можно вращать объект на 360 градусов и сканировать его без необходимости физического перемещения устройства. Таким образом, приложение сканера способно определить ориентацию каждого обнаруженного объекта в 3D, поскольку плоскость сканера работает как пространственная привязка. На самом деле «сканирующая плоскость» (или цель распознавания объекта) – это цель изображения, которая при обнаружении предоставляет сканеру координаты XYZ обнаруженных объектов на 3D-объекте. Сканер объектов Vuforia показан на рис. 5.
а) б)
Рис. 5. а) Сканер объектов Vuforia. б) Отслеживание объекта без помощи дополнительных мишеней
Помещая сканируемый объект на цель изображения сканера, сканер Vuforia способен определить XYZ-координату обнаруженного объекта, представленную зеленой точкой [11]. Количество обнаруженных объектов можно просмотреть в верхнем левом углу.
После сканирования объекта его можно добавить в целевую базу данных и использовать для увеличения (рис. 5, б). Vuforia позволяет использовать 20 объектов-мишеней в базе данных одного устройства.
Хотя Vuforia не показала, как именно происходит отслеживание 3D-объектов, изучая предоставленное приложение сканера и их внимание на отслеживание обнаруженных объектов, можно предположить обнаружение точек интереса. Обнаружение точек интереса работает при наборе шаблонов изображений, захватывая внешний вид объекта и предопределенные шаблоны объектов. По мере обнаружения объектов трекером они сравниваются с объектами – точками интереса-изображений шаблона, благодаря чему можно рассчитать ориентацию в пространстве. Как видно на рис. 5, куполообразная сетка с зелеными и серыми прямоугольниками представляет собой покрытие шаблонных изображений и объектов, захваченных в каждом шаблонном изображении.
Заключение
В статье представлены возможности Vuforia SDK. Приведены ключевые компоненты любого приложения дополненной реальности, примеры «хороших» и «плохих» видов маркеров. Дано представление об особенностях отслеживания мишеней на основе естественных природных черт. Подробно рассмотрен процесс распознавания маркеров следующих видов: маркер-изображение и маркер-объект, также приведены графические материалы, поясняющие работу распознавания различных видов целей.