Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

THE LARGE-SCALE SLAM ALGORITHM APPLICATION FOR MEASUREMENT OF THE OBJECT LOCATION

Ayrapetov D.P. 1
1 Moscow Technical University of Communications and Informatics
The article analyzes the method of using the SLAM algorithm. The key stages of construction of this technical system are considered. The work is focused on further continuation based on the conducted analysis and basic implementation. Technical means of implementation of the project are considered. The basic principles of the method are listed. A study of a simple model of the object motion is made. The considered stages are the development of algorithms and software. An example of using neural networks when performing tasks is shown. Recommendations on the use of equipment, development and operation of the system are considered. Conclusions are drawn from the results of the work, on the basis of which subsequent decisions will be made. The end product should be run using the hardware of the Raspberry Pi 3. Supervisor-Ph. D., SNA. chairs of ISU and a Buyanov B.Y.
SLAM
motion
object
neural network
localization

Технология LSD-SLAM – подход к локализации и сопоставлению на основе ключевого кадра, который основывается на следующих этапах [1]:

• движение камеры отслеживается в направлении опорного ключевого кадра на карте. Новые ключевые кадры генерируются, если камера слишком далеко отошла от существующих ключевых кадров;

• глубина (расстояние) в текущем эталонном ключевом кадре оценивается из стерео соответствий на основе отслеживаемого движения (временное стерео) [2];

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

Для реализации требуется персональный компьютер на базе операционной системы Ubuntu, веб-камера, дополнительные программные пакеты.

В Stereo LSD-SLAM глубина в ключевых кадрах дополнительно оценивается непосредственно из статического стерео. Существует целый ряд преимуществ этого подхода: полагаться исключительно на временные или исключительно на статическую стереосистему. Статическая стереосистема позволяет оценивать абсолютный масштаб мира и не зависит от движения камеры. Тем не менее, статическое стерео ограничено постоянной базой (с во многих случаях фиксированным направлением), что эффективно ограничивает производительность до определенного диапазона [3].

air1.tif

Рис. 1. Работа SLAM

Временная стереосистема не ограничивает производительность до определенного диапазона. Один и тот же датчик может использоваться в очень малых и очень больших средах и легко перемещаться между ними. С другой стороны, он не обеспечивает масштабирование и требует передвижения камеры [4]. Дополнительным преимуществом сочетания временной и статической стереосистемы является то, что доступно несколько базовых направлений: в то время как статическое стерео обычно имеет горизонтальную базовую линию, что не позволяет оценить глубину вдоль горизонтальных кромок, временное стерео позволяет завершить карту глубины, обеспечивая другое движение направления [5].

Основные принципы реализации метода (алгоритма):

• обобщение LSD-SLAM на стереокамере, комбинируя временное и статическое стерео в прямом, режиме SLAM в режиме реального времени;

• моделирование изменения освещения при прямом выравнивании изображений, что повышает надёжность метода;

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

air2.tif

Рис. 2. Графическая реализация алгоритма SLAM на собственном примере

Простая модель обучения на основе движения

Визуальное моделирование подвижного объекта-наблюдателя производится с помощью свёрточной нейронной сети (CNN) [6]. Объект оптимизирует его визуальные представления, минимизируя ошибку преобразований камеры, полученной при его передвижении на основе предсказания. Выполнение этой задачи эквивалентно обучению нейронной сети с двумя потоками, принимающей два изображения в качестве входных данных и предсказывает перемещение, чему объект подвергался, когда он перемещался между по X и Y, из которых два изображения были получены. Чтобы узнать полезные визуальные представления, агент постоянно выполняет эту задачу (в зависимости от окружающей обстановки) [7].

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

Движение объекта эквивалентно перемещению камеры. Перемещение ставится, как проблема прогнозирования [8].

air3.tif

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

air4.tif

Рис. 4. Программная реализация

air5.tif

Рис. 5. Графический анализ движения с помощью прогаммы «SLAM Tuning»

Микрокомпьютер Raspberry Pi3

Микрокомпьютер Raspberry Pi3 считается хорошим аппаратным устройством для реализации конечного продукта ввиду своих небольших размеров и быстродействия [9].

Что представляет из себя Raspberry Pi 3 Model B в техническом плане:

• SoC: Broadcom BCM2837;

• Процессор: ARM Cortex-A53 (4 ядра);

• Графический процессор: Broadcom VideoCore IV;

• Оперативная память: 1Гб LDDR2;

• Встроенные адаптеры: 10/100Мбит Ethernet;

• Bluetooth 4.1 LE, Wi-Fi 802.11n

air6.tif

Рис. 6. Микрокомпьютер Raspberry Pi3

Для разработки рекомендуется использовать пакеты Keras, Theano. Взаимодействие с ними пользователя происходит через систему Linux (Ubuntu). Персональный компьютер – база для разработки алгоритма, который в будущем предстоит транспортировать в память микрокомпьютера.

Заключение

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