Интерактивное байесовское матирование изображений

ошибок первого рода можно задать цзад=0,3 и 51=0,4. Принимая значение К равным, например, 8, получаем А0>14.

Для ошибок второго рода цзад=0,1 и 51=0,05. Тогда при данных значениях число подряд проведенных успешных опытов будет составлять А0-К>51. Учитывая значение К, получаем А0>59.

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

Литература

1. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям: философия, психология, информатика. М.: ЭдиториалУРСС, 2002.

2. Гимаров В.А., Гимаров В.В., Иванова И.В. Построение динамической мультиагентной модели с использованием классификации трендов // Программные продукты и системы. 2011. № 3. С. 162-166.

3. Гимаров В.А., Гимаров В.В., Иванова И.В. Нестационарная мультиагентная модель регионального рынка интернет-услуг // Прикладная информатика. 2011. № 6. С. 7-14.

4. Дли М.И., Круглов В.В., Осокин М.В. Локально-аппроксимационные модели социально-экономических систем и процессов. М.: Наука. Физматлит, 2000.

5. Дли М.И. Обобщенная локально-аппроксимационная модель динамического объекта // Программные продукты и системы. 1999. № 3. С. 15-21.

References

1. Tarasov V.B., Ot mnogoagentnykh sistem k intellektual-nym organizatsiyam: filosofiya, psikhologiya, informatika [From multi-agent systems to intellectual organizations: philosophy, psychology, computer science], Moscow, EditorialURSS, 2002.

2. Gimarov V.A., Gimarov V.V., Ivanova I.V., Programm-nye produkty i sistemy, 2011, no. 3, pp. 162-166.

3. Gimarov V.A., Gimarov V.V., Ivanova I.V., Prikladnaya informatika, 2011, no. 6, pp. 7-14.

4. Dli M.I., Kruglov V.V., Osokin M.V., Lokalno-approksi-matsionnye modeli sotsialno-ekonomicheskikh system i protsessov [Localy-approximation model of socio-economic systems and processes], Moscow, Nauka. Fizmatlit, 2000.

5. Dli M.I., Programmnye produkty i sistemy, 1999, no. 3, pp. 15-21.

УДК 519.688

ИНТЕРАКТИВНОЕ БАЙЕСОВСКОЕ МАТИРОВАНИЕ ИЗОБРАЖЕНИЙ

М.С. Синдеев, аспирант (Институт прикладной математики им. М.В. Келдыша РАН, Миусская пл., 4, г. Москва, 125047, Россия, msindeev@graphics.cs.msu.ru);

В. С. Конушин, программист

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

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

INTERACTIVE BAYESIAN IMAGE MATTING Sindeev M.S., Postgraduate (Keldysh Institute of Applied Mathematics of RAS, 4, Miusskaya Sq., Moscow, 125047, Russia, msindeev@graphics.cs.msu.ru);

Konushin V.S., Programmer

Аbstract. Digital matting is a process of extracting foreground object from an arbitrary natural image. The obtained object layer can be used for photomontage or for retouching the source image. Unlike the image segmentation problem, for fuzzy object edges (hair, feathers etc.) it is required to compute a valid opacity channel. The main disadvantages of existing methods are low accuracy and serious difficulties that occur to the user trying to improve the result, because many algorithms lack interactivity and require a full recomputation of the result. This article describes an interactive image matting algorithm

developed by the authors, and its software implementation. Problem statement is formalized using mathematical apparatus of probability theory with respect to pixel colors and opacity values. The proposed approach increases quality of the result. Additionally the hierarchic processing increases the algorithm speed for large images. Improvements are confirmed by numerical evaluation and visual comparison. Also we describe an interactive variant of the algorithm, which allows the user to improve the result without editing the image manually.

Keywords: image processing, segmentation, matting, photomontage, foreground extraction, Bayesian inference, transparency, alpha-channel, layer compositing.

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

Предположим, что исходное изображение C является смесью изображений F и B (объект переднего плана и фон соответственно) с каналом прозрачности а. В каждом пикселе должно удовлетворяться следующее условие:

C=aF+

где C, F и B - трехмерные векторы в цветовом пространстве RGB, 0<а<1. Задача состоит в получении а, F и иногда B по заданному исходному изображению C с использованием какого-либо дополнительного ввода со стороны пользователя.

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

Разметка задает области с а=0 (B=C), а=1 (F=C) и неизвестными F, B, а. Следует заметить, что если два из трех этих значений известны, то третье может быть однозначно посчитано. Задача является сильно недоопределенной, так как для каждого цвета исходного изображения C существует бесконечное число комбинаций цветов объекта и фона. Чтобы сделать ее решаемой, требуется некоторая регуляризация.

Байесовский подход

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

используется множество ориентированных гаус-сиан. Алгоритм использует схему Байеса для максимизации правдоподобия значений В и а. Условная вероятность для В и а по наблюдаемому цвету С может быть переписана с помощью формулы Байеса:

Р

P(F, B,a | C) =-

P

где Р(С|—, В, а) оценивается через расстояние между С и смесью — и В (то есть через норму разности левой и правой частей в уравнении (1)); Р(Р) и Р(В) оцениваются с помощью плотности гауссиан объекта и фона; Р(а) игнорируется (в предположении, что все значения а равновероятны); Р(С) является константой по отношению к максимизируемым параметрам.

Рассмотрим байесово матирование более подробно.

Взяв логарифм от (2) и опуская члены, не влияющие на параметры, которые нужно найти, получаем:

Ь

где Р(-).

Авторы [1] используют следующие оценки для

Ц(С|-, В, а), Ь(Р), ЦВ):

Р(С | Р, В, а) = С -аР - (1 - а)В||2 / а2с (стс настраивается пользователем),

Ц(Р) = -(Р - Р)Т Е-1 (Р - Р) / 2 ,

где Р и Хр являются математическим ожиданием и ковариационной матрицей гауссиана объекта переднего плана; Ц(В) аналогично Ц(-).

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

гЧ

1 - a --P

Q *) P

J P

Рис. 1. Иллюстрация цветовых распределений

объекта/фона в цветовом пространстве RGB

В случае нескольких пар кластеров объекта/ фона оптимальные Е, В и а вычисляются для каждой пары и выбирается пара, дающая наибольшую величину правдоподобия ЦЕ, В, а| С).

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

Для константной а выводится следующая линейная относительно Е и В система линейных алгебраических уравнений размером 6 на 6:

Е-,1 +Iа2 /ст;2 Iа(1 -а)/ст£ Iа(1 - а) / стС Е,1 +I (1 - а)2 / ст(

Е^Ё + Са / стС Е^В + С (1 -а)/ ст;

Для константных Е и В результат для а является проекцией С на отрезок ЕВ:

а = -

Не - В2

Вычисление Е, В и а поочередным применением формул (4) и (5) продолжается до наступления сходимости.

Гладкость канала прозрачности

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

Моделируем гладкость одномерным гауссиа-ном с математическим ожиданием ао, равным среднему значению прозрачности по ранее обработанным пикселям, то есть тем же значением, что используется в качестве начального приближения для а при решении системы (4). Этот член, отвечающий за гладкость, вводится в (2) как Р( а).

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

Да) = -а-а0 / ст;

Таким образом, максимизируем логарифмическое правдоподобие:

ДЕ, В, а | С) = ДС | Е, В, а) +

+ДЕ) + Ь

Приравнивая частные производные (7) по а нулю, получаем следующее выражение для а:

а0 / < + (С - В) • (Е - В)/стС

1/ст2 + Е - В / ст2

Формула (8) заменяет формулу (5) в процессе минимизации.

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

= ^ + ^Р

где ст^ и X настраиваются пользователем (в своих экспериментах авторы использовали ст^ = X = 0,1), а р(-,-) является расстоянием между двумя распределениями (авторы использовали расстояния между центрами гауссиан).

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

Чтобы сделать сглаживание менее равномерным и более согласованным с цветовыми изменениями, используем взвешенное среднее для ао в пикселе q:

а,

=-X

а р ,

где суммирование происходит по уже обработанным (или известным) пикселям в окрестности пикселя q со следующими весами (Ж является суммой всех для пикселя q):

= ехр

С - С

12 Л

Значение 0,2 для ст„ подбиралось эмпирически. Это же значение ао используется в качестве изначального приближения для а в уравнении (4). Использование члена, отвечающего за гладкость, почти не влияет на время работы алгоритма.

Пример работы алгоритма с изображением приведен на рисунке 2.

Иерархический подход

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

а =

в) г)

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

применяя иерархический подход Closed Form Solution [3] к результату байесова матирования, можно вычислить коэффициенты линейного приближения прозрачности значениями цвета для уменьшенного изображения и использовать их, чтобы увеличить канал прозрачности до исходного разрешения. Линейное приближение определяется коэффициентами а и b в следующем соотношении:

а, « aCp + b,

где p - пиксель в окне (размером, например, 3x3); а и b - фиксированные по окну коэффициенты. Для изображений в градациях серого коэффициенты а и b могут быть вычислены по следующим формулам:

a=1/

Для цветных изображений их можно выразить через F и B (в данном случае а является трехмерным вектором):

a, - Z C + b,

k

где k - индекс цветовой компоненты.

Это позволяет полностью избавиться от второго прохода алгоритма, так как получающийся канал прозрачности обычно достаточно точен. Для восстановления F и B каналов можно также предположить, что их RGB-каналы являются линейными комбинациями каналов исходного изображения C (хотя можно провести и второй проход байесова матирования для константной а).

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

борки, тоже уменьшаются. Байесово матирование выполняется на уменьшенном изображении/разметке и выдает изображения а, ^ и В. Эти изображения нужно увеличить до исходного разрешения. Для канала прозрачности а и для каждого канала изображений Г и В (но будем обозначать обрабатываемый канал как а) применим следующую процедуру.

1. Вычислить коэффициенты а и Ь для каждого пикселя уменьшенного изображения с помощью метода наименьших квадратов по окну 3 на 3, как в уравнении (3).

2. Увеличить карты коэффициентов, используя билинейную интерполяцию.

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

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

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

Интерактивное матирование изображений

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

Вначале пользователю предлагается построить жесткую (бинарную) разметку, используя мазки кистями объекта и фона. Для этого используется алгоритм GrowCut. Целью данного шага является построение точной сегментации четких контуров и приближенной сегментации мягких областей.

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

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

1. Пользователь рисует фрагмент границы нечеткой области внутри объекта или фона.

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

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

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

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

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

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

Численное сравнение

Данный метод использовался на 27 изображениях из тестовой базы [5], в которой для каждого изображения есть две тернарные разметки (Тйтар1 и Тйтар2) - более точная и менее точная (с большей толщиной неизвестной области). Улучшенный алгоритм сравнивался с исходным алгоритмом байесового матирования [1]. Результаты сравнения приведены в таблице.

Из таблицы видно, что наибольшее улучшение достигается на наборе с менее точной разметкой.

Тестовый набор Среднеквадратичная ошибка

Байесов Предложенный алгоритм,

алгоритм улучшение

Trimapl 0,0057 0,0054

Trimap2 0,0099 0,0074

Среднеабсолютная ошибка

Trimapl 0,0146 0,0136

Trimap2 0,0227 0,0192

В этом случае сложнее найти границу объекта, пользуясь только цветовой информацией, поэтому условие гладкости альфа-канала улучшает результат (пример численного сравнения приведен на рисунке 3).

пп

а) б) в)

Рис. 3. Изображение №14 из тестовой базы - а),

разметка Trimapl - б), разметка Trimap2 - в)

Алгоритм матирования и интерактивный процесс (включающий создание разметки и редактирование результата) реализованы авторами в программе GrowCut, которая является подключаемым модулем к программе Adobe Photoshop.

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

Литература

1. Chuang Y.-Y., Curless B., Salesin D., Szeliski R. A Bayesian Approach to Digital Matting. Proc. of IEEE CVPR, 2001, pp. 264-271.

2. Sindeev M., Konushin V., Vezhnevets V. Improvements of Bayesian Matting. Proc. of Graphicon, 2007, pp. 88-95.

3. Levin A., Lischinski D., Weiss Y. A Closed Form Solution to Natural Image Matting., Proc. of IEEE CVPR, 2006, pp. 61-68.

4. Sindeev M., Konushin V. A Novel Interactive Image Matting Framework. Proc. of Graphicon, 2008, pp. 41-44.

5. Rhemann C., Rother C., Wang J., Gelautz M., Kohli P., Rott P. A Perceptually Motivated Online Benchmark for Image Matting. Proc. of IEEE CVPR, 2009, pp. 1826-1833.

References

1. Chuang Y.-Y., Curless B., Salesin D., Szeliski R., Proc. of IEEE CVPR, 2001, pp. 264-271.

2. Sindeev M., Konushin V., Vezhnevets V., Proc. of Graphicon, 2007, pp. 88-95.

3. Levin A., Lischinski D., Weiss Y., Proc. of IEEE CVPR, 2006, pp. 61-68.

4. Sindeev M., Konushin V., Proc. of Graphicon, 2008, pp. 41-44.

5. Rhemann C., Rother C., Wang J., Gelautz M., Kohli P., Rott P., Proc. of IEEE CVPR, 2009, pp. 1826-1833.