Распределённое дешифрирование аэрокосмических

advertisement
Распределённое дешифрирование аэрокосмических
изображений с использованием технологии 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)

где значение доли энергии Pr , m
частотной области
:
ik
Pr ,m 
Rx
2

(3)
r 1 m 1
2
F (u, v) dudv
( u ,v )ik
Ry
dudv   Pr ,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),
то после преобразований можно получить соотношение:
Pr ,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,6110

( f  f
f
ik
ik
2
*
ik
)2
, f – исходное изображение,
f * - отфильтрованное изображение
(11)
Сравнение предлагаемого метода компенсации аппаратурных искажений в
виде импульсных помех с другими методами
Исходное изображение
Результат обработки предлагаемым
методом   9,61103
Результат обработки с помощью
линейного усреднения   6,57 102
)
Результат обработки с помощью
медианной фильтрации   1,32 101
Разработка алгоритма компенсации аппаратурных
искажений в виде полос
Выражение для нахождения результата фильтрации Ф* изображения
Ф в частотной области Ω выглядит следующим образом:
 * 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 – синий):
PRik ,эт  trec ( AT   R,эт  B   R,эт )
T
PGik ,эт  trec ( AT   G ,эт  B   G ,эт )
T
(12)
PBik ,эт  trec ( AT   B ,эт  B   B ,эт )
T
i  1,..., M ; k  1,..., N
где PRik ,эт , PGik ,эт , PBik ,эт - эталонные значения долей энергии объекта
для трех каналов изображения (R,G,B) соответственно; - исходные
изображения эталона для каждого из трех каналов; матрицы A и B
вычисляются по формуле (7).
Значения долей энергии эталона сохраняются.
3. При распознавании объектов вычисляются доли энергии каждого участка
изображения по формуле (6). После чего проверяется, попадают ли эти
значения в заданный диапазон:
PR
PRik  PRik ,эт  ik ,эт
d
PGik ,эт
PGik  PGik ,эт 
d
PB
PBik  PBik ,эт  ik ,эт
d
i  1,..., M ; k  1,..., N
(13)
где d – задает доверительный интервал, который позволяет расширять или сужать
диапазон значений доли энергии для распознаваемого объекта;
PRik , PGik , PBik - значения долей энергий объектов для каждого участка
изображения.
Если значения долей энергии определенного участка изображения попадает
в заданный диапазон, то принимается решение отнести его к эталонному
объекту. Для фиксации распознавания соответствующий участок изображения
окрашивается в красный цвет.
Результат распознавания космофотоизображений на основе
частотных представлений
Частные дома
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
Авторы: Лихошерстный А.Ю., Шаурин Д.О.
Download