Научная статья на тему 'Псевдомедианная фильтрация для обработки оптических изображений'

Псевдомедианная фильтрация для обработки оптических изображений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
212
81
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЛИНЕЙНАЯ ФИЛЬТРАЦИЯ / СПЕКЛ-ШУМ / ОПТИЧЕСКОЕ ИЗОБРАЖЕНИЕ / ПСЕВДОМЕДИАННАЯ ФИЛЬТРАЦИЯ / МАКРООПЕРАЦИЯ / МАТРИЦА ИЗОБРАЖЕНИЯ / NONLINEAR FILTERING / SPECKLE NOISE / OPTICAL IMAGE / PSEUDO MEDIAN FILTERING / MACRO / IMAGE MATRIX

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Акиншин Николай Степанович, Андреев Александр Викторович, Кальной Александр Игоревич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Акиншин Николай Степанович, Андреев Александр Викторович, Кальной Александр Игоревич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

PSEUDO MEDIAN FILTERING FOR OPTICAL IMAGE PROCESSING

The problem of optical image speckle-noise suppression is set and solved on the pseudo median filtering basis. The parallel program and a set of macros which implement iterative procedure of cluster grouping of data in optical image processing problems are proposed.

Текст научной работы на тему «Псевдомедианная фильтрация для обработки оптических изображений»

Известия ТулГУ. Технические науки. Вып.11. Ч. 1. Тула: Изд-во ТулГУ, 2012. С. 261-268.

4. Акиншин Р.Н., Хомяков А.В., Новиков А.В. Оценки погрешностей при выборе математических моделей диаграмм направленности и рассеяния антенны // Журнал «Антенны». №12. 2013. С. 14-19.

Новиков Александр Валериевич, начальник сектора, [email protected], Россия, Тула, ОАО Центральное конструкторское бюро аппаратостроения

ADAPTIVE ADJUSTMENT OF WEIGHT FACTORS IN ARRAY

A.V. Novikov

A conflict-free data structure for organizing a concurrent process of calculation of an adaptive array correlation matrix has been presented. A concurrent program of weight factor adjustment iterative process has been offered.

Key words: adaptation, array, digital filter, weight factors, macro, algorithm.

Novikov Alexandr Valeriyevich, head of sector, rts@,cdbae.ru, Russia, Tula, JSC Central Design Bureau of Apparatus Engineering

УДК 621.391

ПСЕВДОМЕДИАННАЯ ФИЛЬТРАЦИЯ ДЛЯ ОБРАБОТКИ ОПТИЧЕСКИХ ИЗОБРАЖЕНИЙ

Н.С. Акиншин, А.В. Андреев, А.И. Кальной

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

Ключевые слова. нелинейная фильтрация, спекл-шум, оптическое изображение, псевдомедианная фильтрация, макрооперация, матрица изображения.

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

у(ш, п) = F{x(m - и п - j)}, (1)

где i = 0, ..., p, j = 0, ..., p, k = 1, ..., Q, l = 1, ..., Q, m = 1, ..., n п = 1, ..., N.

Для подавления спекл-шумов на оптических изображениях в системах с синтезированием апертуры антенны в качестве операции Б использу-

ется псевдомедианная фильтрация [2], описываемая следующим выражением:

y(m, n) = medial, а2, а3), (2)

где al = med {x(m - 2, n - 2), x(m - 2, n - 1), x(m - 2, n)}, a2 = med {x(m - 1, n - 2), x(m - 1, n - 1), x(m - 1, n)}, a3 = med {x(m, n - 2), x(m, n - 1), x(m, n)}.

На рис. 1 представлена граф-схема макрооперации med_3.

Рис. 1. Граф-схема макрооперации med

На рис. 2 показана граф-схема соединения макроопераций med_3 в единую структуру, реализующую операцию псевдомедианной фильтрации в окне 3x3.

Рис. 2. Граф-схема структуры для псевдомедианной фильтрации

в окне 3*3

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

Бесконфликтная структура данных для реализации процедуры двумерной нелинейной фильтрации

1 X(1) X(L+1) X(2L+1) X(nL+1)

2 X(2) X(L+2) X(2L+2) X(nL+2)

L X(L) X(2L-11)) X(3L-1) X((n+1)L-1)

Здесь X(i) - i-я строка двумерной матрицы изображения. Наибольшая эффективность вычислений достигается, когда количество каналов памяти равно 2L, при этом номер канала и адрес элемента структуры данных определяются по формуле

Ac (Xi )=[i /2L], (3)

NK (Xi) = a()& {mod L (i) = 0}+a(2 )& {mod L (i) = l}+... + a (2 L )& {mod 2 L (i) = 2 L -1}

Параллельная программа на языке высокого уровня для процедуры двумерной нелинейной фильтрации в окне 3*3, имеет вид

DCL (L vec, N*(N+K)/L stream);

cadr nonlinear_filter_1

for i=0 to N*(N+K)/L by 1 do;

Y(1,i)= nonlinear_filter(Y(L,i-N),Y(1,i),Y(2,i))

for k=2 to L by 1 do;

Y(k,i)= nonlinear_filter(Y(k-1 ,i),Y(k,i),Y(k+1 ,i));end;end;end nonline-ar_filter_1;

cadr nonlinear_filter_2;

for i=0 to N*(N+K)/L by 1 do;

Y(L,i)= nonlinear_filter(Y(L,i-N),Y(1,i),Y(2,i))

for k=2 to L by 1 do;

Y(k,i)= nonlinear_filter(Y(L,i - N),Y(1,i),Y(2,i));end; Y(L,i)= nonlinear_filter(Y(k-1,i-N),Y(k,i-N),Y(k+1,i));end;end nonline-ar_filter_2;

Рассмотрим параллельную программу и набор макроопераций, реализующих итерационную процедуру кластерной группировки данных (КГД) в задачах обработки изображений. Поскольку при выполнении процедуры КГД пиксели изображения полагаются пространственно-независимыми, двумерный массив изображения объекта X(m, n), m = 1,2, ..., N, n = 1,2, ..., N можно представить одномерным: X(mN + m). Каждому

элементу полученного массива x(i) ставится в соответствие вектор признаков {s(1, i), s(2, i), ..., s(M, i)} и кластерная метка r(i), указывающая принадлежность данного вектора к определенному кластеру.

На q-й итерации КГД q выполняются следующие процедуры:

- переназначение меток

rq(i) = argmm¿(d2(cq~\k),s(i))) k = 1,2,...,K, i = 1,2,...,N, (4)

где arg mink(^) - функция, возвращающая номер минимального члена k-элементной последовательности, d2(a, b) - квадрат евклидова расстояния между векторами a и b;

- вычисление количества межкластерных переходов в соответствии с рекуррентной формулой:

tq := tq + \q(ij*rq"1(i)} i = 1,2,...,N; (5)

- вычисление суммы элементов кластера в соответствии с рекуррентной формулой:

Zq (rq (i )):= Zq (rq (i )j+ s(i) (6)

и вычисление распределения элементов по кластерам в соответствии с рекуррентной формулой:

Nq (rq (i )):= Nq (rq (i))+1. (7)

После выполнения вышеперечисленных процедур для k = 1, 2, ...,K вычисляются новые кластерные центры по следующей формуле:

cq (k ) = Zq (k)/ Nq (k). (8)

Условием окончания итерационного процесса является выполнение неравенства А < tmin, где tmin - минимальное, наперед заданное количество межкластерных переходов.

В параллельной программе переназначения меток используются следующие параметры: Npr - количество признаков элемента изображения; N - размер изображения по одной координате; Ncl - количество кластерных центров. Параллельная COLAMO-программа, реализующая процедуру переназначения кластерных меток и вычисления количества межкластерных переходов имеет следующий вид:

DCL s(Npr VEC, N*N STREAM) MEM, cl(Npr VEC, Ncl STREAM)

MEM,

a(Npr VEC) COM, c,d REG; clust_lab_1,clust_lab_2(N*N STREAM);

f(1);

for j=1 to N*N by 1 do; cadr init_c; c=Ncl; end init; cadr claster_lable;

for i=1 to Mcl by 1 do; for k=1 to Npr by1 do; a(k)=dist (s(k,j),c(k,i)); b=pirsum(a(k)); end;

c=seq_argmin(c,n(i),b); clust_lab_2(j)=c; end; end claster_lable; end; cadr init_n_clper; d=0 save d; end init_n_clper; cadr n_clper; for i=1 to N*N by1 do;

d=pr_out (d,clust_lab_2(j), clust_lab_1(j)); f(1)=d; end; end n_clper;

На рис. 3, а приведена графическая схема, поясняющая работу данной программы в части, касающейся переназначения кластерной метки. Для последовательно устанавливаемых значений индекса j в программе выполняется кадр cluster_lable. На векторе макроопераций dist вычисляются евклидовы расстояния для каждой компоненты. В программе они обозначены коммутационными переменными a(\), a(2), ..., a(Npr).

В макрооперации pirsum происходит сложение коммутационных переменных, при этом результат сложения присваивается переменной b. Переменная c является регистровой и используется для вычисления кластерной метки на макрооперации seq_argmin.. Для инициализации данной переменной выполняется кадр init_c, в котором переменная получает значение Ncl. По завершению работы кадра элементу массива lab_clust(2) (j) присваивается значение c.

На рис. 3, б приведена графическая схема, поясняющая работу данной программы в части, касающейся вычисления количества межкластерных переходов. В кадре n_clper из страниц lab_clust(2) и lab_clust(1) читаются по адресу j значения кластерной метки для текущей и предыдущей итерации и поступают в макрооперацию pr_out. Для инициализации регистра данной макрооперации выполняется кадр init_d, в котором регистровой переменной присваивается нулевое значение.

Модифицированное в кадре значение переменной d сравнивается со значением константы n_m, определяющее минимальное количество межкластерных переходов, и полученный предикат записывается в ячейку памяти f(\). В дальнейшем содержимое ячейки f(1) используется для выполнения условного перехода. Если f(1) = 0, то итерационный цикл завершен.

Параллельная программа формирования новых кластерных меток имеет следующий вид:

DCL s(Npr VEC, N*N STREAM) MEM, CL_NEW(Npr VEC, Ncl STREAM) MEM,

clust_lab_2(N*N STREAM);g(1 VEC), N_CL(Ncl STREAM) MEM; for j=1 to N*N by 1 do; cadr hist_1;

for k=1 to Npr+1 by1 do; a= clust_lab_2(j);

G(k)=vect_sum (s(kj),cl_new(k,a)); G(k+1)=N_CL(a)+1; end; end

hist_1;

cadr hist_2; for k=1 to Npr+1 by1 do; a= clust_lab_2(j);

с1(к,а^(к); ^Ща)=в(к+1);е^; end hist_2;end; cadr hist_3; for i=1 to Ncl ЬУ 1 do;for k=1 to Npr+1 ЬУ1 do; cl(k,i)= cl_new(k,i))/ N_CL(i);end;end; end hist_3;

Рис. 3. Граф-схема, поясняющая работу параллельной программы переназначения кластерных меток: а - переназначение кластерной метки; б - вычисление количества межкластерных переходов

Для вычисления новых кластерных центров организуется последовательный цикл по у. В теле данного цикла последовательно М*И выполняются два кадра hist_1 и hist_2. В кадре hist_1 из массива ^ по индексу у вектор признаков и суммируется с содержимым массива прочи-

танным по адресу а, определяемому содержимым массива с1шМаЬ_2(|).

1аЬ_е1ик1 (2)

Рис. 4. Граф-схема, поясняющая работу параллельной программы вычисления кластерных центров: а - формирование многомерной гистограммы; б - вычисление кластерных центров

Результат векторного суммирования записывается в параллельный массив g, который предназначен для временного хранения результата суммирования. Одновременно содержимое последовательного массива п_с1, считанное по этому же адресу а, складывается с единицей и так же записывается в g. В кадре Ыб1;_2. Содержимое массива g перезаписывается назад в массивы п_с1 и CL_NEW по адресу а. По завершении цикла по ] выполняется кадр Ыб1;_3, в котором вычисляются новые кластерные центры. На рис. 4, а) и б) приведены граф-схемы, соответственно иллюстрирующие работу формирования многомерных гистограмм и вычисления массива кластерных центров.

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

1. Андреев А.В., Курбатский С.А. Анализ структур быстродействующих медианных фильтров контроля качества изготовления неоднородных поверхностей // Материалы 10-й Всероссийской конференции «Новые технологии 2013». М.: МИАС, 2013.

2. Андреев А.В., Чендаров А.В. Анализ структур быстродействующих медианных фильтров // Сб. научных трудов НТО РЭС им. А.С. Попова. Тула: Изд-во ТулГУ, 2013. С. 240-246.

Акиншин Николай Степанович, д-р техн. наук, начальник отдела, [email protected], Россия, Тула, ОАО Центральное конструкторское бюро аппаратостроения,

Андреев Александр Викторович, специалист 1-й кат., [email protected], Россия, Тула, ОАО Центральное конструкторское бюро аппаратостроения,

Кальной Александр Игоревич, адьюнкт, Россия, Москва, 3 ЦНИИ Министерства обороны

PSEUDO MEDIAN FILTERING FOR OPTICAL IMAGE PROCESSING N.S. Akinshin, A.V. Andreyev, A.I. Kalnoy

The problem of optical image speckle-noise suppression is set and solved on the pseudo median filtering basis. The parallel program and a set of macros which implement iterative procedure of cluster grouping of data in optical image processing problems are proposed.

Key words: nonlinear filtering, speckle noise, optical image, pseudo median filtering, macro, image matrix.

Akinshin Nikolai Stepanovich, doctor of engineering, head of department, rts@,cdbae.ru, Russia, Tula, JSC Central Design Bureau of Apparatus Engineering,

Andreyev Aleksandr Viktorovich, 1st category specialist, rts@,cdbae.ru, Russia, Tula, JSC Central Design Bureau of Apparatus Engineering,

Kalnoy Aleksandr Igorevich, military postgraduate, Russia, Moscow, 3 Central Scientific-Research Institute of the Ministry of Defence

i Надоели баннеры? Вы всегда можете отключить рекламу.