Preview

Вестник Концерна ВКО «Алмаз – Антей»

Расширенный поиск

Применение анизотропного фильтра Перона - Малика в задаче распознавания посадочной площадки

https://doi.org/10.38013/2542-0542-2017-1-82-87

Полный текст:

Содержание

Перейти к:

Аннотация

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

Для цитирования:


Шошин И.С. Применение анизотропного фильтра Перона - Малика в задаче распознавания посадочной площадки. Вестник Концерна ВКО «Алмаз – Антей». 2017;(1):82-87. https://doi.org/10.38013/2542-0542-2017-1-82-87

For citation:


Shoshin I.S. Employing the Perona - Malik anisotropic filter for the problem of landing site detection. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2017;(1):82-87. https://doi.org/10.38013/2542-0542-2017-1-82-87

Введение

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

В настоящей статье рассмотрен фильтр, представленный Пероном и Маликом [1]. Вы­бор метода обусловлен наличием детектора границ, что позволяет сохранить значимые края на изображении при фильтрации шума. Это необходимо, например, для алгоритмов распознавания, основанных на контурном ана­лизе.

Математическая модель

Согласно работе [1], запишем уравнение ани­зотропной диффузии

где div - оператор дивергенции;

c(x, y, t) - величина коэффициента диф­фузии;

∇, Δ - градиент и лапласиан соответст­венно.

Для сохранения границ изображения от размытия коэффициент диффузии вычисляет­ся в зависимости от направления максималь­ного изменения яркости изображения в точке (x, y). В работе [1] авторы предложили следу­ющие функции для вычисления коэффициента диффузии:

Коэффициент K имеет фиксированную, экспериментально подбираемую величину, обозначающую порог чувствительности фор­мулы к границам, который также может быть получен с помощью функции оценки уровня шума изображения. Низкое значение K при­водит к незначительному размытию, высо­кое - сводит фильтр к линейному размытию. Варианты обработки изображения размером 256×256 пикселей, содержащего посадочный ориентир, 16 проходами фильтра Перона - Малика, использующего формулу (2) для по­лучения коэффициента диффузии с разными значениями K, приведены на рис. 1.

 

Рис. 1. Результат воздействия диффузного коэффициента на процесс обработки изображения при K, равном: а - 8; б - 13; в - 21; г - 34; д - 55; е - 89

 

Последовательная реализация фильтра Перона - Малика

Последовательную реализацию алгоритма на основе дискретизации уравнения (3), пред­ставленной в работе [1], можно выразить с помощью псевдокода следующим образом: цикл it = [0, кол-во итераций]: цикл х = [1, ширина-1]: цикл у = [1, высота-1]:

Последовательная реализация такого ал­горитма имеет сложность O(w * h * t), где w, h - ширина и высота изображения соответ­ственно; t - количество проходов фильтра (на практике будет содержать двухзначное чис­ло). При такой реализации алгоритм можно использовать только для постобработки, а не для систем реального времени. Эффект сгла­живания при увеличении количества итераций можно наблюдать на рис. 2. Изображения об­работаны фильтром Перона - Малика, исполь­зующим формулу (2) для получения коэффи­циента диффузии при K = 34.

 

Рис. 2. Результат обработки изображения размером 256*256 пикселей анизотропным фильтром Перона - Малика при t, равном: а - 2; б - 4; в - 8; г - 16; д - 32; е - 64

 

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

Параллельная реализация фильтра Перона - Малика на GPU

Для оперативного получения результата пред­лагается реализация работы фильтра на гра­фическом процессоре. Для этих целей была выбрана программная платформа OpenCL [2], позволяющая выполнять параллельные вы­числения на центральных и графических про­цессорах разных производителей (Intel, AMD, NVidia, Texas Instruments и др.).

Схема адаптированного алгоритма филь­трации Перона - Малика представлена на рис. 3.

 

Рис. 3. Схема реализации фильтра Перона - Малика на GPU: gs0, gs1 - максимальный размер рабочих потоков в каждом измерении; wi - рабочий поток, исполняющий ядро программы; wg - группа рабочих потоков

 

Каждый рабочий поток выполняет одну и ту же версию ядра программы, но с разными входными данными. Общее количество таких рабочих элементов зависит от модели процес­сора. Если изображение имеет слишком боль­шой размер, который превосходит максималь­но возможное количество рабочих потоков по двум направлениям, изображение разбивается на несколько частей, а запуск параллельной фильтрации выполняется в несколько итера­ций для каждой из них. Массив пикселей всего изображения (при условии, что размер массива не превосходит максимально допустимый объ­ем используемой памяти устройства) передает­ся в глобальную память графического процес­сора посредством прямого доступа к памяти (DMA). При этом область памяти доступна как для чтения, так и для записи. Благодаря этому нет задержек между обработкой частей изображения, связанных с передачей данных между GPU и CPU на данных этапах. Достаточно лишь передать смещение относительно нача­ла при выполнении параллельной фильтрации очередного сегмента изображения.

 

Производительность фильтра в зависимости от реализации и входных данных

Реализация

Вычислительное устройство

Количество проходов

Размер изображения, px

Время обработки, с

CPU

Intel(R) Core(TM) /5-4278U CPU 2.60 GHz

16

256x256

0,3320

CPU OpenCL

Intel(R) Core(TM) /5-4278U CPU 2.60 GHz

16

256x256

0,0030

GPU OpenCL

Intel(R) HD 5100

16

256x256

0,0006

CPU

Intel(R) Core(TM) 15-4278U CPU 2.60 GHz

16

1920x1920

18,1870

CPU OpenCL

Intel(R) Core(TM) Z5-4278U CPU 2.60 GHz

16

1920x1920

2,4910

GPU OpenCL

Intel(R) HD 5100

16

1920x1920

0,4650

CPU

Intel(R) Core(TM) Z5-4278U CPU 2.60 GHz

64

1920x1920

68,8880

CPU OpenCL

Intel(R) Core(TM) Z5-4278U CPU 2.60 GHz

64

1920x1920

10,1390

GPU OpenCL

Intel(R) HD 5100

64

1920x1920

1,4950

Приведем код ядра программы, выпол­няемый на GPU:

Сравним производительность фильтра при использовании последовательного алго­ритма Перона - Малика, OpenCL реализации на центральном и графическом процессорах. В таблице представлено время работы каждой из реализаций фильтра для указанных входных данных.

На рис. 4 приведен график зависимости времени обработки от размера изображения при фиксированном количестве проходов, рав­ном 16. Обработка изображений осуществля­ется на следующих вычислительных устрой­ствах: Intel(R) Core(TM) i5-4278U CPU 2.60 GHz и Intel(R) HD 5100.

 

 

Как видно из приведенных данных (см. таблицу и рис. 4), реализация на графическом процессоре представляет наиболее произво­дительный результат выполнения обработки изображения анизотропным фильтром Перо- на - Малика.

Симулятор оптической системы посадки

В работе [3] представлена модульная среда отладки алгоритма распознавания системы посадки беспилотного вертолета (рис. 5), поз­воляющая моделировать сигнал, получаемый с камеры БПЛА, а также ряд возможных ис­кажений: перспективных искажений, наличие перекрытий, смены освещения и др.

 

Рис. 5. Скриншот модульной среды отладки алгоритма распознавания системы посадки беспилотного вертолета

 

В среде реализован современный подход к моделированию освещения на основе окру­жения. Инструмент позволяет оценить рабо­тоспособность разрабатываемого алгоритма распознавания, управлять параметрами загру­жаемых в виде расширений фильтров и наблю­дать за результатом их воздействия на процесс обработки изображения. Среда удобна для по­иска экспериментальных величин алгоритмов, как, например, коэффициент чувствительности формул (2) и (3) к границам в зависимости от окружения, размера изображения и коли­чества проходов. Реализованный с помощью программной платформы OpenCL фильтр Пе­рона - Малика был успешно интегрирован в среду в виде динамической библиотеки (.dll).

Заключение

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

Список литературы

1. Perona P., Malic J. Scale-space and edge detection using anisotropic diffusion // IEEE Trans-actions on pattern analysis and machine intelligence. July 1990. Vol. 12. No. 7. 11 p.

2. Nakamura T., Lizuka T., Asahara A., Miki S. The Open CL programming book. Fixstars Corporation, 2010. 324 p.

3. Шошин И.С. Модульная среда отладки алгоритма распознавания для системы посадки беспилотного вертолета // Союз машиностроителей России. Будущее машиностроения России: сб. докл., 5-8 октября 2016 г. М.: Изд-во МГТУ им. Н. Э. Баумана, 2016. C. 740-744.


Об авторе

И. С. Шошин
АО «Государственный научно-исследовательский институт приборостроения»
Россия


Рецензия

Для цитирования:


Шошин И.С. Применение анизотропного фильтра Перона - Малика в задаче распознавания посадочной площадки. Вестник Концерна ВКО «Алмаз – Антей». 2017;(1):82-87. https://doi.org/10.38013/2542-0542-2017-1-82-87

For citation:


Shoshin I.S. Employing the Perona - Malik anisotropic filter for the problem of landing site detection. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2017;(1):82-87. https://doi.org/10.38013/2542-0542-2017-1-82-87

Просмотров: 466


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2542-0542 (Print)