Распределённое дешифрирование аэрокосмических изображений с использованием технологии CUDA Авторы: Лихошерстный А.Ю., Шаурин Д.О. Актуальность Одними из важнейших проблем, решаемых при исследование поверхности Земли, являются: мониторинг влияния изменения климата, оценка загрязнения атмосферы, моделирование наводнений и оползней, картографирование, лесовосстановление, определение структуры земного покрова и землепользования, а также поддержка мероприятий по обороне и безопасности. В качестве инструмента исследования поверхности Земли часто применяется космофотосъемка. При этом, информация извлекается на основе анализа полученных со спутников космофотоизображений (изображений, полученных в результате съемки, выполненной специальной аппаратурой из космоса). При получении космических снимков часто встречаются изображения, искаженные помехами, появляющимся на этапах формирования или передачи. Импульсный шум Полосы Причинами возникновения шума на изображении могут быть сбои в работе канала связи, несовершенством аппаратуры и др. В конечном результате это приводит к ухудшению качества визуального восприятия и снижению достоверности решений, которые будут приниматься на основе анализа таких изображений. Ослабление действия помех достигается компенсацией аппаратурных искажений. Современные интерактивные программные средства вместе с тем не позволяют эффективно устранять помехи вида импульсный шум и полосы и при компенсациисущественно искажают само изображение. Поэтому задача разработки алгоритмов фильтрации указанных помех является актуальной. Результат компенсации аппаратурных искажений гауссовским методом (программа ENVI) Основная цель проекта состоит в разработке, исследовании и программной реализации для параллельных и распределенных вычислительных систем алгоритмов дешифрирования аэрокосмических изображений fik (i=1,2,…M, k=1,2,…,N ) на основе частотных представлений. Частотным представлением функции fik называется: (1) 1 fik 4 2 F (u, v)e jui e jvk dudv jvk Здесь e jui и e - базисные функции (функции представляются в базисе Фурье), аргументы u и v - круговые частоты, отражающие периодичность (цикличность) изменений исходной функции с изменением аргументов i и f ik k. В качестве весовой функции F (u, v) можно использовать трансформанту Фурье: M N (2) ju ( i 1) jv ( k 1) F (u, v) f ik e e i 1 k 1 На основе равенства Парсеваля энергию изображения можно представить в виде суммы: M N f i 1 k 1 2 ik 1 4 2 F (u, v) где значение доли энергии Pr , m частотной области : ik Pr ,m Rx 2 (3) r 1 m 1 2 F (u, v) dudv ( u ,v )ik Ry dudv Pr ,m двумерного сигнала 1 4 2 fik в двумерной (4) В качестве области ik рассматривается следующая центральносимметричная область частотной плоскости : ik : {ik (u, v) | (u 1, 2 , v 1, 2 ) (u 1 , 2 , v 2 ,1 ) (u 2 ,1 , v 2 ,1 ) (u 2 ,1 , v 1 ,, 2 ) } где 0 1 , 2 , 1 , 2 v 2 1 - 2 - 1 -1 1 -2 u, v 2 u (5) Если в правую часть представления (4) подставить определение (2), то после преобразований можно получить соотношение: Pr ,m trec ( AT B T ) где матрицы A (ai1i2 ) и B (bk k ) вычисляются следующим образом: 1 2 Ф – исходное изображение, trec – след матрицы. Формулы (6) и (7) были взяты из работы Жилякова Е.Г. и Черноморца А.А. “Метод определения точных значений долей энергии изображений в заданных частотных интервалах”. Таким образом, для вычисления доли энергии двумерного сигнала в любой частотной двумерной области можно построить вычислительную процедуру на основе вышеуказанного представления, не вычисляя при этом трансформанту Фурье. (6) Задачи проекта: • • • • • • Разработка математической модели алгоритмов дешифрирования аэрокосмических снимков ; Разработка параллельных алгоритмов дешифрирования аэрокосмических снимков ; Программная реализация алгоритма устранения импульсного шума и помех в виде полос на основе частотных представлений на языке C/C++ с использованием технологий CUDA+CuBLAS и MPI/OpenMP ; Программная реализация алгоритма распознавания объектов на основе частотных представлений на языке C/C++ с использованием технологий CUDA+CuBLAS и MPI/OpenMP ; Программная реализация алгоритма распознавания объектов на основе частотных представлений на языке C/C++ с использованием технологий CUDA+CuBLAS и MPI/OpenMP ; Оценивание эффективности реализованных алгоритмов на основе вычислительных экспериментов с реальными изображениями. Разработка алгоритма компенсации аппаратурных искажений в виде импульсного шума Пороговый метод обработки изображения: i 1 k 1 ( f sr fik * f rs fik ) fik , ïðè s i 1 r k 1 N ñ.ï . f ik* i 1 k 1 ( f sr fik * f rs fik ) s i 1 r k 1 , ïðè N ñ.ï . где f ik – значение интенсивности в текущей точке, f ik* - новое значение интенсивности текущего пикселя, N с.п. - количество соседних пикселей, ρ - порог (задаётся интерактивно), σ - среднее значение интенсивности соседних пикселей: i 1 k 1 f sr s i 1 r k 1 N с .п. (8) ρ = 19 ρ = 11 Фильтрации изображений на основе частотных представлений Выражение для нахождения результата фильтрации Ф* изображения Ф в частотной области Ω выглядит следующим образом: * ik AT B (9) где элементы матриц A и B вычисляются по следующей формуле: (10) Исследования показали, что помехи расположены в области высоких частот. Для подавления высоких частот составляется матрица частотных интервалов C размерностью RaxRb, элементы которой равны либо нулю (что соответствует подавлению соответствующих частот), либо единице. Ra ~ Восстановление изображения: i 1 Rb k 1 * ik Устранение импульсных помех предлагаемым методом на основе частотных представлений 3 Относительная среднеквадратическая погрешность 9,6110 ( f f f ik ik 2 * ik )2 , f – исходное изображение, f * - отфильтрованное изображение (11) Сравнение предлагаемого метода компенсации аппаратурных искажений в виде импульсных помех с другими методами Исходное изображение Результат обработки предлагаемым методом 9,61103 Результат обработки с помощью линейного усреднения 6,57 102 ) Результат обработки с помощью медианной фильтрации 1,32 101 Разработка алгоритма компенсации аппаратурных искажений в виде полос Выражение для нахождения результата фильтрации Ф* изображения Ф в частотной области Ω выглядит следующим образом: * ik AT B где элементы матриц A и B вычисляются по следующей формуле: Матрица частотных интервалов r1 v 2 Rb=16 1 0 Ra 1,3 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 2 1,5 Ra=16 u Результат компенсации аппаратурных искажений в виде полос предлагаемым методом Исходное изображение Результат компенсации аппаратурных искажений в виде полос 2 Относительная среднеквадратическая погрешность 6,32 10 Сравнение работы предлагаемого метода компенсации аппаратурных искажений в виде полос с гауссовским методом Результат обработки гауссовским методом Погрешность 0,527 Результат обработки предлагаемым методом Погрешность 0,063 Выделения и идентификации объектов на космических снимках Для изучения и исследования объектов, явлений и процессов на земной поверхности применяют процесс автоматизированного дешифрирования, который заключается в обнаружении, выделении и распознавании объектов по их признакам, определении характеристик, установлении взаимосвязей с другими объектами. На сегодняшний день для автоматизированного дешифрирования аэрокосмических снимков в современных программных средствах используются следующие три группы признаков распознавания: 1. Геометрические (форма, размер); 2. Яркостные (уровень яркости, цвет); 3. Структурные (текстура, структура). Недостатками таких подходов являются сложность распознавания в условиях сильных помех на изображении, а также необоснованное отнесение объектов снимка в один и тот же класс. Результат распознавания частных домов байесовский метод Алгоритм распознавания объектов на основе частотных представлений 1. На изображении выделяется определенный объект изображения, который будет служить эталоном для распознавания других подобных объектов. 2. Вычисляются доли энергии выбранного объекта (эталона) изображения для каждого цветового канала (R – красный, G – зеленый, B – синий): PRik ,эт trec ( AT R,эт B R,эт ) T PGik ,эт trec ( AT G ,эт B G ,эт ) T (12) PBik ,эт trec ( AT B ,эт B B ,эт ) T i 1,..., M ; k 1,..., N где PRik ,эт , PGik ,эт , PBik ,эт - эталонные значения долей энергии объекта для трех каналов изображения (R,G,B) соответственно; - исходные изображения эталона для каждого из трех каналов; матрицы A и B вычисляются по формуле (7). Значения долей энергии эталона сохраняются. 3. При распознавании объектов вычисляются доли энергии каждого участка изображения по формуле (6). После чего проверяется, попадают ли эти значения в заданный диапазон: PR PRik PRik ,эт ik ,эт d PGik ,эт PGik PGik ,эт d PB PBik PBik ,эт ik ,эт d i 1,..., M ; k 1,..., N (13) где d – задает доверительный интервал, который позволяет расширять или сужать диапазон значений доли энергии для распознаваемого объекта; PRik , PGik , PBik - значения долей энергий объектов для каждого участка изображения. Если значения долей энергии определенного участка изображения попадает в заданный диапазон, то принимается решение отнести его к эталонному объекту. Для фиксации распознавания соответствующий участок изображения окрашивается в красный цвет. Результат распознавания космофотоизображений на основе частотных представлений Частные дома P1 Nî 1 *100% 11,4% N ïîë P2 Nî 2 *100% 0% N ïîë где N î 2 - количество объектов, ошибочно отнесенных к интересуемому классу распознавания; N ïîë - количество объектов на снимке, которые относятся к классу распознавания; N î 1 - количество объектов, принадлежащих к классу распознавания, но не отнесенных к нему. Сравнение предлагаемого метода распознавания с байесовским методом Результат распознавания байесовским методом Результат распознавания предлагаемым методом P1 0% P1 11,4% P2 43,75% P2 0% Распознавание реки на изображении с помехами Заявленная структура программы Управляющее приложение-сервер Визуализатор Язык программирования - С++ Коммуникация — MPI, sockets Язык программирования - Java Коммуникация — sockets Распределение вычислительной нагрузки, коммуникация с визуализатором Отправляет запросы серверу и визуализирует данные с помощью VTK Вычислительный процесс 1 Язык программирования - С++ Коммуникация — MPI Используется OpenMP и CUDA, математические библиотеки (PETSc и BLAS), вычисления выполняются на графических адаптерах и ЦПУ Вычислительный процесс N ... Реализованная структура программы Управляющее приложение-сервер Визуализатор Язык программирования - С++ Коммуникация — MPI, sockets Язык программирования - Java Коммуникация — sockets Распределение вычислительной нагрузки, коммуникация с визуализатором Отправляет запросы серверу и визуализирует данные с помощью VTK Вычислительный процесс 1 Язык программирования - С++ Коммуникация — MPI Используется OpenMP и CUDA, математические библиотеки (PETSc и BLAS), вычисления выполняются на графических адаптерах и ЦПУ Вычислительный процесс N ... Системы для тестирования Среда обмена данными: ОС: MPI: Процессор: Объём ОЗУ: Infiniband MS Windows Server 2008 HPC Edition MS MPI 2.0.1551 Intel Xeon E5440 @ 2.83ГГц 8Гб GeForce GT 230M CUDA Driver/Runtime Version: CUDA Capability Major/Minor version number: Total amount of global memory: Multiprocessors x Cores/MP = Cores: Clock rate: 3.20 1.2 1034485760 bytes 6 (MP) x 8 (Cores/MP) = 48 (Cores) 1.10 GHz Результаты тестирования алгоритма частотной фильтрации 51745 52500 45000 42024 37500 31501 30000 CL x86 H CL x64 H 22500 ICC x86 H ICC x64 H 15000 CUDA, CuBLAS 7500 11.7 16.5 113x113 226x226 69.8 268 1704 0 452x452 904x904 1808x1808 20000 Результаты тестирования алгоритма вычисления долей энергии 19659 16000 14476 12000 CL x86 H CL x64 H 8000 ICC x86 H ICC x64 H 4000 2230 34.6 53.1 97.7 351 0 113x113 226x226 452x452 904x904 1808x1808 CUDA, CuBLAS Дальнейшие планы • Оптимизация существующего кода для CPU, большее внедрение библиотеки BLAS. • Максимальная замена вызовов ядер CUDA на вызовы библиотеки CuBLAS. • Автоматическое распознавание на основе частотных представлений, признаковым пространством для которого являются энергетические характеристики объектов аэрокосмического изображения. • Балансировка загрузки между вычислительными узлами, в зависимости от их вычислительных возможностей. • Реализация метода устранения смаза и дефокусировки на основе уравнения Фредгольма и метода Тихонова. • Одновременные гибридные вычисления на GPU и CPU. Спасибо за внимание Распределённое дешифрирование аэрокосмических изображений с использованием технологии CUDA Авторы: Лихошерстный А.Ю., Шаурин Д.О.