• Save
CV2011-2. Lecture 01. Segmentation.
Upcoming SlideShare
Loading in...5
×
 

CV2011-2. Lecture 01. Segmentation.

on

  • 2,333 views

 

Statistics

Views

Total Views
2,333
Views on SlideShare
1,519
Embed Views
814

Actions

Likes
0
Downloads
0
Comments
0

3 Embeds 814

http://graphicon.ru 635
http://www.graphicon.ru 175
http://translate.googleusercontent.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

CV2011-2. Lecture 01. Segmentation. CV2011-2. Lecture 01. Segmentation. Presentation Transcript

  • Сегментация изображений http://courses.graphicon.ru/main/vision2
  • Общая информация Этот курсподготовлен ичитается при поддержке
  • Что такое сегментация?• Разбиение изображения на неперекрывающиеся области, покрывающие все изображение и однородные по некоторым признакам.• Анализ низкого уровня: • разбиение на области «похожих» между собой пикселей• Анализ высокого уровня: • отделение находящихся на изображении объектов от фона (и друг от друга)
  • Сегментация изображений• Автоматическая • Сегментация производимая без взаимодействия с пользователем – Картинка на входе, области на выходе• Интерактивная • Сегментация, управляемая пользователем, допускающая и/или требующая ввода дополнительной информации • Зачем? Потому что автоматическая пока работает плохо, а для фотомонтожа нужно высокая точность
  • Зачем нам нужна сегентация? Slide by Alexey Efros
  • Для упрощения понимания Slide by Alexey Efros
  • Уменьшение сложностиСегментация (разделениеизображения) Категоризация (разделение мира на категории)Сырые пиксели изображения Представление (пр. текстура, уменьшенное разрешение) Три пути уменьшения сложности изображения Slide by Alexey Efros
  • Сегментация• Сегментация это способ разделения сцены на «куски», с которыми проще работать • Достаточно маленькие, чтобы можно было обучаться на коллекции «разумного» размера • Достаточно большие, чтобы быть информативными (discriminative)• Обычно, «плоское» разделение на непересекающиеся области («тесселяция»), но есть и другие подходы: • Пересекающиеся области (наложение) • Иерархические • Множественные 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
  • Теория и практика Изображение Границы Сегментация Распознавание Person Car#1 Car#2 Road ... Теория ПрактикаИзображение Края Сегментация Распознавание ? Slide by Alexey Efros
  • Разбор изображений (Image parsing) input image point process curve process a color region texture regions objects«Разбор изображения» – это разложение (сегментация) изображенияна «естественные» части. Поэтому сегментация в общем смысле – эторезультат понимания изображения (image understanding) Slide by Alexey Efros
  • Применение сегментации• Разделение изображения на объекты • Замахнулись сильно, но есть отдельные успехи• Инструмент для распознавания изображений• Помощь для определение перекрытий • Некоторые границы сегментов кодируют перекрытия (occlusion)• Помощь для вычисления формы объектов • Пока прогресс совсем небольшой Slide by Alexey Efros
  • Суперпиксели• Предобработка перед высокоуровневым анализом • «Суперпиксели» – Суперпиксельная сегментация или пересегментация • Равномерно распределенные по изображению • Компактные, примерно одного размера • Границы сегментов должны соответствовать границам объектов • Небольшие объекты не должны быть частью сегмента, а описываться своим сегментом
  • Методы к рассмотрению• Края и области • Текстура • Pb-детектор краёв• Эвристические методы • Разрастание регионов (Region growing) • Разделения и слияния регионов (Split & Merge) • Водораздел (Watershed)• Методы на графах • Нормализованные разрезы • Метод Felzenszwalb & Huttenlocher• Кластеризация • K-средних • Сдвиг среднего (Mean shift)• Энергетические методы • Snakes • Методы уровня • ТурбоПиксели (TurboPixels)
  • Сегментация и границы image human segmentation gradient magnitude
  • Ограничения градиента для краев• Границы – не обязательно пиксели с большим градиентом интенсивности, но и просто границы областей, отличающихся по некоторым характеристикам внешности (текстуры) Source: Martin et al. 2003
  • «Текстура» Типичный пример текстурного шаблона для исследований психофизиологоического восприятия изображений Image source: Landy & Graham (2004)
  • «Текстура» Image source: Landy & Graham (2004)
  • «Текстура» Image source: Landy & Graham (2004)
  • Текстура Image source: VPfaCGP Fig 8.5
  • Текстура Это примеры задач на разделение/сегментации текстуры. Похожие задачи – визуальный поиск (пр.: найти T среди всех L) Image source: VPfaCGP Fig 8.5
  • Модель «back pocket» Image source: Landy & Graham (2004)
  • Модель «back pocket» Ввод После 1 этапа После 2 этапа Выход Image source: Landy & Graham (2004)
  • Модель «back pocket» • По подобным моделям опубликовано много работ. • Модели не привязываются к отдельными признакам (пр. Концам отрезков) • Модели описывают поведение на многих задача разделения текстуры. • Биологически возможно. Image source: Landy & Graham (2004)
  • Пример, Malik & Perona (1990) Image source: VPfaCGP Fig 8.3
  • Пример, Bergen & Adelson (1988)
  • Лабораторные модели Такие модели хорошо работают на большинстве лабораторных примеров Image source: Ben-Shahar 2006
  • Отрицательные примеры Градиент по Text направлению незначителен у границы областей Текстуры Ручная разметка Image source: Ben-Shahar 2006
  • Форма из текстуры Shape from texture: Исходя из предположения об изотропности шаблона текстуры, можно определить наклон поверности Image source: VPfaCGP Fig 8.7
  • Форма из текстуры Image source: Todd et al. 2005
  • Pb-детектор • Недостаточно находить градиент изображения • Нужно находить границу между областями с разной текстурой • Опишем текстуру области набором признаков • Обучим классификатор граница / не границаD. Martin, C. Fowlkes, and J. Malik. Learning to detect natural image boundaries usinglocal brightness, color, and texture cues. PAMI 2004.
  • «Текстоны» (Texton)• Для каждого пикселя вычислим отклики по банку фильтров • Пример: 13 фильтров• Использовать 13 дополнительных параметров для пикселя сложно• Построим «словарь» текстуры • Собираем большую выборку • Кластеризуем k-cредними • Получаем «словарь» текстуры • Каждое слово в словаре – «Текстон»• Теперь можем квантовать пиксели по текстуре • Приписываем пикселю номер Часть текстонов из словаря ближайшего текстона из словаря 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 usinglocal brightness, color, and texture cues. PAMI 2004.
  • Результат Photo Canny Pb-detector Human
  • План лекции• Края и области • Характеристики пикселя • Pb-детектор краёв• Эвристические методы • Разрастание регионов (Region growing) • Разделения и слияния регионов (Split & Merge) • Водораздел (Watershed)• Методы на графах • Нормализованные разрезы • Метод Felzenszwalb & Huttenlocher• Кластеризация • K-средних • Сдвиг среднего (Mean shift)• Энергетические методы • Snakes • Методы уровня • ТурбоПиксели (TurboPixels)
  • Разрастание регионов (Region growing)• Простая идея – начиная с некоторого “семени” обходить пиксели и объединять в области пока выполняется условие однородности• Варианты: • Задаём несколько семян на изображении • Последовательное сканирование изображения
  • Критерий однородности области• Гистограмма содержит не больше 1 значительного пика• Отклонение любого пикселя от средней яркости < Tavg 1 p  S I ( p )   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 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 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 21 1 1 1 1 1 1 0 1 1 1 1 1 1 1 03 1 4 9 9 8 1 0 3 1 4 9 9 8 1 01 1 8 8 8 4 1 0 1 1 8 8 8 4 1 01 1 6 6 6 3 1 0 1 1 6 6 6 3 1 01 1 5 6 6 3 1 0 1 1 5 6 6 3 1 01 1 5 6 6 2 1 0 1 1 5 6 6 2 1 01 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 Результат
  • Алгоритм водораздела (watershed)• Идея метода: • Вспомним – большие значения градиента соответствуют резким переходам на изображении • Рассмотрим абсолютную величину градиента как карту высот ландшафта • Там где резкие границы – получатся «стены» • Будем «лить воду» в «ямы» и искать получающиеся «озера»
  • Алгоритм водораздела Область водораздела, бассейн (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
  • Алгоритм водораздела 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
  • План лекции• Края и области • Характеристики пикселя • Pb-детектор краёв• Эвристические методы • Разрастание регионов (Region growing) • Разделения и слияния регионов (Split & Merge) • Водораздел (Watershed)• Методы на графах • Нормализованные разрезы • Метод Felzenszwalb & Huttenlocher• Кластеризация • K-средних • Сдвиг среднего (Mean shift)• Энергетические методы • Snakes • Методы уровня • ТурбоПиксели (TurboPixels)
  • Графическое представление• Изображение превращается во взвешенный неориентированный граф • Пиксели – вершины графа • Ребра – связи между соседними пикселями • Вес ребер пропорционален «похожести» пикселей ребра
  • Критерии «похожести» пикселей• По расстоянию• По яркости• По цвету• По текстуре
  • Разрез графа• G=(V,E) • Непересекающиеся подмножества вершин A и B из V • Удаляем все ребра, связывающие A и B Cut ( A, B )   w(u, v) uA, vB Cut(A,B) – мера «силы связности» множеств A и B
  • Разрез графа• Разрез графа превращает граф в два несвязанных друг с другом подграфа
  • Разрез графа• Если множества A и B не заданы заранее – разрезать граф можно по-разному: • Минимальный разрез – разрез, превращающий граф в несвязный, с минимальной суммой весов удаленных ребер Cut ( A, B)   w(u, v) uA, vB
  • Минимальный разрез хорош не всегда• На данном рисунке вес ребер графа показан расстоянием между вершинами
  • Normalized cut • Нормализованный разрез – измеряет «похожесть» двух групп вершин, нормированную на «объем», занимаемый ими в графе cut ( A, B) cut ( A, B) Ncut ( A, B)   assoc( A,V ) assoc( B,V )  assoc( A, A) assoc( B, B )  Ncut ( A, B)  2    assoc( A,V )  assoc( B,V )     assoc( A,V )   w(u, t ) u A,t V Все ребра графаJianbo Shi and Jitendra Malik "Normalized Cuts and Image Segmentation", IEEE PAMI, 2000
  • MinNCut • Минимальный нормализованный разрез – разрез, превращающий граф в несвязный, с минимальной величиной NCut • Как его найти? A B
  • Матрицы…D – диагональная матрица n x n: D(i, i )   w(i, j ) jW - n x n симметричная матрица W (i , j )  w(i, j )
  • Можно вывести что: t y (D W ) yMinNcut (G )  min y t y DyПри условиях: y i    ,b, 0  b  1, and y T D1  0 1y – задает разрез, b – зависит от весов NP-трудная задачаЕсли разрешить y   задача сводится к задаче насобственные значения:( D  W ) y  DyЗатем придется решения квантовать!
  • Алгоритм сегментации NCuts1. Задать граф на изображении.2. Рассчитать матрицы W и D3. Решить задачу (D-W)y= Dy, найти вектора с наименьшими собственными значениями4. По вектору со вторым наименьшим с.з. вычислить разрез графа на две части • Перебрать l равномерно распределенных по (-b,1) точек, для каждой вычислить NCut • Выбрать точку, соответствующую наименьшему NCut5. Рекурсивно разбить получившиеся области, если требуется
  • Пример
  • «Эффективный метод»• Идея: разница в интенсивности вдоль границы между областями должна быть существенной по сравнению с колебаниями интенсивности внутри одной из областейP. Felzenszwalb and D. Huttenlocher. Efficient graph-based imagesegmentation. IJCV, 59(2):167–181, 2004.
  • MST• Minimum Spanning Tree (MST) – минимальное порождающее дерево• Дерево, которое содержит все вершины графа, сумма весов ребёр которого минимальна
  • Формализация• Внутренняя разница:• Разница между областями:• Предикат присутствия границы между областями: где MInt – минимальные колебания интенсивности по областям и регуляризационный параметр
  • Алгоритм• Схема «слияния регионов», но с учётом выбранных функций слияния: • Сортируем все ребра по возрастанию веса • Инициализируем сегментацию максимальным разбиением • Проходим по списку всех ребер (i,j) – Пусть Сi, Cj – компоненты, которым принадлежат вершины i,j – Тогда если не выполняется D(Ci,Cj), тогда объединяем Ci и Cj• Доказывается, что алгоритм оптимален: • сегментация не слишком точная (для всех пар областей выполняется предикат наличия границы) • сегментация не слишком грубая (нет разбиения, которое было бы не слишком точным)
  • Результат Сложность метода O(NlogN)
  • План лекции• Края и области • Характеристики пикселя • Pb-детектор краёв• Эвристические методы • Разрастание регионов (Region growing) • Разделения и слияния регионов (Split & Merge) • Водораздел (Watershed)• Методы на графах • Нормализованные разрезы • Метод Felzenszwalb & Huttenlocher• Кластеризация • K-средних • Сдвиг среднего (Mean shift)• Энергетические методы • Snakes • Методы уровня • ТурбоПиксели (TurboPixels)
  • K-cреднихИсходное изображение Кластеры по яркости Кластеры по цвету• Можем использовать цвет (тогда, фактически, квантование по цвету), можноиспользовать и любые другие признаки
  • Cдвиг среднего (mean shift) • Основная идея метода: • Центры кластеров соответствуют пикам распределения данных Плотность распределения ВыборкаComaniciu, Dorin; Peter Meer (May 2002). "Mean Shift: A Robust Approach TowardFeature Space Analysis". IEEE Transactions on Pattern Analysis and MachineIntelligence (IEEE) 24 (5): 603–619.
  • Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднегоЦель : Найти области высокой концентрации точек
  • Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднегоЦель : Найти области высокой концентрации точек
  • Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднегоЦель : Найти области высокой концентрации точек
  • Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднегоЦель : Найти области высокой концентрации точек
  • Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднегоЦель : Найти области высокой концентрации точек
  • Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднего Цель : Найти области высокой концентрации точек
  • Метод сдвига среднего: общая идея Область рассмотрения Центр массЦель : Найти области высокой концентрации точек
  • Метод сдвига среднего Непараметрическое оценивание градиента плотности распределения
  • Ядровые методы (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 оценим градиент плотности 2 Рассмотрим  x - xi  g (x)  k ( x) K (x - x i )  ck   функцию ядра:  h  gi  k (xi )   градиент : Размер окна  n  c n c  n   xi g i   P (x)  n   k i   g i  n  i 1   i1  n  x  i1  1 g i  i  
  • Вычисление сдвига среднего  n  c n c  n    xi g i   P (x)  n   k i   g i  n  i 1   i1  n  x  i1  1 g i  i   Сдвиг среднегоПростая процедура сдвига среднего:• Вычислим вектор сдвига среднего  n  x - xi 2     xi g     i1  h  m (x )      x   n  x - xi 2    g h      i1   •Переместим окно на вектор m(x)
  • Вычисление мод распределения
  • Вычисление мод распределения
  • Кластеризация• Кластер: точки, сдвиг среднего для которых приводит к одной и той же моде распределения Mean Shift : A robust Approach Toward Feature Space Analysis, by Comaniciu, Meer
  • Примеры Простые данные Более сложные данные
  • Применение для изображений Кластеризация по цвету: Точки в пространстве L*u*v
  • Применение для изображенийТочки в Полученныепространстве кластеры(L*u)
  • Сегментация по цвету
  • Сегментация по цвету
  • Сегментация по цвету
  • Резюме сдвига среднегоПлюсы : Минусы :+ Не делается предположений о – Выбор параметров ядровойформе кластеров и форме функции нетривиаленраспределения – От них очень сильно зависит+ Число кластеров определяется результат сегментацииавтоматически
  • QuickShift • Medoid shift – траектории проходят только через точки выборки • QuickShift – объединение всех точек в дерево, и затем разбиение ребер, длиннее параметра t • Т.е. Для каждой точки вычисляется y(1) – сдвиг в направление максимума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)• Методы на графах • Нормализованные разрезы • Метод Felzenszwalb & Huttenlocher• Кластеризация • 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
  • Явное представление контура• В общем виде - сегментацию будем вычислять путёмлокальной оптимизации энергии, от начального положения:где n – нормаль к контуру в точке C, F – функция скорости• Сводится к решению уравнений в частных производных вкаждой контрольной точке
  • Level Sets • Неявное представление контура с помощью функции вложения (embedding function): • Получаем: • Подставив нормальDaniel Cremers , Mikael Rousson, Rachid Deriche A review of statistical approachesto level set segmentation: Integrating color, texture, motion and shape, IJCV 2007
  • Level Sets• Визуализация представления контура с помощью функциивложения• Функция вложения позволяет моделировать изменениятопологии области
  • Соревнование областей • «Region competition» - M областей и контуров • - правдоподобие распределения признака v в области m • Тогда уравнения развития контуров: , k – кривизна (curvature)S. Zhu and A. Yuille, .Region competition: unifying snake/balloon, region growing, andbayes/mdl/energy for multi-band image segmentation,. PAMI 1996
  • TurboPixel• Алгоритм, специально нацеленный на сегментацию изображения на суперпиксели• Даёт суперпиксели примерно одного размера, равномерно распределенные по изображению• Использует подход level sets для сегментации• Сложность O(N), где N – пиксели• При увеличении количества суперпикселей даже ускоряетсяAlex Levinshtein, et. al,TurboPixels: Fast Superpixels Using Geometric Flows,PAMI 2009
  • Схема алгоритма
  • Немного деталей• Моделируем кривой С, двигающейся со скоростью S вдоль нормали N• Неявное представление кривой:• Эволюция: Где Si – скорость по изображению, Sb – скорость по границам
  • Алгоритм
  • Результаты
  • Сравнение
  • Сравнение качестваTurboPixel NCuts Local Mean-shift Watershed variation
  • Pb-детектор
  • Представление изображения
  • Резюме лекции• Задача сегментации – «разбора изображения» в общем случае является целью распознавания изображений• Сегментация изображения на области по набору признаков – эффективная предобработка для решения других основных задач • Понижение размерности задач (работа с областями, а не с отдельными пикселями)• Хорошая сегментация должна учитывать несколько признаков в совокупности• Текстуру области можно описать гистограмой текстонов• Чаще всего используются в зависимости от задачи: • Методы на графах • Cдвиг среднего и производные • Level sets • Turbopixels