Малые беспилотные летательные аппараты (БПЛА) играют важную роль в задачах ликвидации последствий различного рода катастроф, стихийных бедствий, производственного контроля и охраны окружающей среды [1–3]. Однако для таких задач недостаточно навигации на основе только информации, полученной при помощи спутниковых систем: полностью автономная система навигации малого БПЛА должна опираться на локализованную систему. Для получения такой системы с минимальным весом и экономией энергии нужно комбинировать одну камеру, смотрящую вниз, и инерциальное измерительное устройство [4]. Такой набор инструментов позволяет малому БПЛА полностью автономно преодолеть заданный маршрут, при этом попутно сняв необходимые показания. На данный момент большая часть систем монокулярной визуальной одометрии для малых БПЛА использует подходы RGB-D [5] и стереосистемы SLAM [6], однако прямые методы, основанные на минимизации фотометрической ошибки, обретают все большую популярность.
В настоящей работе описан алгоритм полупрямой визуальной одометрии. Он сочетает в себе факторы успеха метода на основе обнаружения контрольных точек, их параллельного отслеживания, составления карты и выбора ключевого кадра. При всех описанных преимуществах точность и скорость работы алгоритма не хуже, чем у прямых методов. Высокая частота кадров при визуальной одометрии для малого БПЛА повышает надежность и увеличивает скорость маневров в полете.
Описание работы системы визуальной одометрии
На рисунке 1 представлена блок-схема алгоритма неявно прямой визуальной одометрии (НПВО). Он использует два параллельных потока: один для оценки передвижения камеры, другой для отображения карты и среды мониторинга в режиме реального времени. Разделение на два потока позволяет расширять карту пространства независимо от отслеживания передвижения, занимающего определенное время.
Поток оценки движения реализует предложенный полупрямой метод оценки относительного сдвига камеры. На первом шаге происходит инициализация позиции камеры с помощью разреженной модели изображения, далее идет выравнивание позиции камеры относительно предыдущего кадра, это происходит через сведение фотометрической ошибки к минимуму, что соответствует прогнози- руемому трехмерному местоположению одних то- чек на разных кадрах. Двухмерные координаты уточняются на следующем этапе через выравнивание характеристик наборов точек. Таким образом, оценка движения изначально находится путем уточнения позиции и структуры пространства через сведение к минимуму ошибки перепроецирования на предыдущем шаге выравнивания по контрольным точкам.
Во втором потоке (отображения карты) вероятностный фильтр глубины инициализируется для каждой контрольной точки на плоскости с целью получения ее третьей координаты. Фильтр глубины инициализируется заново, когда выбран новый ключевой кадр и найдено несколько соответствий трехмерных координат предыдущих контрольных точек с двухмерными на новом ключевом кадре. На каждом следящем кадре обновляются фильтры глубины. Со временем неточность фильтра глубины становится совсем малой, тогда новая контрольная точка с тремя координатами сразу проставляется на карту и используется для оценки движения.
Сравнение работы алгоритмов визуальной одометрии
Большинство алгоритмов монокулярной визу- альной одометрии для малых БПЛА опираются на технологию параллельного отслеживания и построения карты (PTAM – Parallel Tracking and Mapping) [7]. PTAM, в свою очередь, базируется на методе одновременной локализации и построения карты SLAM, который обеспечивает надежность за счет отслеживания и отображения сотен контрольных точек. Он работает в режиме реального времени и одновременно выполняет задачи отображения пунктов назначения и оценки передвижения, опираясь на эффективную корректировку, основанную на обработке изображений с разных углов обзора. Тем не менее, PTAM был разработан для приложений дополненной реальности в небольших пространствах, но в нескольких модификациях, например, при ограничении числа кадров, что обеспечивает его полноценную работу в условиях пространств с застройкой городского типа [2].
Предлагаемый алгоритм полупрямой визуальной одометрии использует функцию нахождения контрольных точек. При этом нахождение контрольных точек является неявным результатом прямой оценки движения, нежели явного нахождения контрольных точек и сопоставления их положения в каждом кадре. Таким образом, извлечение контрольных точек требуется только тогда, когда ключевой кадр выбран для инициализации новых фильтров глубины (трехмерных точек) (см. рис. 1). Скорость работы алгоритма существенно увеличивается, когда контрольные точки извлекаются не во всех кадрах, а только в ключевых. Увеличивается точность и при использовании субпиксельной функции извлечения контрольных точек. В отличие от прямых методов используется много небольших участков, а не несколько больших плоских участков, что положительно сказывается на скорости работы алгоритма и его надежности. Предлагаемая разреженная модель изображения для оценки и выравнивания движения связана с плотной моделью изображения, однако далее будет показано, что разреженной информации о глубине достаточно, чтобы получить грубую оценку движения и функции поиска контрольных точек. Как только контрольные точки и первоначальное положение камеры будут найдены, алгоритм станет использовать лишь контрольные точки, тем самым объясняется его название «полупрямой». Этот прием позволяет быстро устанавливать рамки для обработки в новом изображении.
Байесовский фильтр, который в явном виде убирает ошибочные измерения, тоже оценивает глубину и расположение контрольных точек. Трехмерная точка наносится на карту только тогда, когда сопутствующий фильтр глубины дал сходимость, что требует многократных измерений.
Результатом работы является карта с контрольными трехмерными точками, чья надежность была проверена. Научная новизна данной работы в изобретении полупрямого алгоритма визуальной одометрии, который работает быстрее и надежнее (точнее позиционирует БПЛА и не наносит на карту ошибочные точки) установленных на современных малых БПЛА, а также в интеграции вероятностного отображения точек на карте. Алгоритм устойчив к ошибочным измерениям.
При загрузке алгоритм оценивает начальную позицию по первым двум ключевым кадрам и начальной карте – локальному способу позиционирования БПЛА в пространстве. Изначально предполагается локально плоская схема пространства и оценивается начальное проективное преобразование. Исходная карта при этом определяется с первых двух углов обзора методом триангуляции.
Чтобы справиться с большими передвижениями, применяется выравнивание разреженной модели изображения по схеме от большого к малому по принципу пирамиды. Изображение разделяется на два образца для создания пятиуровневой пирамиды изображения. Затем невязки интенсивности оптимизируются на первом уровне пирамиды изображения до сходимости. Впоследствии оптимизация происходит и на следующих уровнях. Для экономии времени обработки остановка оптимизации происходит после сходимости на третьем уровне: на этом этапе оценка достаточна для инициализации функции выравнивания.
Исходя из соображений эффективности алгоритм сохраняет фиксированное число ключевых кадров на карте, которые затем используются в качестве эталонных для функции выравнивания по контрольным точкам и измельчения структуры. Ключевой кадр выбирается, если евклидово расстояние нового кадра по отношению ко всем ключевым кадрам превышает 12 % от средней глубины сцены пространства; когда новый ключевой кадр помещается на карту, удаляется наиболее дальний от текущей позиции ключевой кадр.
В блоке построения карты изображение делится на клетки, например 30×30. Новый фильтр глубины инициализируется в углу, который имеет максимальное значение рейтинга Ши-Томаси [8], если там еще нет соответствия двухмерной и трехмерной карт. Это приводит к равномерному распределению контрольных точек по изображению. Эта же сетка используется для перепроецирования карты перед выравниванием. Стоит обратить внимание, что углы с максимальным значением рейтинга Ши-Томаси извлекаются на каждом уровне пирамиды изображения для нахождения наилучших углов независимо от масштаба.
Для сравнения результатов работы использовался модифицированный алгоритм PTAM [9]. Это связано с тем, что оригинальный алгоритм недостаточно надежен в высокочастотных повторяющихся текстурах, модифицированная версия справляется с этой задачей лучше. Алгоритм НПВО показал высокую точность и эффективность, частично это объясняется применяемым фильтром глубины, который отсеивает большую часть ошибочных изме- рений и положений трехмерных точек. Также дан- ный фильтр обеспечивает высокую надежность и точность при монотонной, но высокочастотной текстуре (трава, асфальт) в силу высокой частоты обновления кадров. На рисунке 2 показана работа алгоритма как в обычных условиях, так и в условиях высокочастотной монотонной структуры.
На рисунке 3 приведено сравнение работы алгоритмов НПВО и PTAM. PTAM дает очень много ошибочных измерений, что может привести к невыполнению миссии. Стоит заметить, что именно этот алгоритм сейчас применяется на большей части малых БПЛА, таким образом, перед алгоритмом НПВО открываются широкие перспективы применения.
Эксперименты проводились на наборах данных, получаемых с камеры, прикрепленной к малому БПЛА и смотрящей вниз. Видео с камеры обрабатывалось на одноплатном компьютере Odroid-U2 [10], который был установлен непосредственно на БПЛА, а также транслировалось на внешний компьютер для обработки. Стоит заметить, что в результате эксперимента алгоритм работал с двумя разными режимами настроек. На одноплатном компьютере были выставлены настройки, позволяющие уменьшить скорость работы, на внешнем компьютере настройки были ориентированы на вы- сокую точность. Параметры настройки даны в таб- лице 1. Для дальнейшего изложения один режим назовем быстрым, другой – точным.
Таблица 1
Характеристики двух режимов работы
Table 1
Characteristics of the two operating modes
Параметры настройки
|
Быстрый
|
Точный
|
Максимальное количество контрольных точек в изображении
|
120
|
200
|
Максимальное количество ключевых кадров в изображении
|
10
|
50
|
Локальная оценка с разных углов обзора
|
Нет
|
Да
|
Следующим этапом сравнения были тесты на точность. Точность оценивалась на наборе данных, которые берут начало на земле, имеют длину тра- ектории порядка 100 метров и среднюю высоту 1,5 метра. На рисунке 4 приведено сравнение отношения суммарной ошибки позиционирования к пройденному пути, а на рисунке 5 – сравнение ошибок определения углов связанной системы координат.
В целом обе версии НПВО показали большую точность по сравнению с модифицированным алгоритмом РТАМ. Такой результат обусловлен в основном тем, что РТАМ не извлекает контрольные точки на уровне самого высокого разрешения в пирамиде изображения, а это неизбежно вызывает потерю точности. В работе используется камера с невысоким разрешением, что, в свою очередь, приводит к слишком большому числу ошибочных измерений при работе алгоритма РТАМ в условиях высокочастотной повторяющейся текстуры, предложенный алгоритм эффективно справляется с этой проблемой, используя фильтры глубины. Та- кой подход сокращает число ошибочных измерений десятикратно.
Разница в точности быстрого и точного режимов работы алгоритма не является существенной, быстрый режим достаточно точно определяет позицию БПЛА, что позволяет говорить о его применимости на одноплатном компьютере, установленном на борту БПЛА. Это, в свою очередь, позволяет создать полностью автономный БПЛА.
Сравнение скорости работы алгоритмов показало, что ноутбук способен обрабатывать более 300 кадров в секунду, в то время как на одноплатном компьютере частота работы алгоритма составляет 55 кадров в секунду. Результаты работы алгоритма РТАМ на тех же устройствах составляют 91 и 27 кадров в секунду соответственно. Стоит отметить, что для работы алгоритма НПВО был выбран быстрый режим.
Методы патрулирования
Для решения задач патрулирования изначально нужно выбрать метод патрулирования и оптимальную высоту. Для нахождения оптимальной высоты была проведена серия опытов по распознаванию лица, напечатанного в реальном масштабе с разных высот. Экспериментально было установлено, что оптимальная высота для детектирования лежит в промежутке от 10 до 20 метров; именно в этом интервале высот детектирование давало 100 %-ный результат. Высота же может меняться в этом промежутке в зависимости от целей миссии и, как следствие, скорости пролета.
Когда оптимальная высота выбрана (в нашем случае это 13 метров), можно перейти к расчету площади замета за один пролет. В данном эксперименте использовалась камера с углом обзора по горизонтали в 60°; это подразумевает, что треугольник является равносторонним. Тогда его сторона a может быть вычислена по формуле , при высоте 13 метров a=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 кадров в секунду, что позволяет сделать БПЛА полностью автономным. Высокая частота обновления кадров при оценке движения в сочетании с устойчивостью фильтра ошибочных измерений обеспечивают повышенную надеж- ность в пространствах с высокочастотной монотонной структурой. Также были рассмотрены методы патрулирования пространства и проведено сравнение скорости их работы.
Литература
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.wordpress.com/2015/11/odroid-x2-user-manual.pdf (дата обращения: 25.05.2016).