3. Задача фотомонтажа
• Манипулирование отдельными объектами сцены с
высоким визуальным качеством
• Добавление нового объекта
• Удаление объекта
– Восстановление фона
• Композиция одного изображения из нескольких
4. Формирование изображения
• Мы представляем изображение как композицию объекта и фона,
причём какие-то пиксели изображения есть результат смешения
объекта и фона (следствие дискретизации)
• I = * F + (1 - ) * B
= * + *
• Карта прозрачности (opacity map) из [0,1], где 0 - фон, 1 –
непрозрачный объект
• Она же альфа-канал
5. Выделение объекта
• Задача маттирования (matting) объекта
• Выделить интересующий пользователя объект на изображении
• Формально:
• Для каждого пикселя изображения определить значения
прозрачности из [0,1], где 0 - фон, 1 – непрозрачный объект
• Для всех пикселей с >0 определить f – цвет пикселя объекта
= *
• При смешивании полученного фона с изображением объекта по
альфа-каналу должно получиться исходное изображение
6. Подход к решению
• С очевидностью, задача недоопределенная
• Сцена состоит из множества объектов, какой из них
нужен пользователю, неизвестно
• Для каждого пикселя объекта необходимо оценить 3
параметра
• Поэтому в общем виде автоматически она
решается пока только съемкой в специальных
условиях
7. Chroma keying & Lum keying
• Chroma keying
• Объект снимается на однородном фоне определенного
цвета
• Широко применяется в кино и на телевидении
• Работает в real-time
• Возможно извлечение теней, бликов, прозрачных элементов
• Luma keying
• Альфа-канал получается путем применения фильтров
яркости и контрастности к изображению, преобразованному к
градациям серого
11. Подход к решению
• Для изображений, полученных в обычных
условиях, задача раскладывается в несколько
более простых задач
• Интерактивная «жесткая» сегментация объекта
– Пользовательский ввод
– из {0,1}
• Мягкая сегментация объекта (собственно маттирование)
– Результат жесткой сегментации используется как
начальное приближение
+
12. Композиция изображений
• Выделенный объект можем встроить в другое
изображение
• Если провели мягкую сегментацию, то при
встраивании смешиваем (blending) изображения
объекта и фона:
13. План лекции
• Интерактивная сегментация изображений
• Введение в графические модели и их применение для
фотомонтажа
• Вычисление оптимальных линий сшивки при
композиции изображений
14. Интерактивная сегментация
• Методы
• Magic wand
• Intelligent scissors
• Interactive graph cuts
• Lazy Snapping
• GrabCut
– «Background removal tool» из MS Office 2010
• Одна из основных проблем - отсутствие единой
метрики качества
• Субъективное сравнение результатов
• Разный пользовательский ввод (объём?)
15. Волшебная палочка (Magic wand)
• Пользователь указывает пиксель объекта и
задаёт порог.
• Алгоритм относит к объекту область,
включающую заданный пиксель, и цвета всех
пикселей которой отличаются от цвета заданного
пикселя не больше, чем на данный порог.
• Область можно сделать связной
• Повторять шаги до достижения
пользовательского удовлетворения
16. Умные ножницы (Intelligent scissors)
• Изображение превращается во взвешенный
неориентированный граф
• Пиксели – вершины графа
• Ребра – связи между соседними пикселями
• На ребрах графа определяется весовая функция
• Значение этой функции мало на ребрах, соответствующих
потенциальной границе на изображении.
Eric N. Mortensen, William A. Barrett, Intelligent scissors for image composition,
Siggraph 1995
17. Умные ножницы (Intelligent scissors)
• Пользователь указывает 2 точки на границе объекта.
• Граница объекта находится с помощью алгоритма нахождения
пути минимальной стоимости в графе
• Алгоритм Дейкстры на основе динамического программирования
18. Умные ножницы (Intelligent scissors)
• (+) Существуют очень быстрые реализации алгоритма
• (-) Плохо работает в сильно текстурированных областях.
19. Алгоритм Interactive GraphCuts
• Придуман Ю. Бойковом и Мари-Пьер
Джолли в 2000 году
• Стал де-факто эталонным алгоритмом
интерактивной сегментации
• Пользователь указывает жесткие
ограничения на сегментацию – пиксели,
принадлежащие объекту (О) и пиксели,
принадлежащие фону (B)
• семена объекта и фона
Yuri Boykov and Marie-Pierre Jolly. Interactive Graph Cuts for Optimal
Boundary & Region Segmentation of Objects in N-D images. In International
Conference on Computer Vision, (ICCV), vol. I, pp. 105-112, 2001.
20. Вероятностное поле
• Задача: для каждого пикселя
определить, принадлежит ли он объекту
или фону
• Y – разметка или аннотация изображения
I
Y y1,..., yN
y {0,1}
i
где N – число пикселей в изображении I
Y y1 ,..., y N - Вероятностное поле
(Random field)
Методы работы с вероятностными полями пришли из
статистической физики
21. Графические модели
• Значения переменных зависят друг от друга и от данных
• Необходимо учитывать эту зависимость, но оставить задачу
вычислимой на практике
• Для учета зависимостей переменных удобно использовать
более совершенные методы из области вероятностных полей,
такие как графические модели
• Графические модели – формализация задач случайных полей,
в которых между переменными есть зависимости
22. Марковское случайное поле (MCП)
• Пусть G=(V,E) – неориентированный граф
• Пусть Y {Yv }, v V - набор случайных величин,
индексированных вершинами графа G
• Y образует Марковское случайное поле, если выполняется
свойство Марковости:
P( yi | yV {i } ) P( yi | ySi }
y1 y2
где Si – множество соседних вершин к vi в графе G
y3 y4
23. Марковское случайное поле
• Марковское поле можно определить через:
• Набор локальных условных вероятностей P ( y i | y Si }
• Совместное распределение P(Y)
• Совместное распределение определить обычно очень сложно,
удобнее задать поле через локальных зависимости
• Но по полю мы хотим производить статистический вывод
(inference), чаще всего определять P(Y) или argmax P(Y)
• Как это можно сделать только определив локальные
зависимости?
24. Поле Гиббса
Случайное поле Y является полем Гиббса на графе G, если
совместную вероятность P(Y) можно записать в виде
распределения Гиббса:
1 1
1 U (Y )
T Z e
U (Y )
T
P(Y ) e
Z Y
где T – температура
U(Y) – функция энергии, записываемая в виде
U (Y ) c (Y )
cC
С – множество всех клик графа G
c (Y ) - потенциальная функция
Что такое клика графа?
25. Пример: Ising Model
• Есть набор атомов V, близость которых друг к другу задана
графом G
• У каждого атома есть cпин y = {-1, +1}
• Нам нужно: считать вероятности количества атомов с заданным
спином, и т.д.
• В этом случае потенциальная функция на ребре задается в
простой форме:
c ( yi , y j ) wi , j yi y j
• w > 0 – ферромагнетики, соседние атомы должны иметь
одинаковый спин, w<0 - антиферромагнетики
1 ( ui yi wi , j yi y j )
P (Y ) e
Z
26. Теорема Хаммерсли – Клиффорда
• Теорема: Случайное поле Y является Марковским случайным
полем на графе G, тогда и только тогда, когда оно является полем
Гиббса на G.
• Теорема была несколько раз доказана (1971,1974 и 1980)
• Теорема даёт способ расписать совместную вероятность Y через
потенциальные функции на кликах
• Т.е. через локальные зависимости!
1 1
1 U (Y ) U (Y )
P (Y ) e T
Z e T U (Y ) c (Y )
Z Y cC
27. Вывод в МRF
• Задача нахождения наиболее вероятной конфигурации скрытых
переменных в MRF эквивалентна задача минимизации энергии
системы в поле Гиббса
1 c c (Y )
C
c ( Y )
arg max P (Y ) arg max e arg max e
cC
Y Y Z Y
arg min c (Y )
Y cC
28. Энергия на кликах
• Часто удобно записать энергию U(Y) в виде сумм по кликам
определенного размера, вплоть до максимального размера клики
в графе G
U (Y )
cC1
c (Y )
cC2
c (Y ) ...
cCmax
c (Y )
• Полезно понимать:
• Мы можем свести энергию к короткой записи как суммы
потенциальных функций на максимальных кликах
где c (Y ) c' (Y )
U (Y ) c (Y )
cCmax c 'c
• Но при этом мы «теряем из виду» локальную структуру на
маленьких кликах, которая нам важна. Плюс сложность
задания энергии растёт экспоненциально с размером клики,
что усложняет расчёты
29. Гиббсово случайное поле
• Во многих практических случаях ограничиваются кликами
размера 2.
U (Y )
cC1
c (Y )
cC2
c (Y )
Унарные Парные
потенциалы потенциалы
• В этом случае, совместную вероятность можно записать как:
1
P(Y ) ri ( yi ) ri ,i ( yi , yi )
Z iV i i Si
V
1 1
i ( yi ) i ,i ( yi , yi )
T T
ri ( yi ) e , ri ,i ( y i , yi ) e
30. Потенциальные функции
Зададим потенциальные функции в таком виде:
( yi ) ln( P ( yi ))
( yi , y j ) ln( P ( yi , y j ))
Тогда общая вероятность:
1 c c (Y ) 1 ( ( ln( P ( yi )) ( ln( P ( yi , y j ))
C
P(Y ) e e
Z Z
P( yi ) P( yi , y j )
Замечание: это один из вариантов записи потенциалов, это не
обязательно вероятности
31. Метрические МСП
• Требование:
• Используются только унарные и парные потенциалы
• Парные потенциалы должны быть метрикой, т.е.
( yi , y j ) 0 i j
( yi , y j ) ( y j , yi ) 0
( yi , y j ) ( yi , y k ) ( y k , y j )
• Обобщенная модель Поттса:
• Фактически, штраф за переход между разными метками
1, yi , y j
( yi , y j ) ( yi , y j ) ( yi , y j ) 0, y y
i, j
32. MAP-MRF
• X – наблюдаемые переменные (пр. пиксели изображения)
• Y – скрытые переменные (пр. метки сегментации)
• Y,X образуют Марковское случайное поле
• MAP-MRF подход заключается в максимизации апостериорной
вероятности по правилу Байеса:
p ( X | Y ) p (Y )
P (Y | X )
P( X )
p ( X | Y ) p (Y )
arg max P (Y | X ) arg max
Y Y P( X )
arg max p( X | Y ) p (Y )
Y
• p(X|Y) – задаёт правдоподобие разметки по данным
• p(Y) – задаёт априорные ограничения на конфигурацию меток
(smoothness term), который вычисляем по МRF
33. MAP-MRF для изображения
• X – наблюдаемые переменные (пр. пиксели изображения)
• Y – скрытые переменные (пр. метки сегментации)
• Построим следующее МСП:
X • Считаем зависимыми друг от
друга скрытые переменные (метки),
• Каждая наблюдаемая переменная
Y (данные) зависит только от
соответствующей скрытой
переменной
Задача нахождения наиболее вероятной конфигурации
скрытых переменных
arg max p( X | Y ) p (Y )
Y
34. MAP-MRF для изображения
X Распишем задачу:
arg max p ( X | Y ) p(Y )
Y
Y arg min( ln p ( X | Y ) ln p (Y ))
Y
Из выбранной конфигурации графа получаем:
ln p( X | Y ) ln p( xi | yi ) ln p( xi | yi )
ln p (Y ) ( yi , y j )
Тогда MAP-MRF подход для такого поля:
arg max p ( X | Y ) p (Y ) arg min( ln p ( xi | yi ) ( yi , y j ) )
Y Y
Унарные Парные
потенциалы потенциалы
35. MAP-MRF для сегментации
• Рассмотрим нашу задачу сегментации
yi {0,1}
• В качестве признака будем
использовать только цвет
arg max P(Y | X ) arg min( ln p ( xi | yi ) ( yi , y j ) )
Y Y
• Унарный потенциал (правдоподобие):
• Используем нормальное распределение
для моделирования цвета пикселя
2
( x colorback )
i
2 2
p ( xi | yi 0) Ce
2
( xi colorobj )
2 2
p ( xi | yi 1) Ce
• Парные по модели Поттса – штрафы
36. MAP-MRF для сегментации
arg max P(Y | X ) arg min( ln p ( xi | yi ) ( yi , y j ))
Y Y
( xi color( y ) )2
arg min( 2
( yi , y j ))
Y 2
• Такая энергия эффективно
минимизируется с помощью разреза
графов (GraphCut)
• Недостаток: парные потенциалы не
зависят от изображения
37. Пример
Цветовая Сглаженная
сегментация разметка с
помощью MRF
38. Условное случайное поле
• Случайное поле Y называется Условным
случайным полем по X над графом G, если для
каждого y выполняется условие Марковости:
P( yi | yV {i} , X ) P( yi | y Si , X }
где Si – множество соседних вершин к vi в графе G
39. Условное случайное поле (СRF)
• Случайное поле Y называется Условным случайным полем
по X над графом G, если для каждого y выполняется
условие Марковости:
P( y i | yV {i} , X ) P( yi | y Si , X }
где Si – множество соседних вершин к vi в графе G
• Из эквивалентности МСП и поля Гиббса:
1
1 T U ( Y |X )
P (Y | X ) e
Z
• Argmax задача для метрических полей:
arg max P(Y | X ) arg min( ln ( yi | X ) ( yi , y j | X ))
Y Y
• Все потенциалы глобально обусловлены данными!
• Нет правдоподобия, напрямую апостериорные вероятности
40. Марковская сеть в сегментации
Boykov et al. [ICCV 2001], Blake et al. [ECCV 2004]
Energy MRF E ( F ) ( ( I | Fp ) ( ( I | F , F ) * ( F , F ))) const
p q p q
p { p , q}N
Унарное правдоподобие Член контраста Модель априорной
(Contrast Term) вероятности Поттса
(Unary likelihood) (Potts Model Prior)
MAP solution F * arg min E ( F )
F
Данные (I) Унарное правдоподобие Бинарные члены Решение максимальной
(Unary likelihood) (Pair-wise Terms) апостериорной
вероятности
(MAP Solution)
41. Алгоритм Interactive GraphCuts
• Унарные потенциалы:
( I |" obj" ) ln Pr( I p | O ) Pr( I p | O ) - вероятность того,
что у пиксель
( I |" bkg " ) ln Pr( I p | B ) объекта яркость I p
Вероятность считается через гистограммы (только яркостей!)
• Парные потенциалы – штрафы за слабоконтрастные границы
1 if Fp Fq
( Fp , Fq ) {
0 otherwise
( I p I q )2 1
( I | Fp , Fq ) exp( ) dist ( p, q ) -расстояние между
2 2 dist ( p, q) пикселями
параметр сигма оценивался по текущему изображению, чтобы
адаптироваться к слабо/сильно контрастным изображениям
42. Граф
• Пусть G (V , E ) - направленный граф. Каждому ребру
( u, v) присваивается некоторый неотрицательный вес –
пропускная способность ребра c (u, v ) . В графе выделены 2
особые (терминальные) вершины – исход s и сток t . Такой
граф называют сетью.
43. Поток в графе
• Опр. Потоком в графе G называется функция f (u, v ) ,
определенная на ребрах графа, и удовлетворяющая
следующим условиям:
• f (u, v ) 0 u, v
• f (u, v ) c( u, v) u, v
•
v:( v , u0 )E
f ( v, u0 ) f ( u , v) 0
v:( u0 ,v )E
0
u 0 V , u 0 s, u 0 t
44. Максимальный поток
• Опр. Величиной потока называется величина
M( f )
v:( p ,v )E
f ( p, v ) f (v , p )
v:(v , p )E
p {s, t}
• Задача о максимальном потоке
45. Разрез графа
• Опр. s t -разрез C S , T - это разбиение вершин из V на 2
непересекающихся множества S и T , такие, что s S , t T
• Опр. Величиной разреза называется сумма весов всех
ребер с началом в S и концом в T :
c (S , T ) c( u , v )
uS , vT ,(u , v )E
46. Теорема Форда – Фалкерсона
• Величина максимального потока равна
величине минимального разреза.
47. Граф и сегментация
• Построение графа
• O – семена объекта
• B – семена фон
• t-связь – ребро между
обычной вершиной и
терминальной
• n-связь – ребро между
двумя обычными
вершинам
48. Веса ребер в графе
Ребро Вес В случае
{ p , q} u{ p ,q } { p, q} N
K 1 max
pP
u
q:{ p ,q }N
{ p , q}
ln( g ( ( , ' bkg '
(( ln( gi,i ,pp',bkg ' )))) p P, p O B
{ p, S} K p O
0 pB
( ln( g (i, p , ' obj ' )) p P, p O B
{ p, T } 0 p O
K pB
49. Минимальный разрез и энергия
E ( f ) 2 u{ p ,q } (1 ( y p yq )) ( y p , ))
pP qN pP
• Минимальный разрез в таком графе позволяет
найти минимум энергии нашего вида
50. Общий случай
• Для случая бинарных меток, когда парные
потенциалы удовлетворяют условию
регулярности (модель Поттса удовлетворяет) то
разрез графов (GraphCut) позволяет найти
глобальный минимум энергии
• Бойков и Колмогоров, EMMCVPR 2001
• Эмпирическое сравнение различных версий алгоритмов,
основанных на дополняющих путях и проталкивании
предпотока на графах-решетках, типичных для задач
компьютерного зрения
• Сделали собственную версию алгоритма, основанного
на дополняющих путях
• Эмпирическая сложность близка к линейной
относительно размера изображения.
51. Итерационные алгоритмы
Общий вид энергии:
E ( f ) Dp ( f p ) V { p ,q } ( f p , fq )
pP { p , q}N
f p {1,...K } K 2
arg min E ( f ) ?
f
52. Итерационные алгоритмы (2)
• Разбиение пикселей изображения P {Pl | l L},
где Pl { p P | f p l} - подмножество пикселей с
меткой l .
• V называется полу-метрикой на пространстве меток L,
если
• V ( , ) V ( , ) 0
, L
• V ( , ) 0
• V называется метрикой на пространстве меток L ,
если она является полу-метрикой, и
• V ( , ) V ( , ) V ( , ) , , L
53. Итерационные алгоритмы (3)
• Опр. 1 Пусть , - метки. Изменение разбиения P
(маркировки f ) на новое разбиение P (маркировку f )
называется заменой, если Pl Pl для любой
метки l , .
• Опр. 2 Пусть имеется метка . Изменения разбиения P
(маркировки f ) на новое разбиение P (маркировку f )
называется -расширением, если P P и Pl Pl
для любой метки l .
54. Итерационные алгоритмы (4)
• Алгоритм, основанный на замене.
1. Начать с произвольной маркировки f
2. Успех := 0
3. Для каждой пары меток { , } L
a. Найти fˆ arg min E ( f ) среди всех f , являющихся
заменой f
ˆ
b. Если E ( f ) E ( f ) , установить f : f и Успех := 1
ˆ
4. Если Успех = 1, goto 2
5. Вернуть f
• V должна быть полу-метрикой.
55. Итерационные алгоритмы (8)
• Алгоритм, основанный на замене.
1. Начать с произвольной маркировки f
2. Успех := 0
3. Для каждой метки L
a. Найти fˆ arg min E ( f ) среди всех f , являющихся
расширением f
ˆ
b. Если E ( f ) E ( f ) , установить f : f и Успех := 1
ˆ
4. Если Успех = 1, goto 2
5. Вернуть f
• V должна быть метрикой!!!
56. Итерационные алгоритмы (9)
• Алгоритм, основанный на замене.
• выдает маркировку f , для которой
E ( f * ) E ( f ) 2k E ( f * )
где f * - глобальный минимум,
max{V ( , ) : }
k
min{V ( , ) : }
• Метод на основе разрезов графов
• Линейный по К
• Есть логарифмическая от К версия (LogCut)
57. Итерационные алгоритмы (10)
• Примеры:
• E1 : V{ p ,q} ( f p , f q ) min(K, | f p f q |2 ) , K const
- полуметрика -> замена
• E2 : V{ p ,q} ( f p , f q ) min( K , | f p f q |)
• E3 : V{ p ,q} ( f p , f q ) ( f p f q )
- метрика -> расширение
58. Методы вывода
• Разметка с оценкой достоверности
• Belief Propagation, TRW
• Приближенное решение при наличии циклов
– Сложность экспоненциально зависит от размера клики
– Поэтому в основном рассматриваются модели с кликой не выше
2 (попарные)
59. Lazy Snapping
• То же, что и Interactive GraphCuts, но на карте
суперпикселей
• Граница приближается ломаной, которую можно
редактировать
• Уточнение границы в обозначенной пользователем
полосе
Yin Li, Jian Sun, Chi-Keung Tang, and Heung-Yeung Shum. Lazy Snapping
Siggraph 2004
60. Lazy Snapping
• Карта суперпикселей строится алгоритмом watershed
• В 10 раз быстрее чем на пикселях при сравнимом визуальном
качестве
• Учитывается цвет фона и объектов.
• Выборка из размеченных пользователем областей
кластеризуется k-cредними на 64 кластера, вероятности
считаются как отношение близости к объекту/фону
61. Lazy Snapping
• Уточнение границ считается как задача поиска
оптимального разреза в узкой полосе, отмеченной
пользователем
62. GrabCut
C. Rother, V. Kolmogorov, and A. Blake. Grabcut - interactive
foreground extraction using iterated graph cuts. Proc. ACM Siggraph, 2004.
63. Постановка задачи
Magic Wand Intelligent Scissors GrabCut
(198?) Mortensen and Barrett (1995)
User
Input
Result
Regions Boundary Regions & Boundary
Slide by C. Rother
64. Итеративные разрезы графов
? Инициализация пользователя
Graph cuts для
K-средних для сегментации
обучения статистик
цветов
• Цвет фона и объекта моделируется смесью гауссиан (обычно 5-8
компонент)
• Каждый пиксель объекта/фона сопоставляется компоненте смеси
• Затем уточняются параметры смеси
Slide by C. Rother
66. Цветовая модель
R R
Foreground & Итеративное
Background Foreground
уточнение
Background G Background
G
Цвет фона и объекта моделируется смесью гауссиан (обычно 5-8
компонент)
Slide by C. Rother
68. Сложные примеры
Camouflage &
Fine structure No telepathy
Low Contrast
Initial
Rectangle
Initial
Result
Slide by C. Rother
69. Сравнение
Boykov and Jolly (2001) GrabCut
User
Input
Result
Error Rate: 1.87%
0.72%
1.25%
1.32%
1.81% Error Rate: 0.72%
Slide by C. Rother
70. Сравнение
Magic Wand Intelligent Scissors Graph Cuts LazySnapping GrabCut
(198?) Mortensen and Boykov and Li et al. (2004) Rother et al.
Barrett (1995) Jolly (2001) (2004)
Slide by C. Rother
74. GraphCut для сшивки
KWATRA, V., SCHODL, A., ESSA, I., TURK, G., AND BOBICK, A.. Graphcut
textures: image and video synthesis using graph cuts. SIGGRAPH, 2003
76. Создание текстур
• «Накидываем» исходные экземпляры на изображение и сшиваем
их с помощью разрезов графов.
• Перспективное изменение (масштабирование) по необходимости
78. Digital Photomontage
• Развитие подход сшивки фрагментов с
использованием разрезов графов
• Смотрим видео
Aseem Agarwala, Mira Dontcheva, Maneesh Agrawala, Steven Drucker,
Alex Colburn, Brian Curless, David Salesin, Michael Cohen. Interactive
Digital Photomontage. In Siggraph 2004