SlideShare a Scribd company logo
Бинокулярное плотное стерео




                 Антон Конушин
       http://courses.graphicon.ru/vision2
Этот курс подготовлен
при поддержке Microsoft
       Research
Благодарность


Презентация была подготовлена Глебом Кривовязем
для спецсеминара «Компьютерное зрение»

При подготовке были использованы материалы из курса
«Stereo Vision» от Michael Bleyer (Vienna University of
Technology):
http://www.ims.tuwien.ac.at/teaching_detail.php?ims_id=18
8.HQK
План

• Введение
• Формулировка задачи
• Трудности и предположения
• Локальные методы
• Глобальные методы
• Использование сегментации
• Резюме
Стереопсис
«Стереопсис (англ. stereopsis) - сенсорный процесс, возникающий
при бинокулярном зрении как психофизическая реакция на
сетчаточную горизонтальную диспаратность. В результате С.
субъект переживает специфическое ощущение глубины. <…> ».
(Психологическая энциклопедия)




       Левое изображение           Правое изображение
Имитация 3D
Так мы обычно смотрим на экран (2D):




                                       Рисунок: M. Bleyer
Имитация 3D
А так можно увидеть 3D-картинку:




                                   Рисунок: M. Bleyer
Имитация 3D. Пример
       3D-картинка появится посередине!




  Для правого глаза           Для левого глаза
Зрение человека




                  Слайд: M. Bleyer
«Зрение» компьютера




                      Слайд: M. Bleyer
План
• Введение
• Формулировка задачи
• Трудности и предположения
• Локальные методы
• Глобальные методы
• Использование сегментации
• Резюме
Смежные задачи

Внутренняя    Внешняя
                          3D-точки 2D-соответствия     Задача
калибровка   калибровка


                                                     Структура из
                                                      движения

                                                      Калибровка

                                                     PnP (внешняя
                                                      калибровка)

                                                     Триангуляция


                                                       Стерео
Смежные задачи

Внутренняя    Внешняя
                          3D-точки 2D-соответствия     Задача
калибровка   калибровка


                                                     Структура из
                                                      движения

                                                      Калибровка

                                                     PnP (внешняя
                                                      калибровка)

                                                     Триангуляция


                                                       Стерео
Смежные задачи

Внутренняя    Внешняя
                          3D-точки 2D-соответствия     Задача
калибровка   калибровка


                                                     Структура из
     Задача плотного стерео:                          движения

восстановить в 3D все видимые на
                           Калибровка

       изображениях точки PnP (внешняя
                           калибровка)

                                                     Триангуляция


                                                       Стерео
Виды стерео

• Binocular stereo (два изображения)


• Multi-view stereo (много изображений)


• Photometric stereo
Виды стерео
• Binocular stereo (два изображения)


• Multi-view stereo (много изображений)


• Photometric stereo
Общая схема

      Ректификация изображений




   Вычисление соответствующих точек




   Восстановление 3D путем триангуляции
Общая схема

      Ректификация изображений




   Вычисление соответствующих точек




   Восстановление 3D путем триангуляции
Ректификация




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




Недостатки:
   • Не применим, когда камера движется вперёд или назад
   • Сильные искажения в некоторых случаях
Радиальная развёртка

• Polar rectification
• Индексируем эпиполярные линии углом поворота
  относительно эпиполи
• Копируем соответствующие пары эпиполярных
  линии последовательно в соответствующие
  горизонтали ректифицированных изображений

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


         Проецирование




         Полярная
           ректификация
Пример
Общая схема

      Ректификация изображений




   Вычисление соответствующих точек




   Восстановление 3D путем триангуляции
Триангуляция




xl , xr - смещения относительно принципиальной точки

                                                       Слайд: M. Bleyer
Триангуляция



   Подобные
 треугольники:
     X       xl
         
     Z       f




                  Слайд: M. Bleyer
Триангуляция



   Подобные
 треугольники:
   X B       xr
          
     Z        f




                   Слайд: M. Bleyer
Триангуляция
Из подобия треугольников:
   X xl         X  B xr
                    
   Z f            Z    f

Исключаем X и выражаем Z:
       B f     B f
   Z                     , где   d  xl  xr   - диспаритет
      xl  xr    d

Итоговые координаты 3D-точки:

  X  Zxl         Zyl         B f
                Y          Z
         f           f           d
  xl , xr - смещения относительно принципиальной                точки
Общая схема

          Ректификация изображений




        Вычисление карты диспаритета




      Восстановление 3D путем триангуляции



Вычисление соответствующих точек сводится к задаче
             вычисления диспаритета
Общая схема

       Ректификация изображений

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

    Восстановление 3D путем триангуляции
Вычисление карты диспаритета




       Какой диспаритет
   соответствует этой точке?
Вычисление карты диспаритета
Параллакс




•   Параллакс - видимое смещение объекта в зависимости от точки
    обзора
•   Фактически, диспаритет
•   Чем объект ближе – тем диспаритет больше
Сравнение алгоритмов
Ресурс Middlebury: http://vision.middlebury.edu/stereo/
   • Стандартные тестовые наборы
   • Рейтинг алгоритмов
План
• Введение
• Формулировка задачи
• Трудности и предположения
• Локальные методы
• Глобальные методы
• Использование сегментации
• Резюме
Основные трудности

Цветовые несоответствия

• Шум
• Различная освещенность
• Зеркальные отражения
• …
Основные трудности
«Плохо» текстурированные области




1 – Однородная область
2 – Текстура неизменна в горизонтальном направлении
3 – Повторяющаяся текстура
Основные трудности
«Плохо» текстурированные области




                 Отсутствие текстуры
                  порождает ошибки


                                       Пример: M. Bleyer
Основные трудности
 Перекрытия


Некоторые пиксели одного
изображения могут быть не
видны (перекрыты) на другом.

«Невидимые» области
называют областями
перекрытия




                               Рисунок: M. Bleyer
Основные трудности
Перекрытия




 Пример областей перекрытия (выделены красным)




                                          Рисунок: M. Bleyer
Основные предположения
Эпиполярное ограничение:
«Соответствующие точки лежат на одной строке»




Самое надежное и обоснованное из всех предположений!
Основные предположения
Соответствие цветов:
«Цвета соответствующих точек совпадают»




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

•    Решение может не существовать (перекрытия)
•    Решение может быть не уникально (однородные
     области)
•    Небольшие изменения входных данных существенно
     влияют на результат (шум)

Нужны дополнительные предположения!
Основные предположения

Гладкость:
«Искомая карта диспаритета является кусочно-гладкой»




      Гладкие области       Разрывы на краях объектов



                                                Рисунок: M. Bleyer
Основные предположения

Гладкость:
«Искомая карта диспаритета является кусочно-гладкой»


 • Нарушается при наличии в сцене большого числа
   тонких объектов (ветки деревьев, волосы и т.п.)
Основные предположения
Уникальность:
«Каждая точка одного изображения имеет не более
одного соответствия на другом»

 • Нарушается при наличии в сцене прозрачных объектов
   и горизонтально наклоненных плоскостей
Основные предположения
Уникальность:
«Каждая точка одного изображения имеет не более
одного соответствия на другом»




     Прозрачный объект      Горизонтально наклоненная
                                    плоскость


                                               Рисунки: M. Bleyer
Основные предположения
Сохранение порядка точек:
«Порядок относительного расположения точек
сохраняется и для их соответствий»

 • Нарушается при наличии в сцене тонких объектов
   переднего плана
 • Данное предположение можно считать «устаревшим»
Основные предположения
Сохранение порядка точек:
«Порядок относительного расположения точек
сохраняется и для их соответствий»




             Пример нарушения предположения


                                              Рисунок: M. Bleyer
Основные предположения
Предположение о сегментации:
«Области разрыва диспаритета совпадают с краями на
изображении»




Границы цветовых сегментов   Границы диспаритета



                                              Рисунки: M. Bleyer
Основные предположения
Предположение о сегментации:
«Области разрыва диспаритета совпадают с краями на
изображении»

 • Лежит в основе алгоритмов, использующих
   пересегментацию, - лидеров рейтинга Middlebury
 • Может нарушаться (ничто не гарантирует, что граница
   объекта не попадет внутрь цветового сегмента)
План
• Введение
• Формулировка задачи
• Трудности и предположения
• Локальные методы
• Глобальные методы
• Использование сегментации
• Резюме
Локальные методы
• Локальные, т.к. диспаритет в каждой точке зависит
  только от ее локальной окрестности


• Используют стратегию WTA (Winner-Take-All), т.е. в
  каждой точке «побеждает» соответствие с наименьшей
  «стоимостью»
Наивный алгоритм
• Стоимость соответствия – разность интенсивностей
  пикселей
• Результат – слишком много шума




            Пример работы наивного алгоритма



                                               Пример: M. Bleyer
Наивный алгоритм
• Стоимость соответствия – разность интенсивностей
  пикселей
• Результат – слишком много шума
         Проблема: Слишком велика
         неоднозначность сопоставления

        Решение: Учитывать окрестность



            Пример работы наивного алгоритма
                                               Пример: M. Bleyer
Учет окрестности
• Стоимость соответствия – SAD, SSD, NCC по окну
  вокруг пикселя

              dp  arg min      c (q , q  d )
                   0 d  d max qWp
  где:
  dp       – искомый диспаритет в пикселе p,
  c(p,q)   – функция стоимости,
  Wp       – окно вокруг пикселя p,
  dmax     – максимально возможный диспаритет


• Возможна очень эффективная реализация
   • Метод «скользящего окна»
Проблема выбора размера окна
• Маленькие окна – недостаточно текстуры
• Большие окна – эффект «раздувания» объектов
  переднего плана (foreground fattening) при однотонных
  фонах




               Эффект «foreground fattening»


                                                Рисунок: M. Bleyer
Проблема выбора размера окна
• Маленькие окна – недостаточно текстуры
• Большие окна – эффект «раздувания» объектов
  переднего плана (foreground fattening)




 Ground truth        Окно 3x3          Окно 21x21




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



• Выход – исключить границы из рассмотрения с
  помощью адаптивных окон
  •   Окна с адаптивной структурой
  •   Окна с адаптивными весами
Окна с адаптивной структурой

 Пробуются 9 окон, по-разному
 расположенных относительно
 рассматриваемого пикселя

 Выбирается окно, дающее
 наименьшую стоимость




A. Fusiello, V. Roberto, and E. Trucco. Efficient stereo with multiple windowing. CVPR,
1997.
Окна с адаптивной структурой

 Окно делится на 9
 подобластей

 При сопоставлении
 учитываются лишь стоимости
 по 5 «лучшим» подобластям




H. Hirschmeuller, P. Innocent, and J. Garibaldi. Real-time correlation-based stereo vision
with reduced border errors. IJCV, 2002.
Окна с адаптивными весами
• Каждая точка внутри окна берется с определенным
  весом, отражающим вероятность того, что ее
  диспаритет и искомый диспаритет рассматриваемого
  пикселя совпадают:



       dp  arg min      w( p , q )  c(q, q  d )
            0 d  d max qWp

• Главный вопрос – как вычислить вес w(p,q)?
Вычисление веса
• Эвристические подсказки
   • Цвет
   • Расстояние
   • Границы




     Цвет           Расстояние   Граница



                                      Рисунки: M. Bleyer
Адаптивные окна. Резюме
• Достоинство: гибкость

• Недостаток: скорость
   • Метод «скользящего окна» неприменим
   • Тем не менее, достаточно эффективны

• Развитие локальных методов на сегодняшний день
  идет именно в направлении адаптивных окон
Борьба с перекрытиями
• Распространенное средство – кросс-проверка (cross-
  validation, consistency check)
• Идея кросс-проверки:
  •   Возьмем поочередно каждое из изображений за базовое и
      проверим на согласованность две карты диспаритета

  •   Рассогласованные пиксели отнесем к области перекрытия
Кросс-проверка

                         Тест
                       пройден




 Карта диспаритета (левое   Карта диспаритета (правое
       изображение)               изображение)



                                                Рисунки: M. Bleyer
Кросс-проверка

                        Тест не
                       пройден




 Карта диспаритета (левое    Карта диспаритета (правое
       изображение)                изображение)



                                                 Рисунки: M. Bleyer
Кросс-проверка
• Кросс-проверка      реализует        предположение             об
  уникальности:


              pl    ql                     mr
        Диспаритет одного из двух пикселей слева будет
             обнулен в результате кросс-проверки


• В результате кросс-проверки все пиксели имеют либо
  ровно одно, либо ни одного соответствия




                                                         Рисунок: M. Bleyer
Борьба с перекрытиями




      Пиксели, не прошедшие кросс-проверку
                (выделены синим)




                                             Пример: M. Bleyer
Борьба с перекрытиями




    «Пустые» области необходимо
             заполнить


       Пиксели, не прошедшие кросс-проверку
                 (выделены синим)

                                              Пример: M. Bleyer
Заполнение областей перекрытия

Найдем     ближайшие  к     p
«значащие» пиксели слева    и
справа вдоль строки                            pr

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


   d p  min( d p , d p )
                   l   r




                                      Рисунок: M. Bleyer
Заполнение областей перекрытия
После заполнения карту диспаритета можно сгладить,
например, медианным фильтром




      До сглаживания           После сглаживания



                                            Примеры: M. Bleyer
План
• Введение
• Формулировка задачи
• Трудности и предположения
• Локальные методы
• Глобальные методы
• Использование сегментации
• Резюме
Глобальные методы

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


• Как правило, формулируются в терминах разметки
  графа и минимизации энергии
Глобальные методы

Необходимо найти разметку D,
минимизирующую функцию энергии
E(D).

Метки – значения диспаритета.

Граф – решетка, узлы – пиксели.



            E ( D )  Edata ( D )  Esmooth ( D)


                                                   Рисунок: M. Bleyer
Глобальные методы
Необходимо найти разметку D,
минимизирующую функцию
энергии E(D).
         Унарный потенциал реализует
Метки – значения диспаритета. соответствии
         предположение о
                       цветов
Граф – решетка, узлы – пиксели.

            E ( D )  Edata ( D )  Esmooth ( D)
Глобальные методы
Необходимо найти разметку D,
минимизирующую функцию
энергии E(D).
            Парный потенциал явным
Метки – значенияобразом реализует
                 диспаритета.
           предположение о гладкости
Граф – решетка, узлы – пиксели.

            E ( D )  Edata ( D )  Esmooth ( D)
Унарный потенциал

          E data ( D )   pI m ( p , p  d p )
где:
m(p,q) – мера цветового сходства между пикселем p
одного изображения и пикселем q другого

Например:
m ( p, q )  I p  I q
m ( p , q )  min( I p  I q , k )
Зачастую применяется метрика Birchfield-Tomasi,
устойчивая к погрешности сэмплирования
Метрика Birchfield-Tomasi
    Проблема: Непрерывный сигнал может быть
    сэмплирован по-разному. Цвета соответствующих
    пикселей могут не совпасть.




                                             Яркость
    Яркость




                         X-координаты                          X-координаты

                (Левое изображение)                     (Правое изображение)



S. Birchfield, C. Tomasi. A Pixel Dissimilarity Measure That Is Insensitive to Image
Sampling. PAMI, 1998.
                                                                              Рисунок: M. Bleyer
Метрика Birchfield-Tomasi
    Решение: Учитывать средние яркости между рассматриваемыми
    пикселями и их соседями:
     m( p, p' )  min(| p  p'|, | p   p'|, | p   p'|,| p  p' |, | p  p' |)
                       p
                  p-                                            p’   p’+
                            p+




                                                Яркость
    Яркость




                 q                                        p’-




                           X-координаты                                    X-координаты

                (Левое изображение)                              (Правое изображение)



S. Birchfield, C. Tomasi. A Pixel Dissimilarity Measure That Is Insensitive to Image
Sampling. PAMI, 1998.
                                                                                          Рисунок: M. Bleyer
Парный потенциал

        E smooth ( D )          p , q  N
                                                s ( dp, dp)
где:
N – система соседства (множество всех пар пикселей-
соседей),
s(dp,dq) – функция штрафа за нарушение гладкости

Например:
                                                      0 ,d p  d q
s ( dp, dq )  dp  dq  P   или      s ( dp, dq )  
                                                      P , dp  dq
Парный потенциал

        E smooth ( D )          p , q  N
                                                s ( dp, dp)
где:
N – система соседства (множество всех пар пикселей-
соседей),
s(dp,dq) – функция штрафа за нарушение гладкости

Например:       Линейная модель
                                                      0 ,d p  d q
s ( dp, dq )  dp  dq  P   или      s ( dp, dq )  
                                                      P , dp  dq
Парный потенциал

        E smooth ( D )          p , q  N
                                                s ( dp, dp)
где:
N – система соседства (множество всех пар пикселей-
соседей),
s(dp,dq) – функция штрафа за нарушение гладкости
                Модель Поттса
Например:
                                                      0 ,d p  d q
s ( dp, dq )  dp  dq  P   или      s ( dp, dq )  
                                                      P , dp  dq
Проблема сохранения границ
Предположим, необходимо восстановить диспаритет в
области границы между объектами, как показано на
рисунке


            Диспаритет




                         X-координаты




                                            Рисунок: M. Bleyer
Проблема сохранения границ
Случай линейной модели:                                        s ( dp, d q)  dp  dq  P
                  Вклад в энергию:                             Вклад в энергию:
                         9P                                           9P

                                              P
Диспаритет




                                                  Диспаритет
                                          P
                                      P
                                  P
                              P                                        9P
                          P
                      P
                  P
              P

                                  X-координаты                          X-координаты

                      (неверное решение)                          (верное решение)



                                                                                       Рисунки: M. Bleyer
Проблема сохранения границ
Случай линейной модели:                                 s ( dp, d q)  dp  dq  P
                  Вклад в энергию:                      Вклад в энергию:
                         9P                                    9P

                                       P
                    Линейная модель не поощряет
Диспаритет




                                           Диспаритет
                             P
                           P
                  резких разрывов диспаритета. Она
                         P
                       P                  9P
                    чересчур сглаживает решение
                     P
                      P
                  P
              P

                            X-координаты                         X-координаты


                          (неверное                       (верное решение)
                                                                                Рисунки: M. Bleyer
                          решение)
Проблема сохранения границ
Случай линейной модели:           s ( dp, d q)  dp  dq  P




  Пример результатов для линейной модели. Справа показан
                  увеличенный фрагмент




                                                     Примеры: M. Bleyer
Проблема сохранения границ
                                                                               0 ,d p  d q
Случай модели Поттса:                                          s ( dp, dq )  
                                                                               P , dp  dq
                  Вклад в энергию:                                Вклад в энергию:
                         9P                                              P
                                              P
Диспаритет




                                                  Диспаритет
                                          P
                                      P
                                  P
                              P                                           P
                          P
                      P
                  P
              P
                                  X-координаты                             X-координаты

                      (неверное решение)                            (верное решение)


                                                                                          Рисунки: M. Bleyer
Проблема сохранения границ
                                      0 ,d p  d q
Случай модели Поттса: s ( dp, dq )  
                                      P , dp  dq
      Модель Поттса не препятствует
    Вклад в энергию:      Вклад в энергию:
           9P
      резким разрывам диспаритета.  P
                                            P
Диспаритет




                                                Диспаритет
                                        P
                                    P
                                Такие модели называют
                                P
                              P                        P
                      P
                          P    сохраняющими разрывы
              P
                  P             (discontinuity preserving)
                                X-координаты                         X-координаты

                              (неверное                      (верное решение)Рисунки: M. Bleyer
                              решение)
Проблема сохранения границ
                                                0 ,d p  d q
Случай модели Поттса:           s ( dp, dq )  
                                                P , dp  dq




   Пример результатов для модели Поттса. Справа показан
                  увеличенный фрагмент




                                                      Примеры: M. Bleyer
Другие модели

    •    Модифицированная
                                                              0, d p  d q
         модель Поттса:
                                                             
                                           s ( d p , d q )   P1 , d p  d q  1
                                                             P , d  d  1
                                                              2 p          q
    •    Усеченная линейная модель:
         s ( d p , d q )  min( d p  d q , k )  P
    •    Модель 2-го порядка [Woodford, 2008]:
         s ( d p , d q , d r )  min( d p  2 d q  d r , k )  P


O. Woodford, P. Torr, I. Reid, A. Fitzgibbon. Global stereo reconstruction under second
order smoothness priors. CVPR, 2008.
Минимизация энергии
    • Плотное стерео – задача многоклассовой разметки
    • Эффективное решение на графе общего вида
      существует лишь для выпуклых относительно |dp - dq|
      парных потенциалов [Ishikava, 2003]
    • Но необходимо использовать модели, сохраняющие
      границы, а они невыпуклы относительно |dp - dq|
    • Задача становится NP-полной
    • Необходимы приблизительные алгоритмы




H. Ishikawa. Exact Optimization for Markov Random Fields with Convex Priors. PAMI,
2003.
Используемые подходы
• Expansion Move, Swap Move
   •   Основаны на Graph Cuts
   •   Энергия должна быть субмодулярна
• Fusion Move
   •   Основан на QPBO
   •   Энергия произвольная
• Loopy Belief Propagation
   •   Энергия произвольная
   •   Сходимость не гарантируется
• TRW-S
   •   Энергия произвольная
Используемые подходы
• Expansion Move, Swap Move
   •   Основаны на Graph Cuts
   •   Энергия должна быть субмодулярна
• Fusion Move
   •   Основан на QPBO
   •   Энергия произвольная
• Loopy Belief Propagation
   •   Энергия произвольная
   •   Сходимость не гарантируется
• TRW-S
   •   Энергия произвольная
Алгоритм Fusion Move
 Два произвольных решения
 «смешиваются», энергия
 уменьшается

 α-расширение – частный                             Решение 1                    Решение 2
 случай алгоритма Fusion
 Move, при котором второе
 решение включает только
 метку α



                                                       Одна из возможных разметок после
                                                            смешения решений 1 и 2



V. Lempitsky, C. Rother, A. Blake. LogCut - Efficient Graph Cut Optimization for Markov
Random Fields. ICCV, 2007.
                                                                                  Рисунки: M. Bleyer
Fusion Move для стерео
• Возможность параллельных вычислений
  •   Одно ядро работает с диапазоном диспаритетов 0..8
  •   Другое ядро – с диапазоном 9..16
  •   Результаты смешиваются с помощью Fusion Move

• Возможность комбинировать сильные стороны разных
  алгоритмов
  •   Один алгоритм хорошо работает на границах объектов и плохо
      в однородных областях
  •   Другой – наоборот
  •   Результаты смешиваются

• Возможность оптимизации непрерывных параметров
Минимизация энергии
    • Плотное стерео – задача многоклассовой разметки
    • Эффективное решение на графе общего вида
      существует лишь для выпуклых относительно |dp - dq|
      парных потенциалов [Ishikava, 2003]
    • Но необходимо использовать модели, сохраняющие
      границы, а они невыпуклы относительно |dp - dq|
    • Задача становится NP-полной
    • Необходимы приблизительные алгоритмы




H. Ishikawa. Exact Optimization for Markov Random Fields with Convex Priors. PAMI,
2003.
Минимизация энергии
    • Плотное стерео – задача многоклассовой разметки
    • Эффективное решение на графе общего вида существует
      лишь для выпуклых относительно |dp - dq| парных
      потенциалов [Ishikava, 2003]
    • Но необходимо использовать модели, сохраняющие
            Альтернативный подход|d - d |
      границы, а они невыпуклы относительно p q
          заключается в уходе от графов
    •   Задача становится NP-полной
                       общего вида
    • Необходимы приблизительные алгоритмы

H. Ishikawa. Exact Optimization for Markov Random Fields with Convex Priors.
PAMI, 2003.
Переход к деревьям




• Отсутствие циклов позволяет использовать метод
  динамического программирования
  •   Глобальный минимум, произвольная энергия, высокая
      скорость работы



                                                      Рисунки: M. Bleyer
Переход к деревьям




           Главный вопрос – какие ребра
                    убирать?

• Отсутствие циклов позволяет использовать метод
  динамического программирования
   •   Глобальный минимум, произвольная энергия, высокая скорость
       работы
                                                            Рисунки: M. Bleyer
Алгоритм Scanline Optimization




• Удаляются все вертикальные ребра
• Так поступали в первых подобных алгоритмах



                                               Рисунки: M. Bleyer
Алгоритм Scanline Optimization




Очевидная проблема – рассогласованность строк между собой
(horizontal streaking)



                                                       Пример: M. Bleyer
Алгоритм на основе MST
  Идея – не форсировать гладкость между
  пикселями сильно разного цвета


  Каждому ребру (паре пикселей p и q)
  присваивается вес:

   w ( p , q ) | I ( p )  I ( q ) |
  Строится минимальное покрывающее дерево                       Рисунок: M. Bleyer
  (Minimum Spanning Tree, MST)




O. Veksler. Stereo Correspondence by Dynamic Programming on a Tree. CVPR, 2005.
Алгоритм на основе MST




Лучше, чем scanline optimization, но некоторая рассогласованность
остается
Алгоритм Semi-Global Matching
   В каждом пикселе строится свое
   дерево

   Оптимизация производится вдоль                                   p
   лучей, исходящих из пикселя

   Подход не совсем глобальный, но и
                                                                    Рисунок: M. Bleyer
   не локальный




H. Hirschmueller. Accurate and Efficient Stereo Processing by Semi-Global Matching
and Mutual Information. CVPR, 2005.
Алгоритм Semi-Global Matching




• Рассогласованности нет, но есть «изолированные» пиксели
• Алгоритм заточен под работу с аэрофотоснимками
Алгоритм Semi-Global Matching




                     Примеры: http://www.robotic.de/Heiko.Hirschmueller/
Алгоритм Simple Tree



                           p                            p




                                                        Рисунки: M. Bleyer


   В каждом пикселе строятся два дерева, совместно покрывающих все
   изображение. Алгоритм глобальный и лишен недостатка SGM.




M. Bleyer, M. Gelautz. Simple but Effective Tree Structures for Dynamic Programming-
based Stereo Matching. VISAPP, 2008.
Алгоритм Simple Tree




             Пример работы
Борьба с перекрытиями
• Модифицируем унарный потенциал:

  E data ( D )       p I
                              m( p , dp)



 Edata( D)   pI m( p, dp )(1  O( p ))  Pocc  O( p ) 
  где:
  O(p) – функция, возвращающая 1, если пиксель принадлежит
  области перекрытия, иначе 0
  Pocc – штраф за перекрытие
Борьба с перекрытиями
• Модифицируем унарный потенциал:

  E data ( D )       p I
                              m( p , dp)

             Как задать функцию O(p)?
  Edata( D)   pI m( p, dp )(1  O( p ))  Pocc  O( p ) 
  где:
  O(p) – функция, возвращающая 1, если пиксель принадлежит
  области перекрытия, иначе 0
  Pocc – штраф за перекрытие
Ограничение видимости
             Из двух пикселей p и q виден тот, который ближе к камере. Пиксель p
             на левом изображении принадлежит области перекрытия.


                 Левое изображение                           Правое изображение
Диспаритет




                                                 Диспритет
                                q                                q
                                          Warp
                       p                                         p

                           X-координаты                              X-координаты




                                                                                    Рисунки: M. Bleyer
Модифицированная энергия
• Унарный потенциал:

  Edata ( D )   pI m( p, dp )(1  O( p))  Pocc  O ( p) 


• Зададим O(p) при помощи ограничения видимости
  (visibility constraint):

          1, если q  I : p  dp  q  dq      и   dp  dq
  O( p)  
           0, иначе
Глобальные методы. Резюме
• Наилучшие по качеству методы на сегодняшний день
• Методы,      основанные    на    динамическом
  программировании, - отличный компромисс между
  качеством и скоростью
• Узкое место глобальных методов – функционалы
  энергии, а не алгоритмы оптимизации
План
• Введение
• Формулировка задачи
• Трудности и предположения
• Локальные методы
• Глобальные методы
• Использование сегментации
• Резюме
Использование сегментации




                            Рисунок: M. Bleyer
Использование сегментации
• Очень популярно в последние годы
• Методы с сегментацией дают наилучшие
  результаты на стандартных наборах данных
  •   Вероятно,    проблема   в   «переобучении»   на   наборах
      Middlebury
  •   Явное доминирование в верхней части рейтинга
Использование сегментации
• Используется    предположение    о   сегментации
  («области разрыва диспаритета совпадают с краями
  на изображении)
• Для его реализации применяют пересегментацию
  (т.е. сегменты достаточно мелкие, «с запасом»)




    Исходное         Результат      Границы объектов
  изображение       сегментации


                                           Примеры: M. Bleyer
Использование сегментации
• Используется предположение о сегментации («области
  разрыва диспаритета совпадают с краями на изображении)
• Для его реализации применяют пересегментацию (т.е.
  сегменты достаточно мелкие, «с из пиксельного
    Происходит переход запасом»)
пространства в пространство сегментов.
Гладкость внутри сегментов форсируется



    Исходное       Результат сегментации   Границы объектов
  изображение
                                                  Примеры: M. Bleyer
Базовый алгоритм с сегментацией
• Произвести сегментацию
  •   Mean-shift, EDISON и др.

• Инициализировать решение
  •   Любой локальный алгоритм на пикселях

• Аппроксимировать сегменты гладкими поверхностями
  •   Модель: плоскость, B-сплайн
  •   Средство: RANSAC, голосование и т.д.

• Уточнить разметку сегментов
  •   Iterated Conditional Modes (ICM), Cooperative Optimization и др.
Использование сегментации
• Преимущества
  •   Надежность в областях со слабой текстурой
  •   Снижение размерности задачи (оптимизация на уровне
      сегментов)

• Недостатки
  •   Нет защиты от нарушения предположения о сегментации
  •   Сложность выбора модели,       описывающей   изменение
      диспаритета внутри сегмента
  •   Проблему перекрытий все равно необходимо решать на
      пиксельном уровне
План
• Введение
• Формулировка задачи
• Трудности и предположения
• Локальные методы
• Глобальные методы
• Использование сегментации
• Резюме
Что не вошло
• Учет цвета в стерео
• Борьба с перепадами яркости
• Совмещение задач стерео и матирования
• Обучение парных потенциалов

• …
Выводы

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

• Многовидовая реконструкция




• Реконструкция по 1 изображению

More Related Content

What's hot

Садок вишневий коло хати
Садок вишневий коло хатиСадок вишневий коло хати
Садок вишневий коло хати
Лидия Рудакова
 
Ozljede tetiva na rukama
Ozljede tetiva na rukamaOzljede tetiva na rukama
Ozljede tetiva na rukama
Domina Petric
 
Життя риб навесні
Життя риб навесніЖиття риб навесні
Життя риб навесні
40Tana40
 
Glagoli
GlagoliGlagoli
Podela vratila i osovina
Podela vratila i osovinaPodela vratila i osovina
Podela vratila i osovina
Dalibor Pusonja
 
Bogacenje rečnika
Bogacenje rečnikaBogacenje rečnika
Bogacenje rečnika
Ristic Radica
 
допунска и додатна 6.р. (1)
допунска и додатна 6.р. (1)допунска и додатна 6.р. (1)
светосавска приредба
светосавска приредбасветосавска приредба
Prva brazda, prezentacija
Prva brazda, prezentacijaPrva brazda, prezentacija
Prva brazda, prezentacija
srpskisajelenom
 
запобігання отруєнням хімічними речовинами
запобігання отруєнням хімічними речовинамизапобігання отруєнням хімічними речовинами
запобігання отруєнням хімічними речовинамиPoltava municipal lyceum #1
 
Дан матерњег језика
Дан матерњег језикаДан матерњег језика
Дан матерњег језика
Маја Радоман Цветићанин
 
переваги книги над комп’ютером або телевізором
переваги книги над комп’ютером або телевізоромпереваги книги над комп’ютером або телевізором
переваги книги над комп’ютером або телевізором
Школа №17, Чернігів
 
Knezeva vecera- linija sukoba
  Knezeva vecera- linija sukoba   Knezeva vecera- linija sukoba
Knezeva vecera- linija sukoba
dragadavid
 

What's hot (15)

Садок вишневий коло хати
Садок вишневий коло хатиСадок вишневий коло хати
Садок вишневий коло хати
 
Ozljede tetiva na rukama
Ozljede tetiva na rukamaOzljede tetiva na rukama
Ozljede tetiva na rukama
 
Життя риб навесні
Життя риб навесніЖиття риб навесні
Життя риб навесні
 
Glagoli
GlagoliGlagoli
Glagoli
 
Podela vratila i osovina
Podela vratila i osovinaPodela vratila i osovina
Podela vratila i osovina
 
Bogacenje rečnika
Bogacenje rečnikaBogacenje rečnika
Bogacenje rečnika
 
допунска и додатна 6.р. (1)
допунска и додатна 6.р. (1)допунска и додатна 6.р. (1)
допунска и додатна 6.р. (1)
 
светосавска приредба
светосавска приредбасветосавска приредба
светосавска приредба
 
Prva brazda, prezentacija
Prva brazda, prezentacijaPrva brazda, prezentacija
Prva brazda, prezentacija
 
милутин миланковић
милутин миланковићмилутин миланковић
милутин миланковић
 
запобігання отруєнням хімічними речовинами
запобігання отруєнням хімічними речовинамизапобігання отруєнням хімічними речовинами
запобігання отруєнням хімічними речовинами
 
Дан матерњег језика
Дан матерњег језикаДан матерњег језика
Дан матерњег језика
 
переваги книги над комп’ютером або телевізором
переваги книги над комп’ютером або телевізоромпереваги книги над комп’ютером або телевізором
переваги книги над комп’ютером або телевізором
 
Pohvala145
Pohvala145Pohvala145
Pohvala145
 
Knezeva vecera- linija sukoba
  Knezeva vecera- linija sukoba   Knezeva vecera- linija sukoba
Knezeva vecera- linija sukoba
 

Viewers also liked

CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.Anton Konushin
 
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 09.  Single view reconstructin.CV2011-2. Lecture 09.  Single view reconstructin.
CV2011-2. Lecture 09. Single view reconstructin.Anton Konushin
 
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 05.  Video segmentation.CV2011-2. Lecture 05.  Video segmentation.
CV2011-2. Lecture 05. Video segmentation.Anton Konushin
 
Classifier evaluation and comparison
Classifier evaluation and comparisonClassifier evaluation and comparison
Classifier evaluation and comparisonAnton Konushin
 
CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.
Anton Konushin
 
CV2011-2. Lecture 06. Structure from motion.
CV2011-2. Lecture 06.  Structure from motion.CV2011-2. Lecture 06.  Structure from motion.
CV2011-2. Lecture 06. Structure from motion.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
 
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 02.  Photomontage and graphical models.CV2011-2. Lecture 02.  Photomontage and graphical models.
CV2011-2. Lecture 02. Photomontage and graphical models.Anton 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-2. Lecture 03. Photomontage, part 2.
CV2011-2. Lecture 03.  Photomontage, part 2.CV2011-2. Lecture 03.  Photomontage, part 2.
CV2011-2. Lecture 03. Photomontage, part 2.Anton Konushin
 
Computer vision infrastracture
Computer vision infrastractureComputer vision infrastracture
Computer vision infrastractureAnton Konushin
 
Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009
Anton 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 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.Anton Konushin
 
Writing a computer vision paper
Writing a computer vision paperWriting a computer vision paper
Writing a computer vision paperAnton Konushin
 
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
Anton Konushin
 
Статистическое сравнение классификаторов
Статистическое сравнение классификаторовСтатистическое сравнение классификаторов
Статистическое сравнение классификаторовAnton Konushin
 
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
 

Viewers also liked (19)

CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.
 
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 09.  Single view reconstructin.CV2011-2. Lecture 09.  Single view reconstructin.
CV2011-2. Lecture 09. Single view reconstructin.
 
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 05.  Video segmentation.CV2011-2. Lecture 05.  Video segmentation.
CV2011-2. Lecture 05. Video segmentation.
 
Classifier evaluation and comparison
Classifier evaluation and comparisonClassifier evaluation and comparison
Classifier evaluation and comparison
 
CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.
 
CV2011-2. Lecture 06. Structure from motion.
CV2011-2. Lecture 06.  Structure from motion.CV2011-2. Lecture 06.  Structure from motion.
CV2011-2. Lecture 06. Structure from motion.
 
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
 
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 02.  Photomontage and graphical models.CV2011-2. Lecture 02.  Photomontage and graphical models.
CV2011-2. Lecture 02. Photomontage and graphical models.
 
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-2. Lecture 03. Photomontage, part 2.
CV2011-2. Lecture 03.  Photomontage, part 2.CV2011-2. Lecture 03.  Photomontage, part 2.
CV2011-2. Lecture 03. Photomontage, part 2.
 
Computer vision infrastracture
Computer vision infrastractureComputer vision infrastracture
Computer vision infrastracture
 
Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009
 
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 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.
 
Writing a computer vision paper
Writing a computer vision paperWriting a computer vision paper
Writing a computer vision paper
 
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
 
Статистическое сравнение классификаторов
Статистическое сравнение классификаторовСтатистическое сравнение классификаторов
Статистическое сравнение классификаторов
 
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
 

Similar to CV2011-2. Lecture 07. Binocular stereo.

Сегментация изображений в компьютерной графике.ppt
Сегментация  изображений в компьютерной графике.pptСегментация  изображений в компьютерной графике.ppt
Сегментация изображений в компьютерной графике.ppt
ssuser413a98
 
20120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture0320120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture03Computer Science Club
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04Computer Science Club
 
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05Computer Science Club
 
виды графики
виды графикивиды графики
виды графикиelenash584
 
20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02Computer Science Club
 
CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.Anton Konushin
 
Kirill Rozin - Computer Vision. Alchemy of Modeling
Kirill Rozin - Computer Vision. Alchemy of ModelingKirill Rozin - Computer Vision. Alchemy of Modeling
Kirill Rozin - Computer Vision. Alchemy of Modeling
Sergey Arkhipov
 
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...it-people
 
CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.
Anton Konushin
 
20100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-0220100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-02Computer Science Club
 
20100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-0220100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-02Computer Science Club
 
Лекция по Трёхмерной графике
Лекция по Трёхмерной графикеЛекция по Трёхмерной графике
Лекция по Трёхмерной графике
Алексей Соболевский
 
L05 features
L05 featuresL05 features
L05 features
Victor Kulikov
 
презентация
презентацияпрезентация
презентацияlisondemon
 
Лекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиЛекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиVictor Kulikov
 
Современные проблемы в области фильтрации цифровых изображений
Современные проблемы в области фильтрации цифровых изображенийСовременные проблемы в области фильтрации цифровых изображений
Современные проблемы в области фильтрации цифровых изображенийVladimir Pavlov
 
L06 detection
L06 detectionL06 detection
L06 detection
Victor Kulikov
 
CV2015. Лекция 5. Выделение объектов.
CV2015. Лекция 5. Выделение объектов.CV2015. Лекция 5. Выделение объектов.
CV2015. Лекция 5. Выделение объектов.
Anton Konushin
 

Similar to CV2011-2. Lecture 07. Binocular stereo. (20)

Сегментация изображений в компьютерной графике.ppt
Сегментация  изображений в компьютерной графике.pptСегментация  изображений в компьютерной графике.ppt
Сегментация изображений в компьютерной графике.ppt
 
20120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture0320120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture03
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04
 
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05
 
виды графики
виды графикивиды графики
виды графики
 
20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02
 
CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.
 
Kirill Rozin - Computer Vision. Alchemy of Modeling
Kirill Rozin - Computer Vision. Alchemy of ModelingKirill Rozin - Computer Vision. Alchemy of Modeling
Kirill Rozin - Computer Vision. Alchemy of Modeling
 
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
 
CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.
 
20100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-0220100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-02
 
20100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-0220100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-02
 
3 d графика
3 d графика3 d графика
3 d графика
 
Лекция по Трёхмерной графике
Лекция по Трёхмерной графикеЛекция по Трёхмерной графике
Лекция по Трёхмерной графике
 
L05 features
L05 featuresL05 features
L05 features
 
презентация
презентацияпрезентация
презентация
 
Лекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиЛекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработки
 
Современные проблемы в области фильтрации цифровых изображений
Современные проблемы в области фильтрации цифровых изображенийСовременные проблемы в области фильтрации цифровых изображений
Современные проблемы в области фильтрации цифровых изображений
 
L06 detection
L06 detectionL06 detection
L06 detection
 
CV2015. Лекция 5. Выделение объектов.
CV2015. Лекция 5. Выделение объектов.CV2015. Лекция 5. Выделение объектов.
CV2015. Лекция 5. Выделение объектов.
 

More from Anton Konushin

CV2015. Лекция 7. Поиск изображений по содержанию.
CV2015. Лекция 7. Поиск изображений по содержанию.CV2015. Лекция 7. Поиск изображений по содержанию.
CV2015. Лекция 7. Поиск изображений по содержанию.
Anton Konushin
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
Anton Konushin
 
CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.
Anton Konushin
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
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 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionAnton Konushin
 
CV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoCV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoAnton Konushin
 
CV2011 Lecture 10. Image retrieval
CV2011 Lecture 10.  Image retrievalCV2011 Lecture 10.  Image retrieval
CV2011 Lecture 10. Image retrievalAnton Konushin
 

More from Anton Konushin (8)

CV2015. Лекция 7. Поиск изображений по содержанию.
CV2015. Лекция 7. Поиск изображений по содержанию.CV2015. Лекция 7. Поиск изображений по содержанию.
CV2015. Лекция 7. Поиск изображений по содержанию.
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
 
CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
CV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time visionCV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time vision
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
 
CV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoCV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic video
 
CV2011 Lecture 10. Image retrieval
CV2011 Lecture 10.  Image retrievalCV2011 Lecture 10.  Image retrieval
CV2011 Lecture 10. Image retrieval
 

CV2011-2. Lecture 07. Binocular stereo.

  • 1. Бинокулярное плотное стерео Антон Конушин http://courses.graphicon.ru/vision2
  • 2. Этот курс подготовлен при поддержке Microsoft Research
  • 3. Благодарность Презентация была подготовлена Глебом Кривовязем для спецсеминара «Компьютерное зрение» При подготовке были использованы материалы из курса «Stereo Vision» от Michael Bleyer (Vienna University of Technology): http://www.ims.tuwien.ac.at/teaching_detail.php?ims_id=18 8.HQK
  • 4. План • Введение • Формулировка задачи • Трудности и предположения • Локальные методы • Глобальные методы • Использование сегментации • Резюме
  • 5. Стереопсис «Стереопсис (англ. stereopsis) - сенсорный процесс, возникающий при бинокулярном зрении как психофизическая реакция на сетчаточную горизонтальную диспаратность. В результате С. субъект переживает специфическое ощущение глубины. <…> ». (Психологическая энциклопедия) Левое изображение Правое изображение
  • 6. Имитация 3D Так мы обычно смотрим на экран (2D): Рисунок: M. Bleyer
  • 7. Имитация 3D А так можно увидеть 3D-картинку: Рисунок: M. Bleyer
  • 8. Имитация 3D. Пример 3D-картинка появится посередине! Для правого глаза Для левого глаза
  • 9. Зрение человека Слайд: M. Bleyer
  • 10. «Зрение» компьютера Слайд: M. Bleyer
  • 11. План • Введение • Формулировка задачи • Трудности и предположения • Локальные методы • Глобальные методы • Использование сегментации • Резюме
  • 12. Смежные задачи Внутренняя Внешняя 3D-точки 2D-соответствия Задача калибровка калибровка Структура из движения Калибровка PnP (внешняя калибровка) Триангуляция Стерео
  • 13. Смежные задачи Внутренняя Внешняя 3D-точки 2D-соответствия Задача калибровка калибровка Структура из движения Калибровка PnP (внешняя калибровка) Триангуляция Стерео
  • 14. Смежные задачи Внутренняя Внешняя 3D-точки 2D-соответствия Задача калибровка калибровка Структура из Задача плотного стерео: движения восстановить в 3D все видимые на Калибровка изображениях точки PnP (внешняя калибровка) Триангуляция Стерео
  • 15. Виды стерео • Binocular stereo (два изображения) • Multi-view stereo (много изображений) • Photometric stereo
  • 16. Виды стерео • Binocular stereo (два изображения) • Multi-view stereo (много изображений) • Photometric stereo
  • 17. Общая схема Ректификация изображений Вычисление соответствующих точек Восстановление 3D путем триангуляции
  • 18. Общая схема Ректификация изображений Вычисление соответствующих точек Восстановление 3D путем триангуляции
  • 19. Ректификация • «Ректификация» – преобразование стереопары в изображения, в которых соответствующие эпиполярные линии лежат на одной и той же горизонтальной строке • Пример: проецирование на общую плоскость с помощью гомографии
  • 20. Ректификация. Пример Недостатки: • Не применим, когда камера движется вперёд или назад • Сильные искажения в некоторых случаях
  • 21. Радиальная развёртка • Polar rectification • Индексируем эпиполярные линии углом поворота относительно эпиполи • Копируем соответствующие пары эпиполярных линии последовательно в соответствующие горизонтали ректифицированных изображений • Работает в тех случаях, когда ошибается метод проецирования на общую плоскость
  • 22. Пример Проецирование Полярная ректификация
  • 24. Общая схема Ректификация изображений Вычисление соответствующих точек Восстановление 3D путем триангуляции
  • 25. Триангуляция xl , xr - смещения относительно принципиальной точки Слайд: M. Bleyer
  • 26. Триангуляция Подобные треугольники: X xl  Z f Слайд: M. Bleyer
  • 27. Триангуляция Подобные треугольники: X B xr  Z f Слайд: M. Bleyer
  • 28. Триангуляция Из подобия треугольников: X xl X  B xr   Z f Z f Исключаем X и выражаем Z: B f B f Z  , где d  xl  xr - диспаритет xl  xr d Итоговые координаты 3D-точки: X  Zxl Zyl B f Y Z f f d xl , xr - смещения относительно принципиальной точки
  • 29. Общая схема Ректификация изображений Вычисление карты диспаритета Восстановление 3D путем триангуляции Вычисление соответствующих точек сводится к задаче вычисления диспаритета
  • 30. Общая схема Ректификация изображений Ректификацию и триангуляцию можно считать чисто техническими задачами. Вычисление карты диспаритета Основной интерес представляет вычисление карты диспаритета Восстановление 3D путем триангуляции
  • 31. Вычисление карты диспаритета Какой диспаритет соответствует этой точке?
  • 33. Параллакс • Параллакс - видимое смещение объекта в зависимости от точки обзора • Фактически, диспаритет • Чем объект ближе – тем диспаритет больше
  • 34. Сравнение алгоритмов Ресурс Middlebury: http://vision.middlebury.edu/stereo/ • Стандартные тестовые наборы • Рейтинг алгоритмов
  • 35. План • Введение • Формулировка задачи • Трудности и предположения • Локальные методы • Глобальные методы • Использование сегментации • Резюме
  • 36. Основные трудности Цветовые несоответствия • Шум • Различная освещенность • Зеркальные отражения • …
  • 37. Основные трудности «Плохо» текстурированные области 1 – Однородная область 2 – Текстура неизменна в горизонтальном направлении 3 – Повторяющаяся текстура
  • 38. Основные трудности «Плохо» текстурированные области Отсутствие текстуры порождает ошибки Пример: M. Bleyer
  • 39. Основные трудности Перекрытия Некоторые пиксели одного изображения могут быть не видны (перекрыты) на другом. «Невидимые» области называют областями перекрытия Рисунок: M. Bleyer
  • 40. Основные трудности Перекрытия Пример областей перекрытия (выделены красным) Рисунок: M. Bleyer
  • 41. Основные предположения Эпиполярное ограничение: «Соответствующие точки лежат на одной строке» Самое надежное и обоснованное из всех предположений!
  • 42. Основные предположения Соответствие цветов: «Цвета соответствующих точек совпадают» Может нарушаться (шум камеры, изменение освещенности, погрешности сэмплирования и т.д.)
  • 43. Основные предположения Только лишь эпиполярного ограничения и предположения о соответствии цветов недостаточно, т.к. задача остается некорректно поставленной: • Решение может не существовать (перекрытия) • Решение может быть не уникально (однородные области) • Небольшие изменения входных данных существенно влияют на результат (шум) Нужны дополнительные предположения!
  • 44. Основные предположения Гладкость: «Искомая карта диспаритета является кусочно-гладкой» Гладкие области Разрывы на краях объектов Рисунок: M. Bleyer
  • 45. Основные предположения Гладкость: «Искомая карта диспаритета является кусочно-гладкой» • Нарушается при наличии в сцене большого числа тонких объектов (ветки деревьев, волосы и т.п.)
  • 46. Основные предположения Уникальность: «Каждая точка одного изображения имеет не более одного соответствия на другом» • Нарушается при наличии в сцене прозрачных объектов и горизонтально наклоненных плоскостей
  • 47. Основные предположения Уникальность: «Каждая точка одного изображения имеет не более одного соответствия на другом» Прозрачный объект Горизонтально наклоненная плоскость Рисунки: M. Bleyer
  • 48. Основные предположения Сохранение порядка точек: «Порядок относительного расположения точек сохраняется и для их соответствий» • Нарушается при наличии в сцене тонких объектов переднего плана • Данное предположение можно считать «устаревшим»
  • 49. Основные предположения Сохранение порядка точек: «Порядок относительного расположения точек сохраняется и для их соответствий» Пример нарушения предположения Рисунок: M. Bleyer
  • 50. Основные предположения Предположение о сегментации: «Области разрыва диспаритета совпадают с краями на изображении» Границы цветовых сегментов Границы диспаритета Рисунки: M. Bleyer
  • 51. Основные предположения Предположение о сегментации: «Области разрыва диспаритета совпадают с краями на изображении» • Лежит в основе алгоритмов, использующих пересегментацию, - лидеров рейтинга Middlebury • Может нарушаться (ничто не гарантирует, что граница объекта не попадет внутрь цветового сегмента)
  • 52. План • Введение • Формулировка задачи • Трудности и предположения • Локальные методы • Глобальные методы • Использование сегментации • Резюме
  • 53. Локальные методы • Локальные, т.к. диспаритет в каждой точке зависит только от ее локальной окрестности • Используют стратегию WTA (Winner-Take-All), т.е. в каждой точке «побеждает» соответствие с наименьшей «стоимостью»
  • 54. Наивный алгоритм • Стоимость соответствия – разность интенсивностей пикселей • Результат – слишком много шума Пример работы наивного алгоритма Пример: M. Bleyer
  • 55. Наивный алгоритм • Стоимость соответствия – разность интенсивностей пикселей • Результат – слишком много шума Проблема: Слишком велика неоднозначность сопоставления Решение: Учитывать окрестность Пример работы наивного алгоритма Пример: M. Bleyer
  • 56. Учет окрестности • Стоимость соответствия – SAD, SSD, NCC по окну вокруг пикселя dp  arg min  c (q , q  d ) 0 d  d max qWp где: dp – искомый диспаритет в пикселе p, c(p,q) – функция стоимости, Wp – окно вокруг пикселя p, dmax – максимально возможный диспаритет • Возможна очень эффективная реализация • Метод «скользящего окна»
  • 57. Проблема выбора размера окна • Маленькие окна – недостаточно текстуры • Большие окна – эффект «раздувания» объектов переднего плана (foreground fattening) при однотонных фонах Эффект «foreground fattening» Рисунок: M. Bleyer
  • 58. Проблема выбора размера окна • Маленькие окна – недостаточно текстуры • Большие окна – эффект «раздувания» объектов переднего плана (foreground fattening) Ground truth Окно 3x3 Окно 21x21 Примеры: M. Bleyer
  • 59. Проблема на границах объектов • Сопоставление окон неявным образом реализует предположение о гладкости • Все пиксели внутри окна полагаются имеющими одинаковый диспаритет, что, вообще говоря, неверно • Выход – исключить границы из рассмотрения с помощью адаптивных окон • Окна с адаптивной структурой • Окна с адаптивными весами
  • 60. Окна с адаптивной структурой Пробуются 9 окон, по-разному расположенных относительно рассматриваемого пикселя Выбирается окно, дающее наименьшую стоимость A. Fusiello, V. Roberto, and E. Trucco. Efficient stereo with multiple windowing. CVPR, 1997.
  • 61. Окна с адаптивной структурой Окно делится на 9 подобластей При сопоставлении учитываются лишь стоимости по 5 «лучшим» подобластям H. Hirschmeuller, P. Innocent, and J. Garibaldi. Real-time correlation-based stereo vision with reduced border errors. IJCV, 2002.
  • 62. Окна с адаптивными весами • Каждая точка внутри окна берется с определенным весом, отражающим вероятность того, что ее диспаритет и искомый диспаритет рассматриваемого пикселя совпадают: dp  arg min  w( p , q )  c(q, q  d ) 0 d  d max qWp • Главный вопрос – как вычислить вес w(p,q)?
  • 63. Вычисление веса • Эвристические подсказки • Цвет • Расстояние • Границы Цвет Расстояние Граница Рисунки: M. Bleyer
  • 64. Адаптивные окна. Резюме • Достоинство: гибкость • Недостаток: скорость • Метод «скользящего окна» неприменим • Тем не менее, достаточно эффективны • Развитие локальных методов на сегодняшний день идет именно в направлении адаптивных окон
  • 65. Борьба с перекрытиями • Распространенное средство – кросс-проверка (cross- validation, consistency check) • Идея кросс-проверки: • Возьмем поочередно каждое из изображений за базовое и проверим на согласованность две карты диспаритета • Рассогласованные пиксели отнесем к области перекрытия
  • 66. Кросс-проверка Тест пройден Карта диспаритета (левое Карта диспаритета (правое изображение) изображение) Рисунки: M. Bleyer
  • 67. Кросс-проверка Тест не пройден Карта диспаритета (левое Карта диспаритета (правое изображение) изображение) Рисунки: M. Bleyer
  • 68. Кросс-проверка • Кросс-проверка реализует предположение об уникальности: pl ql mr Диспаритет одного из двух пикселей слева будет обнулен в результате кросс-проверки • В результате кросс-проверки все пиксели имеют либо ровно одно, либо ни одного соответствия Рисунок: M. Bleyer
  • 69. Борьба с перекрытиями Пиксели, не прошедшие кросс-проверку (выделены синим) Пример: M. Bleyer
  • 70. Борьба с перекрытиями «Пустые» области необходимо заполнить Пиксели, не прошедшие кросс-проверку (выделены синим) Пример: M. Bleyer
  • 71. Заполнение областей перекрытия Найдем ближайшие к p «значащие» пиксели слева и справа вдоль строки pr Присвоим p наименьший из двух диспаритетов, т.к. перекрытия обычно располагаются в области pl фона: p d p  min( d p , d p ) l r Рисунок: M. Bleyer
  • 72. Заполнение областей перекрытия После заполнения карту диспаритета можно сгладить, например, медианным фильтром До сглаживания После сглаживания Примеры: M. Bleyer
  • 73. План • Введение • Формулировка задачи • Трудности и предположения • Локальные методы • Глобальные методы • Использование сегментации • Резюме
  • 74. Глобальные методы • Глобальные, т.к. диспаритет в каждой точке вычисляется при помощи некоторой глобальной процедуры оптимизации, т.е. зависит не только от локальной окрестности • Как правило, формулируются в терминах разметки графа и минимизации энергии
  • 75. Глобальные методы Необходимо найти разметку D, минимизирующую функцию энергии E(D). Метки – значения диспаритета. Граф – решетка, узлы – пиксели. E ( D )  Edata ( D )  Esmooth ( D) Рисунок: M. Bleyer
  • 76. Глобальные методы Необходимо найти разметку D, минимизирующую функцию энергии E(D). Унарный потенциал реализует Метки – значения диспаритета. соответствии предположение о цветов Граф – решетка, узлы – пиксели. E ( D )  Edata ( D )  Esmooth ( D)
  • 77. Глобальные методы Необходимо найти разметку D, минимизирующую функцию энергии E(D). Парный потенциал явным Метки – значенияобразом реализует диспаритета. предположение о гладкости Граф – решетка, узлы – пиксели. E ( D )  Edata ( D )  Esmooth ( D)
  • 78. Унарный потенциал E data ( D )   pI m ( p , p  d p ) где: m(p,q) – мера цветового сходства между пикселем p одного изображения и пикселем q другого Например: m ( p, q )  I p  I q m ( p , q )  min( I p  I q , k ) Зачастую применяется метрика Birchfield-Tomasi, устойчивая к погрешности сэмплирования
  • 79. Метрика Birchfield-Tomasi Проблема: Непрерывный сигнал может быть сэмплирован по-разному. Цвета соответствующих пикселей могут не совпасть. Яркость Яркость X-координаты X-координаты (Левое изображение) (Правое изображение) S. Birchfield, C. Tomasi. A Pixel Dissimilarity Measure That Is Insensitive to Image Sampling. PAMI, 1998. Рисунок: M. Bleyer
  • 80. Метрика Birchfield-Tomasi Решение: Учитывать средние яркости между рассматриваемыми пикселями и их соседями: m( p, p' )  min(| p  p'|, | p   p'|, | p   p'|,| p  p' |, | p  p' |) p p- p’ p’+ p+ Яркость Яркость q p’- X-координаты X-координаты (Левое изображение) (Правое изображение) S. Birchfield, C. Tomasi. A Pixel Dissimilarity Measure That Is Insensitive to Image Sampling. PAMI, 1998. Рисунок: M. Bleyer
  • 81. Парный потенциал E smooth ( D )    p , q  N s ( dp, dp) где: N – система соседства (множество всех пар пикселей- соседей), s(dp,dq) – функция штрафа за нарушение гладкости Например:  0 ,d p  d q s ( dp, dq )  dp  dq  P или s ( dp, dq )    P , dp  dq
  • 82. Парный потенциал E smooth ( D )    p , q  N s ( dp, dp) где: N – система соседства (множество всех пар пикселей- соседей), s(dp,dq) – функция штрафа за нарушение гладкости Например: Линейная модель  0 ,d p  d q s ( dp, dq )  dp  dq  P или s ( dp, dq )    P , dp  dq
  • 83. Парный потенциал E smooth ( D )    p , q  N s ( dp, dp) где: N – система соседства (множество всех пар пикселей- соседей), s(dp,dq) – функция штрафа за нарушение гладкости Модель Поттса Например:  0 ,d p  d q s ( dp, dq )  dp  dq  P или s ( dp, dq )    P , dp  dq
  • 84. Проблема сохранения границ Предположим, необходимо восстановить диспаритет в области границы между объектами, как показано на рисунке Диспаритет X-координаты Рисунок: M. Bleyer
  • 85. Проблема сохранения границ Случай линейной модели: s ( dp, d q)  dp  dq  P Вклад в энергию: Вклад в энергию: 9P 9P P Диспаритет Диспаритет P P P P 9P P P P P X-координаты X-координаты (неверное решение) (верное решение) Рисунки: M. Bleyer
  • 86. Проблема сохранения границ Случай линейной модели: s ( dp, d q)  dp  dq  P Вклад в энергию: Вклад в энергию: 9P 9P P Линейная модель не поощряет Диспаритет Диспаритет P P резких разрывов диспаритета. Она P P 9P чересчур сглаживает решение P P P P X-координаты X-координаты (неверное (верное решение) Рисунки: M. Bleyer решение)
  • 87. Проблема сохранения границ Случай линейной модели: s ( dp, d q)  dp  dq  P Пример результатов для линейной модели. Справа показан увеличенный фрагмент Примеры: M. Bleyer
  • 88. Проблема сохранения границ  0 ,d p  d q Случай модели Поттса: s ( dp, dq )    P , dp  dq Вклад в энергию: Вклад в энергию: 9P P P Диспаритет Диспаритет P P P P P P P P P X-координаты X-координаты (неверное решение) (верное решение) Рисунки: M. Bleyer
  • 89. Проблема сохранения границ  0 ,d p  d q Случай модели Поттса: s ( dp, dq )    P , dp  dq Модель Поттса не препятствует Вклад в энергию: Вклад в энергию: 9P резким разрывам диспаритета. P P Диспаритет Диспаритет P P Такие модели называют P P P P P сохраняющими разрывы P P (discontinuity preserving) X-координаты X-координаты (неверное (верное решение)Рисунки: M. Bleyer решение)
  • 90. Проблема сохранения границ  0 ,d p  d q Случай модели Поттса: s ( dp, dq )    P , dp  dq Пример результатов для модели Поттса. Справа показан увеличенный фрагмент Примеры: M. Bleyer
  • 91. Другие модели • Модифицированная  0, d p  d q модель Поттса:  s ( d p , d q )   P1 , d p  d q  1 P , d  d  1  2 p q • Усеченная линейная модель: s ( d p , d q )  min( d p  d q , k )  P • Модель 2-го порядка [Woodford, 2008]: s ( d p , d q , d r )  min( d p  2 d q  d r , k )  P O. Woodford, P. Torr, I. Reid, A. Fitzgibbon. Global stereo reconstruction under second order smoothness priors. CVPR, 2008.
  • 92. Минимизация энергии • Плотное стерео – задача многоклассовой разметки • Эффективное решение на графе общего вида существует лишь для выпуклых относительно |dp - dq| парных потенциалов [Ishikava, 2003] • Но необходимо использовать модели, сохраняющие границы, а они невыпуклы относительно |dp - dq| • Задача становится NP-полной • Необходимы приблизительные алгоритмы H. Ishikawa. Exact Optimization for Markov Random Fields with Convex Priors. PAMI, 2003.
  • 93. Используемые подходы • Expansion Move, Swap Move • Основаны на Graph Cuts • Энергия должна быть субмодулярна • Fusion Move • Основан на QPBO • Энергия произвольная • Loopy Belief Propagation • Энергия произвольная • Сходимость не гарантируется • TRW-S • Энергия произвольная
  • 94. Используемые подходы • Expansion Move, Swap Move • Основаны на Graph Cuts • Энергия должна быть субмодулярна • Fusion Move • Основан на QPBO • Энергия произвольная • Loopy Belief Propagation • Энергия произвольная • Сходимость не гарантируется • TRW-S • Энергия произвольная
  • 95. Алгоритм Fusion Move Два произвольных решения «смешиваются», энергия уменьшается α-расширение – частный Решение 1 Решение 2 случай алгоритма Fusion Move, при котором второе решение включает только метку α Одна из возможных разметок после смешения решений 1 и 2 V. Lempitsky, C. Rother, A. Blake. LogCut - Efficient Graph Cut Optimization for Markov Random Fields. ICCV, 2007. Рисунки: M. Bleyer
  • 96. Fusion Move для стерео • Возможность параллельных вычислений • Одно ядро работает с диапазоном диспаритетов 0..8 • Другое ядро – с диапазоном 9..16 • Результаты смешиваются с помощью Fusion Move • Возможность комбинировать сильные стороны разных алгоритмов • Один алгоритм хорошо работает на границах объектов и плохо в однородных областях • Другой – наоборот • Результаты смешиваются • Возможность оптимизации непрерывных параметров
  • 97. Минимизация энергии • Плотное стерео – задача многоклассовой разметки • Эффективное решение на графе общего вида существует лишь для выпуклых относительно |dp - dq| парных потенциалов [Ishikava, 2003] • Но необходимо использовать модели, сохраняющие границы, а они невыпуклы относительно |dp - dq| • Задача становится NP-полной • Необходимы приблизительные алгоритмы H. Ishikawa. Exact Optimization for Markov Random Fields with Convex Priors. PAMI, 2003.
  • 98. Минимизация энергии • Плотное стерео – задача многоклассовой разметки • Эффективное решение на графе общего вида существует лишь для выпуклых относительно |dp - dq| парных потенциалов [Ishikava, 2003] • Но необходимо использовать модели, сохраняющие Альтернативный подход|d - d | границы, а они невыпуклы относительно p q заключается в уходе от графов • Задача становится NP-полной общего вида • Необходимы приблизительные алгоритмы H. Ishikawa. Exact Optimization for Markov Random Fields with Convex Priors. PAMI, 2003.
  • 99. Переход к деревьям • Отсутствие циклов позволяет использовать метод динамического программирования • Глобальный минимум, произвольная энергия, высокая скорость работы Рисунки: M. Bleyer
  • 100. Переход к деревьям Главный вопрос – какие ребра убирать? • Отсутствие циклов позволяет использовать метод динамического программирования • Глобальный минимум, произвольная энергия, высокая скорость работы Рисунки: M. Bleyer
  • 101. Алгоритм Scanline Optimization • Удаляются все вертикальные ребра • Так поступали в первых подобных алгоритмах Рисунки: M. Bleyer
  • 102. Алгоритм Scanline Optimization Очевидная проблема – рассогласованность строк между собой (horizontal streaking) Пример: M. Bleyer
  • 103. Алгоритм на основе MST Идея – не форсировать гладкость между пикселями сильно разного цвета Каждому ребру (паре пикселей p и q) присваивается вес: w ( p , q ) | I ( p )  I ( q ) | Строится минимальное покрывающее дерево Рисунок: M. Bleyer (Minimum Spanning Tree, MST) O. Veksler. Stereo Correspondence by Dynamic Programming on a Tree. CVPR, 2005.
  • 104. Алгоритм на основе MST Лучше, чем scanline optimization, но некоторая рассогласованность остается
  • 105. Алгоритм Semi-Global Matching В каждом пикселе строится свое дерево Оптимизация производится вдоль p лучей, исходящих из пикселя Подход не совсем глобальный, но и Рисунок: M. Bleyer не локальный H. Hirschmueller. Accurate and Efficient Stereo Processing by Semi-Global Matching and Mutual Information. CVPR, 2005.
  • 106. Алгоритм Semi-Global Matching • Рассогласованности нет, но есть «изолированные» пиксели • Алгоритм заточен под работу с аэрофотоснимками
  • 107. Алгоритм Semi-Global Matching Примеры: http://www.robotic.de/Heiko.Hirschmueller/
  • 108. Алгоритм Simple Tree p p Рисунки: M. Bleyer В каждом пикселе строятся два дерева, совместно покрывающих все изображение. Алгоритм глобальный и лишен недостатка SGM. M. Bleyer, M. Gelautz. Simple but Effective Tree Structures for Dynamic Programming- based Stereo Matching. VISAPP, 2008.
  • 109. Алгоритм Simple Tree Пример работы
  • 110. Борьба с перекрытиями • Модифицируем унарный потенциал: E data ( D )   p I m( p , dp) Edata( D)   pI m( p, dp )(1  O( p ))  Pocc  O( p )  где: O(p) – функция, возвращающая 1, если пиксель принадлежит области перекрытия, иначе 0 Pocc – штраф за перекрытие
  • 111. Борьба с перекрытиями • Модифицируем унарный потенциал: E data ( D )   p I m( p , dp) Как задать функцию O(p)? Edata( D)   pI m( p, dp )(1  O( p ))  Pocc  O( p )  где: O(p) – функция, возвращающая 1, если пиксель принадлежит области перекрытия, иначе 0 Pocc – штраф за перекрытие
  • 112. Ограничение видимости Из двух пикселей p и q виден тот, который ближе к камере. Пиксель p на левом изображении принадлежит области перекрытия. Левое изображение Правое изображение Диспаритет Диспритет q q Warp p p X-координаты X-координаты Рисунки: M. Bleyer
  • 113. Модифицированная энергия • Унарный потенциал: Edata ( D )   pI m( p, dp )(1  O( p))  Pocc  O ( p)  • Зададим O(p) при помощи ограничения видимости (visibility constraint): 1, если q  I : p  dp  q  dq и dp  dq O( p)    0, иначе
  • 114. Глобальные методы. Резюме • Наилучшие по качеству методы на сегодняшний день • Методы, основанные на динамическом программировании, - отличный компромисс между качеством и скоростью • Узкое место глобальных методов – функционалы энергии, а не алгоритмы оптимизации
  • 115. План • Введение • Формулировка задачи • Трудности и предположения • Локальные методы • Глобальные методы • Использование сегментации • Резюме
  • 117. Использование сегментации • Очень популярно в последние годы • Методы с сегментацией дают наилучшие результаты на стандартных наборах данных • Вероятно, проблема в «переобучении» на наборах Middlebury • Явное доминирование в верхней части рейтинга
  • 118. Использование сегментации • Используется предположение о сегментации («области разрыва диспаритета совпадают с краями на изображении) • Для его реализации применяют пересегментацию (т.е. сегменты достаточно мелкие, «с запасом») Исходное Результат Границы объектов изображение сегментации Примеры: M. Bleyer
  • 119. Использование сегментации • Используется предположение о сегментации («области разрыва диспаритета совпадают с краями на изображении) • Для его реализации применяют пересегментацию (т.е. сегменты достаточно мелкие, «с из пиксельного Происходит переход запасом») пространства в пространство сегментов. Гладкость внутри сегментов форсируется Исходное Результат сегментации Границы объектов изображение Примеры: M. Bleyer
  • 120. Базовый алгоритм с сегментацией • Произвести сегментацию • Mean-shift, EDISON и др. • Инициализировать решение • Любой локальный алгоритм на пикселях • Аппроксимировать сегменты гладкими поверхностями • Модель: плоскость, B-сплайн • Средство: RANSAC, голосование и т.д. • Уточнить разметку сегментов • Iterated Conditional Modes (ICM), Cooperative Optimization и др.
  • 121. Использование сегментации • Преимущества • Надежность в областях со слабой текстурой • Снижение размерности задачи (оптимизация на уровне сегментов) • Недостатки • Нет защиты от нарушения предположения о сегментации • Сложность выбора модели, описывающей изменение диспаритета внутри сегмента • Проблему перекрытий все равно необходимо решать на пиксельном уровне
  • 122. План • Введение • Формулировка задачи • Трудности и предположения • Локальные методы • Глобальные методы • Использование сегментации • Резюме
  • 123. Что не вошло • Учет цвета в стерео • Борьба с перепадами яркости • Совмещение задач стерео и матирования • Обучение парных потенциалов • …
  • 124. Выводы • Многое уже сделано, но задача не решена • Главный компромисс: скорость либо качество • Требуется расширение тестовых выборок • Явный тренд в сторону глобальных алгоритмов
  • 125. На следующих лекциях • Многовидовая реконструкция • Реконструкция по 1 изображению