Материал: Картографирование при помощи монокулярной камеры

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Картографирование при помощи монокулярной камеры

Оглавление

1.   Введение. 3

1.1 Цель работы.. 4

1.2.1 Камеры RGBD.. 5

1.2.2 Искусственное зрение в роботах. 6

1.2.3 Области применения. 7

1.2.4 Визуальное расположение. 9

2.   Математическая часть алгоритмов. 10

2.1   Визуальное расположение на основе геометрии. 10

2.1.1 Фильтр Кальмана. 12

2.2 Модель Маркова. 14

2.1.1 Марковское Местонахождение. 14

2.2 Метод Монте Карло. 15

2.1.1   Использование метода. 15

3.   Алгоритмы SLAM. Поиск детекторов и дескрипторов. 16

3.1 Поиск детекторов. 16

3.1.1 Алгоритм FAST. 16

4.   Картографирование на неизвестной карте. 24

4.1 Алгоритм SDVL. 24

4.1.1 Поиск 3D точек. 25

4.1.2 Расчет 3D позиции. 27

4.2 Совпадение точек между изображениями. 28

4.3 Картографирование. 31

4.3.1 Инициализация на карте. 32

4.3.2 Обновление неопределенности. 34

4.4 Локализация. 36

4.4.1 Выравнивание. 37

2.   Практическая часть. Построение карт. 38

5.1 Экспериментальный анализ алгоритма. 38

5.1.1 Описание практики. 38

5.1.2 Анализ алгоритма. 40

5.2 Точность и временная эффективность в комнате. 42

5.3  Случаи ошибок. 43

5.4 Глобальная оценка алгоритма 46

5.5 Сравнение с другими алгоритмами SLAM... 47

5.5.1 Сравнение точности. 48

5.5.2 Сравнение темпоральной эффективности. 49

6. Экономическая часть. 49

6.1 Введение. 49

6.2 Организация и планирование работ по теме. 50

6.3.1 Организация и планирование работ по теме. 51

6.3.2 График проведения работ: 52

6.3.3Определение договорной цены. 52

6.4 Оценка экономической целесообразности проведения работ по теме  56

6.5 Заключение экономической части. 58

7.   Литература. 59





1. Введение


В последние годы использование мобильной робототехники в коммерческих и промышленных целях значительно возросло, чтобы выполнять задачи более точно или дешевле, чем люди(рис. 1.1). По мере того, как увеличивается число задач, которые они могут выполнять, их сложность возрастает, поскольку они должны быть максимально автономными. Для того чтобы роботы могли успешно выполнять свои функции, необходимо, чтобы они могли легко функционировать в среде, в которой они перемещаются, для этого необходимо, чтобы они знали свое положение, даже если это неизвестная среда.

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



Рис. 1.1:Использование роботов в жизни



1.1 Цель работы

В настоящее время позиционирование мобильных роботов внутри

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

Среди различных типов предлагаемых решений, мы можем найти алгоритмы, которые работают на основе уже известной карты, по которой нужно перемещаться, или размещать маяки, которые будут служить ссылкой для позиционирования себя при движении робота. Эти решения подходят, если робот заранее знает среду, в которой будет перемещаться. Однако во многих приложениях у вас нет доступа к среде, в которой выполняется задача. Столкнувшись с этими ситуациями, возникают техники, способные позиционировать робота в неизвестной среде при навигации по нему, например, в SLAM.

SLAM (одновременная локализация и картирование) является очень хорошо изученным алгоритмом в последние годы. Он был впервые поднят на

Конференции по робототехнике и автоматизации IEEE в Сан-Франциско в 1986 году, и с тех пор было разработано множество методов, направленных на решение проблем позиционирования в интерьерах с различными вариантами алгоритма.

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

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

1.2.1 Камеры RGBD

Классические камеры предоставляют уникальную информацию о цвете для каждого из пикселей. Однако, в последние годы появился новый тип датчика, так называемые RGBD камеры, которые вместе с цветом передают и расстояние.

                                    Рис 1.2: Камера RGBD.

 

Бум этого датчика начался в 2010 году с выпуском Kinect (Рис. 1.2), устройство, проданное для использования с игровой приставкой Xbox 360. Хотя первоначально он был предназначен для индустрии видеоигр, его низкая цена и потенциальное использование заставили других производителей вывести аналогичные устройства на рынок и с тех пор они широко используются во многих областях исследований.

Первая версия Kinect определяла расстояние, при помощи света в инфракрасном диапазоне и распознавая, как этот рисунок появляется на инфракрасном изображении. Второе поколение Kinect, выпущенное в 2014 году, использует технологию времени полета (TOF) для вычисления расстояния до каждого объекта.

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

1.2.2 Искусственное зрение в роботах

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

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

Многие роботы используют камеры в качестве основного датчика. Это относится к автономным автомобилям.

Существуют также роботы на основе визуального местоположения, такие как пылесосы из последнего поколения Dyson или iRobot (Roomba 980). Эти пылесосы используют визуальную локализацию для локализации внутри дома и могут определить свое местонахождение (рис.1.3).












                (А)                                                                                               (Б)

Рис 1.3: Пылесос марки Dyson (а) Карта, основанная на локализации Roomba 980 ( б).

1.2.3 Области применения

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

Ниже приведены некоторые примеры реальных приложений, использующих компьютерное зрение в роботах.

-Восприятие предметов: роботы могут воспринимать с помощью камер объекты в среде. На рисунке 1.6(a) показана одна из проблем Darpa Robotics Challenge, робот должен быть в состоянии обнаружить дверь и открыть ее.

          -Визуальный контроль: в соответствии с данными, полученными с камер, роботы моделируют поведение.

          -Навигация: информация с камер служит руководством для робота для безопасного перемещения в среде, обнаруживая потенциальные препятствия. Уже сегодня разработаны автономные автомобили различных марок, которые могут ездить без человека(рис. 1.4 (Б)).

          -Визуальная самопроверка: робот может непрерывно вычислять свою позицию в среде вокруг него через одну или несколько камер.

-Построение карт: благодаря перемещению, которое могут выполнять роботы, мобильные телефоны, камеры могут использоваться для создания 3D-карт окружающей среды.

-Визуальное внимание: в этом случае камеры робота служат основой для принятия решения в каких частях окружающей среды сосредоточить внимание робота, которое может быть использовано для отслеживания объектов или поиска зон в необработанной среде




(А)                                                                       (Б)

Рис 1.4: Робот (а). Google автомобиль (б).

1.2.4 Визуальное расположение

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

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

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

2. Робот имеет карту своего окружения, но не знает первоначальное положение.

3. Среда неизвестна, и исходное положение может быть предположено в любом.

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

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

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

Проблема локализации тесно связана с реконструкцией карты. Без точного местоположения невозможно создать карту среды, а без этой карты невозможно найти робота в в абсолютных координатах. Эта проблема была решена в двух различных областях исследований искусственного зрения, где она известна под названием Structrure From Motion, или же  SLAM (Simultaneous Localization And Mapping).

2. Математическая часть алгоритмов

2.1Визуальное расположение на основе геометрии

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

                                                                         Рис2.1: камера Pin-Hole

В этой работе используется модель камеры Pin-Hole (рис. 2.1); эта модель предполагает, что все лучи света проходят через одну и ту же точку (фокус) и влияют на плоскость формирования изображение. Расстояние, которое отделяет фокусную плоскость и плоскость изображения является фокусным расстоянием, от которого зависит размер объектов, наблюдаемых на изображении. Эта модель работает с текущими камерами, потому что идеальные тонкие линзы способны концентрировать лучи света в одну точку.

Внутренние параметры камеры определяют условия формирования изображения и позволяют связать пространственную информацию с изображениями через матрицу калибровки. Матрица калибровки K состоит из фокусного расстояния в каждой оси(fx и fy) и положение оптического центра на изображении (u0 и v0), такие как показано в уравнение 2.1:

Эта модель камеры также имеет параметры положения и ориентация камеры в среде, и они, как правило, определены с помощью матрицы вращения-перемещения (RT) 3x4, такую, как в формуле (2.2).

Другой способ заключается в преобразовании 3D-точки (X, Z) в абсолютных координатах (x, z) в координаты относительно камеры (формула 2.3), а затем выполнить проекцию с использованием матрицы K, при условии, что z отличается от 0 (формула 2.4).

2.1.1 Фильтр Кальмана

Фильтр Кальманом (KF) - это вероятностный алгоритм, разработанный Рудольфом Кальманом, он позволяет оценить состояние динамической системы из наблюдений, которые могут содержать шум. KF может применяться только с линейными системами с несколькими измерениями если эти условия соблюдены, фильтр может предложить оценку состояния системы и меру неопределенности с которой была проведена оценка.

Фильтры Кальмана основаны на динамических системах, дискретизированных во времени. Состояние системы является N-мерной переменной xt. Кроме того, наблюдение за системой в каждой итерации является переменной zt, которая зависит только от xt. Чтобы использовать KF, необходимо указать ряд параметров (массивов) для адаптирования его к проблеме: