Разработка методов навигации на основе обучения с подкреплением

Изучение методов в задачах навигации и исследования помещения. Построение собственной версии, комбинирующей наиболее удачные подходы. Структура и порядок построения блоков построения карт и локализации. Среда Habitat как симулятор, ее использование.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 12.09.2020
Размер файла 147,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет «Высшая школа экономики»

Выпускная квалификационная работа

Разработка методов навигации на основе обучения с подкреплением

Наумов Антон Иванович

Москва 2020

Оглавление

  • Аннотация 2
  • Введение 4
  • 1. Обзор существующих методов 8
    • 1.1 Proximal Policy Optimization 8
    • 1.2 Decentralized Distributed PPO 8
    • 1.3 Active Neural Mapping 9
    • 1.4 Simultaneous Localization and Mapping 10
  • 2. Основная часть 12
    • 2.1 Mapping 12
    • 2.2 Localization 16
  • Заключение 18
  • Список источников 19

Аннотация

Навигация внутри помещений является очень значимой задачей для робототехники. Большое количество разнообразных решений существует для данной проблемы, но многие вопросы на данный момент не имеют эффективных решений. Так большая часть решений в этой области полагается на идеальные координаты агента и заранее известную карту помещения. Однако, в реальной жизни этих данных почти никогда нет: точность GPS слишком низкая, одометрия не даёт идеальных решений и часто бывает слишком подвержена влиянию шума, а помещение может быть неизвестным нам заранее. В данной работе было проведено исследование задачи навигации в среде Habitat и рассмотрены нейросетевые подходы для обучения с подкреплением, учитывающего эти факторы, а также различные способы построения карт и локализации. Основная цель, преследуемая данной работой - получение агента, способного на эффективную навигацию внутри помещения даже при отсутствии точных данных о местоположении или карте помещения.

(English version) During the last few decades, there has been an increasing growth of interests in a field of robotics. Navigation is a critical task in a building of intelligent agents. This task strongly differs depending on input information and on an exact wording of the task.

A considerable amount of literature is published on navigation problem. However, most of these studies are focused on a task of navigation in known (already mapped) environments. Several researchers have demonstrated high-quality results in a point-goal navigation in an unknown environment and in an exploration task, where they used GPS as an input data.

In this paper we attempt to create an agent for navigation and exploration tasks which can run in an unknown environment with only RGB image (or RGBD image) as an input. The aim of this study is to find a new method for the same task, but with much less input data required.

The research takes the form of a theoretical analysis of recent pertinent works and research, using Habitat simulator [1] as a source of data for experiments.

It is hoped that this research will contribute to the field of robotics, by making possible usage of any simple robot with only one RGB camera and no additional sensors for exploration and navigation tasks.

Список ключевых слов: Обучение с подкреплением, Робототехника, Задача навигации, Задача исследования незнакомого помещения, Нейросети, Планирование, Одометрия, Локализация, Автоматическое построение карт, Компьютерное зрение

Введение

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

Обучение с подкреплением - один из способов машинного обучения, в ходе которого испытуемая система (агент) обучается, взаимодействуя с некоторой средой, и получая отклики в ответ на свои действия. Отклик среды чаще всего представляет из себя некоторую награду или штраф за действие. Агент обучается так, чтобы максимизировать суммарную награду, балансируя между краткосрочным и долгосрочными приоритетами. Сигналы среды можно воспринимать как разметку из обучения с учителем, но разметка не статична, а получается от среды на каждом новом шаге. Тем не менее, текущие исследования по обучению с подкреплением в значительной степени сосредоточены на чрезмерно упрощенных задачах, которые выполняются в монотонных виртуальных средах и не могут быть перенесены в реальный мир. Сегодня, интеллектуальная робототехника далека от того функционала, когда роботы будут свободно ориентироваться в семантически богатом реальном мире. Навигация является одной из важнейших задач в построении интеллектуального агента.

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

Обучение с подкреплением требует очень много времени для обучения агента, что делает обучение c нуля на роботе неэффективным. Для решения этой проблемы начальный этап обучения проводят в симуляторе, который максимально правдоподобно симулирует все процессы, происходящие с роботом.

Существует множество подобных сред для эмуляции перемещения мобильного робота. В данной работе использовалась среда Habitat [1], разработанная компанией Facebook. Эта среда имеет достаточно проработанную физику, чтобы успешно обучать и тестировать агента для исследуемой задачи.

В задаче навигации к заданным координатам, агент инициализируется в случайном месте на карте. Его целью являются координаты цели, которые задаются как («Идите на 5 м к северу, 3 м к западу относительно начала»). Карта помещения агенту недоступна, агент для навигации может использовать только вход с RGB-D камеры.

Среда Habitat представляет собой симулятор, который использует сцены, снятые на RGB-D камеры в различных помещениях. В рамках соревнования использовался датасет Gibson. Агент должен обучиться на Train подвыборке и валидироваться на Validation части Gibson.

Оценка агента происходит, когда агент выбирает действие 'СТОП'. В качестве метрики используется SPL (Success weighted by Path Length). Эпизод считается успешным, если при вызове 'СТОП', агент находится в пределах 0,36 м (2х радиуса агента) от координат цели.

В 2020 году среда претерпела изменение с анонсированием соревнования Habitat Challenge 2020, главными отличиями которого стали:

· Отсутствие датчика GPS-компаса: в 2019 году относительные координаты, указывающие цель, постоянно обновлялись во время движения агента; по существу, моделирование агента проходило с идеальной локализацией и оценкой курса. Тем не менее, высокая точность локализации в помещениях не может быть принята в реалистичных сценариях; GPS имеет низкую точность в помещении, (визуальная) одометрия может быть шумной, локализация на основе SLAM может не сработать и т.д. Следовательно, в задаче 2020 года агент не имеет датчика GPS и должен перемещаться исключительно с помощью эгоцентрической RGB-D камеры. Это изменение повышает необходимость выполнения онлайн-локализации на основе RGBD.

· Шум действий и сенсоров: в 2019 году действия агента были детерминированными; то есть, когда агент поворачивается влево на 30 градусов, он поворачивается точно на 30 градусов, а вперед на 0,25 м продвигает агента точно на 0,25 м вперед. Однако ни один робот не движется детерминированно; Ошибка срабатывания, свойства поверхности, такие как трение, и множество других источников ошибок вносят значительный дрейф по траектории. Был также добавлен шум RGB и датчика глубины.

· Динамика столкновения и «скольжение». В 2019 году, когда агент предпринимал действие, которое приводило к столкновению, агент скользил вдоль препятствия, а не останавливается. Такое поведение распространено в видеоиграх, поскольку оно обеспечивает плавный контроль. Было обнаружено, что такое поведение позволяет «обманывать» обучаемых агентов; агенты используют этот скользящий механизм, чтобы выбрать эффективный путь, который, по-видимому, проходит через не проходимые области окружающей среды (например, стены). Однако такая политика терпит неудачу в реальном мире, где датчики удара заставляют остановиться при контакте с препятствиями. Для решения этой проблемы, Habitat-Sim был модифицирован, чтобы отключить скольжение при столкновениях.

· Многочисленные косметические и незначительные изменения: изменение в форме, размера робота, разрешении камеры, высоте и ориентации и т.д. для соответствия LoCoBot.

1. Обзор существующих методов

1.1 Proximal Policy Optimization

habitat симулятор навигация

Proximal Policy Optimization (PPO) - эффективный и популярный метод обучения с подкреплением, основывающийся на стохастическом градиентном спуске по значениям функции policy агента. Кроме того, метод может использоваться с одним из двух улучшений: Trust Region Policy Optimization (TRPO) - заключается в перемещении вектора градиента на такую длинну, чтобы расстояние Кульбака-Лейблера между policy на конце вектора градиента и policy агента в текущей точке была минимальной.; Clipped Surrogate Objective - заключается в ограничении того, насколько может измениться вектор градиента. Clip означает, что в случае, если градиент изменился сильнее, чем в (1 + eps) или (1 - eps) раз, то мы приравниваем новый градиент к ближайшей границе.

1.2 Decentralized Distributed PPO

В алгоритмах обучения с подкреплением одной из главных идей является асинхронность. Асинхронное распределение очень требовательный процесс, даже незначительные ошибки могут привести к не обучаемости агента. Это сильно отличает RL от обучения c учителем, где синхронное распределение обучения обеспечивается через параллелизм данных. Значения новых параметров вычисляются как средневзвешенное значение градиентов всех воркеров. Подобный параллелизм обеспечивает линейное ускорение скорости обучения вплоть до 32000 GPU. В Decentralized Distributed PPO (DDPPO) адаптировали эту идею для on-policy RL алгоритмов. Основа для DDPPO представляет из себя модернизацию алгоритма PPO.

DDPPO, это end to end агент, обученный в среде habitat. В качестве входа агент использует данные с RGB-D камеры и GPS+Compass сенсора. Агент использует сеть SE-Resnext-101 и 1024 слоя LSTM. Агент представленный facebook, прошел длительный процесс обучения и показал высокие результаты. Мы считаем, что данный алгоритм можно успешно использовать как составную часть для обучения и других агентов. Основные его недостатки заключаются в том, что при отсутствии GPS+Compass сенсора, метрика SPL падает с 0.98 до 0 при 100 миллионах шагов и до 0.15 при 2.5 миллиардах шагов.

1.3 Active Neural Mapping

Алгоритм Active Neural Mapping (ANM) очень интересен в своей архитектуре, а также не требует большого количества GPU ресурсов для обучения. Основная идея алгоритма заключается в разбиении агента на 4 составляющих: Mapper, Global policy, Planner и Local policy.

· Mapper строит карту исследованного помещения и определяет местоположение агента на этой карте. Сама по себе карта представляет матрицу 2 x M x M, матрицу с двумя каналами данных. Первый канал представляет собой вероятность нахождения препятствия в конкретной точке, а второй канал представляет собой уровень того, насколько исследована данная клетка на карте. На каждом шаге Mapper принимает на вход текущие данные с RGB камеры, текущие и предыдущие данные с датчиков gps и компаса с некоторыми наложенными на них шумами, а также последнее состояние карты. На выход этот модуль выдает построенную карту и текущие координаты агента с подавлением шума

· Global policy используется в задаче для построения глобальной цели для агента. Этот модуль задает алгоритму глобальную цель, куда нужно двигаться, например, если агент увидел, что точка куда ему нужно добраться находится от него за стеной, тогда global policy прокладывает ему путь в обход препятствия. На вход в Global policy подается, карта, координаты, полученные из модуля mapper, а также множество точек, которые уже посетил агент. На выходе global policy выдает координаты текущей глобальной цели для агента

· Planner метод, который получает на вход карту, текущее положение и глобальную цель. На основе полученных данных алгоритм использует Fast Marching Method и генерирует локальную координату рядом с агентом, чтобы добраться до точки, выданной global policy наиболее оптимальным способом. Все неисследованные точки на карте заменяются пустым пространством.

· Local policy нужен для получения конкретного действия агента и редактирования этого действия в зависимости от некрупных препятствий перед агентом. Получает на вход RGB картинку и локальную цель от планера. На выход выдает конкретное действие для агента.

В соревновании Habitat Challenge 2019 года, ANM уступил DDPPO по метрике, но при этом использовал гораздо меньшее количество шагов в среде. Так же задача построения карты, не являясь необходимой в рамках соревнования, является важной для навигации и интерпретации работы алгоритма.

1.4 Simultaneous Localization and Mapping

Далее SLAM. В своей работе для построения карты и определения местоположения робота мы использовали SLAM методы. Было протестировано множество таких методов, основанных на нейронных сетях и прямых вычислениях.

ORB SLAM 2: алгоритм SLAM, использующий детектор и дескриптор ключевых точек ORB, а так же bag-of-words оптимизацию. Алгоритм находит ключевые точки на старом и новом изображении, после чего использует эти ключевые точки, чтобы определить смещение между кадрами. Найденная позиция используется для обновления глобальной карты, дополнительно поправляя своё предсказание позиции по самой карте. Алгоритм строит не полную sparse карту местности, но можно построить полную карту, используя ключевые кадры с ключевыми точками, найденными на обоих изображениях (до и после шага).

RTAB-MAP: основанный на графах SLAM метод. Использует визуальный детектор замыкания петель для замыкания и корректировки полных петель. Для ассоциации новых и старых данных алгоритм сопоставляет кадры, полученные с разных ракурсов. Для сопоставления кадров может использовать разные детекторы и дескрипторы ключевых точек, включая ORB. Каждый узел графа (ключевой кадр) содержит свою позицию в 3D пространстве, цветную 3D карту глубины и список ключевых точек карты, которые обнаружены на данном изображении. Рёбра графа отражают связь между этими узлами. Связь создаётся только между соседними узлами или узлами, между которыми детектируется замыкание петли. Детектор замыкания петель осуществляет поиск соотношения между дескрипторами ключевых точек текущего ключевого кадра и дескрипторами ключевых точек, обнаруженных ранее. Если количество общих ключевых точек у текущего ключевого кадра и у кадра с наибольшим соответствием превышает определённый порог, то происходит замыкание петли. При этом позиция текущего кадра уточняется для совпадения ключевых кадров с предыдущим, а остальные узлы петли оптимизируются. И добавляется соответствующее новое ребро. После нахождения замыкания петли позиции графа оптимизируются с целью минимизации ошибки в графе. Составляет 3D карту местности, используя получаемые позиции.

Сравнивая ORB-SLAM 2 и RTAB-MAP можно сказать что они очень близки по производительности, но RTAB-MAP может использовать различные детекторы и дескрипторы в зависимости от задачи, поэтому мы сделали выбор в его пользу.

2. Основная часть

2.1 Mapping

Было рассмотрено несколько вариантов построения карт и уточнения координат.

SLAM методы достаточно эффективные, они вычисляют смещение по новым кадрам RGB-D, полученным из симулятора, при помощи методов визуальной одометрии. Затем, в зависимости от метода, достраивают текущую изученную карту, пользуясь посчитанным и последними кадрами. Данные методы достаточно эффективные даже в условиях зашумлённых данных, но они очень медленные, поэтому в экспериментах были рассмотрены так же несколько других методов.

В ANM текущая координата уточняется отдельно локализатором, затем полученная координата используется для непосредственного размещения локальной карты, полученной на конкретном шаге из карты глубины. Чтобы получить локальную карту из карты глубины: каждый пиксель изображения проецируется в трёхмерное облако точек, учитывая положение на кадре, значение глубины, оптические искажения, вызванные формой линзы, а также высоту, на которой расположена камеры у агента. Из полученного облака точек убираются все, находящиеся на уровне пола и ниже, а также все выше роста агента, так как данные точки никак не влияют на возможности движения агента. Оставшееся облако точек проецируется на плоскость, параллельную полу, после чего выбирается размер клетки карты, всё изображение локальной карты разбивается на ячейки заданного размера, и каждая точка из проекции присваивается к ближайшей к ней клетке. В каждой клетке карты считается количество точек, попавших в неё, затем, если это количество превышает некоторый порог, то считается что в данной клетке есть препятствие, а иначе нет. Получается бинарная локальная карта препятствий для текущего положения агента. Чтобы, затем, обновить глобальную карту, при помощи данной локальной, используется положение, полученное локализатором и локальная карта смещается и поворачивается так, чтобы положение агента и вектор его направления совпадали с соответствующими из локализатора. После смещения и поворота карты каждая клетка локальной карты соотносится с ближайшей клеткой глобальной после поворота. Данный метод получается достаточно быстрым, но качество достаточно низкое, из-за того, что точки дважды доводятся до ближайших ячеек, а также методу требуется реальное положение на каждом шаге для идеальной работы.

Рисунок 1. Работа метода на поворот агента

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

Рисунок 2. Построенная карта

Рисунок 3. Реальная карта

2.2 Localization

Как было описано раньше, для любых «быстрых» методов построения карт требуется дополнительная информация в виде точного положения и поворота агента на карте. Методы SLAM, вроде RTAB-MAP показали себя достаточно эффективными, но они работают слишком медленно, поэтому не подходят для увеличения скорости работы. Тогда как если совсем уходить от одометрии и попытаться использовать чисто нейросетевые методы, как мы попробовали метод VLocNet - эти подходы показывают слишком низкое качество работы, поэтому мы не смогли их использовать.

Особого внимания заслуживает метод локализации Deep Flow Visual Odometry (DF-VO), который пытается совмещать в себе скорость и простоту нейросетей с качеством SLAM методов. Данный метод устроен следующим образом:

· (опционально, при отсутствии доступа к картам глубины изображений) На вход подаются RGB изображения, которые преобразуются в карты глубины при помощи нейросети Monodepth2.

· По серии изображений, используя нейросеть LiteFlowNet, предсказывается оптический поток.

· Используя полученный поток и карты глубины, вместе с привязками ко времени каждого отдельного кадра, методами визуальной одометрии оценивается смещение агента на каждом шаге.

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

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

Заключение

В моей работе я постарался рассмотреть и сравнить основные подходы в навигации на данный момент. В результате объединив их вместе в один метод, потенциально способный справиться с навигацией, основываясь только на RGB изображениях. На момент написания работы, эксперименты ещё не были закончены, но результат работы будет представлен на соревновании Habitat Challenge2020.

Список источников

[1] Habitat (https://aihabitat.org/)

[2] PPO (https://arxiv.org/pdf/1707.06347.pdf)

[3] DDPPO (https://deepai.org/publication/decentralized-distributed-ppo-solving-pointgoal-navigation)

[4] ANM (http://www.cs.cmu.edu/~dchaplot/papers/active_neural_mapping.pdf)

[5] SE_RESNET_101 (https://arxiv.org/pdf/1709.01507.pdf)

[6] LSTM (https://arxiv.org/pdf/1402.1128.pdf)

[7] Fast Marching Method (https://jvgomez.github.io/files/pubs/fm2star.pdf)

[8] VLocNet (https://arxiv.org/pdf/1804.08366.pdf)

[9] DF-VO (https://arxiv.org/pdf/1909.09803.pdf)

[10] RTAB-MAP (http://introlab.github.io/rtabmap/)

[11] ORB-SLAM (https://arxiv.org/pdf/1610.06475.pdf)

[12] Monodepth2 (https://arxiv.org/pdf/1806.01260.pdf)

[13] LiteFlowNet (https://arxiv.org/pdf/1805.07036.pdf)

[14] Habitat Challenge2020 (https://aihabitat.org/challenge/2020/)

Размещено на Allbest.ru


Подобные документы

  • Анализ проектирования баз данных и освещение методов построения форм и отчетов на примере построения программы ведения электронной документации учебного заведения. Разработка и построение инфологической модели по предметной области "Университет".

    курсовая работа [6,3 M], добавлен 03.11.2014

  • Использование библиотеки готовых компонентов как основы процесса построения моделей организационных систем. Характеристика качественных методов принятия решений. Применение порядковой классификации в процессе UFO-моделирования систем телемеханики.

    магистерская работа [732,7 K], добавлен 26.04.2011

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

    контрольная работа [384,8 K], добавлен 06.03.2011

  • Понятие и особенности построения алгоритмов распознавания образов. Различные подходы к типологии методов распознавания. Изучение основных способов представления знаний. Характеристика интенсиональных и экстенсиональных методов, оценка их качества.

    презентация [31,6 K], добавлен 06.01.2014

  • Популярность алгоритмов машинного обучения для компьютерных игр. Основные техники обучения с подкреплением в динамической среде (компьютерная игра "Snake") с экспериментальным сравнением алгоритмов. Обучение с подкреплением как тип обучения без учителя.

    курсовая работа [1020,6 K], добавлен 30.11.2016

  • Разработка мультитач-ориентированного приложения для туристических фирм на языке C# с использованием WPF. Применение Expression Blend для создание приложения интерактивной навигации. Проектирование программы для навигации в торговом центре "Гудвин".

    отчет по практике [1,1 M], добавлен 16.09.2012

  • История возникновения и развития современной робототехники, применение технологий искусственного интеллекта. Разработка структурной схемы системы навигации мобильного робота, коррекция траектории его движения, методы управления локальными перемещениями.

    дипломная работа [1,1 M], добавлен 18.05.2011

  • Рассмотрение основных этапов создания сайта. Использование вайрфреймов как документации по проекту. Использование мокапа и структура навигации сайта. Правильный выбор цветов для проекта. Использование модульной сетки и разработка дизайна сайта.

    презентация [2,8 M], добавлен 01.09.2019

  • Изучение надежности вложения средств в мультивалютные вклады в банках РФ. Разработка приложения для оценки эффективности и риска мультивалютного вклада на основе математических методов построения инвестиционного портфеля. Вычисление вектора приоритетов.

    дипломная работа [4,9 M], добавлен 18.12.2013

  • Изучение принципов построения и настройки простейшей компьютерной сети. Типы коммутационных кабелей "витая пара". Оборудование, доступное в симуляторе Cisco Packet Tracer. Добавление конечных узлов, соединение сетевых устройств, настройка IP-адресов.

    лабораторная работа [870,7 K], добавлен 12.09.2019

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.