Известия Тульского государственного университета Естественные науки. 2015. Вып. 4. С. 79-90
= Математика =
УДК 519.219.2
Математическое описание минимизации гиббсовской энергии в задаче сглаживания
изображений
К. Т. Фам, А. В. Копылов
Аннотация. Приведено математическое описание мультиквадра-тичной процедуры динамического программирования для вычисления байесовской оценки случайного поля. Применение этой процедуры позволяет достигнуть высокой эффективности реализации метода динамического программирования для задач сглаживания изображения с сохранением границ.
Ключевые слова: динамическое программирование, целевая функция, функция Беллмана, маргинальная функция Беллмана, сглаживание с сохранением границ.
Введение
В рамках байесовского подхода, задача сглаживания с сохранением границ может быть выражена как задача преобразования исходного изображения, рассматриваемого как функция двух аргументов, в некоторую другую функцию, определенную на той же совокупности аргументов и найденную в предположении, что ее значение изменяется в основном плавно, быть может, лишь с относительно небольшим числом резких скачков.
В работе [1] предложен оптимизационный подход к решению задачи обобщенного сглаживания изображений. Основная идея данного подхода заключается в том, что задача анализа данных строится как задача минимизации подходящей парно-сепарабельной целевой функции .] (X (V), часто называемой функцией гиббсовской энергии на кликах [2, 4], определенной на множестве всех возможных вариантов результата обработки X = (х t, t € Т), и играющей роль штрафа на несоответствие между каждой возможной версией результата и обрабатываемым массивом данных V = (yt, t £ Т). Структура целевой функции .] (X V) отражает свойство упорядоченности анализируемых данных вдоль двух аргументов и определяется при помощи ненаправленного графа О С Т х Т соседства. В этом случае целевая функция практически всегда может быть выбрана в так называемой парно-сепарабельной форме как сумма двух типов функций, называемых узловыми функциями и
функциями связи [1-4]:
J (X|Y ) = £ M*t |Yt)+ 7t',t" (xf ,xt»). (1)
teT (t',t'')eG
Узловые функции At(xt\Yt) выбираются в зависимости от конкретной решаемой задачи таким образом, что каждая из них принимает тем большее значение, чем более очевидно расхождение между гипотезой о том, что xt является именно тем локальным значением, которое мы ищем, и соответствующей окрестностью Yt массива данных. Каждая функция связи 7t',t'' (xt' ,xt'') налагает штраф на негладкость результата обработки на соответствующем ребре (t', t") графа соседства G. Графом соседства G для изображений обычно является прямоугольная решетка [1,4], но для создания неитерационной процедуры обработки, нам будет удобно аппроксимировать ее последовательностью деревьев, каждый раз оставляя вертикальные связи лишь в одном из столбцов.
В работах [2-3] классический метод динамического программирования расширен на случай непрерывных переменных путем использования параметрического представления функций Беллмана при помощи подходящего параметрического семейства функций. Это подход основан на использовании функции связи Yt' t'' (xt' ,xt"), имеющей вид минимумом некоторого набора квадратичных функций вместо единственной квадратичной функции, позволяющий более гибко задавать априорные предпочтения, используя различные коэффициенты штрафа для разных диапазонов различий между значениями соседних элементов изображения. Частным случаем такой функции является широко распространенная функция Блейка и Зиссермана («просевшая рессора»):
Yt(xt,xt-1) = umin[(xt — xt-i)2, A2], u > 0.
Для минимизации данной целевой функции (1) воспользуемся процедурой ациклического динамического программирования [1, 4]. Согласно работе [4], если функции связи выбраны как минимум из конечного набором квадратичных функций и узловые функции имеют квадратичную форму, то функции Беллмана Jt(xt) на каждом шаге динамического программирования также представлены как минимум из конечного набора квадратичных функций, что приводит к так называемой мультиквадратичной процедуре динамического программирования (МКДП):
Jt(xt) = At (xt) + min Yt (xt-i,xt) + Jt-1 (xt-1)] , xt-1
Jt(xt) = min[Jt(1)(xt), J{(2)(xt),..., J{tLt)(xt)], J^)(xt) = u(i)(xt — xi))2 + dti), i = 1,.., Lt.
Пусть Ft(xt) =min Yt (xt-1,xt) + Jt-1 (xt-1). xt-1
Нетрудно убедиться, что
А(хО = шш^^х^, Р^Х), ..., Р(К)Х)],
где Р^Х) = /3(к)Х - х^)2 + ^к), к = 1,.., К^
Обратное рекуррентное соотношение (19) принимает вид:
х^ -^х^ = а^шт {шт 7t(xt-l,xt) + ¿^(х^) \, г = 1,..,^, xt-lex ^ L и
Х^ 1 ^) = а^ шт { ш1п[Д(1) (xt -1, xt), Д(2) (xt -1, xt),...,
/t(Яt-l)(Хt-1,Хt),/t(Яt) (Хt-1,Хt)]},
где /j:\xt-1, х^ = иХ - х-)2 + ¿-(х-), /t(Яt)(xt-l) = пА2 +
+ ¿-(х-), I = 1,.., Щ - 1, г = 1,.., Lt.
В задачах анализа визуальных данных естественным отношением соседства между пикселами изображения и, соответственно, подходящим графом смежности переменных в составе парно-сепарабельной целевой функции является прямоугольная решетка [1, 4]. Отношение соседства остается таким же и для плоских сейсмических разрезов. В этом случае целевая функция (1) будет имеет вид двойных сумм по всем узлам решетки:
М1 М2 М1 м2
3 (Х Ю = ^ - Х*1>Ь )2 + 2 Хл^ (х*1,*2-1,х*1,*2 ) + ¿1 = 1 ¿2 = 1 ¿1 = 1 ¿2=2 N1 N2
+ ^ X] IV (х11-1
,¿2 , Х^1 ,¿2 ) •
¿1 =2 ¿2 = 1
Функции связи приняты здесь разными (хг1,г2-1,хг1,г2) для горизонтальных и ^ (хг1-1,г2 ,Хг1:г2) для вертикальных ребер, что особенно необходимо для сейсмических разрезов, в которых вертикальная и горизонтальная оси имеют разный физический смысл.
Алгоритм обработки изображения на основе МКДП
Парная сеперабельность целевой функции создает принципиальную возможность для учета резкого изменения значений изображения при обработке. Действительно, если положить узловую функцию для некоторого ребра графа соседства достаточно безразличной, или например равной нулю, то штраф на различие соседних переменных будет отсутствовать, то есть в модели будет учтена возможность скачка в данной точке, и он будет полностью сохранен в процессе обработки. Основная идея рассматриваемого здесь подхода состоит в поочередном поиске отдельных точек разрыва и внесении
их в модель данных таким образом, что на каждом шаге ищется наиболее очевидная из еще не описанных особенностей [5]. Поиск точек разрыва осуществляется при помощи процедуры динамического программирования, получившей название «вперед и навстречу» [6], когда результат анализа в каждой точке 1 £ Т определяется как результат согласования оценок полученных двумя процедурами рекуррентной оптимизации функций Беллмана, «движущимися» навстречу друг другу. Сравнение функции Беллмана в точках (х^) и (х^и) представляет собой удобный способ обнаружения возможных разрывов между двумя соседними точками Ь' и Ь". Если значения минимума данных функций слабо различаются между собой, то скачок маловероятен, и напротив, если разница велика, то, скорее всего, в данных присутствует скачок. В процедуре «вперед и навстречу» динамического программирования, использовано понятие называемых маргинальных функций <7;(х^[6]:
Л(жО = Р-(хь) + + Р+Х), (2)
каждый из которых показывает, как полная целевая функция зависит от значения одной переменной на соответствующем узле Ь £ Т, если другие узловые переменные принимают оптимальные значения в соответствии ж^, ¿2. Маргинальные функции Беллмана могут быть вычислены в результате начального горизонтального прохода по каждой из строк изображения.
Предварительное вычисление маргинальных функций позволяет получить дополнительную информацию о форме целевой функции в точке минимума, которая часто оказывается не менее важной, чем сами оптимальные значение переменных
Алгоритм обработки изображения на основе МКДП:
• Входные данные: наблюдаемое изображение V = (уг, ^ £ Т).
• Выходные данные: результирующее изображение X = (xt, t £ Т) Т = = (Ь = {¿1,Ы), ¿1 = i-.Ni,¿2 = 1..Ж2.
1. Обработки по горизонтали:
- Вычисление частных левых Ё— ¿2 (х^1)¿2)и правых Ё++ ¿2 (х^1)¿2) горизонтальных функций. На каждом шаге производится алгоритм отбора квадратичных функций [3].
- Использование процедуры «вперед и навстречу» (2) для вычисления маргинальных функций , ¿2(х^, являющиеся результатом обратного хода обработки по горизонтали. На каждом шаге, производятся алгоритм отбора квадратичных функций [3] и алгоритм редукции количества квадратичных функций [4].
2. Обработки по вертикали:
- Вычисление вертикальных функций Рп^, ¿2 (х^). Маргинальные функции 7,г2 (хг1,г2) принимаются вместо узловых функций ,г2 (хг1,г2): фг1,г2 (хг1,г2) = (хг1,г2). На каждом шаге производится алгоритм отбора квадратичных функций [3].
- Вычисление результирующего изображения: xct1,t2 (xti,t2)•
Математическое описание минимизации целевой функции
процедуры МКДП
Предлагается математическое описание минимизации парно-целевой функции с использования функции связи, имеющей вид функции Блейка и Зиссермана для обработки изображения.
Пусть узловые функции имеют вид ^txt2 (xtxt2) = (xtxt2 - Vtit2 )2, а функции связи принимают следующую форму:
Yh(xti,t2-I,xti,t2) = U min [(Xti,t2-1 - xti,t2)2 , A2] ,
Yv(xti-i,t2,xti,t2) = Umin [(xti-i,t2 - xti,t2)2 , A2] , ii = 1,...,Nb t2 = 2,..., N2.
Определение: Сумма двух квадратичных функций q1(x - x1)2 + d1 + + q2(x — x2)2 + d2 равна
q (x - x)2 + d,
где q = q1 + q2, x = 1 (qx + q2x2), d = d1 + d2 + 1 1 1 (x1 - x2)2 = d1 + d2 +
+ 1 1 1 (x2 - x1)2•
qi + 92
qi + 92
1. Обработка по горизонтали:
• Прямой ход обработки по горизонтали: = 1,..., N1, ¿2 = 2,..., N2. -Вычисление левых функций Рц,г2), t1 = 1,..., Ь2 = 2,..., N2,
(xti,1) = 0, Fti,2(xti,2) = min
min [u(xtiy1 - xti;2)2+ xti,i
+(xti,1 - Vti,1)2} ,
min {uA2 + (xti,1 - Vti,1)2} xti,i
Fti,2(xti,2) = min
1 + u
ГТ (xti,2 - Vti,1)2,uA2
Fti,3(xti,3) = min
min {u(xti,2 - xti,3)2 + (xti,2 - Vti,2)2+ xti,2
+ T+u—i (xti,2 - Vti,1)2} ,
min {u(xti,2 - xti,3)2 + (xti,2 - Vti,2)2 + uA2} , xti,2
min {uA2 + (xti,2 - Vti,2)2 + JTU—Г (xti,2 - Vtb1)2} xti ,2
min {2uA2 + (xti,2 - Vti,2)2} xti,2
1
Ftu3(xtu3) = min [F5(xiba), F^x^s),... F^Ws)
Ft(i>)3(xti>3) = 9t(i!s(xti,s — xijs)2 + dJi^s, i = 1,..., Kti,s. Нетрудно получить
Ftl ,t2 (xtl ,t2 ) = min ^2 (xtl ,t2 ) , Ftut2 (xtl ,t2 FtutH ) (xtl M ) Fti,t2 (xtl,t2 ) = (xtl,t2 — xtlt2 )2 + ^2 , i = 1,■■■, KtlM ,
Ftl,t2 (xtl,t2) = min
min {u(xtl,t2-1 — xtlM)2 + (xtl,t2-1 — Vtl,t2-1)2+ xtl't2-l
+qt1,t2-1(xtl,t2-1 — xt1)t2-1)2 +
..., min {u(xtl,t2-1 — xtl,t2)2 + (xtl,t2-1 — Vtl,t2-1)2+ xtl't2-l
+ JKtl't2-l)(x x(Ktl't2-l))2 + d(Ktl't2-l)
'qtl,t2-1 \xtl,t2-1 xtl,t2-1 ) ^ dtl,t2-1
min {uA2 + (xtl,t2-1 — Vtl,t2-1)2+ xtl't2-l
+q¿11t2 — 1 (xtl ,t2 1 — xt1)t2-1)2 + di(1)t2 —1
..., min {uA2 + (xtl,t2-1 — Vtl,t2—1 )2+
xtl't2-l
+ ~(Ktl,t2-l)(x _ x(Ktl,t2-l))2 + d^Ktl't2-l)\ 'qtl,t2-1 \xtl,t2-1 xtl,t2-1 ) dtl,t2-1 J
Ftl,t2 (xtl,t2) = min
U +
xtl,t2
qtlt2-l + l ~(l) /~(l) \2 + qtl't2-l(xtl't2-l-ytl't2-l) + d(1) + ä« +1 + dtl 1 qtl t2-l + 1
(l) (l) 2 Vtl 't2-l+qjl't2-lxtl ,t2-l \ +
q4,t2-l+1 1 +
tl ,t2-1,
u+
*Kl' t2-l + l
xtl,t2
+ .(Ktl' t2-l) X(Ktl' t2-l) Vtl 't2-l+qtl' t2-l xtl' t2-l
.Ktl't2-l +1 qtl t2-l +1
.(Ktl' t2-l)(x(Ktl 't2-l)_Vt t l)2 _(K )
l 0tl' t2-l (xtl ,t2-l -Vtl't2-l) | 3(Ktl ,t2-l) + Kt. t. l + dtl,t2-1 ,
Ktl' H-1 +1 qtl t2-l +1
uA2 + ^Xl 't2-l—Vtl )a + d
qtl t2-l + 1 О hl't2
...,uA2 +
(1) ,
(Ktl't2-l)(XKtl't2-^V t _ )2 (Xtl't2-l Vtl't2-l)
+
0tlt2-l +1
+ d.
(Ktl,t2-l). tl,t2-1 •
1
l
2
1
l
Каждая функция ¿2—1, г = 1,...,К^, ¿2—1, при ходе по горизонтали
«порождает» две функции Р(1¿2 из г = 1,..., К¿1, ¿2 по следующему правилу: ~(1) 1 первая: дЦ,42 = х+
X
€ь-1+1
, -(г) -(г) (г) = Уч^^+д^-!*!^-1
¿1, ¿2"
-1 + 1
~(г) /~(г) \2
Иг = д<1,<2-1(%,*2-1-№1'!2-1) + 5(1)
а+1 +2 = -(г) + 1 + а±
¿1, ¿2 гОО +1 "Г" "¿1, ¿2-1'
д(1,(2-1 + 1
вторая: (¿{^ =^^1)>42 +иД2.
Таким образом, половина функций ,¿2 (хг1, ¿2) являются константами, и могут быть заменены всего одной функцией. Следовательно, на каждом шаге число функций Рг1,г2 (хг1,г2) увеличивается не более чем на единицу.
На каждом шаге ¿1 = 1,..., N1, ¿2 = 2,..., N2, проводится алгоритма отбора квадратичных функций с присутствием параметр константы [3].
-Вычисление правых функций ^¿+¿2 (хг1,г2), ¿1 = 1,..., N1, ¿2 = N2 — 1,... ...,1,
м2 1, N2) = o,
Р+, N2—1(х*1, N2-1) = ™п
т1п {и(х41, N2 — х41, N2-l)2 + (х41, N2 — Угг, N2)2}
т1п {иД2 + (х41 ,N2 — У¿l ,N2 )2} ,
^¿+,¿2 (х^1 ,¿2 ) =
= тт
тт {и(х41 ,¿2+1 — х41>42)2 + (x¿l ,¿2+1 — У¿l ,¿2+1 )2+
*41,42 + 1
+5(1) + (х _ х(1)+ )2 + л(1)+ 1 ^д*1,*2 + их*1>*2 + 1 х*1,*2+^ ^ "¿1^2 + 1/ ,
— хгъ12 )2 + (х41>42+1 — У¿l ,¿2—1)2+
, т1п {и(х41,42+1
х!1,!2+1
(^+1,42 + 1)+(х. . ^ ! ,!2 + 1
^¿1 ,¿2+1 '¿2 1 хЬ1 ,¿2+1
(К+ Д2+1)+)2 + т(К+ ) + ^¿1 ,¿2 + 1
«1,«2 + 1
)+
т1п {иД2 + (х41,42+1 — Уíl,¿2+1 )2+ х1,«2 + 1
1
+5(1)+ (х _ х(1)+ )2 + 5(1) + ~1~дг1,г2+1\х*1,*2+1 хг1,г2+1)
, тт {иД2 + (х41,42+1 — y¿ь¿2+l)2+
х(1,(2+1
+ 5
(К+1,!2 + 1) + ¿1 ,¿2+1
(^¿1^2 — 1 х*1,*2+1
(К+ Д2 + 1К2 + т(К+1,!2 + 1)+^ ) + ^¿1 ,¿2 + 1
^¿+,¿2 (X¿1,¿2 ) =
= тт
1+
1
1
1+1
X¿1,¿2
У1, ! 2 + 1+д-.1, + +1х ¿1^ +2 + 1
+
1
дН+2+1(Х <ь +2+1—У! 2 + 1) 2
д(1)+ +1 д 1, ¿2 +1 + 1
+
и+
К
о(1)+ +1
X¿1 ,¿2
+ 5
(1)+ , ¿1 ,¿2 + 1,
У11!2+1+ди,12+21
(К+1,!2 + 1)^(К+1,!2 + 1) +
1+1
(К
+ 1 ,¿2 + 1
<1,<2+1
(К+
,)+ (К+
1,!2+1
+
иД2 +
иД2 +
(х
*1,*2+1
1 ,¿2 +) +1 д( ь++1(х ¿1,+2+1—у*1,*2+1)
ды ;2+1 +1
— Щ1! 2 + 1)2 + 5К+1,4 2+1 ) + + ^¿1 ,¿2 + 1 ,
(К+
<7(1)+ +1 д! 12 + 1 +1
(К+ ,
+ 5
(1)+ , ¿1 ,¿2 + 1,
дь
1'ь2 + 1
(х
*1,*2+1
(К
+ ,¿2 + 1
) +
2
— Уь1,ь2 + 1) + 5 "¿1,42 + ^¿1 ,¿2 + 1
+
К+ + -, ) +
ды;1+1 +1
^¿+,¿2 (X¿1,¿2 ) = т1п
(1)+^ ) 5(2)+ ' ) , ^¿1,¿2
5(1) + (х ) = 5(1)+ (х _ х(г) + )2 + 5(1 ^,¿2 V X¿1,¿^/ — <¿1^2 V X¿1 ,¿2 X¿1,¿2) ^"¿1
^/¿2 (X¿1,¿2 (1)+ (х 5(1)+ )2
(x¿l,¿2),... 2 ^¿1^2/
(1)+ ¿2 ,
г = 1,.
^¿+,¿2 .
На каждом шаге ¿1 = 1,..., N1, ¿2 = N2 — 1,..., 1 проводится алгоритм отбора квадратичных функций с присутствием параметр константы [3].
• Обратный ход обработки по горизонтали ¿1 = 1,..., N1, ¿2 = 1,..., N2.
Использована процедура «вперед и навстречу» для вычисления маргинальных функций, являющиеся результатом обратного хода. Маргинальные функции могут быть вычислены следующим образом:
•¿^ ^,¿2 ) = ^¿2 ^,¿2 ) + ^,¿2 ) + ^,¿2 ^,¿2 ).
С учетом того, что
F¿1 ,¿2 (X¿1,¿2 ) = т™ РЦ1^ (X¿1,¿2 ), (X¿1,¿2 ) , .
(2)
(Kь1 '¿2 )(х ) ¿1,¿2 ^¿1^2)
^¿2 ^,¿2 ) = С^2 (X¿1,¿2 — ^,¿2 )2 + "¿1
(1) ¿1
(1)
5(1)
¿2 ,
г = 1 ..к¿l ¿2
2
2
1
1
2
^¿+,¿2 (x¿1,¿2 ) =
тт
5(1)+(х ) 5(2)+(х ) )+(х )
Ь ¿1,¿2 (X¿1,¿2 ), ^ ¿1,¿2 (X¿1,¿2 ), . . . ? ¿1 ,¿2 (X¿1,¿2 )
■55+ (х^) = (x¿l,¿2 — хЧ+)2 + ЗЙ2, 3 = 1.К,¿2,
то получим:
•¿1,¿2 (x¿ 1,¿2 ) = т1п ^¿й2 (х 1,¿2 ) + ^¿2 (x¿ 1,¿2 ) + & 1 *2 (x¿ 1,¿2 ),
'„(¿)+\2 , 50) +
г = 1,...,Хгиг2,3 = 1,...,К+
¿1, Ь2->
*2 К, >2 ) = т1п[^42 (хгъ Ь2 - )2 + ¿2 + К, Ь2 - хЦ £ Г + < £
+ (хЬл ¿2 - у>1, Ь2 )2,
<0
хС?)+л2 , 5С?)+'
+
7,Ь2 (х*1,Ь2 ) = ™П
■¿{м (х*1 ,Ь2 ), ■ь\12 (х*1 ,Ь2 ), • • • , ■Уим' 2 (х*1,Ь2 )
где ^им (хЬ1 М) = 7им (хЬ1М - хим)2 + ^, ^ = ^им.
На каждом шаге ¿1 = 1,..., N1, ¿2 = 1, • • •, N2 проводятся алгоритм отбора с отсутствием константы [3] и алгоритм редукции квадратичных функций
[4].
2. Обработка по вертикали:
• Прямой ход обработки по вертикали ¿1 = 2,..., N1, ¿2 = 1, • • •, N2,
РУ1,Ь2 (х1,Ь2) = 0,
= шт
р у2М (х2М ) = (1)
(1) 2
(1)
пат |и(х1,Ь2 - х2,Ь2)2 + 71,ь2 (х1,ь2 - 71,ь2)2 + г71М \
тт ^ и(х1,Ь2 - х2,Ь2 )2 + ч!*1*2 )(х1м - хуь1*2) )2 + 71м'12)
(1)
(1) 2
(1)
щшт |иА2 + (х1,Ь2 - 7™)2 + )
Х1'*2
1 ,Ь2
Шп { иА2 + дЦ1'*2)(хМ2 - ж^'*2))2 + 7(Й1'*2^
,
РУ2, Ь2 (х2,ь2 ) = тт
1/и+ту2
_1
Цп+1^*2)
и А2 + 71(1,
(1) (х2,ь2 х1,1 )2 + ' • • •
(х2,ь2 - х&'*2 ))2 + л!*1'*2)
1 ,Ь2
Ру2М (х2,ь2 ) = Ш1п [Р^ (х2,ь2 ), Р^ ^ ), • • • Ру^2 ^ )
РЧм (х2,Ь2 ) = (х2,Ь2 - Щ2 )2 + 4 Ь2 > г = 1>...> Ку2,Ь2 ,
1
РУЬ1,Ь2 (хЬ1,Ь2 ) =
= тт
тт |и(х1 — М2 — x¿l,¿2 )2 + М2 (x¿1 —1,¿2 — X¿(l/l-)1,¿2 )2 + х 1 —1 ,¿2
+7 (н) +"¿1 — 1^2
+ &-1М (X*—М2 — С ^ )2 + ¿¿——
2
тт
хг1 -1,г2
(к)
т —1,¿2 (x¿l —1,¿2 х12 — 1^2 )2 +
¿1 — 1,^2
+ 7(к) + 5 (¿) (х _ х(7) )2 + 5(¿)
^"¿1 — 1^2^ <¿1 — 1^X¿1 — 1,¿2 ■^¿1 — 1^2) ^"¿1 — 1^2
Н = ^...^т —М2 , 3 = ^...^«¿Т —М2 ,
^,¿2 (X¿1,¿2 ) =
= тт
1
1/и+
X¿1,¿2
+
^Т-Т^+^Т-!^ (ж (И) -(]) )2
^¿Т — ^Т-1^ ) + 7(к) + 5 СО
1 / дъ^т—1 2+1/дг1-1,*2 + "¿1—м2 + "¿^
д<1-1,<2 Ж<1-1,<2 +д*1-1,*2 Х*1-1,*2
а(Н) +5Ш дЬ 1 1 ,¿2 +^1 —1^2
иД2 +
(ж
(И)
+ 7(к) + (5 + "¿2—1,¿2 + "
(¿) ¿1 —1,¿2 ,
+
^,¿2 (х*1,*2 ) = т1п ^¿ьк (X¿1,¿2 ) , Р «¿^,¿2 (x¿1 ,¿2 ), . ..FvСK¿71't2 )(X¿1,¿2 )
^£¿2 (X¿1 ,¿2 ) = ^¿2 (X¿1,¿2 — ^Т^ )2 + "¿2,¿2 , г = 1,...,КЩ^2 .
Дальше производится отбор квадратичных функций [3]. • Обратный ход обработки по вертикали ¿1 = N1,..., 1, ¿2 = 1,..., N2,
= а^тт {^¿2^,¿2) + ^¿¿2(xNl,¿2^ ,
(1)
(1) 2
(1)
N1 ,¿2
3 = 1..К^1^2,
X
д (к) д (к) + 5 ¿) -СО (^ъ^) _ gNl,¿2XNl,¿2 + дNl,¿2XNl,¿2
Nl,¿2
7(к) + о (¿) gNl,¿2 + дNl,¿2
x¿1 —1,¿2 ^¿1 ,¿2 ) =
Хь1 1 'ь2
= а^тт <| •g¿1(-)1,¿2 (х*1,*2 )+т1п [и(^1 — 1,*2 — X¿1,¿2 )2,иД^ +^4^—1,¿2 (x¿1 —1,*2
X¿1 —1,¿2 (X¿1 ,¿2 ) =
2
1
arg mm < mm
Xtl-1,t2 {
(xtl,t2 ) + FVti'-1,t2 iXtl-1,t2 ) + U(Xti-1,t2 - Xti,t2 ) - Jtij2 (Xtl,t2 ) + Fj 1,t2 (Xtl-1,t2 ) + UA2, h = 1..Ktl-i,t2, j = 1..Kvtl-i,t2,
, (j)
= arg mm <
mm
X
( ktl-l,t2 ) tl-1,t2
Xtl-1,t2 {Xtl ,t2 ) =
U(xtl-1,t2 - Xtl,t2 )2 + Qtl-iM (Xtl-1,t2 - Xti--1,t2 )2 +
+d (Н)
+ j-1+2 (Xtl-1,t2 - X® )2 + j
tl-1, t2>
uA + ^h^t2 (Xtl-1,t2 - 4-1 ,t2 )2 +
+d
(h) tl-1,t2
+ j-1+2 (Xtl-1t2 - X® )2 + j
(x
t1 t2 )
t1-1 t2
X(i) - (i) + - (j) ~(j) +
(ltl-1 ,t2 Xtl-1 ,t2 + qtl-1 ,t2 Xtl-1 ,t2 + UXtl, t2
t-112 + Xt(j-1 , t2 + U '
■■¿1-1,12 (Х*1,*2) _ _(г) + ■
Результаты применения МКДП для обработки изображений были представлены в работе [2, 4]. МКДП позволяет обеспечить не только хорошие результаты сглаживания, но одновременно и сохранение структуры, а также локальных особенностей изображения.
Заключение
Процедура МКДП для сглаживания изображений с сохранением локальных особенностей обладает возможностью обнаружения близких к друг другу скачков в массиве данных и обладает линейной вычислительной сложностью относительно числа переменных. Процедуры МКДП могут быть легко обобщены на случай изображений путем аппроксимации графа соседства переменных в виде решетки последовательностью деревьев.
2
X
tl-l.t
2
Список литературы
1. Optimization techniques on pixel neighborhood graphs for image processing / V.V. Mottl [et al.] // Graph-Based Representations in Pattern Recognition. Computing. Supplement 12. Wien: Springer-Verlag, 1998. P. 135-145.
2. Фам К.Т., Копылов А.В. Мультиквадратичная процедура динамического программирования для восстановления изображений с сохранением локальных особенностей // Известия Тульского государственного университета. Естественные науки. 2014. Вып. 4. С. 143-157.
3. Фам К.Т., Копылов А.В. Отбор квадратичных функций в процедуре мульти-квадратичного динамического программирования для задач анализа сигналов и изображений // Известия Тульского государственного университета. Технические науки. 2015. Вып. 5. Ч. 2. С. 304-312.
4. Pham C.T. and Kopylov A.V. Multi-quadratic dynamic programming procedure of edge-preserving denoising for medical images, Int. Arch. Photogramm. Remote Sens. Spatial Inf. Sci. XL-5/W6. 2015. P. 101-106.
5. Kopylov A.V. Parametric dynamic programming procedures for edge preserving in smoothing of signals and images // Pattern recognition and image analysis. 2005. V. 15. No. 1. P. 227-230.
6. Алгоритмы динамического программирования для анализа нестационарных сигналов / А.А. Костин, О.В. Красоткина, М.В. Марков, В.В. Моттль, И.Б. Мучник // Ж. вычисл. матем. и матем. физики. 2004. Т. 44. № 1. С. 70-86.
Фам Конг Тханг ([email protected]), аспирант, кафедра информационной безопасности, Тульский государственный университет.
Копылов Андрей Валериевич ([email protected]), к.т.н., доцент, кафедра информационной безопасности, Тульский государственный университет.
Mathematical Description of Multi-Quadratic Dynamic
Programming for Image Smoothing Preserving Local Features.
C.T. Pham, A.V. Kopylov
Abstract. The mathematical description of the multi quadratic dynamic programming procedure is proposed for calculating the Bayesian estimation of the random field. The use of this algorithm achieves high performance implementation of the dynamic programming method for edges preserving image smoothing
Keywords: dynamic programming, objective function, Bellman function, marginal function Bellman, edges preserving smoothing.
Pham Cong ([email protected]), postgraduate student, department of information security, Tula State University.
Kopylov Audrey ([email protected]), candidate of technical sciences, associate professor, department of information security, Tula State University.
Поступила 21.08.2015