УДК 004.8
Стриженок А.С.
специалист, директор по технологиям и инновациям Компания ООО «АвиаВижн» (г. Москва, Россия)
Шалаев А.В.
специалист, разработчик глубокого и машинного обучения Компания ООО «АвиаВижн» (г. Москва, Россия)
Полянский Н.А.
специалист, разработчик глубокого и машинного обучения Компания ООО «АвиаВижн» (г. Москва, Россия)
ИССЛЕДОВАНИЕ ПРИМЕНЕНИЯ НЕЙРОННЫХ СЕТЕЙ
ДЛЯ ПОВЫШЕНИЯ ТОЧНОСТИ SLAM МЕТОДИКИ В ЗАДАЧАХ ОДНОВРЕМЕННОЙ ЛОКАЛИЗАЦИИ И КАРТОГРАФИРОВАНИЯ
Аннотация: данная статья предназначена для того, чтобы исследовать методы повышения автономности беспилотных летательных аппаратов. Похожий вопрос уже был решён, но для наземных робототехнических систем. Simultaneous localization and mapping (SLAM), означает одновременную локализацию и картирование. Метод разработанный ещё в 90-х, используемый в автономной навигации для роботизированных систем в неизвестных средах, в которых невозможна работа GPS, ГЛОНАСС и других подобных систем. Популярные методы приближенного решения включают фильтр частиц, расширенный фильтр Калмана, ковариационное пересечение и GraphSLAM. Алгоритмы SLAM основаны на концепциях вычислительной геометрии и компьютерного зрения, успешно используются в навигации роботов, роботизированном картографировании и одометрии. В данной работе
представлен SLAM алгоритм, который основывается на СНС (сверточных нейронных сетях), предлагаемый нами подход обеспечивает легко расширяемую и универсальную систему повышения точности SLAM методики.
Ключевые слова: SLAM, автономная система, коптер, нейронные сети, СНС, LIDAR, точное позиционирование.
Введение
Задачи определения местоположения, в основе своей, опираются на два компонента: картографическую систему и систему позиционирования. Картографическая система предоставляет физическую карту пространства, а система позиционирования определяет местоположение на карте. Сервисы определения местоположения на открытом воздухе развивались в течение последних нескольких десятилетий благодаря хорошо зарекомендовавшим себя платформам (например, Яндекс Карты, Google Maps для картографирования и ГНСС типа GPS/ГЛОНАСС для позиционирования). В отличие от данных, сервисы определения местоположения в помещениях не получили должного развития из-за отсутствия надежных систем картографирования и позиционирования, так как ГНСС, как известно, не работает в помещениях, а также подвержено ошибкам окружающей среды. GPS/Глонасс навигация сама по себе не работает эффективно в сценариях позиционирования внутри помещений.
Исследуемая методика
В основе нашей методики лежит использование существующих подходов SLAM, дополненных алгоритмами на основе нейронных сетей, которые позволяют повысить точность составления карты внутреннего пространства, собирая данные в режиме реального времени. В данном случае используется беспилотная платформа в виде коптера для генерации подробной карты окружающей среды и набора обучающих данных для повышения точности как позиционирования, так и картографирования в неизвестной местности. Одной из главных проблем
существующих методик SLAM является недостаточная точность как позиционирования, так и картографирования в условия ограниченных пространств. Наша система использует данные для обучения модели с целью повышения точности локализации коптера на вновь созданной карте: с точностью, доходящей до нескольких см в неоднородной среде с многочисленными помехами. В данном исследовании мы стремимся решить обе указанные проблемы. Мы предлагаем основанный на данных подход для позиционирования в помещении, который может неявно моделировать влияние окружающей среды, вызванное детекторами и препятствиями, и, следовательно, значительно улучшить эффективность позиционирования в помещении. При этом мы опираемся на последние тенденции в исследованиях глубокого обучения, которые объединяют знания о предметной области и нейронных сетей для решения специфических для данной области проблем.
В основе методики лежит алгоритм локализации на основе глубокого обучения. Алгоритм, который может преодолеть традиционные ограничения подходов к локализации, основанный на использовании ССВ (сверточных нейронных сетей), частично устойчивых к изменениям масштаба, смещениям, поворотам, смене ракурса и другим искажениям. Как уже было указано ранее -в аппаратной части стендового образца лежат методы данных лидарного сканирования (LIDAR датчики) и одометрии, которые помогают строить карту окружающей среды, ориентируясь дополнительно и на оптических данных. Алгоритм поможет превзойти современные методы локализации на основе только лишь SLAM технологии, в условиях отсутствия сигналов ГНСС датчиков.
Аппаратно-программная часть (АПК), работая совместно и интегрировано, позволяет устройствам, таким как коптеры, получать доступ к карте окружающей среды и оценивать свое положение относительно этой карты с более высокой точностью.
Локализация на основе глубокого обучения
Как уже было указано, система работает в два этапа: картирование и локализация. На этапе картирования дрон, оснащенный LIDAR системой для сбора информации об окружении, совершает автономную пролет по пространству, чтобы составить карту окружающей среды. Одновременно встроенная система на основе одноплатного компьютера Jetson nano, установленная на дроне собирает и обрабатывает полученные данные для последующего обучения. В конце пролета - платформа генерирует карту окружения и логи накопленных данных, собранных в разных местах. Данные помечаются метками и синхронизируются, на выходе проводится оценка точности картографирования. Алгоритм использует логи, сгенерированные дроном, для обучения модели нейронной сети. Во время исследования нашей методики, мы собрали и оценили местоположения более 1 тысячи точек по 2 различным сценариям в помещении площадью 250 кв. метров. Что позволило сделать предварительную оценку эффективности исследуемого алгоритма. Модель, после обучения, может использоваться для определения более точного местоположения при использовании аналогичной данной системе.
Проектирование глубокой нейронной сети
Наша цель - использовать перевод изображений на основе глубокого обучения и адаптировать его для решения задач определения местоположения в помещении. Мы хотим спроектировать модель нейронной сети таким образом, чтобы она могла создавать последовательное неявное представление окружающей среды, а затем использовать это представление для вывода правильного местоположения коптера. В частности, мы разрабатываем алгоритм, который использует существующие исследования в области позиционирования в сочетании с нейронными сетями для обеспечения высокой точности позиционирования внутри помещений.
Исследуемая архитектура нейронной сети:
Наша архитектура вдохновлена реализацией генератора Resnet, подстроенной под наши требования. При обучении глубоких архитектур нейросетей их эффективность часто оказывается хуже менее глубоких моделей. Причем, с добавлением новых слоев ошибка растет и на тестовом и на тренировочном множествах, то есть, существует не проблема переобучения, а ухудшение эффективности сети. Вывод здесь один - недостаточная эффективность современных алгоритмов обучения. Задача состоит в использовании существующего подхода для построения архитектуры глубоких сетей, которые можно обучать современными методами. В использовании ResNet выделяем преимущество в виде глубокого остаточного обучения (deep residual learning), которое легло в основу данной сети. Данная сеть состоит из блоков со стандартными слоями, идущими друг за другом, но у данного блока есть свой путь, который напрямую связывает вход с выходом. В результате,
выходное значение блока формируется, таким образом:Ук ~ F +Хк
В чем преимущество такого подхода. Слои, составляющие функцию Р должны аппроксимировать не всю функцию целиком, а лишь ее остаток.
Отсюда и название таких сетей - остаточные сети. В данном остаточном блоке нам достаточно обучить сеть воспроизводить не весь сигнал, а только отличия входных значений для получения требуемой функции.
Схема. 1. Остаточная нейронная сеть
Представляем схему работы алгоритма, в которой представлена система SLAM в реальном времени, основанная на сверточных нейронных сетях (СНС). Алгоритм можно разделить на два различных конвейера: один применяется в каждом входном кадре, а другой - в каждом ключевом кадре. Первый из них отвечает за оценку положения камеры путем минимизации фотометрической ошибки между текущим кадром и ближайшим ключевым кадром. Параллельно, для каждого ключевого кадра, глубина предсказывается с помощью сверточной нейронной сети. Кроме того, алгоритм предсказывает семантическую сегментацию для каждого кадра.
Схема. 2. Диаграмма применения СНС-SLAM алгоритма
Алгоритм не страдает от абсолютного ограничения масштаба, так как он использует предварительное определение глубины для оценки масштаба. Кроме того, в нем учитывается глобальная оптимизация и замыкание цикла.
СПИСОК ЛИТЕРАТУРЫ:
Ибрагимов Ильмир З., Илья Михайлович Афанасьев. «Сравнение методов визуального SLAM на основе ROS в однородном климате помещения». 2017. Ягфаров Рауф, Михаил Иванов и Илья Афанасьев. «Сравнение карт алгоритмов двумерного удара на основе лидаров с использованием точной наземной истины». «StudNet» №4/2021
Strizhenok A.S.
specialist, Director for technology and innovations AviaVision, LLC. (Moscow, Russia)
Shalaev A.V.
specialist, developer of deep learning and machine learning
AviaVision LLC. (Moscow, Russia)
Polyanski N.A.
specialist, developer of deep and machine learning AviaVision, LLC. (Moscow, Russia)
RESEARCH OF NEURAL NETWORKS APPLICATION FOR INCREASING ACCURACY IN SLAM METHODS
Abstract: this paper is intended to explore methods of increasing the autonomy of unmanned aerial vehicles. A similar question has already been solved, but for ground-based robotic systems. Simultaneous localization and mapping (SLAM), means simultaneous localization and mapping. A method developed back in the 90's, used in autonomous navigation for robotic systems in unknown environments where GPS, GLONASS and other similar systems cannot work. Popular approximation methods include particle filter, extended Kalman filter, covariance crossing, and GraphSLAM. SLAM algorithms are based on the concepts of computational geometry and computer vision, and have been successfully used in robot navigation, robotic mapping, and odometry. We present an SLAM algorithm that is based on SNAs (convolutional neural networks) for improving the accuracy of SLAM techniques.
Keywords: SLAM, autonomous system, copter, neural networks, CNN, LIDAR, precise positioning.