Uploaded by Павел Захаров

cv2012 14 segmentation

advertisement
Сегментация изображений
Антон Конушин
Спонсорская поддержка
Этот курс
подготовлен и
читается при
поддержке
Из чего состоит изображение?
Slide by Alexey Efros
Из отдельных объектов
Каждый объект занимает какую-то область на изображении (фрагмент
изображения)
Slide by Alexey Efros
Сегментация
• Сегментация изображения - это разделение
изображение на области (фрагменты),
однородные по некоторому критерию
• Варианты сегментации:
• Разбиение на неперекрывающиеся области (тесселяция)
• Разбиение на перекрывающиеся области
• Иерархическое разбиение (каждый фрагмент одного
уровня разбивается на несколько отдельных
фрагментов)
Критерии для объектов
Пример выделенного
(сегментированного)
человека на
изображении
•
Разные области одного объекта существенно отличаются друг от
друга по признакам (яркости, цвету, текстуре)
•
Единственное, что у них общее – это «семантика»
•
Поэтому задача сегментации изображения тесно связана с задачей
распознавания
Распознавание и сегментация
Машины
лица
пешеходы
Schneiderman & Kanade ‘00
Мы рассматривали
методы выделения
объектов на основе
скользящего окна
Viola & Jones ‘04
Schneiderman & Kanade ‘00
Скользящее окно – это
вид сегментации!
Dalal & Triggs ‘05
Ferrari et al ‘07
Slide by Alexey Efros
Ограничения скользящего окна
Slide by Alexey Efros
Пространственная поддержка
модель
• Хотим построить модель пикселов объекта (лица)
• Пространственная поддержка (Spatial Support)
– Область, по которой вычисляются признаки изображения
при распознавании
– Вопрос: какие пиксели учитывать?
• Алгоритм распознавания
– Вопрос: какие признаки вычислять и какую модель
использовать?
Вторую задачу решить проще, если решена первая
Slide by Alexey Efros
Насколько важна поддержка?
Classify
Эталонная разметка
Сравним подходы
Classify
Ограничивающий
прямоугольник
Slide by Alexey Efros
Насколько важна поддержка?
База MSRC: 591 картинок 23 класса объектов +
Попиксельные маски объектов
Slide by Alexey Efros
Насколько важна поддержка?
Признаки
*
Классификатор
Boosted Decision Tree*
D. Hoiem, A.A. Efros, and M. Hebert Geometric Context from a Single Image ICCV 2005.
Насколько важна поддержка?
0.655
0.765
Для большинства объектов выбор правильной области для
пространственной поддержки повышает качество распознавания
Сегментация и распознавание
• Распознавать объект проще,
если правильно выделена
область
• Область можно выделить, если
объект распознан
• С чего начинать?
• Предлагается начинать с низкоуровневой
сегментации, т.е. без использования
распознавания
Подход
Изображение
Сегментация
Распознавание
?
• Предлагается начинать с низкоуровневой
сегментации (тесселяции), т.е. без использования
распознавания
• Мы будем рассматривать как раз те алгоритмы
сегментации, которые используются как
предобработка перед дальнейшим анализом
Source by Alexey Efros
Суперпиксели
• «Суперпиксели»
• Суперпиксельная сегментация или пересегментация
• Фрагменты изображения, которые:
• Равномерно распределенные по изображению
• Компактные, примерно одного размера
• Границы сегментов должны соответствовать границам
объектов
• Достаточно большие, чтобы они были информативные
• Небольшие объекты не должны быть частью сегмента, а
описываться своим сегментом
Методы к рассмотрению
•
Края и области
• Pb-детектор краёв
•
Эвристические методы
•
•
•
•
•
Разрастание регионов (Region growing)
Разделения и слияния регионов (Split & Merge)
Водораздел (Watershed)
Эффективный метод на графах
Кластеризация
• K-средних
• Сдвиг среднего (Mean shift) и развитие
•
Энергетические методы
• Snakes
• Методы уровня
• ТурбоПиксели (TurboPixels)
Сегментация и границы
изображение
ручная разметка
сила градиента
Вспомним про оценку градиента и детектор краёв Canny
Berkeley segmentation database:
http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/
Ограничения градиента для краев
Границы – не обязательно пиксели с большим градиентом
интенсивности, но и просто границы областей, отличающихся по цвету,
текстуре и другим характеристикам изображения
Source: Martin et al. 2003
«Простые клетки» V1
•
Вспомним: в первичной визуальной коре
головного мозга есть клетки,
чувствительные к краям определенной
ориентации
•
Для каждой области есть набор таких
клеток, чувствительные к краям разной
ориентации
Модель текстуры
• «Биологически возможная»
модель
• Банк фильтров + отсечение по
порогу + усреднение по региону
• Разные области отличаются по
откликам разных фильтров из
банка
Ввод
После 1 этапа
После 2 этапа
Выход
Image source: Landy & Graham (2004)
«Текстоны» (Textons)
•
•
•
Вспомним «визуальные словари»
Также можно построить и словарь
«текстурных элементов» (текстонов)
Алгоритм:
•
•
•
Пример банка из 13 фильтров
Для каждого пикселя вычислим отклики по
банку фильтров (вектор-признак)
Составим обучающую выборку векторовпризнаков
Кластеризуем k-cредними
– K центров кластеров - «Текстоны»
– Вместе они образуют словарь
•
•
Теперь каждому пикселю изображения мы
можем сопоставить номер текстона из словаря
Получили новые признаки:
•
•
Номер текстона для каждого пикселя
Гистограмму частот текстонов для окрестности
пикселя
Часть текстонов из словаря
J. Malik, S. Belongie, T. Leung, and J. Shi, “Contour and Texture Analysis for Image
Segmentation,” IJCV 2001
Пример карты текстонов
Изображение
Карта текстонов
Текстуру фрагмента изображения можно описать гистограмой
частот текстонов (похоже на «мешок слов»)
Pb-детектор
• Недостаточно находить градиент
изображения
• Идея – обучить классификатор
граница / не граница
• Будем использовать разные
признаки:
• Яркость
• Цвет
• Текстура
• «Probability boundary» (Pb)
детектор
D. Martin, C. Fowlkes, and J. Malik. Learning to detect natural image boundaries using
local brightness, color, and texture cues. PAMI 2004.
Схема Pb-детектора
• Берём круг с центром в исследуемом
пикселе
• Выбираем ориентацию края
• Считаем градиент между признаками в
левой и правой половине круга
• Обучаем классификатор края
• Требуется размеченная коллекция
изображений
D. Martin, C. Fowlkes, and J. Malik. Learning to detect natural image boundaries using
local brightness, color, and texture cues. PAMI 2004.
Результат Pb-детектора
Photo
Canny
Pb-detector
Human
Pb-детектор часто используется при сегментации изображения для
подтверждения наличия границы!
Методы к рассмотрению
•
Края и области
• Pb-детектор краёв
•
Эвристические методы
•
•
•
•
•
Разрастание регионов (Region growing)
Разделения и слияния регионов (Split & Merge)
Водораздел (Watershed)
Эффективный метод на графах
Кластеризация
• K-средних
• Сдвиг среднего (Mean shift) и развитие
•
Энергетические методы
• Snakes
• Методы уровня
• ТурбоПиксели (TurboPixels)
Разрастание регионов
• Region growing
• Простая идея – начиная с некоторого “семени”
обходить пиксели и объединять в области пока
выполняется условие однородности
• Варианты:
• Задаём несколько семян на изображении
• Последовательное сканирование изображения
Критерий однородности области
• Гистограмма содержит не больше 1 значительного
пика
• Отклонение любого пикселя от средней яркости < Tavg
p  S I ( p ) 
1
I ( q)  Tavg

N qS
• Разница между соседними пикселями < Tdiff
p  S , q  N ( p) I ( p)  I (q )  Tdiff
• «Слабая» граница между регионами (только для
слияния) – позже
• И другие критерии (по текстуре, например)
Алгоритм разрастания регионов
Среднее: 1
1
1
1
1
1
1
1
2
Среднее: 1.125
1
1
1
1
1
1
1
0
3
1
4
9
9
8
1
0
1
1
8
8
8
4
1
0
1
1
6
6
6
3
1
0
1
1
5
6
6
3
1
0
1
1
5
6
6
2
1
0
1
1
1
1
1
1
0
0
p  S I ( p ) 
1
N
 I ( q)  
q S
Пример δ = 1
Алгоритм разрастания регионов
p  S I ( p ) 
1
N
 I ( q)  
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
0
3
1
4
9
9
8
1
0
1
1
8
8
8
4
1
0
1
1
6
6
6
3
1
0
1
1
5
6
6
3
1
0
1
1
5
6
6
2
1
0
1
1
1
1
1
1
0
0
q S
p  S I ( p ) 
1
N
 I ( q)  
q S
Пример δ = 1
Последовательное сканирование
Сканируем изображение сверху вниз, слева направо:
1.
if |I(A) – Clavg(B)| > δ and |I(A) – Clavg(C)| > δ создаем новую область, присоединяем к ней пиксел A
2.
if |I(A) – Clavg(B)| ≤ δ xor |I(A) – Clavg(C)| ≤ δ –
добавить A к одной из областей
3.
if |I(A) – Clavg(B)| ≤ δ and |I(A) – Clavg(C)| ≤ δ :
1.
|Clavg(B) - Clavg(C)| ≤ δ –
сливаем области B и C.
2.
|Clavg(B) - Clavg(C)| > δ–
добавляем пиксел A к тому классу, отклонение от
которого минимально.
I(A) – яркост ь пиксела A
Clav g(B) – средняя яркост ь област и к кот орой принадлежит B
Разделение областей
• Схема:
•
•
•
•
Помещаем в стек всё изображение
Берём из стека область
Если неоднородна – разделяем и кладём в стек
Повторять до сходимости
• Часто используется квадро-дерево
S
S1
S3
S21
S22
S23
S24
S4
S1
S21
S2
S3
S22
S23
S4
S24
Алгоритм разбиения (split)
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
0
3
1
4
9
9
8
1
0
1
1
8
8
8
4
1
0
1
1
6
6
6
3
1
0
1
1
5
6
6
3
1
0
1
1
5
6
6
2
1
0
1
1
1
1
1
1
0
0
Пример
Алгоритм разбиения (split)
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
0
3
1
4
9
9
8
1
0
1
1
8
8
8
4
1
0
1
1
6
6
6
3
1
0
1
1
5
6
6
3
1
0
1
1
5
6
6
2
1
0
1
1
1
1
1
1
0
0
Первое разбиение
Алгоритм разбиения (split)
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
0
3
1
4
9
9
8
1
0
1
1
8
8
8
4
1
0
1
1
6
6
6
3
1
0
1
1
5
6
6
3
1
0
1
1
5
6
6
2
1
0
1
1
1
1
1
1
0
0
Второе разбиение
Алгоритм разбиения (split)
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
0
3
1
4
9
9
8
1
0
1
1
8
8
8
4
1
0
1
1
6
6
6
3
1
0
1
1
5
6
6
3
1
0
1
1
5
6
6
2
1
0
1
1
1
1
1
1
0
0
Третье разбиение
Алгоритм разбиения и слияния
• «Split & Merge»
• Сначала провести разбиение на небольшие
однородные области
• Обычно используется принцип квадро дерева
• Затем слить между собой те из них, которые
вместе не нарушат требование однородности
• Продолжать до тех пор, пока остаются регионы
которые можно объединить
Split & Merge
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
0
3
1
4
9
9
8
1
0
1
1
8
8
8
4
1
0
1
1
6
6
6
3
1
0
1
1
5
6
6
3
1
0
1
1
5
6
6
2
1
0
1
1
1
1
1
1
0
0
Слияние
Алгоритм разбиения/слияния
(split and merge)
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
0
3
1
4
9
9
8
1
0
1
1
8
8
8
4
1
0
1
1
6
6
6
3
1
0
1
1
5
6
6
3
1
0
1
1
5
6
6
2
1
0
1
1
1
1
1
1
0
0
Результат
Сравним с разрастанием регионов
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
3
1
4
9
9
8
1
0
3
1
4
9
9
8
1
0
1
1
8
8
8
4
1
0
1
1
8
8
8
4
1
0
1
1
6
6
6
3
1
0
1
1
6
6
6
3
1
0
1
1
5
6
6
3
1
0
1
1
5
6
6
3
1
0
1
1
5
6
6
2
1
0
1
1
5
6
6
2
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
Результат
Алгоритм водораздела
•
•
Изображение в градация серого можно интерпретировать
как карту высот
«Будем лить воду на каждый пиксел и смотреть, куда она
стекает» (ищем «стоки»)
• Область водораздела, бассейн (catchment basin):
множество пикселов, поток из которых «стекает» к
одной общей точке («стоку»)
•
Можем вычислить градиент изображения для получения
изображения в градациях серого
Слева – профиль интенсивностей изображения, справа –
локальные минимумы определяют бассейны, локальные
максимумы – линии водораздела.
Пример алгоритма водораздела
•
•
•
Из каждого пикселя
«спускаемся» в
локальный минимум
среди его соседей
Спускаемся до тех пор,
пока есть куда спускаться
Пиксели «спустившиеся»
в один минимум – одна
область
58
46
50
64
80
88
99
108
80
63
68
106
137
164
185
202
55
113
152
179
202
217
225
227
147
180
199
208
209
202
191
177
192
204
202
190
169
145
122
96
194
186
167
140
109
83
56
63
177
154
124
91
54
41
95
136
159
131
104
81
56
94
142
178
Резюме водораздела
•
Алгоритм даёт карту пересегментации (суперпиксели)
• Очень чувствителен к шуму – ищет все локальные минимумы
• Может потребоваться постобработка (слияние)
• Подход до сих пор исследуется, предлагаются другие
алгоритмы на основе той же идеи
Абс. величина
градиента
Результат по
данному
градиенту
Градиент < 10
обращен в 0
«Эффективный метод»
• Идея: разница в интенсивности вдоль границы
между областями должна быть существенной по
сравнению с колебаниями интенсивности внутри
одной из областей
P. Felzenszwalb and D. Huttenlocher. Efficient graph-based image
segmentation. IJCV, 59(2):167–181, 2004.
Представление в виде графа
• Изображение превращается во взвешенный
неориентированный граф G = (V,E)
• Вершины графа V – пиксели изображения
• Ребра E – связи между соседними пикселями
• Вес ребер пропорционален «похожести» пикселей
ребра
• Похожесть будем вычислять по яркости (хотя можем
использовать и другие признаки – цвет, текстуру)
MST
•
Построим Minimum Spanning Tree (MST) – минимальное
остовное дерево
• Дерево, которое содержит все вершины графа, сумма весов ребёр
которого минимальна
•
MST для связанной компоненты (сегмента) содержит ребра,
обеспечивающие наибольшую «похожесть» пикселов в
компоненте
Формализация
•
«Внутренняя разница» в компоненте C:
где
- вес ребра (мера
различия двух пикселов)
•
Разница между областями:
•
Предикат присутствия границы между областями:
где MInt – минимальные колебания интенсивности по областям
и регуляризационный параметр
где |C| - размер области, k – коэффициент регуляризации
Алгоритм
• Схема «слияния регионов», но с учётом
выбранных функций слияния:
• Сортируем все ребра по возрастанию веса
• Инициализируем сегментацию максимальным разбиением
– у каждого пиксела своя компонента
• Проходим по списку всех ребер (i,j)
– Пусть Сi, Cj – компоненты, которым принадлежат вершины i,j
– Тогда если не выполняется D(Ci,Cj), тогда объединяем Ci и
Cj
• Доказывается, что алгоритм оптимален:
• сегментация не слишком точная (для всех пар областей
выполняется предикат наличия границы)
• сегментация не слишком грубая (нет разбиения, которое
было бы не слишком точным)
Результат
Сложность метода O(NlogN)
Методы к рассмотрению
•
Края и области
• Pb-детектор краёв
•
Эвристические методы
•
•
•
•
•
Разрастание регионов (Region growing)
Разделения и слияния регионов (Split & Merge)
Водораздел (Watershed)
Эффективный метод на графах
Кластеризация
• K-средних
• Сдвиг среднего (Mean shift) и развитие
•
Энергетические методы
• Snakes
• Методы уровня
• ТурбоПиксели (TurboPixels)
Общая идея подхода
• Перейдём от регулярной структуры изображения
просто к множеству векторов-признаков
• Отображение во многомерное пространство признаков
• Применим какой-нибудь метод кластеризации к
данным в пространстве признаков
• Методы:
• K-средних
• MeanShift – сдвиг среднего
• QuickShift – «быстрый» вариант сдвига среднего
K-cредних
Исходное изображение
Кластеры по яркости
Кластеры по цвету
Можем использовать цвет (тогда, фактически, квантование по цвету),
можно использовать и любые другие признаки
Cдвиг среднего (mean shift)
•
Идея - центры кластеров соответствуют локальным максимумам
плотности распределения данных
Плотность распределения
Выборка
Comaniciu, Dorin; Peter Meer "Mean Shift: A Robust Approach Toward Feature
Space Analysis". IEEE Transactions on Pattern Analysis and Machine Intelligence
(IEEE), 24 (5): 603–619. 2002,
Метод сдвига среднего: общая идея
Область
рассмотрения
Центр масс
Вектор сдвига
среднего
Цель : Найти области высокой концентрации точек
Метод сдвига среднего: общая идея
Область
рассмотрения
Центр масс
Вектор сдвига
среднего
Цель : Найти области высокой концентрации точек
Метод сдвига среднего: общая идея
Область
рассмотрения
Центр масс
Вектор сдвига
среднего
Цель : Найти области высокой концентрации точек
Метод сдвига среднего: общая идея
Область
рассмотрения
Центр масс
Вектор сдвига
среднего
Цель : Найти области высокой концентрации точек
Метод сдвига среднего: общая идея
Область
рассмотрения
Центр масс
Вектор сдвига
среднего
Цель : Найти области высокой концентрации точек
Метод сдвига среднего: общая идея
Область
рассмотрения
Центр масс
Вектор сдвига
среднего
Цель : Найти области высокой концентрации точек
Метод сдвига среднего: общая идея
Область
рассмотрения
Центр масс
Цель : Найти области высокой концентрации точек
Непараметрическая оценка плотности
Непараметрическое
оценивание градиента
плотности распределения
Ядровые методы (Kernel methods)
• Ядровые методы для оценивания плотности (Окна Парзена):
1 n
P( x)   K ( x - xi )
n i 1
Свойства ядровых функций:
• нормализация
Функция конечного числа точек из выборки
x1…xn

K ( x)d x  1
Rd
• Симметрия
 xK (x) dx  0
Rd
• Экспоненциальное
убывание веса с расстоянием
до точки
d
lim x K ( x)  0
x 
данные
Ядровые функции
1 n
P( x)   K ( x - xi )
n i 1
Функция конечного числа точек из выборки
x1…xn
Примеры:

 c 1  x
• Epanechnikov Kernel K E ( x)  
 0
2

x 1
otherwise
• Uniform Kernel
c
x 1
KU (x )  
 0 otherwise
• Normal Kernel
 1 2
K N ( x)  c  exp   x 
 2

данные
Сдвиг среднего
• Возьмём градиент от оценки плотности распределения:
1 n
P( x)   K (x - xi )
n i 1
Рассмотрим
функцию ядра:
градиент :
Не будем оценивать плотностьоценим градиент плотности
 x - xi
K (x - x i )  ck 
 h

2



g ( x)  k ' ( x)
2
x  xi
g i  k ' (
)
h
Размер окна
 n

x
g
i i

c n
c n

 P ( x )    k i     g i   i  1n
 x
n i 1
n  i 1


gi

 i  1

Вычисление сдвига среднего
c
 P (x) 
n
n

i1
c  n

 k i   g i 
n  i 1

Сдвиг
среднего
Простая процедура сдвига среднего:
• Вычислим вектор сдвига среднего
 n

 x - xi 2 
  xi g 


 h 
 i1

  x
m (x )  

2
n


x
x


i
g





 h 

 i1 

•Переместим окно на вектор m(x)
 n

  xi g i

i1
 n
 x


gi

 i 1

Вычисление мод распределения
Вычисление мод распределения
Кластеризация
•
Кластер: точки, сдвиг среднего для которых приводит к одной и
той же моде распределения
•
Сложность метода O ( dN T ) , где d – размерность вектора,
N – число точек во множестве, T – число итераций алгоритма. dT
<< N
2
Примеры
Простые данные
Более сложные данные
Применение для изображений
Кластеризация по цвету:
Точки в пространстве L*u*v
Применение для изображений
Точки в
пространстве
(L*u)
Полученные
кластеры
Сегментация по цвету
Сегментация по цвету
Резюме сдвига среднего
Плюсы :
Минусы :
+ Не делается предположений о
форме кластеров и форме
распределения
– Выбор параметров ядровой
функции нетривиален
+ Число кластеров определяется
автоматически
– От них очень сильно зависит
результат сегментации
QuickShift
•
•
•
MedoidShfit Пусть наши траектории будут проходит только через точки
выборки
QuickShift – найдём для каждой точки ближайшего соседа, у которого
плотность P больше
Фактически, объединим все точки в дерево. Затем будем «рвать» самые
длинные рёбра
A. Vedaldi and S. Soatto. Quick shift and kernel methods for mode seeking. In Proc. ECCV, 2008.
Сравнение
Сложность O(dN^2) с небольшим коэффициентом, d –
размерность данных
Методы к рассмотрению
•
Края и области
• Pb-детектор краёв
•
Эвристические методы
•
•
•
•
•
Разрастание регионов (Region growing)
Разделения и слияния регионов (Split & Merge)
Водораздел (Watershed)
Эффективный метод на графах
Кластеризация
• K-средних
• Сдвиг среднего (Mean shift) и развитие
•
Энергетические методы
• Snakes
• Методы уровня
• ТурбоПиксели (TurboPixels)
«Snakes»
• Одна из самых заметных работ в области сегментации
• Более 10000 цитирований
• Сформулируем задачу как минимизацию энергии:
I – изображение
C – контур объекта, параметризованный по t на [0,1]
Cs, Css - первая и вторая производные
• В качестве признаков изображения используются только
градиенты
• Вопрос в том, как минимизировать эту энергию
M. Kass, A. Witkin, and D. Terzopoulos. Snakes: Active contour models. IJCV, 1988
Вариант алгоритма Snakes
• Приблизим контур ломаной, будем двигать только контрольные
точки
• Для каждой контрольной точки будем выбирать новое положение
из набора пикселов в окрестности
• После выбора оптимальной комбинации новых положений
повторяем операцию (до сходимости)
Level Sets (Линии уровня)
• Вместо явного представления
контура зададим функцию
вложения (embedding function) f
• f > 0 в области, f < 0 вне
области
• Можем переформулировать
задачу обновления контура
как задачу обновления
функции вложения
Визуализация представления
контура с помощью функции
вложения
•
•
Функция вложения позволяет моделировать изменения топологии
области
Работа с ней сводится к решению систем дифференциальных
уравнений
TurboPixel
• Алгоритм, специально нацеленный на
сегментацию изображения на
суперпиксели
• Даёт суперпиксели примерно одного
размера, равномерно
распределенные по изображению
• Использует подход линий уровня для
сегментации
• Сложность O(N), где N – пиксели
• При увеличении количества
суперпикселей даже ускоряется
Alex Levinshtein, et. al,TurboPixels: Fast Superpixels Using Geometric Flows,
PAMI 2009
Схема алгоритма
•
•
Идея: скорость движения «контура» зависит от градиента,
близости к предполагаемой границе региона и т.д.
Благодаря этому суперпиксели «тормозятся» у краёв
изображения и делят его на фрагменты похожего размера
Результаты
Сравнение
Сравнение качества
TurboPixel
NCuts
Local
variation
Mean-shift
Watershed
Улучшение сегментации
Использование хорошего
детектора границ, такого как Pbдетектор, позволяет улучшить
качество суперпикселей, и точнее
привязать их к границам
Итого
Методы построения суперпикселей (пересегментации):
• Водораздел (Watershed)
• Эффективный метод на графах [Felzenszwalb &
Huttenlocher]
• Кластеризация K-средними
• MeanShift, QuickShift
• ТурбоПиксели (TurboPixels)
Вот эти методы сейчас в разных работах применяются. Как раз
и поговорим об их применении….
Стандартная сегментация
• Посмотрим, насколько хорошо работают
имеющиеся методы сегментации
Normalized Cuts
Shi & Malik
Mean Shift
Comaniciu & Meer
Efficient Graph Based
Felzenszwalb &
Huttenlocher
Slide by Alexey Efros
Оценка качества сегментации
.825
Сегмент #1
.892
Эталон
Сегмент t #2
Мера – нормализованное перекрытие в [0,1]
Slide by Alexey Efros
Оценка качества сегментации
Эталон
Mean Shift
.659
FH
.567
NCuts
.841
Slide by Alexey Efros
Оценки
Логарифмическая шкала числа сегментов
Tomasz Malisiewicz, Alexei A. Efros. Improving Spatial Support for Objects via Multiple
Segmentations, BMVC 2007
Slide by Alexey Efros
Проблемы сегментации
Ни один из вариантов сегментации не дает правильной
пространственной поддержки
Суп сегментаций
D. Hoiem, A.A. Efros, and M. Hebert, "Automatic Photo Pop-up", ACM SIGGRAPH 2005
Как быть?
• Построим много вариантов сегментации
• Будем менять параметры методов
•
•
•
NCuts (33 segmentations)
• K = 3,6,9,12,15,18,21,24,27,30,50
• image size = 100%, 50%, 37%
FH (24 segmentations)
• sigma = .5, .1,1.5, 2
• k = 200, 500, 1000
• min_range = 50, 100
Mean Shift (33 segmentations)
• spatial_band = 5,7,9
• range_Band = 1,3,5,7,9,11,13,15,17,19,21
Slide by Alexey Efros
Суп сегментаций
Эталон
Mean Shift (33)
.659
.804
FH (24)
.567
.816
NCuts (33)
.862.841
Slide by Alexey Efros
Численные оценки
Почему получается неидеально?
Slide by Alexey Efros
Взглянем подробнее
Эталон
Реальная разметка
Slide by Alexey Efros
Объединим сегменты
• Пронумеруем все пары/троийки/и т.д.
соседних сегментов
• Это можно сделать быстро, если есть граф
смежности
Slide by Alexey Efros
Пример
Mean Shift
.815
FH
.792
NCuts
.830
Slide by Alexey Efros
Численные результаты
Slide by Alexey Efros
Суперпиксели
•
•
•
•
Верхней границей объединения
сегментов будет использование
суперпикселей
Возьмём NCuts и K=200 (Ren &
Malik 2003)
Рассмотрим все варианты
объединения
На практике слишком долго
Superpixel Limit .917
Superpixel Limit .825
Superpixel Limit .932
Численные результаты
Slide by Alexey Efros
Прямоугольные окна
• Сравним с «лучшим»
прямоугольным окном
• На практике получить сложно
Rectangular Limit .682
Rectangular Limit .909
Rectangular Limit .616
Численные оценки
Slide by Alexey Efros
Скользящее окно
• Построим «суп сегментов» из
квадратных скользящих окон,
как в VJ
• 10 масштабов от 24x24, с
шагом 1.25
• Часто используется на
практике
Square .495
Square .555
Square .301
Slide by Alexey Efros
Сравнение
Slide by Alexey Efros
Какая сегментация лучше?
Slide by Alexey Efros
Какая сегментация лучше?
Суп из нескольких разных сегментаций!
Slide by Alexey Efros
Резюме лекции
•
Задача сегментации изображения тесно связана с
распознаванием изображений
•
Автоматическая пересегментация часто используется как
первый шаг при анализе изображений
• Понижение размерности задач (работа с областями, а не с
отдельными пикселями)
• Хорошая сегментация должна учитывать несколько
признаков в совокупности – цвет, текстуру
• Сейчас часто используются методы MeanShift, QuickShift, K-mean,
TurboPixel, эффективная сегментация на графах
• Ни один автоматический метод не идеален, нужно
использовать «суп сегментаций» - разные комбинации
сегментов, полученных разными методы с разными
параметрами
Download