Рекурсивный алгоритм вычисления свертки изображения с неразделимым двумерным полиномиальным КИХ-фильтром
Автор: Мясников В.В.
Журнал: Компьютерная оптика @computer-optics
Рубрика: Обработка изображений: Методы и прикладные задачи
Статья в выпуске: 26, 2004 года.
Бесплатный доступ
В статье рассматривается рекурсивный алгоритм вычисления свертки изображения с двумерным неразделимым полиномиальным КИХ-фильтром. Существенным моментом является отказ от использовании декомпозиции 2-D фильтра набором разделимых звеньев. Приведены оценки вычислительной сложности предложенного рекурсивного алгоритма и дано его сравнение с известным алгоритмом, использующим указанную декомпозицию.
Короткий адрес: https://sciup.org/14058624
IDR: 14058624
Текст научной статьи Рекурсивный алгоритм вычисления свертки изображения с неразделимым двумерным полиномиальным КИХ-фильтром
Вычисление свертки - одна из базовых операций в теории сигналов и цифровой обработки изображений. Для двумерного (2- D ) случая вычисление свертки изображения x ( n 1 , n 2 ) с линейным фильтром, заданным ИХ h ( n 1 , n 2 ) , может быть представлено в виде:
У ( П 1 , n 2 ) = Е h ( m i , m 2 ) x ( n — m b n 2 — m 2 ) • (1) ( m i , m 2 ) e D
Здесь y ( n 1 , n 2 ) - выходного изображение, D - область ненулевых значений ИХ фильтра. В дальнейшем предполагается, что область D финитна, то есть рассматриваются фильтры с конечными импульсными характеристиками - КИХ-фильтры. Для определенности положим
D = [ - M - , M + ] х [ - M - , M + ] .
Одним из существующих подходов к быстрому вычислению 1- D и 2- D сверток, помимо быстрых ортогональных преобразований, является их рекурсивная реализация. Существующая теория и результаты в этой области существенным образом ориентированы на 1- D случай [1-3]. В частности, известный метод перехода к двумерным рекурсивным КИХ-фильтрам использует декомпозицию ИХ фильтра с помощью разделимых функций p k ( m 1 ) p l ( m 2), каждая из которых реализуется рекурсивно [1,3]:
KL
h ( mb m 2 ) = ЕЕ ₽ kl P k ( m 1 ) P l ( m 2 ) (2) k = 0 l = 0
Как показано в работах [1,2] удобными для рекурсивной реализации свертки являются полиномиальные функции, в частности, базис МВС. Этот базис позволяет реализовать свертку рекурсивно и с минимальным (для полиномиального базиса общего вида) числом арифметических операций.
В настоящей работе предлагается метод построения 2-D рекурсивного алгоритма вычисления свертки изображения с полиномиальной ИХ. В методе не требуется разложение ИХ на разделимые звенья. Показано, что рекурсивный алгоритм, получаемый при использовании указанного метода, позволяет снизить теоретическую сложность вычисления свертки (1), оцениваемую числом арифметиче- ских операций, на 20% по сравнению с известным (использует разделимые звенья).
Статья организована следующим образом. В первом разделе описан известный алгоритм рекурсивного вычисления свертки с 2- D полиномиальной ИХ, использующий декомпозицию ИХ набором разделимых звеньев. Также в этом разделе приведены известные результаты по 1- D рекурсивной фильтрации на основе МВС - базисов. Во втором разделе дано построение предлагаемого 2- D рекурсивного алгоритма. В третьем разделе приведен сам алгоритм, представлены оценки его вычислительной сложности и дано сравнение с известным алгоритмом по сложности реализации свертки.
1. Рекурсивное вычисление 2-D свертки на основе декомпозиции КИХ фильтра с помощью разделимых звеньев
Пусть ИХ фильтра представима в виде разложения по 2- D разделимым функциям (2). Тогда выражение (1) расчета свертки можно переписать следующим образом:
KL
y ( n b n 2 ) = ЕЕ р ki ц ki ( n 1 , n 2 ), (3)
k = 0 l = 0
где
Ц kl (nbn 2 ) =
Mx ' M 2' / x (4)
= E P k ( m 1 ) E P i ( m 2 ) x ( n 1 - m b n 2 - m 2 )
mx =- M — m 2 =- M —
По аналогии с работами [1-3] величины ц kl ( n 1 , n 2 ) назовем обобщенными моментами . Очевидно, что в соответствии с выражением (4) вычисление 2- D свертки можно производить в построчнопостолбцовой манере, а именно:
-
• производится вычисление 1- D сверток вдоль строк (формируем полуспектр одномерных моментов по горизонтали):
M +
~ l ( n1 - m J , n 2 ) = Е P l ( m 2 ) x ( n 1 - m b n 2 - m 2 ); (5) m 2 =- M 2"
-
• вдоль столбцов полуспектра вычисляются обобщенные моменты:
M+ ц kl(n1, n 2 )= E Pk(m1)P l(n1- m1,n 2); (6)
mt =- M ( -
-
• рассчитывается скалярное произведение значений обобщенных моментов (6) на коэффициенты разложения ИХ (3).
Сложность вычисления 2- D свертки с использованием такого построчно-постолбцового алгоритма складывается из сложностей каждой из трех указанных групп операций.
При использовании рекурсивного подхода вычисление 1- D сверток (5) и (6) производится рекурсивно. При использовании полиномиального базиса функции p k ( m | ) и p l ( m 2) являются полиномами:
k
P k ( m ) = E a ki m , k = 0 K . (7)
i = 0
В работах [1,3] показано, что коэффициенты { a ki } k = 0 ( a kk * 0) могут быть подобраны таким образом, чтобы произвольная 1- D свертка с набором функций (7) выполнялась с минимальной вычислительной сложностью (МВС) для полиномиального базиса общего вида. Рекурсивный алгоритм формирования 1- D моментов и его вычислительная сложность в сложениях U + ( K ) и умножениях U * ( K ) в пересчете на один отсчет выходного изображения составляют [1,3]:
Ц 0 ( n ) = Ц 0 ( n — 1) + x ( n + M - ) — x ( n — M + — 1),
‘Ц k ( n ) = Ц k ( n - 1) + Ц k - 1( n - 1) + (8)
+ p mcc ( - M - ) x ( n + M - ), 1 < k < K .
U + ( K ) = 2 ( K + 1 ) U * ( K ) = K .
При использовании базиса МВС { p mcc } K = 0 вычислительная сложность расчета двумерной свертки в пересчете на один отсчет выходного изображения равна:
U + ( K , L ) = 3 ( K + 1 )( L + 5/3 ),
U * ( K , L ) = 2 ( K + 1 )( L + 1 ) - 1.
Суммарная сложность, таким образом, циональнавеличине:
U + ( K , L ) + U * ( K , L ) = 5 KL .
пропор-
-
2. Построение 2-D рекурсивного алгоритма вычисления свертки
Для построения 2- D рекурсивного алгоритма вычисления свертки воспользуемся тем фактом, что любая горизонтальная строка полиномиальной импульсной характеристики степени ( K , L ) также является полиномиальной функцией степени не выше чем L . Действительно, если импульсная характеристика фильтра представима в виде степенного ряда
KL
h(mb m 2 )=XZa kimkm 2, k=0 l=0
тогда m 1 -ая строка ИХ имеет вид:
L < KЛ hm, (m 2 )=E m 21 Ea klm1 l=Ea m1 m 2 .
l=0 ^ k=0
Введем обозначение:
L pm 1 (m 2 )= hm1 (m 2 )=Ea m m 2 .
l = 0
Тогда свертка (1) представима:
y (nb n 2 )= Epm' (m 2 )x(n1 -mb n 2 -m 2 )
( m 1 , m 2 je D
По аналогии с (4) обозначим:
M +
Ц m (nbn 2 )= E pm (m 2 )x(n1 - mb n 2 - m 2 )
m 2 =- M 2"
M +
Цl(nbn2 )= Ецm'(n1,n2 )
m 1 =- M -
Далее, для каждой полиномиальной p m 1 ( m 2 ) (вид функции зависит от m 1 ) последовательность полиномиальных { p m 1 } l = 0 следующим образом l = L ,0 :
функции построим функций
P l m ' ' ( m 2 - 1 ) = p m 1 ( m 2 ) - p m 1 ( m 2 - 1 ) .
Как показано в работах [1,3], для последовательности таких 1- D полиномов существует эффективный алгоритм рекурсивного вычисления свертки, который в 1- D случае выглядит следующим образом (индексы m 1 для удобства опущены):
ц l ( n ) = ц l ( n - 1) + ц l - 1 ( n - 1) +
+ p i ( - M - ) x ( n + M - ) -
‘ - p l ( M ++ 1) x ( n - M +- 1), l = 1, L . (16)
Ц 0 ( n ) = Ц 0 ( n - 1) +
+ p 0 ( 0 ) - ( x ( n + M - ) - x ( n - M + - 1) )
Здесь
M +
Ц l ( n ) = E p i ( m ) x ( n - m )• (17)
m = - M -
Используя этот результат, можно переписать выражение (14) следующим образом:
Ц m 1 ( П 1 , n 2 ) = Ц m 1 ( П 1 , n 2 - 1 ) + Ц l m - ' ( П 1 , n 2 - 1 ) +
+ p m 1 ( - M :- ) x ( n 1 - m 1 , n 2 + M 2" ) -
- p m 1 ( M + + 1) x ( n 1 - m 1 , n 2 - M 2 - 1 ), l = 1, L
Подставив это рекуррентное соотношение в равенство (15), можно получить следующее выражение:
m+ ц l(n1,n 2)= Ец ?(n1,n 2)= m 1 =-M1-
M + M +
= Ецm1 (n1,n2 - 1)+ ЕцM(n1,n2 - 1) + m 1 =-M'" m 1 =-M1-
M +
+ E p m 1 ( - M 2 - ) x ( n 1 - m 1 , n 2 + M - ) - m i =- M 1 -
M +
- E Pm1 (M 2+ + 1) x(n1 - m1, n - - M 2+ - 1’ • m i =- M1-
Упрощая первые два слагаемых по формуле (15), получим:
Ц l ( n 1 , n 2 ) =Ц l ( n 1 , n 2 - 1 ) +Ц l - 1 ( n 1 , n 2 - 1 ) +
M +
+ E Pm1(-M - ) x(n1 - m1, n 2 + M 2-)- m 1 =-M1-
M +
-
- E P m 1 (M 2 + 1) x ( n - m 1 , n 2 - M 2 +- 1 ) • (18)
m 1 =- M 1 -
Очевидно, вычислительная сложность полученного 2- D рекурсивного алгоритма вычисления свертки с полиномиальным КИХ-фильтром зависит от вертикального размера ИХ. Для снижения сложности операций скалярного произведения в (18) их можно реализовать также рекурсивным образом.
Действительно, любая величина plm 1 ( M ) может быть представлена как полиномиальная функция степени K (или ниже) от m 1 . Например, для случая l = L :
PL'(M )= EM- |E a k«i | = l=0 кk=0 J
= E m f f E a k, M> К E X a ’ M = Д: ’ M ( m ) k = 0 к l = 0 J k = 0
В общем случае выполняется:
Pm1(M ) = pK’" (m,)
l = 0, L , M = M + + 1 или M = - M -- .
Каждую из этих 2 ( L + 1 ) одномерных полиномиальных функций можно представить в виде разложения по 1- D полиномиальному МВС-базису (8) { P mcc ( m 1 )} K = 0 :
K
P KK ’ M ( m 1 ) = E ₽ k l ’ M P mcc ( m 1 ), l = 0, L , (19)
k = 0
l = 0, L , M = M 2 ++ 1 или M =- M - ••
Свертка с функциями МВС-базиса, как указывалось ранее, реализуется рекурсивно (по столбцам) в соответствии с выражением (8). Таким образом, предлагаемый алгоритм рекурсивного вычисления 2- D свертки изображения с неразделимым КИХ-фильтром представим следующим образом.
-
3. Алгоритм
Шаг 1. Рекурсивное вычисление 1- D обобщенных моментов за счет свертки столбцов изображения с полиномами МВС по выражению (8).
Шаг 2. Вычисление 2 ( L + 1 ) скалярных произведений значений 1- D обобщенных моментов на коэффициенты (19).
Шаг 3. Подстановка полученных 2 ( L + 1 ) значений в общее рекуррентной 2- D соотношение (18) и получение значения величины ц L ( n 1 , n 2 ) = y ( n 1 , n 2 ) на основании предшествующих значений 2- D свертки. Этот шаг не требует ни одной операции умножения.
Вычислительная сложность предложенного алгоритма в пересчете на один отсчет выходного изображения составляет:
U + (K, L) = 2(K +1) + 2(L +1)K + (3 L + 2),
U* (K, L) = K + 2(L +1)(K +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) = 4 KL , что на 25% ниже, чем у традиционного построчнопостолбцового алгоритма.
В заключении следует отметить, что предложенный подход может быть естественным образом обобщен на ситуацию представления ИХ фильтра произвольными рекуррентными последовательностями.
Работа выполнена при поддержке Министерства образования РФ, Администрации Самарской области и Американского фонда гражданских исследований и развития (CRDF Project SA-014-02) в рамках российско-американской программы "Фундаментальные исследования и высшее образование" (BRHE).