Рекурсивный алгоритм вычисления свертки изображения с неразделимым двумерным полиномиальным КИХ-фильтром

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

Мясников В.В.

Самарский государственный аэрокосмический университет Институт систем обработки изображений РАН

Аннотация

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

Введение

Вычисление свертки - одна из базовых операций в теории сигналов и цифровой обработки изображений. Для двумерного (2-D) случая вычисление свертки изображения x(n1, n2) с линейным фильтром, заданным ИХ h(nl, n2), может быть представлено в виде:

У

((,m2 )D

Здесь y(n1, n2) - выходного изображение, D - область ненулевых значений ИХ фильтра. В дальнейшем предполагается, что область D финитна, то есть рассматриваются фильтры с конечными импульсными характеристиками - КИХ-фильтры. Для определенности положим

D = [-M-,M+]x [-M-,M2+].

Одним из существующих подходов к быстрому вычислению 1-D и 2-D сверток, помимо быстрых ортогональных преобразований, является их рекурсивная реализация. Существующая теория и результаты в этой области существенным образом ориентированы на 1-D случай [1-3]. В частности, известный метод перехода к двумерным рекурсивным КИХ-фильтрам использует декомпозицию ИХ фильтра с помощью разделимых функций pk (m1) p¡ (m2), каждая из которых реализуется рекурсивно [1,3]:

K L

h

k=0l=0

Как показано в работах [1,2] удобными для рекурсивной реализации свертки являются полиномиальные функции, в частности, базис МВС. Этот базис позволяет реализовать свертку рекурсивно и с минимальным (для полиномиального базиса общего вида) числом арифметических операций.

В настоящей работе предлагается метод построения 2-D рекурсивного алгоритма вычисления свертки изображения с полиномиальной ИХ. В методе не требуется разложение ИХ на разделимые звенья. Показано, что рекурсивный алгоритм, получаемый при использовании указанного метода, позволяет снизить теоретическую сложность вычисления свертки (1), оцениваемую числом арифметиче-

ских операций, на 20% по сравнению с известным (использует разделимые звенья).

Статья организована следующим образом. В первом разделе описан известный алгоритм рекурсивного вычисления свертки с 2-0 полиномиальной ИХ, использующий декомпозицию ИХ набором разделимых звеньев. Также в этом разделе приведены известные результаты по 1-0 рекурсивной фильтрации на основе МВС - базисов. Во втором разделе дано построение предлагаемого 2-0 рекурсивного алгоритма. В третьем разделе приведен сам алгоритм, представлены оценки его вычислительной сложности и дано сравнение с известным алгоритмом по сложности реализации свертки.

1. Рекурсивное вычисление 2-Б свертки на основе декомпозиции КИХ фильтра с помощью разделимых звеньев

Пусть ИХ фильтра представима в виде разложения по 2-0 разделимым функциям (2). Тогда выражение (1) расчета свертки можно переписать следующим образом:

К Ь

У

к=01=0

где

Рк/ (пЪ П2 ) =

м1+ м2+

= Е Рк

т1 =-М 1- т2 =-М -

По аналогии с работами [1-3] величины

(п1,п2) назовем обобщенными моментами. Очевидно, что в соответствии с выражением (4) вычисление 2-0 свертки можно производить в построчно-постолбцовой манере, а именно:

• производится вычисление 1-0 сверток вдоль строк (формируем полуспектр одномерных моментов по горизонтали):

М 2+

Р/

т2=-М -

• вдоль столбцов полуспектра вычисляются обобщенные моменты:

М+

Ри/

т1=-М1

• рассчитывается скалярное произведение значении обобщенных моментов (6) на коэффициенты разложения ИХ (3).

Сложность вычисления 2-0 свертки с использованием такого построчно-постолбцового алгоритма складывается из сложностей каждой из трех указанных групп операций.

При использовании рекурсивного подхода вычисление 1-0 сверток (5) и (6) производится рекурсивно. При использовании полиномиального базиса функции рк (т1) и р1 (т2) являются полиномами:

( К

Рк (т)=£ °клт , к = 0К .

1=0

В работах [1,3] показано, что коэффициенты {ак }}=0 (акк ф 0) могут быть подобраны таким образом, чтобы произвольная 1-0 свертка с набором функций (7) выполнялась с минимальной вычислительной сложностью (МВС) для полиномиального базиса общего вида. Рекурсивный алгоритм формирования 1-0 моментов и его вычислительная сложность в сложениях и+ (К) и умножениях и*(К) в пересчете на один отсчет выходного изображения составляют [1,3]:

М0(п) = М0(п -1) + х(п + М -) - х(п - М + -1),

Ик

+ Ргсс(-М-)х(п + М-), 1 < к < К.

и+ (К) = 2(К +1) и*(К) = К .

При использовании базиса МВС {ргсс }}=0 вычислительная сложность расчета двумерной свертки в пересчете на один отсчет выходного изображения равна:

и +

и*(К, Ь) = 2 (К + 1)(Ь +1) -1.

Суммарная сложность, таким образом, пропорциональна величине:

и+

2. Построение 2-Б рекурсивного алгоритма вычисления свертки

Для построения 2-0 рекурсивного алгоритма вычисления свертки воспользуемся тем фактом, что любая горизонтальная строка полиномиальной импульсной характеристики степени (К, Ь) также является полиномиальной функцией степени не выше чем Ь. Действительно, если импульсная характеристика фильтра представима в виде степенного ряда

К Ь

tк1т1т2 ,

И^П^ т2 )=£ £а Ыт\т2

к=0 1=0

тогда т1 -ая строка ИХ имеет вид:

V (т2 Ь£ т2 £

а к1?

= £ат1т2.

1=0

1=0 Vk=0 Введем обозначение:

Ь

р?

1=0

Тогда свертка (1) представима:

>'

(т1 ,т2 )о

По аналогии с (4) обозначим:

м+

И?

М

Далее, для каждой полиномиальной функции Рт1 (т2) (вид функции зависит от т1) построим последовательность полиномиальных функций

{? }=0

следующим образом 1 = Ь,0 :

Рм (т2 - 1) = Р? (т2 ) - Р? (т2 - 1) .

Как показано в работах [1,3], для последовательности таких 1-0 полиномов существует эффективный алгоритм рекурсивного вычисления свертки, который в 1-0 случае выглядит следующим образом (индексы т1 для удобства опущены):

М (п) = М (п -1) + М -1 (п -1) + + р1 (-М -) х(п + М -) -

- Р1

М0(п) = М 0(п -1) + + р0 (0) • (х(п + М-) -х(п - М + -1)).

Здесь

М+

М

Используя этот результат, можно переписать выражение (14) следующим образом:

и?1 (п1, п2 ) = И? (п1, п2 -1) + И?-1! (п1, п2 -1) +

+ р?1 (-М-) х( - т1, п2 + М2 ) р? (М + +1)х( -т,,п2 -М2+ -1), 1 = ЦЬ

Подставив это рекуррентное соотношение в равенство (15), можно получить следующее выражение:

М,+

М1

(п1,п2 )= £иГ (п1,п2 ) =

М,+

М,+

= £иГ (n1, п2 - 0+ £ И-/"-1! (п1, п2 - !) +

?! =-М, т1 =-М1-

?2 =-М

т. =-М

11

т=-М

г, =-М

+ ЕР/т1(-М2-)х( -т1,П2 + М2-)-

т1 =-М1-

М +

- Е Рт1 (М2+ +1)х(п1 - т1, п2 - М + -1).

т1 =-М1-

Упрощая первые два слагаемых по формуле (15), получим:

Р/ ( , п2 ) = Р/ ( , п2 - 1) + Р/-1 (п1, п2 - 1) +

М1+

+ Е Р/т1 (-М2-) х( - ть п2 + М2-)-

т1 =-М1-М1+

- ЕРт1

т1 =-М1-

Очевидно, вычислительная сложность полученного 2-0 рекурсивного алгоритма вычисления свертки с полиномиальным КИХ-фильтром зависит от вертикального размера ИХ. Для снижения сложности операций скалярного произведения в (18) их можно реализовать также рекурсивным образом.

Действительно, любая величина р"1 (М) может быть представлена как полиномиальная функция степени К (или ниже) от т1. Например, для случая / = Ь :

р" (М )= Ем/(Е а к"

i=0

V k=0

( L

Л K

= Z mk Z" M = Z mfa

M = M + +1 или M = -M- .

^ ^(Ь )М = Р(Ь )М(

к=0 V/=0 У к=0 В общем случае выполняется:

Р"1 (М ) = РКМ ("1), / = 0Ь,

Каждую из этих 2

{Г Ц )}К=0 :

Р

l = 0, L,

k=0

M = M + +1 или M = -M- ..

Свертка с функциями МВС-базиса, как указывалось ранее, реализуется рекурсивно (по столбцам) в соответствии с выражением (8). Таким образом, предлагаемый алгоритм рекурсивного вычисления 2-0 свертки изображения с неразделимым КИХ-фильтром представим следующим образом.

3. Алгоритм Шаг 1. Рекурсивное вычисление 1-D обобщенных моментов за счет свертки столбцов изображения с полиномами МВС по выражению (8).

Шаг 2. Вычисление 2(L +1) скалярных произведений значений 1-D обобщенных моментов на коэффициенты (19).

Шаг 3. Подстановка полученных 2(L +1) значений в общее рекуррентной 2-D соотношение (18) и получение значения величины |L (, n2) = у(щ, n2) на основании предшествующих значений 2-D свертки. Этот шаг не требует ни одной операции умножения.

Вычислительная сложность предложенного алгоритма в пересчете на один отсчет выходного изображения составляет:

U+(K, L) = 2(K +1) + 2(L + 1)K + (3L + 2),

U* (K, L) = K + 2(L + 1Xk +1).

или, окончательно:

U+ (K , L) = 2(K + 1.5)(L + 2)- 2, U * (K, L) = 2(K + 1)(L +1.5)-1. Итоговая сложность пропорциональна:

U+ (K, L) + U*(K, L) = 4KL ,

что на 25% ниже, чем у традиционного построчно-постолбцового алгоритма.

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

Благодарности Работа выполнена при поддержке Министерства образования РФ, Администрации Самарской области и Американского фонда гражданских исследований и развития (CRDF Project SA-014-02) в рамках российско-американской программы "Фундаментальные исследования и высшее образование" (BRHE).

Литература

1. N.I.Glumov, V.V.Myasnikov, V.V.Sergeyev Parallel-Recursive Local Image Processing and Polynomial Bases // Proceedings of the Third IEEE International Conference on Electronics, Circuits, and Systems ICECS'96, 1996. Vol.2. Rodos, Greece. P.696-699.

2. B.C.Li and J.Shen Two-dimensional local moment, surface fitting and their fast computation // Pattern Recognition, 1994. Vol.27. No.6. P.785-790.

3. V.V.Myasnikov Construction of Integer-Value Polynomials for Recursive Calculation of the Convolution with FIR-Filter // Proceedings of the 7-th International Conference on Pattern Recognition and Image Analysis -PRIA'2004, 2004. P.331-334.