УДК 621. 391
DOI: 10.17586/0021-3454-2017-60-12-1124-1129
АЛГОРИТМ УПРАВЛЕНИЯ БЕСПИЛОТНЫМИ ЛЕТАТЕЛЬНЫМИ АППАРАТАМИ ПРИ ПРОВЕДЕНИИ ПОИСКОВО-СПАСАТЕЛЬНЫХ РАБОТ
А. Б. Бушуев, Ю. В. Литвинов, А. И. Тюрин, Г. М. Шмигельский, Е. Г. Щаев
Университет ИТМО, 197101, Санкт-Петербург, Россия E-mail: [email protected]
Рассмотрена система управления беспилотным летательным аппаратом (БПЛА) типа квадрокоптер, позволяющая решать задачи идентификации подвижного объекта и слежения за ним при движении по заранее заданному маршруту в экстренной ситуации. Для распознавания объектов система использует встроенные в квадрокоптер датчики и бортовую видеокамеру в качестве основы технического зрения. Предложен алгоритм идентификации объекта на изображении, полученном с фронтальной камеры квадрокоптера ArDrone. В результате выполненного анализа для дальнейшей работы был выбран метод Виолы— Джонса, работающий по принципу контрастных участков, форма которых зависит от объекта. Использование предложенного алгоритма позволяет обеспечить движение БПЛА по заданной траектории, искать заданный объект и в случае его обнаружения следить за ним или отправлять информацию на базу.
Ключевые слова: квадрокоптер, траекторное управление, БПЛА, слежение, подвижный объект, техническое зрение, спасательные работы
Задача поиска на местности людей, потерявшихся в результате различных чрезвычайных ситуаций, до сих пор актуальна. Даже обнаружение человека и определение координат не дает информации о его текущем состоянии, в то время как он может нуждаться в безотлагательной помощи. При массовых спасательных операциях, для того чтобы определить приоритетность, предлагается использовать беспилотные летательные аппараты (БПЛА) как инструмент для быстрого поиска пострадавших и анализа их состояния. Актуальность работы состоит в том, что БПЛА на разных этапах выполнения поставленной задачи требуют постоянной связи с одним оператором, вследствие чего не удается одновременно использовать несколько аппаратов для поиска объектов на большой территории. Кроме того, постоянная связь с оператором требует больших затрат энергоресурсов БПЛА.
Использование технического зрения позволяет усовершенствовать систему управления БПЛА и свести к минимуму участие человека в процессе управления. Наиболее подходящим типом БПЛА для решения этой задачи является квадрокоптер, он обладает рядом преимуществ: низкая стоимость, высокая надежность, компактность, отличная маневренность, высокая доля полезной нагрузки относительно собственной массы. В настоящей работе рассматриваются алгоритмы идентификации объектов (лиц людей) на изображении, полученном с фронтальной камеры квадрокоптера ArDrone. При определении положения объекта в кадре и для слежения за найденным объектом формируются команды управления полетом БПЛА на основе системы движения по заданной траектории [1]. Также такой подход можно применить при идентификации препятствий и автоматической корректировке траектории полета для уклонения от них.
Метод Виолы—Джонса является самым популярным методом детектирования области лица на изображении благодаря высокой скорости и эффективности [2—4]. Метод основан на интегральном представлении изображения по признакам Хаара [5—7], построении классифи-
катора на основе алгоритма адаптивного бустинга, а также комбинировании классификаторов в каскадную структуру. Все эти решения в совокупности позволяют осуществлять поиск лица в режиме реального времени.
Алгоритм отслеживания объекта CAMShift основан на комбинации карты вероятности цвета кожи (используемой в алгоритме отслеживания объекта Mean Shift) с адаптивным шагом изменения размера области отслеживания [8]. К преимуществам этого алгоритма можно отнести гибкую настройку точности позиционирования, низкие требования к вычислительным ресурсам и освещенности, высокую вероятность определения объекта при его частичном перекрытии. Недостатком является то, что алгоритм работает с заранее известным объектом.
Метод главных компонент [9] позволяет выделять характерные признаки лица и использовать их для реконструкции и восстановления, он основан на преобразовании Каруне-на—Лоэва [10]. Главная идея состоит в представлении лиц людей в виде набора главных компонент изображений, называемых „собственные лица". Процесс распознавания заключается в сравнении главных компонент неизвестного изображения с компонентами всех известных изображений.
Суть антропометрического метода [11] заключается в выделении набора ключевых точек (или областей) лица и последующем выделении набора признаков. Каждый признак является либо расстоянием между ключевыми точками, либо отношением таких расстояний. Кроме количественных существуют качественные признаки, которые полнее описывают объект принятия решений: пол, тип, телосложение, рост.
Проведенный анализ показал, что для достаточно быстрого и эффективного распознавания лиц в режиме реального времени наиболее подходит метод Виолы—Джонса. Чтобы реализовать алгоритм управления полетом за движущимся объектом, было решено использовать программу, написанную на открытом API для ArDrone [12], поскольку необходимо лишь опробовать выбранный метод детектирования лица человека: была выбрана программа ArDrone-Control-.NET [13] с открытыми исходными кодами, написанная на языке С#.
Для работы с видео использовалась библиотека Emgu CV — кроссплатформенная „обёртка" для .NET-библиотеки обработки изображений OpenCV (основной библиотеки) [14]. В нее вошли все необходимые функции и процедуры, включая алгоритм детектирования лица Виолы—Джонса по признакам Хаара.
В методе используются:
— интегральное представление изображения — это матрица, соответствующая размерам исходного изображения. В каждом элементе матрицы хранится сумма интенсивностей всех пикселов, находящихся левее и выше данного элемента;
— признаки Хаара, с помощью которых происходит поиск нужного объекта. Признаки Хаара дают точечное значение перепада яркости по оси X и Y (все признаки поступают на вход классификатора, на выходе которого получаем результат „верно" либо „ложь");
— бустинг (алгоритм усиления классификаторов) для выбора наиболее подходящих признаков искомого объекта на заданной части изображения;
— каскады признаков для быстрого „отбрасывания окон", где не найдено лицо.
Зададим критерии, по которым будет происходить движение за детектируемым объектом. Рассмотрим случай, когда в кадре находится только один человек. Учитывая, что движение происходит с учетом информации, полученной с видеокамеры, рассмотрим распознавание как задачу с известными и необходимыми данными. Известные параметры: высота (H) и ширина (W) кадра в пикселах; координаты рамки F (xF, yF), а также высота (HF) и ширина (WF) рамки, внутри которой алгоритм детектировал лицо человека.
Необходимо определить точки центра кадра О(у0) и центра рамки А(хА,уА); построить систему управления, обеспечивающую минимально допустимое отклонение (е) точки А (а, Уа) от точки О (о, уо), е<0,1 етах.
Определим О (о, Уо) как точку в центре кадра, соответственно ее координаты будут
О гж н } й
равны ОI —,— I, также найдем
I 2 2 I
Ж
АI хр + ,ур +
н
2 2
Система координат кадра расположена неудобно для обработки (рис. 1, а), поэтому выполним сдвиг (перенос) и поворот системы координат [15], как показано на рис. 1, б.
а)
б)
(0
0)
О(х0, у0) Линия
Е(хР, уР) горизонта
А(ха, УА)
(0,0)
у0 У
Рис. 1
Для выполнения сдвига воспользуемся общеизвестными формулами:
х1 = х0 - Ь
(1)
У = У0 " а,)
где Х1, У1 — это координаты в новой системе, а Х0, У0 — в старой; коэффициенты а, Ь опреде-
О Г Ж н
ляют величину сдвига по соответствующим осям, т.е. координаты точки ОI —,—
^ 2 2
Также используем формулу для поворота систем координат с учетом сдвига:
Х2 = (Х0 -Ь)собр-(У0 -а)Бшр, 1 У2 = (У0 - а) С08 р +(х0 - Ь) р I
(2)
где Х2, У2 — координаты новой системы координат, с учетом сдвига и поворота, а р — угол поворота системы координат (в нашем случае р = 90°), тогда
Х2 = -У0 +а,| У2 = Х0 - Ь. I
(3)
Как видно из рис. 1, б, оси Х и У расположены неудобно для восприятия и обработки соответственно, поменяем местами итоговые координаты новой системы Х2, У2 в (3):
У2 =-У0 +а,1 Х2 = Х0 - Ь. )
(4)
а
Используя формулу (4), преобразуем координаты точки AI xf
W
F
, yF
H
F
A21 xf +
WF - W H - HF
yF I.
2 2
Итоговая система координат центра лица (с точкой ^ ) представлена на рис. 2.
V, А
А2
О
->
х2
Рис. 2
Поскольку возможно совместить движение квадрокоптера по нескольким осям: вниз и влево и так далее, можно обеспечить движение к точке A2 в вертикальной плоскости. Поэтому координаты A2 и будут отклонениями по соответствующей оси.
Согласно синтаксису команд, описанных в документации к ArDrone, движению с максимальной скоростью вверх соответствует коэффициент „1", а вниз — „-1", влево — „-1", вправо — „1". Таким образом, можно рассчитать коэффициенты регуляторов по каждой оси, максимальная величина управления будет в интервале [-1, 1].
Итоговый вид системы управления представлен ниже
и = ekп, (1)
где ktl — коэффициент пропорциональности.
В результате проведенных исследований рассмотрен и программно реализован алгоритм идентификации лиц на изображении. Предложен алгоритм анализа смещения лица от центральной области кадра камеры БПЛА, а также синтезированы законы управления по высоте и направлению, обеспечивающие слежение БПЛА за человеком с помощью бортовой видеокамеры.
СПИСОК ЛИТЕРАТУРЫ
1. Буй В. Ш., Бушуев А. Б., Шмигельский Г. М., Литвинов Ю. В., Щаев Е. Г. Алгоритмы управления летающим роботом при слежении за подвижным объектом // Изв. вузов. Приборостроение. 2015. Т. 58, № 8. С. 593—599.
2. Viola P., JonesM. J. Robust real-time face detection // Intern. J. of Computer Vision. 2004. Vol. 57, N 2. P. 137—154.
3. Viola P., Jones M. J. Rapid object detection using a boosted cascade of simple features // IEEE Conf. on Computer Vision and Pattern Recognition. Kauai, Hawaii, USA, 2001. Vol. 1. P. 511—518.
4. Метод Виолы—Джонса (Viola—Jones) как основа для распознавания лиц [Электронный ресурс]: <https://habrahabr.ru/post/133826>.
5. Lienhart R., Kuranov А., Pisarevsky V. Empirical analysis of detection cascades of boosted classifiers for rapid object detection // Pattern Recognition. DAGM 2003. Lecture Notes in Computer Science. 2003. Vol. 2781. D0I.org/10.1007/978-3-540-45243-0_39.
6. Основы распознавания лиц [Электронный ресурс]: <http://www.intuit.ru/studies/courses/10619/1103/lecture/>.
7. Обучение OpenCV каскада Хаара [Электронный ресурс]: <http://habrahabr.ru/post/ 208092>.
8. Hidayatullah P., Konik H. CAMSHIFT improvement on multi-hue and multi-object tracking // Intern. Conf. on Electrical Engineering and Informatics, ICEEI 2011. Bandung, Indonesia: IEEE, 2011. P. 143—148.
9. Jolliffe I. T. Principal Component Analysis. NY: Springer, 2002. 487 p.
10. Гихман И. И., Скороход А. В. Введение в теорию случайных процессов. М.: Наука, 1965. 570 с.
11. Пучинин С. А. Обзор математических методов распознавания изображений лиц // Интеллектуальные системы в производстве. 2009. Т. 1, № 13. С. 106—110.
12. Piskorski S., Brulez N., Pierre E. AR.Drone Developer Guide. 2011. 107 р.
13. Endres T., Hobley S., Vinel J. ArDrone Control .NET — An application for flying the Parrot AR drone in Windows. 2011 [Электронный ресурс]: <https://github.com/shtejv/ARDrone-Control-.NET>.
14. Bradsky G., Kaehler A. Learning OpenCV. O'Reilly, 2008. 580 p.
15. Лурье А. И. Аналитическая механика. М.: Физматлит, 1961. 824 с.
Сведения об авторах
Александр Борисович Бушуев — канд. техн. наук, доцент; Университет ИТМО, кафедра систем
управления и информатики, E-mail: [email protected] Юрий Володарович Литвинов — канд. техн. наук, доцент; Университет ИТМО, кафедра систем
управления и информатики, E-mail: [email protected] Андрей Игоревич Тюрин — студент; Университет ИТМО, кафедра систем управления и ин-
форматики, E-mail: [email protected] Григорий Михайлович Шмигельский — аспирант; Университет ИТМО, кафедра систем управления и информатики, E-mail: [email protected] Егор Геннадьевич Щаев — магистрант; Университет ИТМО, кафедра систем управления и ин-
форматики, E-mail: [email protected]
Рекомендована кафедрой Поступила в редакцию
систем управления и информатики 21.03.17 г.
Ссылка для цитирования: Бушуев А. Б., Литвинов Ю. В., Тюрин А. И, Шмигельский Г. М., Щаев Е. Г. Алгоритм управления беспилотными летательными аппаратами при проведении поисково-спасательных работ // Изв. вузов. Приборостроение. 2017. Т. 60, № 12. С. 1124—1129.
AN ALGORITHM OF UNMANNED AERIAL VEHICLE CONTROL IN SEARCH AND RESCUE OPERATIONS
A. B. Bushuev, Yu. V. Litvinov, A. I. Tyurin, G. M. Shmigelskiy, E. G. Shchaev
ITMO University, 197101, St. Petersburg, Russia E-mail: [email protected]
The control system of an unmanned aerial vehicle (UAV) such as a quadrocopter is considered that allows solving problems of identification of a mobile object and tracking it when driving on a predetermined route in an emergency. For recognition of objects, the system uses sensors built into the quadrocopter and an on-board video camera as the basis of technical vision. An algorithm for identifying the object on the image obtained from the front camera of the ArDrone quadrocopter is proposed. Based on the analysis performed, the Viola-Jones method is used in the further work; it exploits the principle of contrasting sections of the shape depending on the object. The use of the proposed algorithm allows to ensure the movement of the uAv along a given trajectory, to search for a given object and, if detected, to monitor it or send information to the base.
Keywords: quadrocopter, trajectory control, UAVs, tracking, mobile unit, machine vision, rescue operations
Data on authors
Alexander B. Bushuev — PhD, Associate Professor; ITMO University, Department of Com-
puter Science and Control Systems; E-mail: [email protected] Yury V. Litvinov — PhD, Associate Professor; ITMO University, Department of Com-
puter Science and Control Systems; E-mail: [email protected] Andrew I. Tyurin — Student; ITMO University, Department of Computer Science and
Control Systems; E-mail: [email protected]
Grigory M. Shmigelsky
Post-Graduate Student; ITMO University, Department of Computer Science and Control Systems; E-mail: [email protected] MS; ITMO University, Department of Computer Science and Control Systems; E-mail: [email protected]
Egor G. Shchaev
For citation: Bushuev A. B., Litvinov Yu. V., Tyurin A. I., Shmigelsky G. M., Shchaev E. G. An algorithm of unmanned aerial vehicle control in search and rescue operations. Journal of Instrument Engineering. 2017. Vol. 60, N 12. P. 1124—1129 (in Russian).
DOI: 10.17586/0021-3454-2017-60-12-1124-1129