CV2011-2. Lecture 02. Photomontage and graphical models.

1,171 views
1,047 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,171
On SlideShare
0
From Embeds
0
Number of Embeds
362
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

CV2011-2. Lecture 02. Photomontage and graphical models.

  1. 1. Цифровой Фотомонтаж, ч.1 http://courses.graphicon.ru/main/vision2
  2. 2. Общая информация Этот курсподготовлен ичитается при поддержке
  3. 3. Задача фотомонтажа• Манипулирование отдельными объектами сцены с высоким визуальным качеством • Добавление нового объекта • Удаление объекта – Восстановление фона• Композиция одного изображения из нескольких
  4. 4. Формирование изображения• Мы представляем изображение как композицию объекта и фона,причём какие-то пиксели изображения есть результат смешенияобъекта и фона (следствие дискретизации) • I =  * F + (1 - ) * B = * + *• Карта прозрачности (opacity map)  из [0,1], где 0 - фон, 1 –непрозрачный объект • Она же альфа-канал
  5. 5. Выделение объекта• Задача маттирования (matting) объекта • Выделить интересующий пользователя объект на изображении• Формально: • Для каждого пикселя изображения определить значения прозрачности  из [0,1], где 0 - фон, 1 – непрозрачный объект • Для всех пикселей с >0 определить f – цвет пикселя объекта = *• При смешивании полученного фона с изображением объекта поальфа-каналу должно получиться исходное изображение
  6. 6. Подход к решению• С очевидностью, задача недоопределенная • Сцена состоит из множества объектов, какой из них нужен пользователю, неизвестно • Для каждого пикселя объекта необходимо оценить 3 параметра• Поэтому в общем виде автоматически она решается пока только съемкой в специальных условиях
  7. 7. Chroma keying & Lum keying• Chroma keying • Объект снимается на однородном фоне определенного цвета • Широко применяется в кино и на телевидении • Работает в real-time • Возможно извлечение теней, бликов, прозрачных элементов• Luma keying • Альфа-канал получается путем применения фильтров яркости и контрастности к изображению, преобразованному к градациям серого
  8. 8. Chroma keying – примеры (1) 2 Fast 2 Furious (2003)
  9. 9. Luma keying - пример Дневной дозор (2006)
  10. 10. Luma keying - пример Дневной дозор (2006)
  11. 11. Подход к решению• Для изображений, полученных в обычных условиях, задача раскладывается в несколько более простых задач • Интерактивная «жесткая» сегментация объекта – Пользовательский ввод –  из {0,1} • Мягкая сегментация объекта (собственно маттирование) – Результат жесткой сегментации используется как начальное приближение +
  12. 12. Композиция изображений• Выделенный объект можем встроить в другое изображение• Если провели мягкую сегментацию, то при встраивании смешиваем (blending) изображения объекта и фона:
  13. 13. План лекции• Интерактивная сегментация изображений • Введение в графические модели и их применение для фотомонтажа• Вычисление оптимальных линий сшивки при композиции изображений
  14. 14. Интерактивная сегментация• Методы • Magic wand • Intelligent scissors • Interactive graph cuts • Lazy Snapping • GrabCut – «Background removal tool» из MS Office 2010• Одна из основных проблем - отсутствие единой метрики качества • Субъективное сравнение результатов • Разный пользовательский ввод (объём?)
  15. 15. Волшебная палочка (Magic wand)• Пользователь указывает пиксель объекта и задаёт порог.• Алгоритм относит к объекту область, включающую заданный пиксель, и цвета всех пикселей которой отличаются от цвета заданного пикселя не больше, чем на данный порог. • Область можно сделать связной• Повторять шаги до достижения пользовательского удовлетворения
  16. 16. Умные ножницы (Intelligent scissors) • Изображение превращается во взвешенный неориентированный граф • Пиксели – вершины графа • Ребра – связи между соседними пикселями • На ребрах графа определяется весовая функция • Значение этой функции мало на ребрах, соответствующих потенциальной границе на изображении.Eric N. Mortensen, William A. Barrett, Intelligent scissors for image composition,Siggraph 1995
  17. 17. Умные ножницы (Intelligent scissors)• Пользователь указывает 2 точки на границе объекта.• Граница объекта находится с помощью алгоритма нахождения пути минимальной стоимости в графе• Алгоритм Дейкстры на основе динамического программирования
  18. 18. Умные ножницы (Intelligent scissors)• (+) Существуют очень быстрые реализации алгоритма• (-) Плохо работает в сильно текстурированных областях.
  19. 19. Алгоритм Interactive GraphCuts • Придуман Ю. Бойковом и Мари-Пьер Джолли в 2000 году • Стал де-факто эталонным алгоритмом интерактивной сегментации • Пользователь указывает жесткие ограничения на сегментацию – пиксели, принадлежащие объекту (О) и пиксели, принадлежащие фону (B) • семена объекта и фонаYuri Boykov and Marie-Pierre Jolly. Interactive Graph Cuts for OptimalBoundary & Region Segmentation of Objects in N-D images. In InternationalConference on Computer Vision, (ICCV), vol. I, pp. 105-112, 2001.
  20. 20. Вероятностное поле • Задача: для каждого пикселя определить, принадлежит ли он объекту или фону • Y – разметка или аннотация изображения I Y   y1,..., yN  y {0,1} i где N – число пикселей в изображении I Y  y1 ,..., y N  - Вероятностное поле (Random field) Методы работы с вероятностными полями пришли из статистической физики
  21. 21. Графические модели• Значения переменных зависят друг от друга и от данных• Необходимо учитывать эту зависимость, но оставить задачувычислимой на практике• Для учета зависимостей переменных удобно использоватьболее совершенные методы из области вероятностных полей,такие как графические модели• Графические модели – формализация задач случайных полей,в которых между переменными есть зависимости
  22. 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. 23. Марковское случайное поле• Марковское поле можно определить через: • Набор локальных условных вероятностей P ( y i | y Si } • Совместное распределение P(Y)• Совместное распределение определить обычно очень сложно,удобнее задать поле через локальных зависимости• Но по полю мы хотим производить статистический вывод(inference), чаще всего определять P(Y) или argmax P(Y)• Как это можно сделать только определив локальныезависимости?
  24. 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 ) cC С – множество всех клик графа G  c (Y ) - потенциальная функцияЧто такое клика графа?
  25. 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. 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 cC
  27. 27. Вывод в МRF• Задача нахождения наиболее вероятной конфигурации скрытых переменных в MRF эквивалентна задача минимизации энергии системы в поле Гиббса 1  c c (Y ) C   c ( Y ) arg max P (Y )  arg max e  arg max e cC Y Y Z Y  arg min  c (Y ) Y cC
  28. 28. Энергия на кликах• Часто удобно записать энергию U(Y) в виде сумм по кликамопределенного размера, вплоть до максимального размера кликив графе G U (Y )   cC1 c (Y )   cC2 c (Y )  ...   cCmax c (Y )• Полезно понимать: • Мы можем свести энергию к короткой записи как суммы потенциальных функций на максимальных кликах где  c (Y )   c (Y ) U (Y )   c (Y ) cCmax c c • Но при этом мы «теряем из виду» локальную структуру на маленьких кликах, которая нам важна. Плюс сложность задания энергии растёт экспоненциально с размером клики, что усложняет расчёты
  29. 29. Гиббсово случайное поле• Во многих практических случаях ограничиваются кликамиразмера 2. U (Y )   cC1 c (Y )   cC2 c (Y ) Унарные Парные потенциалы потенциалы• В этом случае, совместную вероятность можно записать как: 1 P(Y )   ri ( yi ) ri ,i ( yi , yi ) Z iV i i Si V 1 1   i ( yi )   i ,i  ( yi , yi  ) T T ri ( yi )  e , ri ,i ( y i , yi )  e
  30. 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. 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. 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. 33. MAP-MRF для изображения• X – наблюдаемые переменные (пр. пиксели изображения)• Y – скрытые переменные (пр. метки сегментации)• Построим следующее МСП: X • Считаем зависимыми друг от друга скрытые переменные (метки), • Каждая наблюдаемая переменная Y (данные) зависит только от соответствующей скрытой переменнойЗадача нахождения наиболее вероятной конфигурациискрытых переменных arg max p( X | Y ) p (Y ) Y
  34. 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. 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. 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. 37. Пример Цветовая Сглаженная сегментация разметка с помощью MRF
  38. 38. Условное случайное поле• Случайное поле Y называется Условным случайным полем по X над графом G, если для каждого y выполняется условие Марковости: P( yi | yV {i} , X )  P( yi | y Si , X } где Si – множество соседних вершин к vi в графе G
  39. 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. 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. 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. 42. Граф• Пусть G  (V , E ) - направленный граф. Каждому ребру ( u, v) присваивается некоторый неотрицательный вес – пропускная способность ребра c (u, v ) . В графе выделены 2 особые (терминальные) вершины – исход s и сток t . Такой граф называют сетью.
  43. 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. 44. Максимальный поток• Опр. Величиной потока называется величина M( f )   v:( p ,v )E f ( p, v )   f (v , p ) v:(v , p )E p  {s, t}• Задача о максимальном потоке
  45. 45. Разрез графа• Опр. s  t -разрез C  S , T - это разбиение вершин из V на 2 непересекающихся множества S и T , такие, что s  S , t  T• Опр. Величиной разреза называется сумма весов всех ребер с началом в S и концом в T : c (S , T )   c( u , v ) uS , vT ,(u , v )E
  46. 46. Теорема Форда – Фалкерсона• Величина максимального потока равна величине минимального разреза.
  47. 47. Граф и сегментация• Построение графа • O – семена объекта • B – семена фон • t-связь – ребро между обычной вершиной и терминальной • n-связь – ребро между двумя обычными вершинам
  48. 48. Веса ребер в графе Ребро Вес В случае { p , q} u{ p ,q } { p, q}  NK  1  max pP 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 pB   (  ln( g (i, p , obj )) p  P, p  O  B { p, T } 0 p O K pB
  49. 49. Минимальный разрез и энергия E ( f )    2 u{ p ,q }  (1   ( y p  yq ))    ( y p , )) pP qN pP• Минимальный разрез в таком графе позволяет найти минимум энергии нашего вида
  50. 50. Общий случай• Для случая бинарных меток, когда парные потенциалы удовлетворяют условию регулярности (модель Поттса удовлетворяет) то разрез графов (GraphCut) позволяет найти глобальный минимум энергии• Бойков и Колмогоров, EMMCVPR 2001 • Эмпирическое сравнение различных версий алгоритмов, основанных на дополняющих путях и проталкивании предпотока на графах-решетках, типичных для задач компьютерного зрения • Сделали собственную версию алгоритма, основанного на дополняющих путях • Эмпирическая сложность близка к линейной относительно размера изображения.
  51. 51. Итерационные алгоритмы Общий вид энергии: E ( f )   Dp ( f p )  V { p ,q } ( f p , fq ) pP { p , q}N f p  {1,...K } K 2 arg min E ( f )  ? f
  52. 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. 53. Итерационные алгоритмы (3)• Опр. 1 Пусть  ,  - метки. Изменение разбиения P (маркировки f ) на новое разбиение P (маркировку f ) называется    заменой, если Pl  Pl  для любой метки l   ,  .• Опр. 2 Пусть имеется метка  . Изменения разбиения P (маркировки f ) на новое разбиение P (маркировку f  ) называется  -расширением, если P  P и Pl  Pl   для любой метки l   .
  54. 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. 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. 56. Итерационные алгоритмы (9)• Алгоритм, основанный на  замене. • выдает маркировку f , для которой E ( f * )  E ( f )  2k  E ( f * ) где f * - глобальный минимум, max{V ( ,  ) :    } k min{V ( ,  ) :    } • Метод на основе разрезов графов • Линейный по К • Есть логарифмическая от К версия (LogCut)
  57. 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. 58. Методы вывода• Разметка с оценкой достоверности • Belief Propagation, TRW • Приближенное решение при наличии циклов – Сложность экспоненциально зависит от размера клики – Поэтому в основном рассматриваются модели с кликой не выше 2 (попарные)
  59. 59. Lazy Snapping • То же, что и Interactive GraphCuts, но на карте суперпикселей • Граница приближается ломаной, которую можно редактировать • Уточнение границы в обозначенной пользователем полосеYin Li, Jian Sun, Chi-Keung Tang, and Heung-Yeung Shum. Lazy SnappingSiggraph 2004
  60. 60. Lazy Snapping• Карта суперпикселей строится алгоритмом watershed• В 10 раз быстрее чем на пикселях при сравнимом визуальном качестве• Учитывается цвет фона и объектов.• Выборка из размеченных пользователем областей кластеризуется k-cредними на 64 кластера, вероятности считаются как отношение близости к объекту/фону
  61. 61. Lazy Snapping• Уточнение границ считается как задача поиска оптимального разреза в узкой полосе, отмеченной пользователем
  62. 62. GrabCutC. Rother, V. Kolmogorov, and A. Blake. Grabcut - interactiveforeground extraction using iterated graph cuts. Proc. ACM Siggraph, 2004.
  63. 63. Постановка задачи Magic Wand Intelligent Scissors GrabCut (198?) Mortensen and Barrett (1995)UserInputResult Regions Boundary Regions & Boundary Slide by C. Rother
  64. 64. Итеративные разрезы графов ? Инициализация пользователя Graph cuts для K-средних для сегментацииобучения статистик цветов• Цвет фона и объекта моделируется смесью гауссиан (обычно 5-8компонент)• Каждый пиксель объекта/фона сопоставляется компоненте смеси• Затем уточняются параметры смеси Slide by C. Rother
  65. 65. Итеративные разрезы графов 1 2 3 4 Результат Энергия после итераций Slide by C. Rother
  66. 66. Цветовая модель R R Foreground & Итеративное Background Foreground уточнение Background G Background GЦвет фона и объекта моделируется смесью гауссиан (обычно 5-8 компонент) Slide by C. Rother
  67. 67. Несколько примеровВычисляются автоматически по прямоугольной рамке Slide by C. Rother
  68. 68. Сложные примеры Camouflage & Fine structure No telepathy Low ContrastInitialRectangleInitialResult Slide by C. Rother
  69. 69. Сравнение Boykov and Jolly (2001) GrabCutUserInputResult Error Rate: 1.87% 0.72% 1.25% 1.32% 1.81% Error Rate: 0.72% Slide by C. Rother
  70. 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
  71. 71. Композиция изображений Результат прямого смешения нескольких изображений друг с другом
  72. 72. Поиск оптимальных границ
  73. 73. Поиск оптимальных границ
  74. 74. GraphCut для сшивкиKWATRA, V., SCHODL, A., ESSA, I., TURK, G., AND BOBICK, A.. Graphcuttextures: image and video synthesis using graph cuts. SIGGRAPH, 2003
  75. 75. GraphCut для сшивки
  76. 76. Создание текстур• «Накидываем» исходные экземпляры на изображение и сшиваем их с помощью разрезов графов.• Перспективное изменение (масштабирование) по необходимости
  77. 77. Синтез текстур в жизни
  78. 78. Digital Photomontage • Развитие подход сшивки фрагментов с использованием разрезов графов • Смотрим видеоAseem Agarwala, Mira Dontcheva, Maneesh Agrawala, Steven Drucker,Alex Colburn, Brian Curless, David Salesin, Michael Cohen. InteractiveDigital Photomontage. In Siggraph 2004

×