Автоматическая посадка малых беспилотных летательных аппаратов с использованием компьютерного зрения

УДК 621.396.41

А.Е. Косова, А.М. Кориков

Автоматическая посадка малых беспилотных летательных аппаратов с использованием компьютерного зрения

Предложена трехуровневая структурная схема системы управления малым беспилотным летательным аппаратом (МБПЛА) - квадрокоптером и выбраны алгоритмы компьютерного зрения для автоматической посадки МБПЛА. Адаптированные к задаче автоматической посадки МБПЛА алгоритмы компьютерного зрения эффективно решают эту задачу. Алгоритм содержит три этапа: определение области цели с помощью алгоритма Camshift; обнаружение признаков в области маркера посадочной площадки на основе алгоритма SURF; сопоставление выбранного шаблона посадочного маркера и целевой области в кадре. Результаты экспериментов и теоретический анализ доказывают эффективность алгоритмов компьютерного зрения для автоматической посадки МБПЛА. Эксперименты подтверждают, что на МБПЛА возможна автономная навигация без использования системы глобального позиционирования GPS или GLONASS.

Ключевые слова: беспилотные летательные аппараты, алгоритмы компьютерного зрения, SIFT, SURF, Camshift, автоматическая посадка БПЛА. doi: 10.21293/1818-0442-2017-20-3-191-196

В настоящее время малые беспилотные летательные аппараты (МБПЛА) используются при решении многих задач: поиск, спасение, мониторинг окружающей среды, наблюдение и инспекция. С помощью МБПЛА легко получить доступ к среде, к которой доступ людей или экипажных транспортных средств затруднён. Особенно это актуально для экстремальных ситуаций: пожаротушение, разведка и т. п. В последнее время для навигации БПЛА широко используются системы глобального позиционирования GPS или GLONASS. Но сигналы из навигационных сетей могут быть бесполезны в конкретной среде. Классическая навигационная система, поддерживаемая GPS, не соответствует требованию автономной навигации в смешанной среде [1]. Развитие высокопроизводительных компьютеров и появление на рынке недорогих видеокамер высокого качества стимулирует широкое использование в БПЛА и МБПЛА систем компьютерного зрения (СКЗ). Исследования возможностей автономной навигации БПЛА и МБПЛА, оснащенных СКЗ, проводятся как в России [2], так и за рубежом [3].

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

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

подготовительных работ и значительных вычислительных ресурсов для достижения приемлемой точности расчетов, поэтому в задачах распознавания объектов на аэрофотоснимках широко применяются методы третьей группы - методы выделения характерных признаков [4-7]. Эти методы не требуют наличия обученного классификатора и применимы практически к любым изображениям. Для решения задач навигации и управления БПЛА из третьей группы методов рассмотрим возможности методов SIFT и SURF.

SIFT (от англ. Scale Invariant Feature Transform -инвариантный к масштабированию алгоритм поиска объекта) [4, 5] обеспечивает распознавание и отслеживание объектов на изображении. SIFT обладает свойствами повторяемости и надёжности, поэтому он широко используется в СКЗ БПЛА.

Herbert Bay и др. разработали SURF (от англ. Speeded Up Robust Features - ускоренные надёжные функции) [6]. SURF, как и SIFT, также применяется в обнаружении точек и сопоставления изображений. SURF включает преобразование Лапласа. Этот алгоритм позволяет быстро различать яркие объекты на тёмном фоне и тёмные на ярком фоне. SURF более надёжный, чем SIFT, в обнаружении и отслеживании точек. Однако SURF имеет большую вычислительную нагрузку.

Известны также модификации методов SIFT и SURF: алгоритм Mean-SHIFT используется при отслеживании объектов; для повышения безопасности и вычислительной эффективности используется алгоритм Camshift (Continuously Adaptive Mean-SHIFT [7]). Алгоритм Camshift применяется для отслеживания вертолётной площадки и поиска её области. После этого используется SURF для определения точек объектов в целевом изображении в области цели.

Аппаратные средства для экспериментов

Для проведения экспериментов использовался МБЛА - квадрокоптер Parrot AR.Drone [8], включающий различные датчики. Инерциальная система

управления (IMU - Inertial measurements unit - устройство для осуществления инерциальных измерений) квадрокоптера состоит из трёхосного акселерометра, двухосного гироскопа, одноосного гироскопа для определения угла рыскания. В составе IMU также имеется ультразвуковой альтиметр 40 кГц дальностью 6 м для обеспечения вертикальной стабилизации.

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

1) спереди квадрокоптера имеется широкофокусная камера VGA 640x480, скорость съёмки которой 15 кадров в секунду, объектив 93° и сенсор CMOS;

2) на нижней части квадрокоптера располагается высокоскоростная камера 176*144, имеющая скорость съёмки 60 кадров в секунду и объектив 64°.

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

0,51 и-1

Рис. 1. Квадрокоптер Parrot AR.Drone

Структура системы управления

Трехуровневая структурная схема системы управления (СУ) МБЛА представлена на рис. 2.

Система компьютерного зрения

Стратеги ческий уровень

г

*

Интерпретатор'

Оператор

Тактический уровень

Вертолётная посадочная площадка

Испольнительн ы н уровень

Квадрокоптер Бортовая

'-система

Рис. 2. Структурная схема системы управления квадрокоптером

Схему на рис. 2 можно рассматривать как частный случай интеллектуальной системы управления [9].

Стратегический уровень СУ и интерпретатор предназначены для оценивания степени пригодно-

сти посадочной площадки и её безопасности для посадки. СКЗ, тактический и исполнительный уровни СУ предназначены для распознавания посадочной площадки, наведения и автоматической посадки МБПЛА на заданный маркер посадочной площадки. Алгоритмы компьютерного зрения Общая схема алгоритма с применением компьютерного зрения показана на рис. 3. Алгоритм Camshift используется при отслеживании объектов на основе информации о цвете движущейся в кадре цели. В алгоритме выделены три составляющие: 1. Вычисление гистограммы цели. H-компонента модели HSV обозначает информацию о цвете. Алгоритм Camshift чувствителен к информации о цвете. Необходимо преобразовать цветное изображение, снятое камерой, из цветового пространства RGB к HSV Были получены гистограммы выбранных маркеров посадочных площадок.

Рис. 3. Блок-схема алгоритма с применением компьютерного зрения, обеспечивающего автономную посадку БПЛА

2. Алгоритм Camshift.

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

1) определение изображения в качестве области поиска;

2) инициализация размера и положения окна поиска;

3) вычисление распределения вероятности цветов окна поиска, эта область должна быть больше, чем в поисковом окне;

4) выполнение алгоритма Mean-Shift для получения новой позиции и размера окна поиска;

5) применение результатов шага 3 для инициализации положения и размера окна поиска в следующем кадре, перейти к шагу 3 и продолжить.

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

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

Рис. 5. Фильтры Хаара

Рис. 4. Отслеживание маркера, основанное на цветовой гистограмме

3. Алгоритм SURF.

H. Bay и др. предложили алгоритм SURF на основе SIFT в 2006 г. Главной задачей алгоритма SIFT является обнаружение локальных характерных особенностей изображения. Для задачи поиска вертолётных посадочных площадок основными достоинствами данного алгоритма являются устойчивость к масштабированию, вращению и относительная устойчивость по отношению к аффинным преобразованиям. Работа алгоритма начинается с того, что выполняется поиск в изображении локальных экстремумов, на основе которых выделяются особые точки. При этом также обеспечивается инвариантность относительно поворота сцены.

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

5 2 f д2 f

H( f ( х, у)) = дх2 5 2 f дхду 52 f

дхду ду2 J

det(H) = д 2f 5 2f - ( д2 f )2

дх2 су2

где Н - матрица Гессе; /(х,у) - функция изменения градиента яркости.

- Градиент в точке рассчитывается с использованием фильтров Хаара, где чёрные и белые области имеют значение -1 и +1 соответственно (рис. 5). Это даёт значение перепада градиента по осям.

- Каждой из особых точек сопоставляется свой дескриптор, который представляет собой набор, состоящий из 64 чисел. Так как в этих точках достига-

- Фильтры Гессе и Хаара рассчитываются эффективно, так как используется интегральное представление изображений

i< x, j < y

II ( X, y) = £ I (i, j ).

i=0,j=0

Упрощение расчётов происходит из-за удобной для подсчётов реализации хранения результатов сумм. То есть если имеется прямоугольник ABCD (рис. 6) то сумма внутри прямоугольника будет выражена формулой

Summ = II(A) + 11(С) - II(B) - II(D).

A В

D С

-Г->

Рис. 6. Прямоугольник ABCD

- Вычисленное значение гессиана позволяет находить локальный экстремум яркости изображения. Масштаб матрицы Гессе обусловливает размер области, в которой рассчитается дескриптор. Таким образом достигается инвариантность масштаба [6].

Реализация SURF на основе библиотеки функций компьютерного зрения OpenCV [10] показана на рис. 7.

Рис. 7. Реализация отслеживания цели с помощью алгоритма SURF

Из рис. 7 следует, что сложная среда может привести к ошибке отслеживания цели. Слева на рис. 7 контрольные точки, отслеживаемые на основе

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

Алгоритм управления

Алгоритм управления реализуется на исполнительном уровне (в контроллере или регуляторе) трёхуровневой СУ, представленной на рис. 2. Структура этого уровня показана на рис. 8. В контроллере реализуется два канала управления: по крену и по тангажу. Входы каналов крена и тангажа включают в себя угол ориентации и их текущее состояние. В структуре каскадного ПИД-регулятора имеется внешний контур, который обеспечивает быструю скорость реакции управления ориентацией, и внутренний контур, который имеет медленную скорость реакции управления положением. Последовательность расчёта параметров системы управления: внешний контур (петля ориентации), а затем внутренний контур (петля положения). Положение и скорость определяются при расчёте траектории, а ориентация получается путём вычисления во внешнем контуре.

Зу]^>*|пйд1|-*|угш1 у|ЧХ)-^Г1ИД 2

иу

IMU, компас

БПЛА г*

Зрение, сонар

Рис. 8. Блок-схема контроллера

На рис. 8 через ЗУ обозначены задающие условия (позиция, скорость), ИУ - исполнительное устройство, угол ¥ - угол рыскания БПЛА.

Реализация контроллера завершается расчётом ПИД-регулятора внешнего контура. В соответствии с данным расчётом вычисляются скорость и состояния каналов крена, тангажа и угла поворота (рыскания).

Обработка изображений

В нашей работе информация о скорости и положении БПЛА оценивается алгоритмом SURF для выполнения извлечения и сопоставления точек. В качестве целевого шаблона в исходном изображении выбирается область размером 100x100 пикселей для удобного вычисления. После этого используется алгоритм для определения целевой области в следующем кадре. Когда цель определена, точки функции извлекаются способами алгоритма SURF в области цели. После определения области посадочной площадки выполняется извлечение и сопоставление признаков. В то же время выбирается центральная область изображения в качестве целевого шаблона такого же размера, как и прежний. Далее происходит непрерывное отслеживание особых точек. Требования к установке камеры заданы следующим образом: направление оптической оси камеры совпадает с направлением оси координат корпуса БПЛА. Оно также совпадает с осью Z навигационной системы

координат. На рис. 9 показаны требования к установке камеры и системы координат корпуса БПЛА. Этапы преобразования от абсолютных координат к координатам изображения согласно рис. 9 показаны на рис. 10.

Плоскость изображения

ш

в

Рис. 9. Требования к установке камеры и система координат корпуса БПЛА

»Z

XYZ 0ъ хъ УЪ zb Oc xc yc zc x', y'

хъ X

УЪ Cbn Y + Tbn

zb Z

Рис. 10. Переход от абсолютной системы координат к системе координат изображения

Преобразование из абсолютных координат [X У г] к координатам БПЛА [ хъ уъ гъ ] определяется как (1). Съп определяется как (2), а Съп - как (3). Здесь ф - угол крена БПЛА; 0 - угол тангажа БПЛА; ¥ - угол рыскания БПЛА.

СЦ1С 6 -50

Съп = -5усф + -сусф + сф505у с05 ф ,

5ф5у+с^50сф -су5ф + 5у50сф сфс0

где с и 5 - сокращённые формы для косинуса и синуса соответственно.

Тъп =[Тх Ту Тг]Т .

Преобразование координат корпуса БПЛА [ хъуъ^ъ ] в координаты камеры [ хс ус гс ] показано как (4). Ссъ определяется как (5). Тсъ совпадает с Тъп. Камера оснащена согласно рис. 8. Таким образом, получаем Ссъ - единичную матрицу. Преобразование из координат камеры [ хс ус гс ] к координатам изображения (х',у') определяется, как показано в (6).

xc. Xb

Ус - Ccb УЬ

_ zc _ zb

+ T

cb

Ccb -

cos9c 0 -sin 9c cosy c sin yc 0"

0 1 0 -sin yc cos yc 0 ,

sin ec 0 cos9c 0 0 1

X=/^; у'=/^.

^с

Выделим следующие системы координат:

1. Мировая (абсолютная) система координат: она называется реальной системой координат или реалистичной системой координат ХУ2. Это абсолютная система координат объектного мира. В общем случае в этой системе координат описывается 3Б-сцена.

2. Система координат камеры: система координат определяется в соответствии с центром камеры. Это осхсус2с , как показано на рис. 8. В общем случае оптическая ось камеры определяется как ось 2с .

3. Система координат плоскости изображения: х'у', система координат плоскости изображения формируемая в камере. Как правило, плоскость изображения параллельна плоскости х с ус системы координат камеры. Оси х с и ус параллельны осям х' и у' соответственно. В этом случае оригинал плоскости изображения находится только на оптической поверхности камеры.

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

5. Система координат корпуса (тела) БПЛА: 0ЬхъуЬ2Ь определяется в соответствии с центром БПЛА. Ось совпадает с осью 2с [5].

Результаты экспериментов

Для проведения экспериментов были изготовлены два вида посадочных площадок диаметром 1 и 3 м. На рис. 11 показаны изображения площадок, полученные из кадров передней камеры Лг.Бгопе.

Площадки были расположены на расстоянии 10 м, а также отделены препятствием, представляющим собой стену шириной 2 м. Необходимо было произвести старт с одной из площадок, облететь препятствие, затем совершить посадку на другую площадку, после этого, развернувшись на 180°, вернуться на первую. Высота полёта 1,5-2 м.

После облёта препятствия необходимо начинать поиск посадочной площадки с помощью передней камеры. Затем, когда площадка «исчезает» из поля зрения передней камеры, начинает выполняться поиск в кадрах, получаемых из камеры, которая направлена вертикально вниз. Эксперименты были проведены успешно (около 80% верного распознавания площадок вышеописанными алгоритмами и выполнения задания при исправной работе аппарата). При планировании экспериментов и обработке его результатов использованы рекомендации работы [11].

Рис. 11. Вертолётные посадочные площадки, используемые в экспериментах

Заключение

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

Литература

1. Weiss S. Monocular-SLAM-based navigation for autonomous micro helicopters in GPS-denied environments / S. Weiss, D. Scaramuzza, R. Siegwar // Journal of Field Robotics (USA). - 2011. - Vol. 28, № 6. - P. 854-874.

2. Логачев В.Г. Метод стабилизации положения и управления квадрокоптером в пространстве с использованием данных инерциальных и визуальных сенсоров / В.Г. Логачев, И.В. Минин // Фундаментальные исследования. - 2015. - № 11-1. - С. 85-91.

3. Scaramuzza D. MAV navigation through indoor corridors using optical flow / D. Scaramuzza, S. Weiss, R. Siegwart // Robotics and Automation (ICRA) - IEEE International Conference on (Anchorage, AK, USA). - 2010. - P. 3361-3368.

4. Википедия. Scale-invariant feature transform [Электронный реcурс]. - Режим доступа: https://en.wikipedia.org/ wiki/Scale-invariant_feature_transform, свободный (дата обращения: 24.05.2017).

5. Zhao Y. Improved vision-based algorithm for unmanned aerial vehicles autonomous landing / Y. Zhao, H. Pei, H. Zhou // Journal of Multimedia. - 2013. - Vol. 8, No. 2. -P. 90-97.

6. Хабрахабр. Применение метода SURF в системах контроля и управления доступом на основе биометрических технологий [Электронный ресурс]. - Режим доступа: https://special.habrahabr.ru/kyocera/p/152679/, свободный (дата обращения: 24.05.2017).

7. Karasulu B. Performance evaluation software moving object detection and tracking in videos / B. Karasulu, S. Korukoglu. - Springer New York, Heidelberg, Dordrecht, London, 2013. - 76 p.

8. Википедия. Parrot AR.Drone [Электронный реcурс]. - Режим доступа: https://ru.wikipedia.org/wiki/ Parrot_AR.Drone, свободный (дата обращения: 24.05.2017).

9. Кориков А.М. Интеллектуальное управление в технических системах // Научный вестник НГТУ. - 2014. -№ 1 (54). - С. 18-26.

10. Bradski G. Learning OpenCV / G. Bradski, A. Kaehler. - Sebastopol: O'Reilly Media, 2008. - 556 p.

11. Кориков А.М. Эксперимент в научном исследовании // Доклады ТУСУРа. - 2015. - № 2(36). - С. 148-154.

Косова Анастасия Евгеньевна

Аспирант каф. автоматизированных систем управления

(АСУ) ТУСУРа

Тел.: +7-903-952-81-31

Эл. почта: kosova_ae@mail.ru

Кориков Анатолий Михайлович

Д-р техн. наук, профессор, зав. каф. АСУ ТУСУРа, профессор Национального исследовательского Томского политехнического университета Тел.: +7 (382-2) 70-15-36 Эл. почта: korikov@asu.tusur.ru

Kosova A.E., Korikov A.M.

Using computer vision algorithms for the automatic landing of unmanned aerial vehicles

A block diagram of the control system for a mobile unmanned aerial vehicle (mobile UAV) is proposed - a quadrocopter and computer vision algorithms for automatic landing of mobile UAV are selected. The computer vision algorithms adapted to the problem of automatic landing of the mobile UAV allow to effectively solve this problem. The algorithm contains three stages: the definition of the target area using the Camshift algorithm; detection of attributes in the area of the marker of the landing pad on the basis of the SURF algorithm; matching the selected landing marker template and the target area in the frame. The results of the experiments and theoretical analysis indicate the effectiveness of computer vision algorithms for automatic landing of mobile UAV. Experiments confirm that the mobile UAV can realize autonomous navigation without using a global positioning system GPS or GLONASS. Keywords: unmanned aerial vehicles, computer vision algorithms, SIFT, SURF, Camshift, automatic UAV landing.