progressive cut: description and conceptual implementation

27
Progressive Cut Андрей Кошманский

Upload: -

Post on 21-Mar-2017

97 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Progressive Cut: Description and Conceptual Implementation

Progressive Cut

Андрей Кошманский

Page 2: Progressive Cut: Description and Conceptual Implementation

Метод позволяет выделить желаемый объект на фоне

•  Пользователь отмечает штрихами объект и фон

•  После добавления штрихов алгоритм выделяет фон и объект

•  Пользователь уточняет объект и фон новыми штрихами

Page 3: Progressive Cut: Description and Conceptual Implementation

Метод позволяет выделить желаемый объект на фоне

Page 4: Progressive Cut: Description and Conceptual Implementation

Прародителем метода Progressive Cut является Graph Cut

•  Медленнее работает

•  Не рассматривает пользовательское намерение

•  Хуже сегментирует объект

Page 5: Progressive Cut: Description and Conceptual Implementation

В сегментации важно учитывать расположение штрихов

Первые штрихи Ошибки алгоритма Исправления пользователей

Page 6: Progressive Cut: Description and Conceptual Implementation

Progressive Cut превзошёл в эффективности Graph Cut

•  Не рассматривает «неинтересные» пользователю области

•  Учитывает расположение штрихов

•  Быстрее и точнее работает

Page 7: Progressive Cut: Description and Conceptual Implementation

Одна итерация Progressive Cut работает следующим образом

Строим уменьшенный граф Маркируем узлы (фон/объект) Считаем энергию

Минимизируем энергию

Page 8: Progressive Cut: Description and Conceptual Implementation

Уменьшенный граф исключает из рассмотрения «неинтересные» узлы

Результат сегментации на n-ном шаге Добавляем объектный штрихИсключаем

уже определенную часть объекта

Page 9: Progressive Cut: Description and Conceptual Implementation

Энергия – это «штрафы» за неправильное выделение объекта

Еполная = αЕцвета + βЕконтрастности + (1-α-β)Енамерения

Page 10: Progressive Cut: Description and Conceptual Implementation

Цветовой терм «штрафует» за несоответствие цвету штриха

Page 11: Progressive Cut: Description and Conceptual Implementation

Цветовой терм считается по формулам

- суммируются энергии всех узлов уменьшенного графа

- для каждого узла определяется соответствие цвету штриха

-  если точка пересечения штриха и изображения имеет один и тот же тип, «штраф» минимален

Page 12: Progressive Cut: Description and Conceptual Implementation

Нас интересуют только точки уменьшенного графа

Коэффициент доверия терму цвета

Все узлы уменьшенного графа

Текущая точка для вычисления

Page 13: Progressive Cut: Description and Conceptual Implementation

Соответствие цвета узла цвету штриха объектного (фонового) типа

Цвет текущего узла

Ковариационная матрица

Среднее значение

Вес компонентыКоличество компонентгауссовской смеси

Некоторая функция

Page 14: Progressive Cut: Description and Conceptual Implementation

Соответствие цвета узла цвету штриха объектного (фонового) типа

Цвет текущего узла

Ковариационная матрица

Среднее значение

Вес компонентыКоличество компонентгауссовской смеси

Некоторая функция?

??

?

Page 15: Progressive Cut: Description and Conceptual Implementation

Соответствие цвета определяется гауссовской функцией

Цвет текущего узлаДисперсия цвета штриха (стандартное отклонение?)

Среднее значение цвета штриха

Page 16: Progressive Cut: Description and Conceptual Implementation

Большие значения соответствуют большему совпадению

•  Если средняя интенсивность = 150

•  Дисперсия = 20

Page 17: Progressive Cut: Description and Conceptual Implementation

«Штрафуем» точки, не соответствующие по цвету штриху своего типа

Page 18: Progressive Cut: Description and Conceptual Implementation

Чем могут являться компоненты гауссовской смеси?

Цвет текущего узла

Ковариационная матрица

Среднее значение

Вес компонентыКоличество компонентгауссовской смеси

Некоторая функция

? ?

Page 19: Progressive Cut: Description and Conceptual Implementation

Терм контрастности «штрафует» за резкие цветовые переходы в смежных узлах

X V

Page 20: Progressive Cut: Description and Conceptual Implementation

Больше разница цветов – больше «штраф»

- интересуют все смежные точки уменьшенного графа

- рассматриваются только смежные точки разных маркировок

Page 21: Progressive Cut: Description and Conceptual Implementation

Терм пользовательского намерения «штрафует» за отдаленность от штриха

X

Page 22: Progressive Cut: Description and Conceptual Implementation

Слишком удалённые от штриха пиксели вряд ли имеют к нему отношение

- разница между маркировками текущей и предыдущей итераций

- расстояние между текущей точкой и точкой штриха

- все точки штриха

- все узлы ум. графа, имевшие противоположную штриху маркировку на пред. ит.

- параметр: чем больше, тем меньше «штраф» за расстояние

Page 23: Progressive Cut: Description and Conceptual Implementation

Итак, мы умеем:

•  Строить уменьшенный граф изображения

•  Считать для него энергию

•  … но как её минимизировать?

Page 24: Progressive Cut: Description and Conceptual Implementation

Для минимизации энергии можно использовать

•  Алгоритм Форда-Фалкерсона

•  Алгоритм Эдмондса-Карпа

•  Иные алгоритмы нахождения максимального потока

Page 25: Progressive Cut: Description and Conceptual Implementation

Примерная реализация заключается в следующем

1.  Делим изображение на 2 части

2.  Заполняем разными маркировками и сравниваем

3.  При отсутствии улучшений завершаем вычислительную ветку

4.  Если есть улучшение – оставляем лучший вариант маркировки, переходим к [1] рекурсивно

5.  Останавливаем ветку, если больше делить нельзя

Page 26: Progressive Cut: Description and Conceptual Implementation

Средняя скорость работы Progressive Cut – 0.14 с*

*при примерном размере картинки в 500х500 точек

Page 27: Progressive Cut: Description and Conceptual Implementation

Для подготовки использовались публикации

1.  Progressive Cut (Chao Wang): https://www.researchgate.net/publication/221571580_Progressive_cut

2.  Fast Approximate Energy Minimization via Graph Cuts (Yuri Boykov, Olga Veksler, Ramin Zabih):http://www.cs.cornell.edu/rdz/papers/bvz-iccv99.pdf