Мы продолжаем публиковать материалы о работе нашей технологической платформы Arcona AR Core.
В прошлый раз мы рассказали о двух основных подходах к глобальному позиционированию AR контента, которые мы используем для достижения максимальной точности и надежности размещения моделей в различных типах ландшафта.
На этот раз мы поговорим о процессе создания высокоточных пространственных карт. Это виртуальный слепок местности, сделанный с помощью специального ПО.
В этот цифровой слой мы может дистанционно интегрировать любые цифровые модели без использования физических маркеров. Сегодня это наиболее точный, гибкий и надежный способ размещения геолокационного контента.
Наши 3D карты реализованы в виде набора независимых пространственных якорей, каждый из которых состоит из визуальных и геометрических элементов.
Такой набор якорей создается из пакета выборочных данных, полученных мобильным устройством со стандартным набором датчиков: камера, GPS, компас, акселерометр, гироскоп.
Обработка полученных данных и генерация карты может производится на мощном сервере для достижения предельного качества, либо прямо на месте, с помощью вычислительных возможностей самого мобильного устройства. Это зависит от заданных требований к карте.
Для создания пространственных карт нами разработан программный комплекс, состоящий из следующих компонентов:
мобильное приложение для сбора и передачи данных датчиков устройства;
SLAM-движок;
оценщик точности преобразования из локальной системы координат мобильного устройства в мировую систему координат (далее LWT);
создатель пространственных якорей;
блок восприятия для распознавания пространственных якорей.
Для демонстрации работы программного комплекса мы публикуем видеоролики, которые иллюстрируют два подхода к определению LWT, основного этапа создания 3D карт.
Условные обозначения:
В левой части этих видео показан входной видеопоток. В верхнем углу синим текстом отображается следующая информация:
- предполагаемое состояние надежности LWT: пусто (не установлено, идентичность), слабое, хорошее, сильное;
- количество принятых GPS-сообщений;
- количество распознанных пространственных якорей;
- размер буфера пространственного распознавания (буфер содержит предварительно распознанные кандидаты);
- количество пространственных якорей, загруженных в данный момент.
В правой части окна отображаются траектории:
- желтая - SLAM-траектория в собственной локальной системе координат (LWT – идентичность);
- синяя - LWT оценивается по данным GPS и компаса;
- белая - LWT оценивается путем распознавания пространственных якорей.
- Зеленые кружки (с красными черточками) - полученные GPS-позиции; для каждой из них красная черточка указывает на текущее направление оси камеры по компасу.
- Фиолетовые кружки - созданные и используемые пространственные якоря.
Коррекция GPS с помощью SLAM-движка Arcona на обширных территориях
Корректное преобразование из локальной системы координат устройства в мировую систему координат, используя только информацию GPS и компаса.
Первый ролик относится к случаю обширных территорий без достаточно ценных статичных объектов, где GPS обеспечивает по крайней мере удовлетворительную точность (парки, леса, поля и так далее). В этом случае правильная LWT может быть оценена с использованием только информации GPS и компаса.
После принятия достаточного количества GPS-сообщений картирование становится устойчивым, а результирующая траектория демонстрирует более стабильное поведение, чем исходный GPS-сигнал.
Обратите внимание, что оригинальная SLAM-траектория (желтая) страдает от небольшого дрейфа, а отображенная (синяя) - почти нет.
Коррекция GPS с использованием трехмерной картографии с пространственными якорями на базе движка Arcona SLAM
Создание 3D карты для корректного преобразования локальной системы координат устройства в мировую систему координат для пользователей AR.
Второй ролик иллюстрирует случай компактной территории с рядом ценных статичных объектов, которые позволяют генерировать 3D карту для решения задачи LWT. Созданные и используемые пространственные якоря изображены фиолетовыми кружками.
Первоначально траектория (синий цвет) отображается только на основе входящих сообщений GPS и компаса (как и в предыдущем видео) и является не совсем корректной, так как GPS сильно искажена.
Ситуация меняется после распознавания первого пространственного якоря.
Траектория, отображенная с помощью пространственных якорей, показана белым цветом. В левой нижней части кадра показан последний результат распознавания. Левое изображение соответствует якорю, а правое - изображению с камеры устройства.
Распознавание пространственных якорей
Одной из ключевых проблем в навигации по 3D картам является надежность распознавания пространственных якорей (мест). Наш подход обеспечивает недорогое распознавание якорей и может использоваться даже на не очень мощных мобильных устройствах (например, iPhone 6s).
Вот некоторые результаты тестирования нашего метода.
Для тестирования была выбрана довольно длинная (около 100 м) стена без явных особенностей, за исключением некоторых граффити.
Тестовая задача - распознавание различных фрагментов стены.
Результат: первоначально стена была отобрана с помощью мобильного телефона, затем был создан набор пространственных якорей. Эти якоря были идентифицированы во входящем видеопотоке во время повторного прохода вдоль стены.
Избранные примеры результатов распознавания
Для наглядности в каждой паре изображений выделена одна из совпадающих областей.
Comments