Фронтенд визуального SLAM: обзор

Христолюбов Филипп Михайлович – бакалавр Московского физико-технического института.

Аннотация: В статье рассматриваются алгоритмы одновременных локализации и картографирования (simultaneous localization and mapping - SLAM) для мобильного автономного робота, перемещающегося на плоскости или в трехмерном пространстве. Произведен обзор одной из принципиальных составляющих таких алгоритмов – фронтэнда. Произведено структурирование методов извлечение визуальных особенностей изображения по уровням абстракции. Особое внимание уделено выбору сенсора для имплементации SLAM на борту автономного робота.

Ключевые слова: SLAM (Simultaneous Localization and Mapping), visual SLAM, monoSLAM, stereoSLAM, RGB-D SLAM, visual features, direct SLAM.

Алгоритмы SLAM, построенного на различных камерах (Visual SLAM), бурно развивались последние 20 лет. На сегодня не существует единственного подхода к решению данной задачи. Было создано как минимум несколько сотен алгоритмов [1], выбор конкретного алгоритма должен зависеть от специфики задачи. Каждый алгоритм Visual SLAM состоит из двух принципиальных частей: фронтэнд и бэкэнд.

1

Рисунок 1. Структурная схема SLAM алгоритма.

Фронтэнд (frontend) – “внешняя часть алгоритма”. Отвечает за получение сырых данных с сенсора, их представление в памяти компьютера и локальную одометрию (то есть, вычисление изменения положения робота между двумя кадрами). Фронтэнд зависит от типа сенсора.

234

Рисунок 2. Камеры для SLAM (слева направо: вебкамера, стереокамера, RGB-D камера).

56

Рисунок 3. Слева – проекция ИК точек, справа – карта глубин.

В дополнение к данным с камер используют другие сенсоры. В первую очередь – акселерометры и гироскопы (IMU сенсоры). Они позволяют получать информацию о скорости и ускорении робота с высокой частотой независимо от обстоятельств (например, в момент, когда система Visual SLAM потеряла положение).

Существует два подхода к обработке полученного с камеры изображения (в виде обычного изображения в случае моно-камеры, или карты глубин в случае стерео- или RGB-D- камеры): прямой или основанный на извлечении визуальных особенностей.

Исторически Visual SLAM алгоритмы работали с особенностями низкого уровня абстракции. До сих пор они остаются самыми популярными для реальных применений. Особая точка m, или точечная особенность (key point) изображения – это точка изображения, окрестность которой o(m) можно отличить от окрестности любой другой точки изображения o(n) в некоторой другой окрестности особой точки o2(m). Для обработки особенностей низкого уровня абстракции необходимо найти особую точку, для этого используют детектор. Детектор – это метод извлечения особых точек из изображения. Детектор обеспечивает инвариантность нахождения одних и тех же особых точек относительно преобразований изображений. Самые распространенные детекторы – детекторы углов Harris, Shi-Tomasi, Förstner, Difference of Gaussians. Далее необходимо описать найденную особенность. Для этого используется дескриптор – идентификатор особой точки, выделяющий её из остального множества особых точек. В свою очередь, дескрипторы должны обеспечивать инвариантность нахождения соответствия между особыми точками относительно преобразований изображений [4]. Дескрипторы обеспечивают инвариантность по отношению к перепаду освещенности, угла съемки, масштабу. В последнее время для ускорения быстродействия применяются так называемые бинарные дескрипторы, в них информация кодируется последовательностью бит. Их обработка может выполняться побитовыми операциями. Обратной стороной является более низкая точность. Популярный классический алгоритм SIFT – содержит в себе как детектор, так и дескриптор. Пример распространенного бинарного алгоритма – ORB.

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

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

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

7

Рисунок 4. Пример сопоставления особенностей между кадрами.

Список литературы

  1. «A Survey of Simultaneous Localization and Mapping with an Envision in 6G Wireless Networks» [Электронный ресурс]. – Режим доступа: https://arxiv.org/pdf/1909.05214.pdf.
  2. Photo-Consistency [Электронный ресурс]. – Режим доступа: https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-31439-6_204.
  3. Feature‐based visual simultaneous localization and mapping: a survey» [Электронный ресурс]. – Режим доступа: https://www.researchgate.net/publication/234081012_Visual_Simultaneous_Localization_and_Mapping_A_Survey.
  4. Детекторы углов [Электронный ресурс]. – Режим доступа: https://habr.com/ru/post/244541.
  5. Towards semantic SLAM: points, planes and objects [Электронный ресурс]. – Режим доступа: https://arxiv.org/pdf/1804.09111.pdf.