Вероятностные методы сегментации видеопотока как задача с недостающими данными

УДК 681.3.07

М. Н. Фаворская

ВЕРОЯТНОСТНЫЕ МЕТОДЫ СЕГМЕНТАЦИИ ВИДЕОПОТОКА КАК ЗАДАЧА С НЕДОСТАЮЩИМИ ДАННЫМИ

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

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

- пороговые методы сегментации, основанные на резких изменениях базовых свойств сигналов (яркости, разрывности, связности пикселей) и предназначенные для выращивания, слияния и разбиения областей;

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

Вероятностные методы сегментации относятся к задаче с недостающими данными. Рассмотрим задачу сегментации видеопотока на движущиеся области, которая заключается в сопоставлении моделей движения «перемещающимся» пикселям. Предположим, что в каждом пикселе изображения вычисляется ^-мерный характеристический вектор X, в котором собрана информация о положении, цвете и текстуре. Данный вектор может содержать различные представления цвета и выходные реакции набора фильтров, центрированных на конкретных пикселях. Моделирование изображения заключается в том, что каждый пиксель считается порожденным одним из g сегментов изображения, имеющим соответствующую плотность распределения. Таким образом, для получения пикселя выбирается сегмент изображения, а затем по функции плотности распределения генерируется пиксель.

Предположим, что сегмент Б1 выбирается с вероятностью Р,, а плотность распределения определяется гаусси-аном с параметрами 0, = (ц,, о,), зависящими от конкретного сегмента. Это означает, что вероятность генерации вектора пикселя можно записать в виде

Р( X) = £ Р1Р( X / 01).

I

Модель такого типа называется моделью смеси, поскольку она представляет собой взвешенную сумму элементов смеси, описываемых вероятностными моделями. Параметры Р: обычно называются весовыми коэффициентами элементов смеси. Модель смеси можно интерпретировать как обобщенную, когда осуществляется выбор ,-го компонента модели с вероятностью Р: и производится выборка из условных вероятностей Р(Х/0,). В этом

случае модель представляет собой распределение плотностей вероятности в пространстве характеристических векторов, иными словами, модель состоит из набора g сегментов, каждый из которых соотнесен с фрагментом изображения. Требуется определить: а) параметры каждого сегмента; б) весовые коэффициенты элементов смеси и в) фрагмент изображения, породивший каждый пиксель.

Все указанные параметры запишем как вектор параметров, причем весовые коэффициенты обозначим как а,, а параметры каждого фрагмента как 0, = (ц,, о,). В результате получим вектор 0 = (а1, ..., а^ 01, ..., 0р. Таким образом, модель смеси принимает следующий вид:

Р( X, 0) =£ а1Р1 (X /01),

I=1

где плотность каждого компонента Р(Х/0,) выражается гауссианом. Поскольку функция распределения вероятностей часто известна с точностью до значения параметров, то восстановление распределения вероятностей сводится к определению значений параметров на основе имеющейся выборки. Среди таких параметрических методов восстановления плотности распределения вероятностей наиболее эффективным является метод максимального правдоподобия, а также методы, основанные на байесовской оценке.

Метод максимального правдоподобия в задаче о восстановлении плотности распределения вероятностей в классе функций Р(Х/0,) связан с исследованием функции правдоподобия Фишера. Функция правдоподобия равна [1]

ДXI,X2,...,XN /0) =

N g

= П!агрг (X-/ 0)=

-=1I=1

N

= П Р( X-, 0).

-=1

Эта функция задается на выборке Х1, Х2, ., Х^. Если величины дискретны, то функция правдоподобия для каждого 0 определяет вероятность того, что случайная и независимая выборка образует последовательность Х1, Х2, ., Хм. Если же величины непрерывны, то функция правдоподобия понимается как плотность совместного распределения величинХ1,Х2, ...,Хм. При этом каждой выборке может быть поставлена в соответствие своя функция правдоподобия. Метод максимального правдоподобия заключается в нахождении таких значения параметра 0, которые доставляют максимум функции (1). Иногда вместо данной функции рассматривается логарифмическая функция вида

1пЬ(ХъXXн /0) = N g

= Х 1п£«//)(X7 /0/) =

7=1 /=1

N

= Х 1п Р (X, , 0).

7=1

Поскольку максимумы функций (1) и (2) совпадают, они могут быть найдены либо из уравнения

ЭД XI, X 2,..., X N / 0) = 0

д 07 ’

7 = 1, 2,..., т ,

либо из уравнения

Э 1пЬ

Э 0 7

0,

7 = 1,2,..., т.

Основное достоинство этого метода состоит в том, что для некоторых функций Р(Х/0/), которые при достаточно большом объеме выборки аппроксимируются нормальным распределением, он обеспечивает асимптотическую несмещенность и асимптотическую эффективность оценки максимального правдоподобия. Если знать компонент, который породил пиксель, то вектор 0 определить просто. В этом случае для каждого элемента 0/ можно использовать оценку по принципу максимального правдоподобия. Тогда значение а/ - это доля компонента I в изображении. Если знать вектор 0, то для каждого пикселя можно определить компонент, который породил данный пиксель с наибольшей вероятностью.

Другой способ вычисления параметров распределения основан на применении формулы Байеса

Р

Р (а / X) =

Р

Р

где

Р

Р (XI, X 2,..., X N ) =

,X2,...,XN /а)Р(а) йа

для непрерывных а (5 - множество сегментов изображения) и

Р( XI, X 2,..., X N ) =

= Хд*1,X2,...,XN /а/)Р

/=1

для дискретных а.

Теперь задача сводится к определению параметра а по известной величине Р(а/Х). Этот параметр можно определить как математическое ожидание вида

Ма = |аР(а/X!,X2,...,XN) йа.

£

В качестве искомого значения параметра может быть выбрано такое значение а, которое доставляет максимум функции Р(а/Х).

Рассмотренные методы оценки не являются равнозначными ни по сложности их реализации, ни по эффективности. Главная сложность реализации метода максимального правдоподобия состоит в отыскании решения системы уравнений (3) и (4). Реализация байесовской стратегии связана с громоздкими вычислениями. Как правило, эта стратегия реализуется лишь тогда, когда удается провести аналитическое интегрирование выражения

Р(Х) =

гР

Я

Р

<^а.

Этот способ называется байесовским принципом восстановления параметров. Предположим, что плотность распределения параметра Р

Численное интегрирование выражения (5) представляет собой очень трудную задачу.

Также для оценки параметров распределения может быть использован метод стохастической аппроксимации, общая схема которой представляется следующей процедурой [1]:

а[п] = а[п - 1] - g[n] Q

где X [п] - изменяемая в процессе эксперимента величина; Q(X, а) - некоторый функционал от фиксированного вектора X.

Для отдельных классов распределений (например, для экспоненциальных распределений) критерий оптимальности можно представить как выборочное среднее. Тогда если функционал Q(X, а) - квадратичная функция относительно а, то алгоритмы стохастической аппроксимации приводят к тем же результатам, что и байесовы алгоритмы. Если же параметры а находить из условия максимума функции правдоподобия, т. е. Q(X, а) = Ь^, а), то получим оценки, равнозначные тем, которые получают по методу максимального правдоподобия.

Рассмотрим формальную постановку задачи с недостающими данными. Предположим, что имеются два пространства - полное пространство данных П и неполное пространство данных Пг Существует отображение / переводящее пространство в пространство Пг При таком отображении данные «теряются», порождая недостающие данные. В контексте сегментации изображения полный набор данных включает характеристики всех пикселей, а также набор переменных, указывающих, какой компонент смеси предоставил такие характеристики. Неполный же набор данных получается при отбрасывании второго набора переменных. Пусть также имеется пространство параметров П^, состоящее из весовых коэффициентов компонентов смеси и параметров каждого компонента смеси. Задача заключается в нахождении оценки указанных параметров по неполному набору данных с применением одного из вероятностных методов. Наиболее приемлемым из рассмотренных методов является метод максимального правдоподобия, поскольку он

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

Обозначим плотность вероятности полного набора данных как Р(х, и). Тогда логарифмическая функция вероятности полного набора данных в соответствии с формулой (2) запишется в виде

Ь(х / и) = 1п П Р(х],и) =

]

= £ 1п( Р( х ] , и)).

]'

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

Р(у, и) = | Р(/(х), и) ёх.

= £ 1п(Р (у], и))=

= 11п

]

| Р(/(х), и) ёх

Данная процедура повторяется до схождения, хотя гарантия полной сходимости отсутствует, так как объем неполных данных на изображении не известен. Эта процедура является частным случаем общего алгоритма. Предположим, что логарифм функции правдоподобия полного набора данных представляет собой линейную зависимость по отсутствующим переменным. Напомним, что в модели смеси недостающими данными являются переменные, указывающие, из какого компонента смеси извлечен элемент данных. Для этого с каждой информационной точкой сопоставим вектор г, имеющий g элементов. Еслиу-ая информационная точка поступила от /-го компонента смеси, то элемент zJl равен единице, в противном случае он равен нулю. Следовательно, х. = [у. гу] и модель смеси можно переписать следующим образом:

Р( у) = £ Р1 Р(у, и).

Тогда функция правдоподобия для неполных данных в соответствии с формулой (1) записывается следующим образом:

N

и)=П р (У], и).

з=1

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

Д(у, и) = 1п П Р(У], и) =

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

Можно предложить следующую стратегию решения данной задачи:

- получить некоторую оценку компонента, породившего характеристический вектор пикселя, используя значение 8г;

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

/

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

Г§ Л

1п и) = £ £ 2] 1п Р

] I ]=1 ,

Основная идея алгоритма заключается в следующей итеративной процедуре. На шаге п формируется ожидаемое значение полного набора данных на основе неполных данных и текущих значений параметров. Известно ожидаемое значение вектора у [п], поэтому требуется вычислить только ожидаемое значение вектора гу [п] для каждого параметрау. Затем ожидаемое значение вектора гу [п] подставляется в логарифмическую функцию правдоподобия полного набора данных и находится максимум относительно вектора и [п]. В этот момент ожидаемые значения вектора г. [п] могут изменяться. Таким образом, вычисляется величина

и[п +1] = тахЬ(х, и[п]) =

и

= а^ тахЬ([у/2 [п]],и [п]).

и

Можно показать, что логарифм функции правдоподобия неполного набора данных увеличивается на каждом этапе, что, в свою очередь, означает, что последовательность и [п] сходится хотя бы к локальному максимуму логарифма функции правдоподобия неполного набора данных [2]. Однако не существует гарантий, что данный алгоритм сходится к глобальному максимуму

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

Q(u, и[п]) = |Ь(х, и) Р([х /и [п]], у) ёх, которая представляет собой зависимость от оценки пара-

метров на предыдущем шаге итерации. Теперь найдем максимум данной функции относительно вектора и:

u [п +1] = arg maxQ(u, u [n]).

u

Полученное выражение показывает, что задача сводится к линейному случаю, описанному выше. Однако открытым остается вопрос задания стартовых значений рассмотренного алгоритма. Можно предложить следующую стратегию. Вначале следует выбрать число сегментов и построить набор вспомогательных отображений для каждого сегмента. Эти отображения будут содержать весовые коэффициенты, соотнесенные с пикселями внутри сегмента. Затем следует задать начальное состояние вспомогательных отображений, оценив параметры сегмента по небольшим блокам пикселей (и посчитав весовые коэффициенты) или случайным образом присвоив значения элементам изображения. В качестве параметров сегмента можно выбрать цветовые и текстурные характеристики пикселей (например, анизотропия, однородность, контрастность, локальный масштаб).

Применим рассмотренный выше вероятностный метод сегментации на основе вычисления функции максимального правдоподобия к анализу видеопотоков, снятых движущейся камерой. Видеопотоки часто состоят из больших сегментов, имеющих близкие параметры движения (направление, скорость, ускорение). Предположим, что дана последовательность из двух следующих друг за другом кадров, и требуется определить наличие движения в каждом пикселе первого кадра. Требуется определить набор уровней движения, которые сопоставляются с объектами, расположенными на различных расстояниях от движущейся камеры. При этом возникает впечатление, что объекты, расположенные ближе к камере, «перемещаются» быстрее, чем удаленные объекты. В этом случае модель движения можно назвать многоуровневой. Предположим, что для получения уровня движения используется модель смеси, причем сегменты не обязательно имеют гауссову плотность распределения. Базовая модель видеопотока основана на следующих фактах:

- в каждом пикселе текущего кадра имеется вектор движения, соединяющий его с пикселем следующего кадра;

- имеется набор различных параметрических уровней движения, каждое из которых получено на основе собственной вероятностной модели;

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

В данной модели определяется набор различных, но внутренне подобных уровней движения, которые отвечают твердым телам, расположенным на различном расстоянии от движущейся камеры и g сегментам на изображении. Предположим, что уровень движения задан в параметрической форме, и имеется h уровней движения. Для данной пары изображений требуется определить: а) уровень движения, к которому относится каждый пиксель; б) значения параметров каждого уровня. В такой постановке задача также сводится к задаче с недостающими данными. Отсутствующими данными являются

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

Пусть пиксель в точке с параметрами (и, у) первого изображения принадлежит /-му уровню движения, имеющему параметры 8Г Это означает, что на втором изображении этот пиксель переместился в точку с параметрами (и, у) + т(и, у, 8г) и яркости этих двух пикселей 11(и, у) и 12(и, у) равны с точностью до ошибки измерения С. Уровень движения можно обозначить переменной V /, которая принимает значение единицы, если пиксель с параметрами (и, у) относится к /-му уровню движения, и нуль в противном случае. Предполагается, что на значения интенсивностей пикселей изображения влияет гауссов шум с дисперсией s. Тогда логарифм функции правдоподобия полного набора данных запишется следующим образом:

Ь(¥, 0) =

у (/1(и у) - /2(и + т(и V 8/), у + т2(и, V, 8/)))2 +с

/ I иу,/ о ’

иу,/ 2°

где 8=С8^- 0,).

Далее следует определить величины вероятностей уровней движения:

Р(Уиу,1 = 1|/1, /2, 0).

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

/ \ mi

m2

v 2 у

/

(u, v, 0г) =

aii

a21

a12

a22

\ / \ u

V

V

f \ a13

. a23 , V 23 У

где 8/ = (fl11,•••, а23).

Карту можно упростить, оставив только выбранный уровень движения, для того, чтобы проверить, насколько движение соседних пикселей согласуется с движением пикселей на предыдущих и последующих кадрах. Модель многоуровневого движения полезна по ряду соображений: во-первых, она связывает пиксели, «движущиеся» в одном направлении, во-вторых, имеется возможность определения границ движения, и в-третьих, последовательности кадров можно восстанавливать по имеющимся уровням движения, когда некоторые уровни отсутствуют.

Однако возможна ситуация появления посторонних объектов в зоне видеонаблюдения, поскольку модель не предсказывает частоту их появления. Как правило, вероятность появления посторонних объектов на изображении мала, и требуется уделить внимание «хвостовым» частям функции нормального распределения. Для этого можно построить явную модель посторонних значений, учитывающую взвешенную функцию правдоподобия Р(измерения | модель) и член посторонних значений Р(выбросы):

(1 - 1) Р(измерения | модель) + 1 Р(выбросы),

где параметр 1 О [0, 1] моделирует частоту появления посторонних значений, а Р(выбросы) - некоторая вероятностная модель посторонних значений.

При отсутствии априорных значений появления посторонних объектов можно принять, что вероятность их появления равномерна во всем диапазоне представленных данных.

Еще один сложный аспект заключается в оценке фона. Нахождение усредненного значения яркости фона по всем кадрам имеет недостаток, связанный с тем, что объект, длительно находящийся на одном месте, может сильно повлиять на среднее значение яркости. Данную задачу также можно рассматривать как задачу с недостающей переменной, считая, что к изображениям видеопотока добавлен шум, поступающий от некоторого равномерного источника (в данном случае неподвижного объекта). Тогда каждый пиксель, принадлежащий шуму, не относится к фону и не учитывается при его оценке.

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

Библиографический список

1. Васильев, В. И. Распознающие системы : справ. / В. И. Васильев. Киев : Наукова думка, 1983. С. 422

2. Форсайт, Д. А. Компьютерное зрение. Современный подход : пер. с англ. / Д. А. Форсайт, Ж. Понс. М. : Вильямс, 2004. С. 928

M.N. Favorskaya

PROBABILISTIC METHODS OF VIDEOFLOW SEGMENTATION AS THE PROBLEM WITH MISSING DATA

It is devoted to classification ofprobabilistic methods for image segmentation. The approach based on the method of maximum probability is discussed in detail. The formal set up of problem with missing data is considered, also the algorithm of its realization is proposed. The problem of videoflow segmentation on basis of multilevel moving model is analyzed.

УДК 004.4

А. М. Кукарцев, С. А. Старовойтов, В. С. Шестаков СРЕДА РАЗРАБОТКИ КОМПОЗИЦИОННЫХ КРИПТОСИСТЕМ

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

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

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

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

Таким образом, вся криптография делится на закрытую (вся документация по этим методам секретна и используется, как и охраняется, государством); открытую (коммерческую) (вся документация по этим методам публикуется в открытой печати и может быть использована в личных и/или коммерческих целях).

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