Ответ 1
Поскольку приложения AR часто запускаются на мобильных устройствах, вы можете рассмотреть и другие функции: детектор/дескриптор:
Я разрабатываю SDK дополненной реальности на OpenCV. У меня возникли некоторые проблемы, чтобы найти учебники по этой теме, какие шаги следует выполнять, возможные алгоритмы, быстрое и эффективное кодирование для работы в реальном времени и т.д.
До сих пор я собрал следующую информацию и полезные ссылки.
Загрузите последнюю версию.
Вы можете найти руководства по установке здесь (платформы: linux, mac, windows, java, android, iOS).
Online documentation.
Для начинающих здесь - это простой код дополненной реальности в OpenCV. Это хорошее начало.
Для тех, кто ищет хорошо продуманный современный SDK, я нашел несколько общих шагов, которые должны иметь каждая дополненная реальность, основанная на отслеживании маркеров, с учетом функций OpenCV.
Основная программа: создает все классы, инициализацию, захватывает кадры из видео.
Класс AR_Engine: управляет частями приложения дополненной реальности. Должно быть два основных состояния:
Также должны быть некоторые алгоритмы для поиска положения и ориентации камеры в каждом кадре. Это достигается путем обнаружения преобразования гомографии между маркером, обнаруженным в сцене, и двумерным изображением маркера, который мы обработали в автономном режиме. Объяснение этого метода здесь (стр. 18). Основные шаги для оценки позы:
Загружать встроенные параметры камеры. Ранее извлекается офлайн через калибровку.
Загрузите шаблон (маркер) для отслеживания: это изображение планарного маркера, который мы будем отслеживать. Необходимо извлечь функции и генерировать дескрипторы (ключевые точки) для этого шаблона, чтобы позже мы могли сравнить с функциями из сцены. Алгоритмы для этой задачи:
Для каждого обновления кадра запустите алгоритм обнаружения извлечения функций из сцены и создайте дескрипторы. Опять у нас есть несколько вариантов.
Найдите соответствие между шаблоном и дескрипторами сцены.
Найдите Homography матрицу из этих совпадений. RANSAC может использоваться раньше, чтобы найти листы/выбросы в наборе совпадений.
Извлечь Позы камеры из гомографии.
Поскольку приложения AR часто запускаются на мобильных устройствах, вы можете рассмотреть и другие функции: детектор/дескриптор:
В общем случае, если вы можете выбрать маркеры, вы сначала обнаруживаете квадратную цель, используя краевой детектор, а затем либо Hough, либо просто контуры - затем идентифицируйте конкретный маркер из внутреннего дизайна. Вместо того, чтобы использовать общий точечный соединитель.
Посмотрите Aruco на хорошо написанный примерный код.