УДК 004.932:629.7.05
А. Ю. Агроник, В. П. Фраленко
Библиотека алгоритмов высокопроизводительной обработки данных от системы технического зрения беспилотного летательного аппарата
Аннотация. В работе описаны результаты работы, направленной на разработку библиотеки высокопроизводительных реализаций алгоритмов для обработки данных, полученных с беспилотных летательных аппаратов. Приведены результаты экспериментальных исследований. Представлен новый интерфейс визуально-блочного программирования, позволяющий создавать схемы решаемых задач наиболее удобным способом.
Ключевые слова и фразы: БПЛА, обработка изображений, навигация, параллельный алгоритм.
Введение
Мобильные летающие устройства или беспилотные летательные аппараты (БПЛА) на сегодняшний день используются в самых различных областях и сферах человеческой деятельности. Совершенствование их математического и программного обеспечения требует разработки и реализации целого комплекса алгоритмов, отвечающих за обработку изображений, навигацию и управление, поддержку разнородного аппаратного обеспечения. Современные тенденции к увеличению объема бортовых вычислительных ресурсов (в том числе за счет применения графических ядер, интегрированных рядом с ядрами общего назначения) позволяют применять методы искусственного
В рамках проектов Российского фонда фундаментальных исследований № 15—07— 04051—а «Разработка нейросетевых методов и моделей обработки данных дистанционного зондирования Земли для задач поиска, распознавания и мониторинга целевых объектов», № 15—29—06945—офи_м «Развитие моделей, методов и программных средств обработки мультиспектральных снимков, видео-потоков и данных телеметрии для задач космического мониторинга арктической зоны» и № 16—07—00096—а «Методы решения навигационных и траекторных задач в бортовых системах интеллектуального управления автономных летательных аппаратов на основе оптимизации конвейерных, разрядных и параллельных вычислений».
© А. Ю. Агроник< , В. П. Фраленко< , 2016
© ООО «квадросистемой , 2016
© Институт программных систем имени А. К. Айламазяна РАН( , 2016
© Программные системы: теория и приложения, 2016
интеллекта и эффективные текстурные фильтры, причем роль первых не ограничивают поиском целевых объектов, расширяя область использования алгоритмов и на управление полетом. Настоящая статья представляет результаты работ по созданию новой библиотеки таких алгоритмов и графического интерфейса для взаимодействия с ней.
1. Библиотека алгоритмов
Далее перечислены некоторые из наиболее востребованных алгоритмов, реализации которых были созданы в рамках выполняемых в настоящее время проектов РФФИ (некоторые из них являются лишь высокопроизводительными реализациями известных алгоритмов, другие— реализации новых алгоритмов, разработанных коллективом исследователей):
• алгоритмы базовой фильтрации изображений: низкочастотный и высокочастотный, медианный и фильтры управления контрастом; алгоритм суперразрешения, позволяющий построить изображение высокого разрешения по нескольким слабо отличающимся изображениям объекта меньшего разрешения с использованием субпиксельных сдвигов снимаемого объекта [1];
• алгоритм выбора лучшего снимка из серии на основе вычисления модуляционной передаточной функции (Modulation Transfer Function, MTF) [2];
• алгоритмы восстановления поврежденных изображений: алгоритм AALR [3], являющийся адаптированным вариантом алгоритма Лаки-Ричардсона [4,5];
• алгоритм слепой деконволюции [6];
• алгоритм оценки оптического потока, позволяющий отслеживать обнаруженный объект в последовательности видеокадров [7];
• алгоритм сопоставления нескольких снимков (на основе дескрипторов особых точек SIFT (Scale-Invariant Feature Transform) и SURF (Speeded Up Robust Features) [8,9], с использованием библиотеки FLANN [10]);
• алгоритм следования БПЛА по заданному маршруту, включающий адаптивную подстройку коэффициентов ПИД-регулятора на основе генетического алгоритма и нейронной сети [11];
• алгоритм нейросетевого обнаружения целевых объектов на изображениях, основывающийся на использовании искусственных нейронных сетей, в том числе сверточной нейронной сети глубокого обучения [12-14];
Рис. 1: Схема управления полетом БПЛА
• алгоритмы сегментации изображений: волновой и спектрографический подходы [15], алгоритмы на основе метода Лавса и коэффициентов Харалика [16];
• алгоритм QuickShift [17].
Разработана общая схема функционирования перспективного беспилотного летательного аппарата, содержащая ряд программных мо-
самолетов на территории (Ь) легковых автомобилей заданной модели аэропорта
Рис. 2: Поиск целевых объектов
дулей из состава библиотеки. Схема включает в себя следующие основные функциональные части: полет БПЛА и получение снимков с подвижной камеры с оценкой качества снимков и их предобработкой; выделение целевых объектов; определение собственных координат и ориентации; коррекция угла наблюдения; сохранение карты наблюдаемой поверхности; интеллектуальная корректировка полета БПЛА и его параметров (см. рис. 1). Реализация содержит как параллельные, так и конвейерные способы выполнения необходимых вычислений [18,19], что в сочетании с поддержкой отечественной платформы «Мультикор» [20] позволяет эффективно задействовать все имеющиеся вычислительные ресурсы. Одним из достоинств платформы «Мультикор» является возможность поддержки организации вычислений с использованием СОИБЮ-арифметики, характеризующейся отсутствием «длинных» операций при вычислении элементарных функций [21].
На рис. 2(а), 2(Ь) и 3 приведен ряд иллюстраций, демонстрирующих работу некоторых реализованных алгоритмов. Результаты, показанные на рис. 2(а), получены с помощью волнового алгоритма удаления фона, алгоритма маркировки связанных компонент и искусственной нейронной сети Хемминга. Для выделения объектов
Рис. 3: Поиск очагов пожаров
Таблица 1: Счет на процессорах общего назначения и с задействованием графического ускорителя
Количество вычислительных потоков Время счета (сек) с процессора общего назначения использованием: графического ускорителя
1 1616,68 219,89
2 829,00 124,87
4 422,76 117,31
8 231,76 109,35
на рис. 2(b) использовался алгоритм спектрографической закраски, позволяющий выделить текстуры, схожие с автомобилями, и сверточ-ная нейронная сеть для того, чтобы отсеять случайно обнаруженные похожие текстуры. Для выделения областей с активными пожарами (см. рис. 3), имеющими характерные текстурные особенности, также использовался алгоритм спектрографической закраски.
Был проведен вычислительный эксперимент по обработке полноцветных изображений ДЗЗ, полученных с БПЛА (осуществлялся поиск целевых объектов). Размер отдельных изображений—1280x720 пикселей, общее количество—300 штук. Сравнение реализаций, использующих процессоры общего назначения (от одного до двух Intel E5410 @ 2.33GHz) и один графический ускоритель Nvidia Tesla C1060, сделано в таблице 1. Использование именно такого оборудования оправдано ввиду того, что на борту БПЛА невозможно в реальном времени осуществлять столь сложную обработку информации из-за ограниченности ресурсов—как энергетических, так и вычислительных. Производительность реализации для графического ускорителя
масштабируется при увеличении числа вычислительных потоков из-за того, что пока одни потоки обрабатывают данные, другие в фоне (асинхронно) подгружают новые данные для обработки.
2. Графический интерфейс
Для эффективного применения разработанных модулей (всего более ста) разработан специальный графический интерфейс визуально-блочного программирования (см. рис. 4). Как и все программные модули библиотеки алгоритмов, интерфейс запрограммирован на языке 0++.
Интерфейс позволяет соединять отдельные модули каналами передачи данных, устанавливать в диалоговых окнах их настройки и пр.
Составив необходимую схему, можно выбрать число задействуемых процессоров общего назначения и графических ускорителей (ЦПУ и ГПУ соответственно, см. рис. 4). В частности, схема, часть которой показана на рисунке, с помощью искусственной нейронной сети отслеживает целевые объекты на поверхности Земли.
Заключение
Разработанная библиотека алгоритмов и графический интерфейс служат для организации высокопроизводительной обработки данных от системы технического зрения БПЛА. Библиотека обеспечивает компромисс между точностью и быстродействием, поддержку динамического распределения нагрузкой между имеющимися вычислительными ресурсами. Графический интерфейс удачно ее дополняет.
Включение контура интеллектуального управления и методов высокопроизводительной обработки потоков данных позволило создать новую технологию управления с максимальным уровнем надежности, расширить область применения робототехнических систем. Часть из реализованных алгоритмов используется в задачах обработки данных дистанционного зондирования Земли, в частности, для мониторинга пожаров и слежения за автомобильным транспортом с высоко летящих БПЛА.
Список литературы
[1] А. С. Крылов, А. В. Насонов. Компьютерное повышение разрешения изображений с использованием методов математической физики, МАКС Пресс, М., 2011, 72 с. t 62
[2] A. Cunningham, A. Fenster. "A Method for Modulation Transfer Function Determination from Edge Profiles with Correction for Finite-element Differentiation", Medical Physics, 14:4 (1987), pp. 533-537. t 62
[3] Manoj Kumar Singh, Uma Shanker Tiwary, Young-Hoon Kim. "An Adaptively Accelerated Lucy-Richardson Method for Image Deblurring", EURASIP Journal on Advances in Signal Processing, 2008, Article ID 365021, 10 p. t 62
[4] W. H. Richardson. "Bayesian-based Iterative Method of Image Restoration", Journal of the Optical Society of America, 62:1 (1972), pp. 55-59. t 62
[5] L. B. Lucy. "An Iterative Techniques for the Rectification of Observed Distributions", Astronomical Journal, 79:6 (1974), pp. 745-754. t 62
[6] Е. Е. Переславцева, М. В. Филиппов. «Метод ускоренного восстановления изображений, смазанных при движении», Наука и образование, 2012, №2, с. 77-90. t 62
[7] G. L. Barrows, J. S. Chahl, M. V. Srinivasan. "Biologically Inspired Visual Sensing and Flight Control", Aeronautical Journal, 107 (2003), pp. 159-268. t 62
[8] D. G. Lowe. "Distinctive Image Features from Scale-invariant Keypoints", International Journal of Computer Vision, 60:2 (2004), pp. 91-110. t 62
[9] H. Bay, T. Tuytelaars, L. Van Gool. «Surf: Speeded Up Robust Features», Computer Vision—ECCV 2006, Springer, Berlin-Heidelberg, 2006, с. 404-417 (english). t 62
[10] FLANN — Fast Library for Approximate Nearest Neighbors, URL: http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN t 62
[11] Н. С. Абрамов, Д. А. Макаров, М. В. Хачумов. «Управление пространственным движением летательного аппарата по заданному маршруту», Автоматика и телемеханика, 2015, №6, с. 153-166. t 62
[12] C. Szegedy, A. Toshev, D. Erhan. Deep Neural Networks for Object Detection, 2013, URL: http://papers.nips.cc/paper/5207-deep-neural-networks-for-object-detection.pdf t 62
[13] В. М. Хачумов, В. П. Фраленко, Chen Guo Xian, Zhang Guo Liang. «Перспективы построения высокопроизводительной системы обработки данных дистанционного зондирования Земли», Программные системы: теория и приложения, 2015, №1, с. 121-133. t 62
[14] А. С. Лебедев, В. П. Фраленко, Г. С. Чэн, Г. Л. Чжан. «Экспериментальное исследование задачи поиска сложных ригидных объектов в системе обработки космических снимков "ПС НСКиД"», Современные проблемы науки и образования, 2015, №1, URL: http://www.science-education.ru/pdf/2015/1/1194.pdft 62
[15] В. П. Фраленко. «Анализ спектрографических текстур данных дистанционного зондирования Земли», Искусственный интеллект и принятие решений, 2010, №2, с. 11-15. t 63
[16] В. П. Фраленко. «Методы текстурного анализа изображений, обработка данных дистанционного зондирования Земли», Программные системы: теория и приложения, 2014, №4, с. 19-39. t 63
[17] B. Fulkerson. Really Quick Shift: Image Segmentation on a GPU (GPU Implementation of the QuickShift Algorithm), URL: http://vision.ucla.edu/~brian/gpuquickshift.htmlt
[18] А. А. Талалаев. Модели, алгоритмы и программно-инструментальные средства для организации конвейерно-параллельных вычислений на мультипроцессорных системах, Диссертация на соискание ученой степени кандидата технических наук, Институт программных систем им. А.К. Айламазяна Российской академии наук, Переславль-Залесский, 2012, 112 с. t 64
[19] В. П. Фраленко, А.Ю. Агроник. «Средства, методы и алгоритмы эффективного распараллеливания вычислительной нагрузки в гетерогенных средах», Программные системы: теория и приложения, 2015, №3, с. 73-92. f 64
[20] «Мультикор»—технология проектирования «СнК», URL: http: //multicore.ru/index.php?id=21f 64
[21] V. M. Khachumov. «Bit-parallel Algorithms and Devices», 11-th International Conference on Computer Graphics & Vision GRAPHICON'2001, 2001, с. 224-226 (english). f 64
Рекомендовал к публикации д.т.н., проф. В. М. Хачумов
Об авторах:
Алексей Юрьевич Агроник
Инженер-исследователь ООО «Квадросистемс». Область научных интересов: информационно-телекоммуникационные системы, поисковые системы, полнотекстовый поиск, базы данных.
e-mail: [email protected]
Виталий Петрович Фраленко
К.т.н., старший научный сотрудник ИЦМС ИПС им. А.К. Ай-ламазяна РАН. Область научных интересов: интеллектуальный анализ данных и распознавание образов, искусственный интеллект и принятие решений, параллельные алгоритмы, сетевая безопасность, диагностика сложных технических систем.
e-mail: [email protected]
Пример ссылки на эту публикацию:
А. Ю. Агроник, В. П. Фраленко. «Библиотека алгоритмов высокопроизводительной обработки данных от системы технического зрения беспилотного летательного аппарата», Программные системы: теория и приложения, 2016, 7:2(29), с. 61-71.
ига_: http://psta.psiras.ru/read/psta2016_2_61-71.pdf
70
А. ro. ArpoHHK, B. n. Qpa^eHKO
Alexey Agronik, Vitaly Fralenko. Library of high-performance algorithms for
processing of data from unmanned aerial vehicle vision system,.
Abstract. The paper describes the results of the work aimed at developing a library of high-performance implementations of algorithms for processing of data that received from the unmanned aerial vehicles. The results of experimental studies are presented. Article also presents a new interface for visual-block programming, that allowing to create some tasks schemas in the most convenient manner. (in Russian).
Key words and phrases: UAV, image processing, navigation, parallel algorithm.
References
[1] A. S. Krylov, A. V. Nasonov. Computer images upscaling with mathematical physics methods, MAKS Press, M., 2011 (in Russian), 72 p.
[2] A. Cunningham, A. Fenster. "A Method for Modulation Transfer Function Determination from Edge Profiles with Correction for Finite-element Differentiation", Medical Physics, 14:4 (1987), pp. 533-537.
[3] Manoj Kumar Singh, Uma Shanker Tiwary, Young-Hoon Kim. "An Adaptively Accelerated Lucy-Richardson Method for Image Deblurring", EURASIP Journal on Advances in Signal Processing, 2008, Article ID 365021, 10 p.
[4] W. H. Richardson. "Bayesian-based Iterative Method of Image Restoration", Journal of the Optical Society of America, 62:1 (1972), pp. 55-59.
[5] L. B. Lucy. "An Iterative Techniques for the Rectification of Observed Distributions", Astronomical Journal, 79:6 (1974), pp. 745-754.
[6] E. E. Pereslavceva, M. V. Filippov. "Method of Fast Restoration Images Blurred by Motion", Science & Education, 2012, no.2, pp. 77-90 (in Russian).
[7] G. L. Barrows, J.S. Chahl, M.V. Srinivasan. "Biologically Inspired Visual Sensing and Flight Control", Aeronautical Journal, 107 (2003), pp. 159-268.
[8] D.G. Lowe. "Distinctive Image Features from Scale-invariant Keypoints", International Journal of Computer Vision, 60:2 (2004), pp. 91-110.
[9] H. Bay, T. Tuytelaars, L. Van Gool. "Surf: Speeded up robust features", Computer Vision — ECCV 2006, Springer, Berlin-Heidelberg, 2006, pp. 404-417.
[10] FLANN — Fast Library for Approximate Nearest Neighbors, URL: http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN
[11] N. S. Abramov, D. A. Makarov, M.V. Khachumov. "Controlling Flight Vehicle Spatial Motion Along a Given Route", Autom. Remote Control, 76:6 (2015), pp. 1070-1080.
[12] C. Szegedy, A. Toshev, D. Erhan. Deep Neural Networks for Object Detection, 2013, URL: http://papers.nips.cc/paper/5207-deep-neural-networks-for-object-detection.pdf
[13] V. M. Khachumov, V. P. Fralenko, Chen Guo Xian, Zhang Guo Liang. "Construction Perspectives of the Remote Sensing Data High-Performance Processing System", Program ¡Systems: Theory and Applications, 2015, no.1, pp. 121-133 (in Russian).
© A. Y. AgronikI1, V. P. Fralenko!2, 2016
© Kvadrosistems(1, 2016
© Ailamazyan Program System Institute of RAS(2, 2016
© Program systems: Theory and Applications, 2016
[14] A. S. Lebedev, V. P. Fralenko, G. S. Chjen, G. L. Chzhan. "Experimental Study of Complex Rigid Objects Search Problem in the Satellite Images Processing System "PS NSKiD"", Sovremennye problemy nauki i obrazovanija, 2015, no.1 (in Russian), URL: http://www.science-education.ru/pdf/2015A/1194.pdf
[15] V. P. Fralenko. "Spectrographs Texture Analysis for Earth Remote Sensing Data", Artificial Intelligence and Decision Making, 2010, no.2, pp. 11—15 (in Russian).
[16] V. P. Fralenko. "Methods of Image Texture Analysis, Earth Remote Sensing Data Processing", Program, Systems: Theory and Applications, 2014, no.4, pp. 19—39 (in Russian).
[17] B. Fulkerson. Really Quick Shift: Image Segmentation on a GPU (GPU Implementation of the QuickShift Algorithm), URL: http: //vision.ucla.edu/~brian/gpuquickshift.html
[18] A. A. Talalaev. Models, Algorithms, Software and Tools for Organizing Pipeline-parallel Computations on Multiprocessor Systems, Dissertacija na soiskanie uchenoj stepeni kandidata tehnicheskih nauk, Institut programmnyh sistem im. A.K. Ajlamazjana Rossijskoj akademii nauk, Pereslavl-Zalesskij, 2012 (in Russian), 112 p.
[19] V. P. Fralenko, A. Ju. Agronik. "Tools, Methods and Algorithms for the Efficient Parallelization of Computational Loading in Heterogeneous Environments", Program Systems: Theory and Applications, 2015, no.3, pp. 73—92 (in Russian).
[20] ""Multikor"—designing technology "SnK"" (in Russian), URL: http: //multicore.ru/index.php?id=21
[21] V. M. Khachumov. "Bit-parallel Algorithms and Devices", 11-th International Conference on Computer Graphics & Vision GRAPHIC0N'2001, 2001, pp. 224-226.
Sample citation of this publication:
Alexey Agronik, Vitaly Fralenko. "Library of high-performance algorithms for processing of data from unmanned aerial vehicle vision system", Program systems: theory and applications, 2016, 7:2(29), pp. 61-71. (In Russian). URL: http://psta.psiras.ru/read/psta2016_2_61-71.pdf