97
Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах Виктор Лемпицкий Мини-курс, Computer Science Club, Санкт-Петербург, 2010

Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Embed Size (px)

DESCRIPTION

Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах. Мини-курс, Computer Science Club, Санкт-Петербург, 2010. Виктор Лемпицкий. Что такое компьютерное зрение?. Компьютерная графика. Изображение сцены. Описание сцены. Компьютерное зрение. Из истории вопроса. - PowerPoint PPT Presentation

Citation preview

Page 1: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Виктор Лемпицкий

Мини-курс, Computer Science Club, Санкт-Петербург, 2010

Page 2: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

2

Что такое компьютерное зрение?

Изображение сцены

Описание сценыКомпьютерное зрение

Компьютерная графика

Page 3: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Из истории вопроса...

План на август:1. Сегментация на объекты 2. Распознавание отдельных

объектов

Page 4: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Сегментация

Пример из Berkeley Segmentation Dataset:

Оба ответа верные! Задача плохо определена...

Page 5: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Бинарная сегментация

• ...или разбиение на фон/объект

Page 6: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

“Умные ножницы”[Mortensen & Barett, 1995]

aka “magnetic lasso” (Photoshop), “livewire”

Page 7: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

От картинки к графу[Mortensen & Barett, 1995]

Page 8: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Выбор весов для графа[Mortensen & Barett, 1995]

Page 9: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Выбор весов для графа [Mortensen & Barett, 1995]

Page 10: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Сегментация кратчайшими путями[Mortensen & Barett, 1995]

Граница = цепь кратчайших путей

Page 11: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

“Умные ножницы”[Mortensen & Barett, 1995]

images from [Mortensen&Barett,1999]

Page 12: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Seam Carving: изменение размера[Avidan & Shamir, 2007]

Page 13: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Seam Carving[Avidan & Shamir, 2007]

Page 14: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Стереопары

from Agnes Svoboda Morris collection

Page 15: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Стереосопоставление

Тестовая стереопара(University of Tsukuba)

Карта смещений

Page 16: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Немного геометрии

b

b

h

f

d

Глубина 1/Смещение

Page 17: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Стерео: локальный подход

Page 18: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Стерео: локальный подход

Результаты

Page 19: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Сканлайн

Stereopair from Middlebury stereo webpage

Page 20: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

От стерео к кратчайшим путям

пиксель

смещ

ен

ие

λ

λ

λ

λ

λ

+∞

Page 21: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Стерео и энергии

Построили алгоритм для:

Хотим:

Page 22: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Новая конструкция графа

пиксель

смещ

ен

ие

+λ+0

Page 23: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

РезультатыGround truth:Оптимизация вдоль сканлайна

Page 24: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Динамическое программирование

Page 25: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Динамическое программирование

Page 26: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Передача сообщений

Page 27: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Передача сообщений

Page 28: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Передача сообщений

Док-во: индукция

Page 29: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Передача сообщений

Page 30: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Распространение сообщений

Вывод: распространение сообщений находит минимум энергии – в отсутствии «ничьих» просто берем оптимальное dt в каждой вершине.

Page 31: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Стоимость передачи сообщения

Задача: сколько операций надо для подсчета сообщения в нашем случае

Ответ: O(D). Вся оптимизация требует O(WD) – быстрее, чем «наивный» кратчайший путь

А в этих случаях?:

Page 32: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Что получилось

Ground truth:Оптимизация вдоль сканлайна

Проблема: сканлайны друг с другом не связаны

Page 33: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

От строк к дереву[Veksler, 2005]

Page 34: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Выбор дерева

Перепады цвета коррелируют с

перепадами глубины

Минимальное остовное дерево!

Page 35: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

От строк к дереву[Veksler, 2005]

Page 36: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

От строк к дереву

Page 37: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Динамическое программирование

t

t

Page 38: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Передача сообщений

t

i i

Page 39: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Передача сообщений

t

Доказательство: 1. Назначить t корнем2. Провести индукцию от листьев

Page 40: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Пересылка сообщений: расписание

Сложность: всего O(ED) !

Page 41: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Pictorial structures[Felzenszwalb Huttenlocker 05]

Обучается на тренировочных данных

Image from BioID/FGNet dataset

2

Page 42: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Pictorial structures

Угол правой брови Левая ноздря

2

Page 43: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Pictorial structuresНезависимый поиск точек Pictorial structure result

Квадратичная функция

Идея [Felzenszwalb&Huttenlocher 05]: как быстро передать сообщение

Page 44: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Обобщаем дальше?

Хотим:

Page 45: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Динамическое программирование?

t

Page 46: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Пересылка сообщений

[Pearl 1988]: “Loopy Belief Propagation”

• Сообщения передаются много раундов

• Эвристика: нет гарантий на сходимость/близость к минимуму

• Результат зависит от расписания/инициализации

• Эмпирически, часто дает очень хороший результат

Page 47: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Полная модель: результат

Page 48: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Увеличение разрешения[Freeman,Paztor,Carmichael,Jones 2000]

Средние частоты Высокие частоты = ?

Page 49: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Увеличение разрешения [Freeman,Paztor,Carmichael,Jones 2000]

Page 50: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Увеличение разрешения [Freeman,Paztor,Carmichael,Jones 2000]

Page 51: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Увеличение разрешения [Freeman,Paztor,Carmichael 2000]

Page 52: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Увеличение разрешения [Freeman,Paztor,Carmichael,Jones 2000]

Page 53: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Минимальный st-разрез на графе[Ford and Fulkerson 60]

1

25

На входе: ориентированный граф с выделенными истоком и стоком (сеть) + веса дуг ≥ 0.

На выходе: ST-разрез на графе с минимальным весом.

S

T• Экспоненциальное количество разрезов.• Полиномиальное время поиска.

Page 54: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Сканлайн: напоминание

пиксель

смещ

ен

ие

λ

λ

λ

λ

λ

+∞

Page 55: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Двойственный графs

t

U t(d t)

+∞

λ

λ

Page 56: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Оптимизация с помощью разрезаs

t

пиксель

смещ

ен

ие

Page 57: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Оптимизация с помощью разреза

s

t

s

t

Page 58: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Стерео с помощью разреза[Roy&Cox 1998, Ishikawa&Geiger 1998]

Page 59: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Стерео с помощью разреза[Roy&Cox 1998]

Page 60: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Стерео с помощью разреза[Roy&Cox 1998]

Image from[Roy, 2002]

• Обобщение на несколько изображений• ... но снятых с «одной и той же стороны»

Page 61: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

«Всесторонняя» реконструкция

• Трехмерные данные (напр. лазерные сканы)

• Наборы фотографий

Предполагается наличие регистрации и ограничивающего объема

?

Page 62: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Энергетический подход к геометрической реконструкции

?

• Конструируется пространство «всех» поверхностей

• Вводится функционал-энергия на пространстве поверхностей

• Энергия = соответствие данным + регуляризация

• Результат реконструкции – минимум функционала

Page 63: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Фотосостоятельность

• Фотосостоятельность: Точка, лежащая на поверхности, имеет схожие цвета проекции• Закрытия: невидимые точки не подчиняются фотосостоятельностиТочная видимость неизвестна

=> нужны приближенные оценки

закрытие

X

Page 64: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Ориентированная фотосостоятельность[Lempitsky, Boykov, Ivanov 2006]

0.3

0.6

0.1

0

0

0

0

dS(X, n)

Page 65: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Энергия

?

«объект на плоскости»U(X)=-∞

U(X

)=+

U(X) может быть:• равномерным• учитывающим силуэты• учитывающим жесткие условия:

общая фотосостоятельность

Page 66: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Дискретная глобальная оптимизация

Пространство «всех»

поверхностей

Конечное подмножество

Page 67: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Выбор дискретного множества

Вывод: недостаточно плотный набор ориентаций

Очевидный выбор: воксельный подход.

Истинный глобальный минимум

Ближайшая поверхность

Увеличение

Плохая аппроксимация !

Цель: выбрать достаточно плотное множество

Page 68: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Дискретизация функционала

Лучшая дискретизация в 2D случае:

• Каждый воксель разбивается на 24 тетраэдра

• Дискретное множество = поверхности из тетраэдров

• 18 ориентаций поверхности (вместо 6)

Аналогичная дискретизация в 3D случае:

Разбиение вокселя

Page 69: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Функционал на дискретном множестве

Функционал находится как сумма весов граней и весов клеток

Page 70: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Сведение к разрезу на графе

T

S

Вес клетки

0

Вес грани

Вес грани

Вес клетки

0

Вес разреза = значение энергии

Минимальный разрез Глобальный минимум энергии

“Внутри” “Снаружи”

Page 71: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Реконструкция: пример[Lempitsky,Boykov,Ivanov 2006]

3 из 16 изображенийРезультат реконструкции (U(x) использует жесткие условия):

Page 72: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Улучшенный U(x) [Boykov,Lempitsky 2006]

Page 73: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Формула Коши-Крофтона(slide from Yuri Boykov)

C

ddnC L21||||Евклидова длина C :

количество пересечений

2

0

Пространство прямых

CL

Множество прямых,пересекающих C

Page 74: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Стоимость разреза аппроксимирует длину (slide from

Yuri Boykov)

C

k

kkknC 21||||

Евклидова длина

2kk

kw

gcC ||||

Вес ребра в графе:

Количество пересеченных граней C

Page 75: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

«Гео-разрез»[Boykov&Kolmogorov 2003]

wS

wT

B

S

T

Можно заменить на риманову метрику

Page 76: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

На входе: точки поверхности с грубыми оценками нормалей

Сложности: шумы, выбросы, пропуски, ошибки регистрации

На выходе: поверхность (треугольная сетка)

Скан 1

Скан 2

Реконструкция по 3Д сканам

Page 77: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

От точек к функционалу[Lempitsky,Boykov 2007]

• Неопределенность моделируется векторным полем

• Минимизация потока «притягивает»

поверхность к точке:

Ф

AnA

Page 78: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Формулировка энергии [Lempitsky,Boykov 2007]

Ф

Ф

Ф

Ф

Ф

Энергия = сумма потоков векторных полей + регуляризация

или

Page 79: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Энергия (пример)

Срез ограничивающего объема, цвет соответствует дивергенции

Page 80: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Поверхность георазреза

Размер сетки: 551x544x428

[Lempitsky, Boykov 07]:Как использовать особенности графа, чтобы посчитать поток

Page 81: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Пример 2

Page 82: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Реализация энергии на графе

s (1)

t (0)

≥ 0

≥ 0

≥ 0

Page 83: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Сегментация с помощью разреза[Boykov & Jolly ‘01]

Page 84: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

объект

фон

«Кистевой» интерфейс[Boykov & Jolly ‘01]

Page 85: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Сегментация с помощью разреза [Boykov & Jolly ‘01]

Парные члены:• Перепады цвета

Унарные члены:• Кисти• Вероятностная модель

S

T

объект

xp=1

фон

xp=0

Page 86: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Пример сегментацииВидео из [Boykov, Kolmogorov, 2003]

http://www.csd.uwo.ca/~yuri/Images/Segm/bone.avi

Page 87: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Реализация более общих энергий[Kolmogorov & Zabih 2004]

≥ 0

≥ 0

≥ 0

A A

A A

0 0

C-A C-A

0 D-C

0 D-C

0 B+C-A-D

0 0

= ?

A =Vpq(0,0) B = Vpq(0,1)

C = Vpq(1,0) D = Vpq(1,1)

xp = 0

xp = 1

xq = 0 xq = 1

Достаточное условие:

xq xp

Page 88: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

α-Расширение [Boykov, Veksler, Zabih, 1998](слайд Юрия Бойкова)

начальное решение

-расширение

-расширение

-расширение

-расширение

-расширение

-расширение

-расширение

Каждый шаг – бинарная оптимизация

Page 89: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

α-Расширение [Boykov, Veksler, Zabih, 1998]

Page 90: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

α-Расширение [Boykov, Veksler, Zabih, 1998]

• Гарантии на сходимость• Гарантии на близость к глобальному минимуму• На практике быстрее и аккуратнее передачи сообщений

Page 91: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Сравнение моделей/методов

100.15%110.20%

Resu

lts

from

Mid

dle

bury

bench

mark

pages

α-расширение

Page 92: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Сшивка изображений[Agarwala et al. 2004]

Page 93: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Сшивка изображений с помощью α-расширений [Agarwala et al. 2004]

Page 94: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Related work and Resources(including those used to prepare the slides)

Berkeley Segmentation Dataset, http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/

Eric N. Mortensen, William A. Barrett: Intelligent scissors for image composition. SIGGRAPH 1995: 191-198

Eric N. Mortensen, William A. Barrett: Interactive Segmentation with Intelligent Scissors. Graphical Models and Image Processing 60(5): 349-384 (1998)

Shai Avidan, Ariel Shamir: Seam carving for content-aware image resizing. ACM Trans. Graph. 26(3): 10 (2007)

Middlebury stereo page, http://vision.middlebury.edu/stereo/

Daniel Scharstein, Richard Szeliski: A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms. International Journal of Computer Vision 47(1-3): 7-42 (2002)

Olga Veksler: Stereo Correspondence by Dynamic Programming on a Tree. CVPR (2) 2005: 384-390

Page 95: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Related work and Resources(including those used to prepare the slides)

BioID dataset, http://www.bioid.com/support/downloads/software/bioid-face-database.html

F. Felzenszwalb, Daniel P. Huttenlocher: Pictorial Structures for Object Recognition. International Journal of Computer Vision 61(1): 55-79 (2005)

Pearl, J. Probabilistic Reasoning in Intelligent Systems, San Mateo: Morgan Kaufmann, 1988

Middlebury MRF page, http://vision.middlebury.edu/MRF/

Richard Szeliski, Ramin Zabih, Daniel Scharstein, Olga Veksler, Vladimir Kolmogorov, Aseem Agarwala, Marshall F. Tappen, Carsten Rother: A Comparative Study of Energy Minimization Methods for Markov Random Fields. ECCV (2) 2006: 16-29

William T. Freeman, Egon C. Pasztor, Owen T. Carmichael: Learning Low-Level Vision. International Journal of Computer Vision 40(1): 25-47 (2000)

William T. Freeman, Thouis R. Jones, and Egon C. Pasztor, Example-based super-resolution, IEEE Computer Graphics and Applications, March/April, 2002

Page 96: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Related work and Resources(including those used to prepare the slides)

Ford, L. R.; Fulkerson, D. R. (1956). "Maximal flow through a network". Canadian Journal of Mathematics 8: 399–404.

Yuri Boykov, Vladimir Kolmogorov: An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision. IEEE Trans. Pattern Anal. Mach. Intell. 26(9): 1124-1137 (2004)Graph Cut code: http://www.cs.ucl.ac.uk/staff/V.Kolmogorov/software.html

Sébastien Roy, Ingemar J. Cox: A Maximum-Flow Formulation of the N-Camera Stereo Correspondence Problem. ICCV 1998: 492-502

Hiroshi Ishikawa, Davi Geiger: Occlusions, Discontinuities, and Epipolar Lines in Stereo. ECCV (1) 1998: 232-248

Victor S. Lempitsky, Yuri Boykov, Denis V. Ivanov: Oriented Visibility for Multiview Reconstruction. ECCV (3) 2006: 226-238

Yuri Boykov and Victor Lempitsky: Form Photohulls to Photoflux Optimization. BMVC, Edinburgh, 2006

Page 97: Оптимизация энергии в задачах компьютерного зрения и алгоритмы на графах

Related work and Resources(including those used to prepare the slides)

Victor S. Lempitsky, Yuri Boykov: Global Optimization for Shape Fitting. CVPR 2007

The Stanford 3D scanning repository, http://graphics.stanford.edu/data/3Dscanrep/

Yuri Boykov, Marie-Pierre Jolly: Demonstration of Segmentation with Interactive Graph Cuts. ICCV 2001: 741

Vladimir Kolmogorov, Ramin Zabih: What Energy Functions Can Be Minimized via Graph Cuts? IEEE Trans. Pattern Anal. Mach. Intell. 26(2): 147-159 (2004)

Yuri Boykov, Olga Veksler, Ramin Zabih: Fast Approximate Energy Minimization via Graph Cuts. IEEE Trans. Pattern Anal. Mach. Intell. 23(11): 1222-1239 (2001)

ECCV 2006 Tutorial on Graph Cuts versus Level Sets: http://www.csd.uwo.ca/~yuri/Abstracts/eccv06-tutorial.html

Aseem Agarwala, Mira Dontcheva, Maneesh Agrawala, Steven M. Drucker, Alex Colburn, Brian Curless, David Salesin, Michael F. Cohen: Interactive digital photomontage. ACM Trans. Graph. 23(3): 294-302 (2004)