Программный комплекс пространственной навигации и мониторинга на основе алгоритма визуальной одометрии

УДК 004.932.2 Дата подачи статьи: 28.06.16

DOI: 10.15827/0236-235X. 115.175-180

ПРОГРАММНЫЙ КОМПЛЕКС ПРОСТРАНСТВЕННОЙ НАВИГАЦИИ И МОНИТОРИНГА НА ОСНОВЕ АЛГОРИТМА ВИЗУАЛЬНОЙ ОДОМЕТРИИ

А.А. Кочкаров, к.ф.-м.н., зам.. директора Научно-тематического центра, AKochkarov@paorti.ru

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

Ключевые слова: визуальная одометрия, программный комплекс, мониторинг, БПЛА, патрулирование, квадроко-птер, SLAM, PTAM, фильтры глубины, алгоритм.

Малые беспилотные летательные аппараты (БПЛА) играют важную роль в задачах ликвидации последствий различного рода катастроф, стихийных бедствий, производственного контроля и охраны окружающей среды [1-3]. Однако для таких задач недостаточно навигации на основе только информации, полученной при помощи спутниковых систем: полностью автономная система навигации малого БПЛА должна опираться на локализованную систему. Для получения такой системы с минимальным весом и экономией энергии нужно комбинировать одну камеру, смотрящую вниз, и инерциальное измерительное устройство [4]. Такой набор инструментов позволяет малому БПЛА полностью автономно преодолеть заданный маршрут, при этом попутно сняв необходимые показания. На данный момент большая часть систем монокулярной визуальной одометрии для малых БПЛА использует подходы RGB-D [5] и стереосистемы SLAM [6], однако прямые методы, основанные на минимизации фотометрической ошибки, обретают все большую популярность.

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

При всех описанных преимуществах точность и скорость работы алгоритма не хуже, чем у прямых методов. Высокая частота кадров при визуальной одометрии для малого БПЛА повышает надежность и увеличивает скорость маневров в полете.

Описание работы системы визуальной одометрии

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

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

технологию параллельного отслеживания и построения карты (PTAM - Parallel Tracking and Mapping) [7]. PTAM, в свою очередь, базируется на методе одновременной локализации и построения карты SLAM, который обеспечивает надежность за счет отслеживания и отображения сотен контрольных точек. Он работает в режиме реального времени и одновременно выполняет задачи отображения пунктов назначения и оценки передвижения, опираясь на эффективную корректировку, основанную на обработке изображений с разных углов обзора. Тем не менее, PTAM был разработан для приложений дополненной реальности в небольших пространствах, но в нескольких модификациях, например, при ограничении числа кадров, что обеспечивает его полноценную работу в условиях пространств с застройкой городского типа [2].

Предлагаемый алгоритм полупрямой визуальной одометрии использует функцию нахождения контрольных точек. При этом нахождение контрольных точек является неявным результатом прямой оценки движения, нежели явного нахождения контрольных точек и сопоставления их положения в каждом кадре. Таким образом, извлечение контрольных точек требуется только тогда, когда ключевой кадр выбран для инициализации новых фильтров глубины (трехмерных точек) (см. рис. 1). Скорость работы алгоритма существенно увеличивается, когда контрольные точки извлекаются не во всех кадрах, а только в ключевых. Увеличивается точность и при использовании субпиксельной функции извлечения контрольных точек. В отличие от прямых методов используется много небольших участков, а не несколько больших плоских участков, что положительно сказывается на скорости работы алгоритма и его надежности. Предлагаемая разреженная модель изображения для оценки и выравнивания движения связана с плотной моделью изображения, однако далее будет показано, что разреженной информации о глубине достаточно, чтобы получить грубую оценку движения и функции поиска контрольных точек. Как только контрольные точки и первоначальное положение камеры будут найдены, алгоритм станет использовать лишь контрольные точки, тем самым объясняется его название «полупрямой». Этот прием позволяет быстро устанавливать рамки для обработки в новом изображении.

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

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

Рис. 1. Блок-схема работы алгоритма визуальной одометрии

Fig. 1. Block diagram for visual odometry algorithm

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

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

Сравнение работы алгоритмов визуальной одометрии

Большинство алгоритмов монокулярной визуальной одометрии для малых БПЛА опираются на

(точнее позиционирует БПЛА и не наносит на карту ошибочные точки) установленных на современных малых БПЛА, а также в интеграции вероятностного отображения точек на карте. Алгоритм устойчив к ошибочным измерениям.

При загрузке алгоритм оценивает начальную позицию по первым двум ключевым кадрам и начальной карте - локальному способу позиционирования БПЛА в пространстве. Изначально предполагается локально плоская схема пространства и оценивается начальное проективное преобразование. Исходная карта при этом определяется с первых двух углов обзора методом триангуляции.

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

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

В блоке построения карты изображение делится на клетки, например 30*30. Новый фильтр глубины инициализируется в углу, который имеет максимальное значение рейтинга Ши-Томаси [8], если там еще нет соответствия двухмерной и трехмерной карт. Это приводит к равномерному распределению контрольных точек по изображению. Эта же сетка используется для перепроецирования карты перед выравниванием. Стоит обратить внимание, что углы с максимальным значением рейтинга Ши-Томаси извлекаются на каждом уровне пирамиды изображения для нахождения наилучших углов независимо от масштаба.

Для сравнения результатов работы использовался модифицированный алгоритм РТАМ [9]. Это связано с тем, что оригинальный алгоритм недостаточно надежен в высокочастотных повторяющихся текстурах, модифицированная версия справляется с этой задачей лучше. Алгоритм НПВО показал высокую точность и эффективность, частично это объясняется применяемым фильтром глубины, который отсеивает большую часть ошибочных изме-

Рис. 2. Примеры работы разработанного алгоритма в различных условиях

Fig. 2. Examples of work of the developed algorithm in different conditions

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

На рисунке 3 приведено сравнение работы алгоритмов НПВО и РТАМ. РТАМ дает очень много ошибочных измерений, что может привести к невыполнению миссии. Стоит заметить, что именно этот алгоритм сейчас применяется на большей части малых БПЛА, таким образом, перед алгоритмом НПВО открываются широкие перспективы применения.

Эксперименты проводились на наборах данных, получаемых с камеры, прикрепленной к малому БПЛА и смотрящей вниз. Видео с камеры обрабатывалось на одноплатном компьютере Odroid-и2 [10], который был установлен непосредственно на БПЛА, а также транслировалось на внешний компьютер для обработки. Стоит заметить, что в результате эксперимента алгоритм работал с двумя разными режимами настроек. На одноплатном компьютере были выставлены настройки, позволяющие уменьшить скорость работы, на внешнем компьютере настройки были ориентированы на вы-

Рис. 3. Сравнение работы НПВО и РТАМ

Fig. 3. Comparison of the work of developed algorithm and PTAM

сокую точность. Параметры настройки даны в таблице 1. Для дальнейшего изложения один режим назовем быстрым, другой - точным.

Таблица 1

Характеристики двух режимов работы

Table 1

Characteristics of the two operating modes

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

1,5 метра. На рисунке 4 приведено сравнение отношения суммарной ошибки позиционирования к пройденному пути, а на рисунке 5 - сравнение ошибок определения углов связанной системы координат.

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

" - Точный - Быстрый - РТАМ

8 -1-1-1-»-ï-1-*-»-1-1

О 50 100 150 '200 250

Рис. 4. Отношения суммарной ошибки позиционирования к пройденному пути Fig. 4. Relationship of the total position error to the distance

0.10

t, С

Рис. 5. Сравнение ошибок определения углов связанной системы координат Fig. 5. Comparison of errors in the determination of angles in related coordinate system

Параметры настройки Быстрый Точный

Максимальное количество контрольных точек в изображении 120 200

Максимальное количество ключевых кадров в изображении 10 50

Локальная оценка с разных углов обзора Нет Да

кой подход сокращает число ошибочных измерений десятикратно.

Разница в точности быстрого и точного режимов работы алгоритма не является существенной, быстрый режим достаточно точно определяет позицию БПЛА, что позволяет говорить о его применимости на одноплатном компьютере, установленном на борту БПЛА. Это, в свою очередь, позволяет создать полностью автономный БПЛА.

Сравнение скорости работы алгоритмов показало, что ноутбук способен обрабатывать более 300 кадров в секунду, в то время как на одноплатном компьютере частота работы алгоритма составляет 55 кадров в секунду. Результаты работы алгоритма РТАМ на тех же устройствах составляют 91 и 27 кадров в секунду соответственно. Стоит отметить, что для работы алгоритма НПВО был выбран быстрый режим.

Методы патрулирования

Для решения задач патрулирования изначально нужно выбрать метод патрулирования и оптимальную высоту. Для нахождения оптимальной высоты была проведена серия опытов по распознаванию лица, напечатанного в реальном масштабе с разных высот. Экспериментально было установлено, что оптимальная высота для детектирования лежит в промежутке от 10 до 20 метров; именно в этом интервале высот детектирование давало 100 %-ный результат. Высота же может меняться в этом промежутке в зависимости от целей миссии и, как следствие, скорости пролета.

Когда оптимальная высота выбрана (в нашем случае это 13 метров), можно перейти к расчету площади замета за один пролет. В данном эксперименте использовалась камера с углом обзора по горизонтали в 60°; это подразумевает, что треугольник является равносторонним. Тогда его сторона а

может быть вычислена по формуле а = , при высоте 13 метров а=15 метров. То есть за пролет длиною 100 метров будет заметено 1 5002 метров. Существуют два принципиально разных подхода по патрулированию территории на БПЛА квадротор-ного типа. Первый условно назовем «змейкой», второй - «спиралью» (рис. 6).

Эти подходы могут применяться в зависимости от различных условий, например, в зависимости от площади и фигуры территории для мониторинга. Для сравнения времени мониторинга при помощи этих двух методов возьмем тестовую территорию 100^100 метров. Вполне понятно, как ее замести «змейкой», если же пользоваться техникой «спирали», то существуют два варианта: квадрат 100^100 вписан в последнюю окружность или последняя окружность вписана в квадрат 100*100.

Результаты сравнения приведены в таблице 2. Как видно из таблицы, наиболее быстрым является

метод «спираль 2», но стоит отметить, что при нем не заметаются края квадрата, так как последняя концентрическая окружность вписана в квадрат. Метод «спираль 1», наоборот, покрывает большую площадь территории, чем необходимо. Оптимальным для площади такой фигуры является замет «змейкой», он дает 100 %-ный замет территории с небольшим увеличением времени по сравнению со «спиралью 2». Стоит отметить, что при мониторинге территории сложной фигуры наиболее оптимально использовать комбинацию этих методов и несколько БПЛА.

Таблица 2

Сравнение результатов патрулирования территории различными методами

Table 2

Comparison of the results of patrolling areas by different methods

Параметр «Змейка» «Спираль 1» «Спираль 2»

Скорость 3 м/с~11 км/ч 3 м/с~11 км/ч 3 м/с~11 км/ч

БПЛА

Общая 805 м 1 358 м 756 м

длина

траектории

Площадь 10 500 м2 15 700 м2 7 850 м2

покрытия

Время вы- 4,47 мин. 7,54 мин. 4,2 мин.

полнения

миссии

Таким образом, в данной работе предложен программный комплекс для мониторинга пространств на основе алгоритма полупрямой визуальной одометрии, который работает быстрее и точнее текущих алгоритмов. Выигрыш в скорости работы алгоритма получается из-за отсутствия функции извлечения контрольных точек на этапе обработки передвижения в отличие от прямых методов, основанных на интенсивности изображения. Алгоритм особенно полезен для одноплатных компьютеров, которые можно установить на борт БПЛА, так как на таких устройствах он может работать со скоростью более 50 кадров в секунду, что позволяет сделать БПЛА полностью автономным. Высокая частота обновления кадров при оценке движения в сочетании с устойчивостью фильтра ошибочных измерений обеспечивают повышенную надеж-

с с с

с * «

Рис. 6. Патрулирование «змейкой» и «спиралью» Fig. 6. Patrol methods "snake" or "spiral"

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

Литература

1. Каримов А.Х. Цели и задачи, решаемые беспилотными авиационными комплексами нового поколения // Труды МАИ. Вып. № 47. 2011. С. 1-9; URL: http://www.mai.ru/science/trudy/ published.php?ID=26767 (дата обращения: 25.05.2016).

2. Калинов И.А. Создание малого автономного беспилотного летательного аппарата на базе мультиротора с использованием алгоритма полупрямой визуальной одометрии // Интеллектуальные системы, управление и мехатроника-2016: матер. Всерос. научн.-технич. конф. Севастополь: Изд-во СевГУ, 2016. С. 150-154.

3. Малинецкий Г.Г., Кочкаров А.А. Будущее российского оружия и междисциплинарные подходы // Интеллект и технологии. 2014. № 1 (7). С. 48-51.

4. Forster C., Lynen S., Kneip L., and Scaramuzza D. Collaborative monocular SLAM with multiple micro aerial vehicles. Proc. IEEE/RSJ Int. Conf. IROS, 2013, pp. 3962-3970.

5. Kerl C., Sturm J., and Cremers D. Robust odometry estimation for RGB-D cameras. Proc. IEEE ICRA 2013, pp. 3748-3754.

6. Meilland M. and Comport A.I. On unifying key-frame and voxelbased dense visual SLAM at large scales. Proc. IEEE/RSJ Int. Conf. on IROS, 2013, pp. 3677-3683.

7. Klein G. and Murray D. Parallel tracking and mapping for small AR workspaces. IEEE and ACM Int. Sympos. on Mixed and Augmented Reality, Nov. 2007, pp. 1-10.

8. Wu M., Ramakrishnan N., Lam S.-K., and Srikanthan T. Low-complexity pruning for accelerating corner detection. Proc. Conf. ISCAS-2012, IEEE Intern. Sympos., 2012, pp. 1684-1687.

9. Weiss S., Achtelik M.W., Lynen S., Achtelik M.C., Kneip L., Chli M., and Siegwart R. Monocular vision for long-term micro aerial vehicle state estimation: a compendium. Journ. of FieldRobotics, 2013, vol. 30, no. 5.

10. Odroid U2 user manual. URL: https://astataruf.files.word-press.com/2015/11/odroid-x2-user-manual.pdf (дата обращения: 25.05.2016).

DOI: 10.15827/0236-235X.115.175-180 Received 28.06.16

SOFTWARE FOR SPATIAL NAVIGATION AND MONITORING BASED ON VISUAL ODOMETRY ALGORITHM

(Acknowledgements. This work was financially supported by RFBR, grants no. 16-01-00342, 16-29-04268, and the grant of the President of the Russian Federation no. H^-6831.2016.8) 1,2Kochkarov A.A., Ph.D. (Engineering), Deputy Director R&D centre, AKochkarov@oaorti.ru 1,3,4Kalinov I.A., Professional Employee, Postgraduate Student, Graduate Student 1OJSC "RTI", March 8 St. 10, Bld. 1, Moscow, 127083 2Financial University under the Government of the Russian Federation, Leningradskiy Ave. 49, Moscow, 125993, Russian Federation

3Moscow Institute of Physics and Technology, Institutsky Line 9, Dolgoprudny, 141700, Russian Federation 4Skolkovo Institute of Science and Technology, Skolkovo Innovation Center, Bld. 3, Moscow, 143026, Russian Federation

Abstract. The paper presents a software package for a multirotor UAV. This software package is focused on the monitoring territory and the search for human faces. The software package is based on the half implicitly direct visual odometry algorithm. The half-line approach eliminates the difficulties associated with the resource-intensive extraction of control points and at the same time it is a reliable method in terms of motion estimation. The algorithm operates with the directly intensity pixels, which results in a sub-pixel precision in the processing of the large volumes of frames. The probabilistic imaging technique explicitly recognizes an abnormal measurement to assess the three-dimensional coordinates of the point reduces the amount of abnormal measurements, and the measurements improve both quality and reliability. Such approach enhances the reliability of the estimation of movement in the case of the monotonous, repetitive or high privately texture. This algorithm is half implicitly direct visual odometry. The paper provides a comparison of this algorithm with other popular visual odometry algorithm in terms of reliability, operation speed and positioning mistakes. In addition, the paper discusses different approaches to the territory monitoring and the results of the computer implementation for these approaches.

Keywords: visual odometry, software system, monitoring, UAV, patrols, quadrotor, SLAM, PTAM, depth filters, algorithm.

References

1. Karimov A.Kh. Objects and purposes that solved by new generation Unmanned Aircraft Complexes novogo pokoleniya. Trudy MAI [Proc. MAI]. 2011, no. 47, pp. 1-9 (in Russ.).

2. Kalinov I.A. Creation of an independent mini UAV based on a multirotor using the half implicitly direct visual odometry algorithm. Intellektualnye sistemy, upravlenie i mekhatronika-2016: mater. Vseross. nauch.-tekhn. konf. [Proc. All-Russian Science and Practice Conf. "Intelligent Systems, Management and Mechatronics 2016"]. Sevastopol, SevGU Publ., 2016, pp. 150-154 (in Russ.).

3. Malinetsky G.G., Kochkarov A.A. The future of Russian weapon and interdisciplinary approaches. Intellekt i tekhnologii [Intellect and Technology]. 2014, no. 1 (7), pp. 48-51 (in Russ.).

4. Forster C., Lynen S., Kneip L., Scaramuzza D. CollaborativeMonocular SLAM with Multiple Micro Aerial Vehicles. Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems. 2013, pp. 3962-3970.

5. Kerl C., Sturm J., Cremers D. Robust odometry estimation for RGB-D cameras. Proc. IEEE ICRA. 2013, pp. 3748-3754.

6. Meilland M., Comport A.I. On unifying key-frame and voxelbased dense visual SLAM at large scales. Proc. IEEE/RSJ Int. Conf. on IROS. 2013, pp. 3677-3683.

7. Klein G., Murray D. Parallel tracking and mapping for small AR workspaces. IEEE and ACM Int. Sympos. on Mixed and Augmented Reality. Nov. 2007, pp. 1-10.

8. Wu M., Ramakrishnan N., Lam S.-K., Srikanthan T. Low-complexity pruning for accelerating corner detection. Proc. Conf. ISCAS-2012, IEEE Intern. Sympos. 2012, pp. 1684-1687.

9. Weiss S., Achtelik M.W., Lynen S., Achtelik M.C., Kneip L., Chli M., Siegwart R. Monocular vision for long-term micro aerial vehicle state estimation: a compendium. Journ. of FieldRobotics. 2013, vol. 30, no. 5.

10. Odroid U2 user manual. Available at: https://astataruf.files.wordpress.com/2015/11/odroid-x2-user-manual.pdf (accessed May 25, 2016).