SlideShare ist ein Scribd-Unternehmen logo
1 von 78
Цифровой Фотомонтаж, ч.1




  http://courses.graphicon.ru/main/vision2
Общая информация




  Этот курс
подготовлен и
читается при
  поддержке
Задача фотомонтажа
• Манипулирование отдельными объектами сцены с
  высоким визуальным качеством
  • Добавление нового объекта
  • Удаление объекта
     – Восстановление фона
• Композиция одного изображения из нескольких
Формирование изображения
• Мы представляем изображение как композицию объекта и фона,
причём какие-то пиксели изображения есть результат смешения
объекта и фона (следствие дискретизации)

 • I =  * F + (1 - ) * B



        =               *               +               *




• Карта прозрачности (opacity map)  из [0,1], где 0 - фон, 1 –
непрозрачный объект
    • Она же альфа-канал
Выделение объекта
• Задача маттирования (matting) объекта
   • Выделить интересующий пользователя объект на изображении
• Формально:
   • Для каждого пикселя изображения определить значения
     прозрачности  из [0,1], где 0 - фон, 1 – непрозрачный объект
   • Для всех пикселей с >0 определить f – цвет пикселя объекта




                        =               *




• При смешивании полученного фона с изображением объекта по
альфа-каналу должно получиться исходное изображение
Подход к решению
• С очевидностью, задача недоопределенная
  • Сцена состоит из множества объектов, какой из них
    нужен пользователю, неизвестно
  • Для каждого пикселя объекта необходимо оценить 3
    параметра


• Поэтому в общем виде автоматически она
  решается пока только съемкой в специальных
  условиях
Chroma keying & Lum keying

• Chroma keying
  • Объект снимается на однородном фоне определенного
    цвета
  • Широко применяется в кино и на телевидении
  • Работает в real-time
  • Возможно извлечение теней, бликов, прозрачных элементов


• Luma keying
  • Альфа-канал получается путем применения фильтров
    яркости и контрастности к изображению, преобразованному к
    градациям серого
Chroma keying – примеры (1)



                              2 Fast 2 Furious
                              (2003)
Luma keying - пример


                       Дневной дозор (2006)
Luma keying - пример


                       Дневной дозор (2006)
Подход к решению
• Для изображений, полученных в обычных
  условиях, задача раскладывается в несколько
  более простых задач
  • Интерактивная «жесткая» сегментация объекта
     – Пользовательский ввод
     –  из {0,1}
  • Мягкая сегментация объекта (собственно маттирование)
     – Результат жесткой сегментации используется как
       начальное приближение




                                                +
Композиция изображений




• Выделенный объект можем встроить в другое
  изображение
• Если провели мягкую сегментацию, то при
  встраивании смешиваем (blending) изображения
  объекта и фона:
План лекции
• Интерактивная сегментация изображений
  • Введение в графические модели и их применение для
    фотомонтажа
• Вычисление оптимальных линий сшивки при
  композиции изображений
Интерактивная сегментация

• Методы
  •   Magic wand
  •   Intelligent scissors
  •   Interactive graph cuts
  •   Lazy Snapping
  •   GrabCut
        – «Background removal tool» из MS Office 2010


• Одна из основных проблем - отсутствие единой
  метрики качества
  • Субъективное сравнение результатов
  • Разный пользовательский ввод (объём?)
Волшебная палочка (Magic wand)

• Пользователь указывает пиксель объекта и
  задаёт порог.

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


• Повторять шаги до достижения
  пользовательского удовлетворения
Умные ножницы (Intelligent scissors)

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




Eric N. Mortensen, William A. Barrett, Intelligent scissors for image composition,
Siggraph 1995
Умные ножницы (Intelligent scissors)

•    Пользователь указывает 2 точки на границе объекта.
•    Граница объекта находится с помощью алгоритма нахождения
     пути минимальной стоимости в графе
•    Алгоритм Дейкстры на основе динамического программирования
Умные ножницы (Intelligent scissors)

•   (+) Существуют очень быстрые реализации алгоритма

•   (-) Плохо работает в сильно текстурированных областях.
Алгоритм 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.
Вероятностное поле

                 •   Задача: для каждого пикселя
                     определить, принадлежит ли он объекту
                     или фону
                 •   Y – разметка или аннотация изображения
                     I
                          Y   y1,..., yN 
                                          y {0,1}
                                                i


                     где N – число пикселей в изображении I
                      Y  y1 ,..., y N    - Вероятностное поле
                                              (Random field)




  Методы работы с вероятностными полями пришли из
               статистической физики
Графические модели




• Значения переменных зависят друг от друга и от данных
• Необходимо учитывать эту зависимость, но оставить задачу
вычислимой на практике
• Для учета зависимостей переменных удобно использовать
более совершенные методы из области вероятностных полей,
такие как графические модели
• Графические модели – формализация задач случайных полей,
в которых между переменными есть зависимости
Марковское случайное поле (MCП)
• Пусть G=(V,E) – неориентированный граф
• Пусть Y  {Yv }, v  V - набор случайных величин,
индексированных вершинами графа G
• Y образует Марковское случайное поле, если выполняется
свойство Марковости:

         P( yi | yV {i } )  P( yi | ySi }
                                                      y1   y2
где Si – множество соседних вершин к vi в графе G
                                                      y3   y4
Марковское случайное поле
• Марковское поле можно определить через:
   • Набор локальных условных вероятностей P ( y i | y Si }
   • Совместное распределение P(Y)


• Совместное распределение определить обычно очень сложно,
удобнее задать поле через локальных зависимости
• Но по полю мы хотим производить статистический вывод
(inference), чаще всего определять P(Y) или argmax P(Y)
• Как это можно сделать только определив локальные
зависимости?
Поле Гиббса
Случайное поле 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 ) - потенциальная функция
Что такое клика графа?
Пример: 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
Теорема Хаммерсли – Клиффорда
• Теорема: Случайное поле 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
Вывод в М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
Энергия на кликах
• Часто удобно записать энергию 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

   • Но при этом мы «теряем из виду» локальную структуру на
   маленьких кликах, которая нам важна. Плюс сложность
   задания энергии растёт экспоненциально с размером клики,
   что усложняет расчёты
Гиббсово случайное поле
• Во многих практических случаях ограничиваются кликами
размера 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
Потенциальные функции
Зададим потенциальные функции в таком виде:
         ( 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 )


Замечание: это один из вариантов записи потенциалов, это не
обязательно вероятности
Метрические МСП
• Требование:
  • Используются только унарные и парные потенциалы
  • Парные потенциалы должны быть метрикой, т.е.
    ( 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
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
MAP-MRF для изображения
•   X – наблюдаемые переменные (пр. пиксели изображения)
•   Y – скрытые переменные (пр. метки сегментации)
•   Построим следующее МСП:

                    X        • Считаем зависимыми друг от
                             друга скрытые переменные (метки),
                             • Каждая наблюдаемая переменная
                   Y         (данные) зависит только от
                             соответствующей скрытой
                             переменной



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

                  arg max p( X | Y ) p (Y )
                        Y
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


                                              Унарные             Парные
                                              потенциалы          потенциалы
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

       • Парные по модели Поттса – штрафы
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)

       • Недостаток: парные потенциалы не
         зависят от изображения
Пример




         Цветовая       Сглаженная
         сегментация     разметка с
                       помощью MRF
Условное случайное поле




• Случайное поле Y называется Условным
  случайным полем по X над графом G, если для
  каждого y выполняется условие Марковости:
         P( yi | yV {i} , X )  P( yi | y Si , X }
  где Si – множество соседних вершин к vi в графе G
Условное случайное поле (С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

•   Все потенциалы глобально обусловлены данными!
•   Нет правдоподобия, напрямую апостериорные вероятности
Марковская сеть в сегментации
     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)
Алгоритм 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)                пикселями

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


•   Пусть G  (V , E ) - направленный граф. Каждому ребру
     ( u, v) присваивается некоторый неотрицательный вес –
    пропускная способность ребра c (u, v ) . В графе выделены 2
    особые (терминальные) вершины – исход s и сток t . Такой
    граф называют сетью.
Поток в графе


•   Опр. Потоком в графе 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
Максимальный поток


•   Опр. Величиной потока называется величина
     M( f )       
                v:( p ,v )E
                               f ( p, v )        f (v , p )
                                              v:(v , p )E
                                                                p  {s, t}

•   Задача о максимальном потоке
Разрез графа


•   Опр. 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
Теорема Форда – Фалкерсона


• Величина максимального потока равна
  величине минимального разреза.
Граф и сегментация

• Построение графа

  • O – семена объекта

  • B – семена фон

  • t-связь – ребро между
    обычной вершиной и
    терминальной

  • n-связь – ребро между
    двумя обычными
    вершинам
Веса ребер в графе

                                     Ребро                  Вес                       В случае

                                     { p , q}              u{ p ,q }               { p, q}  N
K  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
Минимальный разрез и энергия




   E ( f )    2 u{ p ,q }  (1   ( y p  yq ))    ( y p , ))
             pP qN                                   pP


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

• Бойков и Колмогоров, EMMCVPR 2001
  • Эмпирическое сравнение различных версий алгоритмов,
    основанных на дополняющих путях и проталкивании
    предпотока на графах-решетках, типичных для задач
    компьютерного зрения
  • Сделали собственную версию алгоритма, основанного
    на дополняющих путях
  • Эмпирическая     сложность   близка   к   линейной
    относительно размера изображения.
Итерационные алгоритмы

   Общий вид энергии:

      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
Итерационные алгоритмы (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
Итерационные алгоритмы (3)


• Опр. 1 Пусть  ,  - метки. Изменение разбиения P
  (маркировки f ) на новое разбиение P (маркировку f )
  называется    заменой, если Pl  Pl  для любой
  метки l   ,  .



• Опр. 2 Пусть имеется метка  . Изменения разбиения P
  (маркировки f ) на новое разбиение P (маркировку f  )
  называется  -расширением, если P  P и Pl  Pl
                                          
  для любой метки l   .
Итерационные алгоритмы (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 должна быть полу-метрикой.
Итерационные алгоритмы (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 должна быть метрикой!!!
Итерационные алгоритмы (9)


•     Алгоритм, основанный на  замене.
     • выдает маркировку f , для которой
           E ( f * )  E ( f )  2k  E ( f * )

       где f * - глобальный минимум,

          max{V ( ,  ) :    }
       k
          min{V ( ,  ) :    }

       •    Метод на основе разрезов графов
       •    Линейный по К
       •    Есть логарифмическая от К версия (LogCut)
Итерационные алгоритмы (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 )
      - метрика ->  расширение
Методы вывода
•   Разметка с оценкой достоверности
     • Belief Propagation, TRW
     • Приближенное решение при наличии циклов
        – Сложность экспоненциально зависит от размера клики
        – Поэтому в основном рассматриваются модели с кликой не выше
          2 (попарные)
Lazy Snapping




 • То же, что и Interactive GraphCuts, но на карте
   суперпикселей
 • Граница приближается ломаной, которую можно
   редактировать
 • Уточнение границы в обозначенной пользователем
   полосе
Yin Li, Jian Sun, Chi-Keung Tang, and Heung-Yeung Shum. Lazy Snapping
Siggraph 2004
Lazy Snapping
•   Карта суперпикселей строится алгоритмом watershed




•   В 10 раз быстрее чем на пикселях при сравнимом визуальном
    качестве
•   Учитывается цвет фона и объектов.
•   Выборка из размеченных пользователем областей
    кластеризуется k-cредними на 64 кластера, вероятности
    считаются как отношение близости к объекту/фону
Lazy Snapping




• Уточнение границ считается как задача поиска
  оптимального разреза в узкой полосе, отмеченной
  пользователем
GrabCut




C. Rother, V. Kolmogorov, and A. Blake. Grabcut - interactive
foreground extraction using iterated graph cuts. Proc. ACM Siggraph, 2004.
Постановка задачи


         Magic Wand     Intelligent Scissors         GrabCut
           (198?)     Mortensen and Barrett (1995)


User
Input



Result


         Regions            Boundary           Regions & Boundary


                                                      Slide by C. Rother
Итеративные разрезы графов



         ?                 Инициализация пользователя




                                                    Graph cuts для
  K-средних для                                      сегментации
обучения статистик
      цветов
• Цвет фона и объекта моделируется смесью гауссиан (обычно 5-8
компонент)
• Каждый пиксель объекта/фона сопоставляется компоненте смеси
• Затем уточняются параметры смеси
                                                           Slide by C. Rother
Итеративные разрезы графов




                          1   2       3       4
      Результат      Энергия после итераций


                                  Slide by C. Rother
Цветовая модель




   R                                          R
       Foreground &             Итеративное
       Background                                 Foreground
                                уточнение


               Background   G                            Background
                                                                      G

Цвет фона и объекта моделируется смесью гауссиан (обычно 5-8
  компонент)


                                                                  Slide by C. Rother
Несколько примеров




Вычисляются автоматически по прямоугольной рамке

                                                   Slide by C. Rother
Сложные примеры

            Camouflage &
                           Fine structure   No telepathy
            Low Contrast

Initial
Rectangle




Initial
Result




                                                Slide by C. Rother
Сравнение

         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
Сравнение




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
Композиция изображений




   Результат прямого смешения нескольких
         изображений друг с другом
Поиск оптимальных границ
Поиск оптимальных границ
GraphCut для сшивки




KWATRA, V., SCHODL, A., ESSA, I., TURK, G., AND BOBICK, A.. Graphcut
textures: image and video synthesis using graph cuts. SIGGRAPH, 2003
GraphCut для сшивки
Создание текстур




•   «Накидываем» исходные экземпляры на изображение и сшиваем
    их с помощью разрезов графов.
•   Перспективное изменение (масштабирование) по необходимости
Синтез текстур в жизни
Digital Photomontage




 • Развитие подход сшивки фрагментов с
   использованием разрезов графов

 • Смотрим видео


Aseem Agarwala, Mira Dontcheva, Maneesh Agrawala, Steven Drucker,
Alex Colburn, Brian Curless, David Salesin, Michael Cohen. Interactive
Digital Photomontage. In Siggraph 2004

Weitere ähnliche Inhalte

Was ist angesagt?

CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionAnton Konushin
 
CV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representationCV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representationAnton Konushin
 
CV2011-2. Lecture 10. Pose estimation.
CV2011-2. Lecture 10.  Pose estimation.CV2011-2. Lecture 10.  Pose estimation.
CV2011-2. Lecture 10. Pose estimation.Anton Konushin
 
CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.Anton Konushin
 
CV2011 Lecture 10. Image retrieval
CV2011 Lecture 10.  Image retrievalCV2011 Lecture 10.  Image retrieval
CV2011 Lecture 10. Image retrievalAnton Konushin
 
CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.Anton Konushin
 
CV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time visionCV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time visionAnton Konushin
 
CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.Anton Konushin
 
Лекция 07 Обработка видео
Лекция 07 Обработка видеоЛекция 07 Обработка видео
Лекция 07 Обработка видеоVictor Kulikov
 
20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02Computer Science Club
 
20120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture0320120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture03Computer Science Club
 
CV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysisCV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysisAnton Konushin
 
20120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture0220120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture02Computer Science Club
 
20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matching20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matchingComputer Science Club
 
CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.Anton Konushin
 
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05Computer Science Club
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04Computer Science Club
 
CV2011-2. Lecture 04. Semantic image segmentation
CV2011-2. Lecture 04.  Semantic image segmentationCV2011-2. Lecture 04.  Semantic image segmentation
CV2011-2. Lecture 04. Semantic image segmentationAnton Konushin
 

Was ist angesagt? (20)

CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
 
CV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representationCV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representation
 
CV2011-2. Lecture 10. Pose estimation.
CV2011-2. Lecture 10.  Pose estimation.CV2011-2. Lecture 10.  Pose estimation.
CV2011-2. Lecture 10. Pose estimation.
 
CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.
 
CV2011 Lecture 10. Image retrieval
CV2011 Lecture 10.  Image retrievalCV2011 Lecture 10.  Image retrieval
CV2011 Lecture 10. Image retrieval
 
L05 features
L05 featuresL05 features
L05 features
 
CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.
 
CV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time visionCV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time vision
 
CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.
 
Лекция 07 Обработка видео
Лекция 07 Обработка видеоЛекция 07 Обработка видео
Лекция 07 Обработка видео
 
20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02
 
20120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture0320120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture03
 
CV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysisCV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysis
 
20120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture0220120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture02
 
20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matching20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matching
 
Definite integral
Definite integralDefinite integral
Definite integral
 
CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.
 
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04
 
CV2011-2. Lecture 04. Semantic image segmentation
CV2011-2. Lecture 04.  Semantic image segmentationCV2011-2. Lecture 04.  Semantic image segmentation
CV2011-2. Lecture 04. Semantic image segmentation
 

Andere mochten auch

Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009Anton Konushin
 
CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.Anton Konushin
 
CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.Anton Konushin
 
Andrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1aAndrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1aAnton Konushin
 
Writing a computer vision paper
Writing a computer vision paperWriting a computer vision paper
Writing a computer vision paperAnton Konushin
 
Computer vision infrastracture
Computer vision infrastractureComputer vision infrastracture
Computer vision infrastractureAnton Konushin
 
Classifier evaluation and comparison
Classifier evaluation and comparisonClassifier evaluation and comparison
Classifier evaluation and comparisonAnton Konushin
 
Статистическое сравнение классификаторов
Статистическое сравнение классификаторовСтатистическое сравнение классификаторов
Статистическое сравнение классификаторовAnton Konushin
 

Andere mochten auch (8)

Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009
 
CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.
 
CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.
 
Andrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1aAndrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1a
 
Writing a computer vision paper
Writing a computer vision paperWriting a computer vision paper
Writing a computer vision paper
 
Computer vision infrastracture
Computer vision infrastractureComputer vision infrastracture
Computer vision infrastracture
 
Classifier evaluation and comparison
Classifier evaluation and comparisonClassifier evaluation and comparison
Classifier evaluation and comparison
 
Статистическое сравнение классификаторов
Статистическое сравнение классификаторовСтатистическое сравнение классификаторов
Статистическое сравнение классификаторов
 

Ähnlich wie CV2011-2. Lecture 02. Photomontage and graphical models.

CV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoCV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoAnton Konushin
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.Anton Konushin
 
CV2011 Lecture 7. Recognition
CV2011 Lecture 7. RecognitionCV2011 Lecture 7. Recognition
CV2011 Lecture 7. RecognitionAnton Konushin
 
20100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture0320100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture03Computer Science Club
 
CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.Anton Konushin
 
20091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture0920091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture09Computer Science Club
 
Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Andrii Gakhov
 
Методы удаления артефактов в видео
Методы удаления артефактов в видеоМетоды удаления артефактов в видео
Методы удаления артефактов в видеоMSU GML VideoGroup
 
Сегментация изображений в компьютерной графике.ppt
Сегментация  изображений в компьютерной графике.pptСегментация  изображений в компьютерной графике.ppt
Сегментация изображений в компьютерной графике.pptssuser413a98
 
20120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture0620120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture06Computer Science Club
 
Derivative lesson
Derivative lessonDerivative lesson
Derivative lessonmarinarum
 

Ähnlich wie CV2011-2. Lecture 02. Photomontage and graphical models. (12)

CV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoCV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic video
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
 
CV2011 Lecture 7. Recognition
CV2011 Lecture 7. RecognitionCV2011 Lecture 7. Recognition
CV2011 Lecture 7. Recognition
 
20100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture0320100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture03
 
CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.
 
20091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture0920091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture09
 
Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014
 
Методы удаления артефактов в видео
Методы удаления артефактов в видеоМетоды удаления артефактов в видео
Методы удаления артефактов в видео
 
Сегментация изображений в компьютерной графике.ppt
Сегментация  изображений в компьютерной графике.pptСегментация  изображений в компьютерной графике.ppt
Сегментация изображений в компьютерной графике.ppt
 
20120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture0620120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture06
 
Derivative lesson
Derivative lessonDerivative lesson
Derivative lesson
 
презентация к уроку2
презентация к уроку2презентация к уроку2
презентация к уроку2
 

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

  • 1. Цифровой Фотомонтаж, ч.1 http://courses.graphicon.ru/main/vision2
  • 2. Общая информация Этот курс подготовлен и читается при поддержке
  • 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 • Альфа-канал получается путем применения фильтров яркости и контрастности к изображению, преобразованному к градациям серого
  • 8. Chroma keying – примеры (1) 2 Fast 2 Furious (2003)
  • 9. Luma keying - пример Дневной дозор (2006)
  • 10. Luma keying - пример Дневной дозор (2006)
  • 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 ) cC С – множество всех клик графа 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 cC
  • 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. Энергия на кликах • Часто удобно записать энергию 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. Гиббсово случайное поле • Во многих практических случаях ограничиваются кликами размера 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. Потенциальные функции Зададим потенциальные функции в таком виде:  ( 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 ) uS , vT ,(u , v )E
  • 46. Теорема Форда – Фалкерсона • Величина максимального потока равна величине минимального разреза.
  • 47. Граф и сегментация • Построение графа • O – семена объекта • B – семена фон • t-связь – ребро между обычной вершиной и терминальной • n-связь – ребро между двумя обычными вершинам
  • 48. Веса ребер в графе Ребро Вес В случае { p , q} u{ p ,q } { p, q}  N K  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. Минимальный разрез и энергия E ( f )    2 u{ p ,q }  (1   ( y p  yq ))    ( y p , )) pP qN pP • Минимальный разрез в таком графе позволяет найти минимум энергии нашего вида
  • 50. Общий случай • Для случая бинарных меток, когда парные потенциалы удовлетворяют условию регулярности (модель Поттса удовлетворяет) то разрез графов (GraphCut) позволяет найти глобальный минимум энергии • Бойков и Колмогоров, EMMCVPR 2001 • Эмпирическое сравнение различных версий алгоритмов, основанных на дополняющих путях и проталкивании предпотока на графах-решетках, типичных для задач компьютерного зрения • Сделали собственную версию алгоритма, основанного на дополняющих путях • Эмпирическая сложность близка к линейной относительно размера изображения.
  • 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. Итерационные алгоритмы (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
  • 65. Итеративные разрезы графов 1 2 3 4 Результат Энергия после итераций Slide by C. Rother
  • 66. Цветовая модель R R Foreground & Итеративное Background Foreground уточнение Background G Background G Цвет фона и объекта моделируется смесью гауссиан (обычно 5-8 компонент) Slide by C. Rother
  • 67. Несколько примеров Вычисляются автоматически по прямоугольной рамке 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
  • 71. Композиция изображений Результат прямого смешения нескольких изображений друг с другом
  • 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