Вы находитесь на странице: 1из 109

Сегментация изображений

Антон Конушин
Спонсорская поддержка

Этот курс
подготовлен и
читается при
поддержке
Из чего состоит изображение?

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


1
p  S I ( p )  
N qS
I ( q)  Tavg

• Разница между соседними пикселями < 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

1
p  S I ( p ) 
N
 I ( q)   Пример δ = 1
q S
Алгоритм разрастания регионов

1 1 1 1 1 1 1 2

1 1 1 1 1 1 1 0
1
p  S I ( p )   I ( q)   3 1 4 9 9 8 1 0
N q S

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
p  S I ( p ) 
N
 I ( q)   Пример δ = 1
q S
Последовательное сканирование

Сканируем изображение сверху вниз, слева направо:

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
S21 S22
S1
S23 S24 S1 S2 S3 S4

S3 S4 S21 S22 S23 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)  
2
 x 1
 0 otherwise

c x 1
• Uniform Kernel KU (x )  
 0 otherwise

 1 2
• Normal Kernel K N ( x)  c  exp   x 
 2 
Сдвиг среднего
• Возьмём градиент от оценки плотности распределения:

1 n Не будем оценивать плотность-


P( x)   K (x - xi )
n i 1 оценим градиент плотности

 x - xi 2
 g ( x)  k ' ( x)
Рассмотрим 2
K (x - x i )  ck   x  xi
функцию ядра:  h 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  

 i  1
gi

Вычисление сдвига среднего

 n 
c n
c  n    xi g i 
 P (x) 
n
  k i   g i 
n  i 1  
i1
 n  x

i1

 i 1
gi


Сдвиг
среднего

Простая процедура сдвига среднего:


• Вычислим вектор сдвига среднего
 n  x - xi 2  
  xi g   
 i1  h 
m (x )      x
2 
 n  x - x i
 
  g 
 h 
 
 i1   
•Переместим окно на вектор m(x)
Вычисление мод распределения
Вычисление мод распределения
Кластеризация

• Кластер: точки, сдвиг среднего для которых приводит к одной и


той же моде распределения

2
• Сложность метода O ( dN T ) , где d – размерность вектора,
N – число точек во множестве, T – число итераций алгоритма. dT
<< N
Примеры

Простые данные

Более сложные данные


Применение для изображений

Кластеризация по цвету:

Точки в пространстве 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 Mean-shift Watershed


variation
Улучшение сегментации

Использование хорошего
детектора границ, такого как Pb-
детектор, позволяет улучшить
качество суперпикселей, и точнее
привязать их к границам
Итого
Методы построения суперпикселей (пересегментации):
• Водораздел (Watershed)
• Эффективный метод на графах [Felzenszwalb &
Huttenlocher]
• Кластеризация K-средними
• MeanShift, QuickShift
• ТурбоПиксели (TurboPixels)

Вот эти методы сейчас в разных работах применяются. Как раз


и поговорим об их применении….
Стандартная сегментация

• Посмотрим, насколько хорошо работают


имеющиеся методы сегментации

Normalized Cuts Mean Shift Efficient Graph Based

Felzenszwalb &
Shi & Malik Comaniciu & Meer
Huttenlocher

Slide by Alexey Efros


Оценка качества сегментации

.825

Сегмент #1

Эталон .892

Сегмент t #2

Мера – нормализованное перекрытие в [0,1]


Slide by Alexey Efros
Оценка качества сегментации

Эталон

Mean Shift FH NCuts

.659 .567 .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) FH (24) NCuts (33)

.659
.804 .567
.816 .862.841
Slide by Alexey Efros
Численные оценки

Почему получается неидеально?


Slide by Alexey Efros
Взглянем подробнее

Эталон Реальная разметка

Slide by Alexey Efros


Объединим сегменты

• Пронумеруем все пары/троийки/и т.д.


соседних сегментов
• Это можно сделать быстро, если есть граф
смежности

Slide by Alexey Efros


Пример

Mean Shift FH NCuts

.815 .792 .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 .555

Square .495 Square .301


Slide by Alexey Efros
Сравнение

Slide by Alexey Efros


Какая сегментация лучше?

Slide by Alexey Efros


Какая сегментация лучше?

Суп из нескольких разных сегментаций!


Slide by Alexey Efros
Резюме лекции
• Задача сегментации изображения тесно связана с
распознаванием изображений
• Автоматическая пересегментация часто используется как
первый шаг при анализе изображений
• Понижение размерности задач (работа с областями, а не с
отдельными пикселями)
• Хорошая сегментация должна учитывать несколько
признаков в совокупности – цвет, текстуру
• Сейчас часто используются методы MeanShift, QuickShift, K-mean,
TurboPixel, эффективная сегментация на графах

• Ни один автоматический метод не идеален, нужно


использовать «суп сегментаций» - разные комбинации
сегментов, полученных разными методы с разными
параметрами