Сегментация изображений   http://courses.graphicon.ru/main/vision2
Общая информация  Этот курсподготовлен ичитается при  поддержке
Что такое сегментация?• Разбиение изображения на неперекрывающиеся  области, покрывающие все изображение и  однородные по ...
Сегментация изображений• Автоматическая  • Сегментация производимая без взаимодействия с    пользователем     – Картинка н...
Зачем нам нужна сегентация?                              Slide by Alexey Efros
Для упрощения понимания                          Slide by Alexey Efros
Уменьшение сложностиСегментация (разделениеизображения)                              Категоризация                        ...
Сегментация• Сегментация это способ разделения сцены на  «куски», с которыми проще работать  • Достаточно маленькие, чтобы...
Успехи скользящего окна          Машины                                  лица                                             ...
Ограничения скользящего окна                               Slide by Alexey Efros
Теория и практика Изображение   Границы   Сегментация   Распознавание                                           Person    ...
Разбор изображений (Image parsing)     input image         point process          curve process   a color region        te...
Применение сегментации• Разделение изображения на объекты  • Замахнулись сильно, но есть отдельные успехи• Инструмент для ...
Суперпиксели• Предобработка перед высокоуровневым анализом  • «Суперпиксели»     – Суперпиксельная сегментация или пересег...
Методы к рассмотрению•   Края и области    • Текстура    • Pb-детектор краёв•   Эвристические методы    • Разрастание реги...
Сегментация и границы   image     human segmentation   gradient magnitude
Ограничения градиента для краев•   Границы – не обязательно пиксели с большим градиентом    интенсивности, но и просто гра...
«Текстура»  Типичный пример текстурного шаблона для исследований      психофизиологоического восприятия изображений       ...
«Текстура»             Image source: Landy & Graham (2004)
«Текстура»             Image source: Landy & Graham (2004)
Текстура           Image source: VPfaCGP Fig 8.5
Текстура   Это примеры задач на разделение/сегментации текстуры. Похожие задачи – визуальный поиск (пр.: найти T среди все...
Модель «back pocket»                       Image source: Landy & Graham (2004)
Модель «back pocket»  Ввод   После 1 этапа   После 2 этапа              Выход                                         Imag...
Модель «back pocket» • По подобным моделям опубликовано много работ. • Модели не привязываются к отдельными признакам (пр....
Пример, Malik & Perona (1990)                          Image source: VPfaCGP Fig 8.3
Пример, Bergen & Adelson (1988)
Лабораторные модели   Такие модели хорошо работают на большинстве              лабораторных примеров                      ...
Отрицательные примеры                                   Градиент по                    Text           направлению         ...
Форма из текстуры  Shape from texture: Исходя из предположения об  изотропности шаблона текстуры, можно  определить наклон...
Форма из текстуры                    Image source: Todd et al. 2005
Pb-детектор    • Недостаточно находить градиент      изображения    • Нужно находить границу между      областями с разной...
«Текстоны» (Texton)•   Для каждого пикселя вычислим    отклики по банку фильтров        •   Пример: 13 фильтров•   Использ...
Пример карты текстонов        Изображение            Карта текстоновТекстуру фрагмента изображения можно описать гистограм...
Pb-детектор      •   «Probability boundary» (Pb) детектор      •   Идея:           • Учесть несколько разных признаков    ...
Результат      Photo   Canny   Pb-detector   Human
План лекции•   Края и области    • Характеристики пикселя    • Pb-детектор краёв•   Эвристические методы    • Разрастание ...
Разрастание регионов (Region growing)• Простая идея – начиная с некоторого “семени”  обходить пиксели и объединять в облас...
Критерий однородности области• Гистограмма содержит не больше 1 значительного  пика• Отклонение любого пикселя от средней ...
Алгоритм разрастания регионовСреднее: 1                1           1     1      1   1   1   1   2Среднее: 1.125           ...
Алгоритм разрастания регионов                                       1         1      1      1   1   1   1   2             ...
Последовательное сканированиеСканируем изображение сверху вниз, слева направо:            1.   if |I(A) – Clavg(B)| > δ an...
Разделение областей• Схема:  •   Помещаем в стек всё изображение  •   Берём из стека область  •   Если неоднородна – разде...
Алгоритм разбиения (split)          1   1   1    1   1   1   1   2          1   1   1    1   1   1   1   0          3   1 ...
Алгоритм разбиения (split)          1   1    1   1   1   1     1   2          1   1    1   1   1   1     1   0          3 ...
Алгоритм разбиения (split)          1   1    1   1   1   1     1   2          1   1    1   1   1   1     1   0          3 ...
Алгоритм разбиения (split)          1   1    1   1   1   1     1   2          1   1    1   1   1   1     1   0          3 ...
Алгоритм разбиения и слияния• Идея:  • Сначала провести разбиение на небольшие однородные    области     – Обычно использу...
Split & Merge           1    1   1    1   1    1   1   2           1    1   1    1   1    1   1   0           3    1   4  ...
Алгоритм разбиения/слияния(split and merge)          1   1   1     1   1     1   1   2          1   1   1     1   1     1 ...
Сравним с разрастанием регионов1    1   1   1   1   1   1    2      1   1   1   1   1   1   1   21    1   1   1   1   1   ...
Алгоритм водораздела (watershed)• Идея метода:  • Вспомним – большие значения градиента соответствуют    резким переходам ...
Алгоритм водораздела Область водораздела, бассейн (catchment basin): область в которой поток из всех точки «стекает» к одн...
Алгоритм водораздела                                       58    46    50    64    80    88    99    108                  ...
Алгоритм водораздела                                       58    46    50    64    80    88    99    108                  ...
Резюме водораздела • Алгоритм, как и разбиение, дает множество небольших   регионов    – Очень чувствителен к шуму – ищет ...
План лекции•   Края и области    • Характеристики пикселя    • Pb-детектор краёв•   Эвристические методы    • Разрастание ...
Графическое представление• Изображение превращается во взвешенный  неориентированный граф  • Пиксели – вершины графа  • Ре...
Критерии «похожести» пикселей• По расстоянию• По яркости• По цвету• По текстуре
Разрез графа• G=(V,E)  • Непересекающиеся подмножества    вершин A и B из V  • Удаляем все ребра, связывающие A и B       ...
Разрез графа• Разрез графа превращает граф в два  несвязанных друг с другом подграфа
Разрез графа• Если множества A и B не заданы заранее –  разрезать граф можно по-разному:  • Минимальный разрез – разрез, п...
Минимальный разрез хорош не всегда• На данном рисунке вес ребер графа показан  расстоянием между вершинами
Normalized cut        • Нормализованный разрез – измеряет          «похожесть» двух групп вершин,          нормированную н...
MinNCut  • Минимальный нормализованный разрез –    разрез, превращающий граф в несвязный, с    минимальной величиной NCut ...
Матрицы…D – диагональная матрица n x n:   D(i, i )   w(i, j )                jW - n x n симметричная матрица   W (i , j ...
Можно вывести что:                                 t                     y (D W ) yMinNcut (G )  min y     t            ...
Алгоритм сегментации NCuts1. Задать граф на изображении.2. Рассчитать матрицы W и D3. Решить задачу (D-W)y= Dy, найти ве...
Пример
«Эффективный метод»• Идея: разница в интенсивности вдоль границы  между областями должна быть существенной по  сравнению с...
MST• Minimum Spanning Tree (MST) – минимальное  порождающее дерево• Дерево, которое содержит все вершины графа,  сумма вес...
Формализация•   Внутренняя разница:•   Разница между областями:•   Предикат присутствия границы между областями:    где MI...
Алгоритм• Схема «слияния регионов», но с учётом  выбранных функций слияния:  • Сортируем все ребра по возрастанию веса  • ...
Результат        Сложность метода O(NlogN)
План лекции•   Края и области    • Характеристики пикселя    • Pb-детектор краёв•   Эвристические методы    • Разрастание ...
K-cреднихИсходное изображение         Кластеры по яркости          Кластеры по цвету• Можем использовать цвет (тогда, факт...
Cдвиг среднего (mean shift)  •   Основная идея метода:       •   Центры кластеров соответствуют пикам распределения данных...
Метод сдвига среднего: общая идея                                                    Область                              ...
Метод сдвига среднего: общая идея                                                    Область                              ...
Метод сдвига среднего: общая идея                                                    Область                              ...
Метод сдвига среднего: общая идея                                                    Область                              ...
Метод сдвига среднего: общая идея                                                    Область                              ...
Метод сдвига среднего: общая идея                                                     Область                             ...
Метод сдвига среднего: общая идея                                                    Область                              ...
Метод сдвига среднего         Непараметрическое         оценивание градиента         плотности распределения
Ядровые методы (Kernel methods)• Ядровые методы для оценивания плотности (Окна Парзена):                1 n               ...
Ядровые функции                  1 n           P( x)   K ( x - xi )    Функция конечного числа точек из выборки         ...
Ядровые методы• Возьмём градиент от оценки плотности распределения:              1 n                     Не будем оцениват...
Вычисление сдвига среднего                                                               n                              ...
Вычисление мод распределения
Вычисление мод распределения
Кластеризация•    Кластер: точки, сдвиг среднего для которых приводит к одной и     той же моде распределения    Mean Shif...
Примеры           Простые данные          Более сложные данные
Применение для изображений Кластеризация по цвету:                           Точки в пространстве L*u*v
Применение для изображенийТочки в                          Полученныепространстве                     кластеры(L*u)
Сегментация по цвету
Сегментация по цвету
Сегментация по цвету
Резюме сдвига среднегоПлюсы :                          Минусы :+ Не делается предположений о    – Выбор параметров ядровой...
QuickShift   •   Medoid shift – траектории проходят только через точки выборки   •   QuickShift – объединение всех точек в...
Пример работы
СравнениеСложность O(dN^2) с небольшим коэффициентом, d –  размерность данных
План лекции•   Края и области    • Характеристики пикселя    • Pb-детектор краёв•   Эвристические методы    • Разрастание ...
Snakes  • Одна из самых заметных работ в области сегментации       • Более 10000 цитирований  • Сформулируем задачу в виде...
Явное представление контура• В общем виде - сегментацию будем вычислять путёмлокальной оптимизации энергии, от начального ...
Level Sets   • Неявное представление контура с помощью функции   вложения (embedding function):   • Получаем:   • Подстави...
Level Sets• Визуализация представления контура с помощью функциивложения• Функция вложения позволяет моделировать изменени...
Соревнование областей     • «Region competition» - M областей и контуров     •              - правдоподобие распределения ...
TurboPixel• Алгоритм, специально нацеленный на  сегментацию изображения на  суперпиксели• Даёт суперпиксели примерно одног...
Схема алгоритма
Немного деталей•   Моделируем кривой С, двигающейся со скоростью S вдоль    нормали N•   Неявное представление кривой:•   ...
Алгоритм
Результаты
Сравнение
Сравнение качестваTurboPixel   NCuts    Local      Mean-shift   Watershed                     variation
Pb-детектор
Представление изображения
Резюме лекции•   Задача сегментации – «разбора изображения» в общем    случае является целью распознавания изображений•   ...
Upcoming SlideShare
Loading in …5
×

CV2011-2. Lecture 01. Segmentation.

3,117 views

Published on

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,117
On SlideShare
0
From Embeds
0
Number of Embeds
1,322
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

CV2011-2. Lecture 01. Segmentation.

  1. 1. Сегментация изображений http://courses.graphicon.ru/main/vision2
  2. 2. Общая информация Этот курсподготовлен ичитается при поддержке
  3. 3. Что такое сегментация?• Разбиение изображения на неперекрывающиеся области, покрывающие все изображение и однородные по некоторым признакам.• Анализ низкого уровня: • разбиение на области «похожих» между собой пикселей• Анализ высокого уровня: • отделение находящихся на изображении объектов от фона (и друг от друга)
  4. 4. Сегментация изображений• Автоматическая • Сегментация производимая без взаимодействия с пользователем – Картинка на входе, области на выходе• Интерактивная • Сегментация, управляемая пользователем, допускающая и/или требующая ввода дополнительной информации • Зачем? Потому что автоматическая пока работает плохо, а для фотомонтожа нужно высокая точность
  5. 5. Зачем нам нужна сегентация? Slide by Alexey Efros
  6. 6. Для упрощения понимания Slide by Alexey Efros
  7. 7. Уменьшение сложностиСегментация (разделениеизображения) Категоризация (разделение мира на категории)Сырые пиксели изображения Представление (пр. текстура, уменьшенное разрешение) Три пути уменьшения сложности изображения Slide by Alexey Efros
  8. 8. Сегментация• Сегментация это способ разделения сцены на «куски», с которыми проще работать • Достаточно маленькие, чтобы можно было обучаться на коллекции «разумного» размера • Достаточно большие, чтобы быть информативными (discriminative)• Обычно, «плоское» разделение на непересекающиеся области («тесселяция»), но есть и другие подходы: • Пересекающиеся области (наложение) • Иерархические • Множественные Slide by Alexey Efros
  9. 9. Успехи скользящего окна Машины лица пешеходыSchneiderman & Kanade ‘00 Viola & Jones ‘04 Schneiderman & Kanade ‘00 Скользящее окно – это Dalal & Triggs ‘05 вид сегментации! Ferrari et al ‘07 Slide by Alexey Efros
  10. 10. Ограничения скользящего окна Slide by Alexey Efros
  11. 11. Теория и практика Изображение Границы Сегментация Распознавание Person Car#1 Car#2 Road ... Теория ПрактикаИзображение Края Сегментация Распознавание ? Slide by Alexey Efros
  12. 12. Разбор изображений (Image parsing) input image point process curve process a color region texture regions objects«Разбор изображения» – это разложение (сегментация) изображенияна «естественные» части. Поэтому сегментация в общем смысле – эторезультат понимания изображения (image understanding) Slide by Alexey Efros
  13. 13. Применение сегментации• Разделение изображения на объекты • Замахнулись сильно, но есть отдельные успехи• Инструмент для распознавания изображений• Помощь для определение перекрытий • Некоторые границы сегментов кодируют перекрытия (occlusion)• Помощь для вычисления формы объектов • Пока прогресс совсем небольшой Slide by Alexey Efros
  14. 14. Суперпиксели• Предобработка перед высокоуровневым анализом • «Суперпиксели» – Суперпиксельная сегментация или пересегментация • Равномерно распределенные по изображению • Компактные, примерно одного размера • Границы сегментов должны соответствовать границам объектов • Небольшие объекты не должны быть частью сегмента, а описываться своим сегментом
  15. 15. Методы к рассмотрению• Края и области • Текстура • Pb-детектор краёв• Эвристические методы • Разрастание регионов (Region growing) • Разделения и слияния регионов (Split & Merge) • Водораздел (Watershed)• Методы на графах • Нормализованные разрезы • Метод Felzenszwalb & Huttenlocher• Кластеризация • K-средних • Сдвиг среднего (Mean shift)• Энергетические методы • Snakes • Методы уровня • ТурбоПиксели (TurboPixels)
  16. 16. Сегментация и границы image human segmentation gradient magnitude
  17. 17. Ограничения градиента для краев• Границы – не обязательно пиксели с большим градиентом интенсивности, но и просто границы областей, отличающихся по некоторым характеристикам внешности (текстуры) Source: Martin et al. 2003
  18. 18. «Текстура» Типичный пример текстурного шаблона для исследований психофизиологоического восприятия изображений Image source: Landy & Graham (2004)
  19. 19. «Текстура» Image source: Landy & Graham (2004)
  20. 20. «Текстура» Image source: Landy & Graham (2004)
  21. 21. Текстура Image source: VPfaCGP Fig 8.5
  22. 22. Текстура Это примеры задач на разделение/сегментации текстуры. Похожие задачи – визуальный поиск (пр.: найти T среди всех L) Image source: VPfaCGP Fig 8.5
  23. 23. Модель «back pocket» Image source: Landy & Graham (2004)
  24. 24. Модель «back pocket» Ввод После 1 этапа После 2 этапа Выход Image source: Landy & Graham (2004)
  25. 25. Модель «back pocket» • По подобным моделям опубликовано много работ. • Модели не привязываются к отдельными признакам (пр. Концам отрезков) • Модели описывают поведение на многих задача разделения текстуры. • Биологически возможно. Image source: Landy & Graham (2004)
  26. 26. Пример, Malik & Perona (1990) Image source: VPfaCGP Fig 8.3
  27. 27. Пример, Bergen & Adelson (1988)
  28. 28. Лабораторные модели Такие модели хорошо работают на большинстве лабораторных примеров Image source: Ben-Shahar 2006
  29. 29. Отрицательные примеры Градиент по Text направлению незначителен у границы областей Текстуры Ручная разметка Image source: Ben-Shahar 2006
  30. 30. Форма из текстуры Shape from texture: Исходя из предположения об изотропности шаблона текстуры, можно определить наклон поверности Image source: VPfaCGP Fig 8.7
  31. 31. Форма из текстуры Image source: Todd et al. 2005
  32. 32. Pb-детектор • Недостаточно находить градиент изображения • Нужно находить границу между областями с разной текстурой • Опишем текстуру области набором признаков • Обучим классификатор граница / не границаD. Martin, C. Fowlkes, and J. Malik. Learning to detect natural image boundaries usinglocal brightness, color, and texture cues. PAMI 2004.
  33. 33. «Текстоны» (Texton)• Для каждого пикселя вычислим отклики по банку фильтров • Пример: 13 фильтров• Использовать 13 дополнительных параметров для пикселя сложно• Построим «словарь» текстуры • Собираем большую выборку • Кластеризуем k-cредними • Получаем «словарь» текстуры • Каждое слово в словаре – «Текстон»• Теперь можем квантовать пиксели по текстуре • Приписываем пикселю номер Часть текстонов из словаря ближайшего текстона из словаря J. Malik, S. Belongie, T. Leung, and J. Shi, “Contour and Texture Analysis for Image Segmentation,” IJCV 2001
  34. 34. Пример карты текстонов Изображение Карта текстоновТекстуру фрагмента изображения можно описать гистограмой частот текстонов (похоже на «мешок слов»)
  35. 35. 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.
  36. 36. Результат Photo Canny Pb-detector Human
  37. 37. План лекции• Края и области • Характеристики пикселя • Pb-детектор краёв• Эвристические методы • Разрастание регионов (Region growing) • Разделения и слияния регионов (Split & Merge) • Водораздел (Watershed)• Методы на графах • Нормализованные разрезы • Метод Felzenszwalb & Huttenlocher• Кластеризация • K-средних • Сдвиг среднего (Mean shift)• Энергетические методы • Snakes • Методы уровня • ТурбоПиксели (TurboPixels)
  38. 38. Разрастание регионов (Region growing)• Простая идея – начиная с некоторого “семени” обходить пиксели и объединять в области пока выполняется условие однородности• Варианты: • Задаём несколько семян на изображении • Последовательное сканирование изображения
  39. 39. Критерий однородности области• Гистограмма содержит не больше 1 значительного пика• Отклонение любого пикселя от средней яркости < Tavg 1 p  S I ( p )   I ( q)  Tavg N qS• Разница между соседними пикселями < Tdiff p  S , q  N ( p) I ( p)  I (q )  Tdiff• «Слабая» граница между регионами (только для слияния) - позже
  40. 40. Алгоритм разрастания регионовСреднее: 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
  41. 41. Алгоритм разрастания регионов 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
  42. 42. Последовательное сканированиеСканируем изображение сверху вниз, слева направо: 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
  43. 43. Разделение областей• Схема: • Помещаем в стек всё изображение • Берём из стека область • Если неоднородна – разделяем и кладём в стек • Повторять до сходимости• Типично - квадродерево S S21 S22 S1 S23 S24 S1 S2 S3 S4 S3 S4 S21 S22 S23 S24
  44. 44. Алгоритм разбиения (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 Пример
  45. 45. Алгоритм разбиения (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 Первое разбиение
  46. 46. Алгоритм разбиения (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 Второе разбиение
  47. 47. Алгоритм разбиения (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 Третье разбиение
  48. 48. Алгоритм разбиения и слияния• Идея: • Сначала провести разбиение на небольшие однородные области – Обычно используется принцип квадродерева • Затем слить между собой те из них, которые вместе не нарушат требование однородности – Продолжать до тех пор, пока остаются регионы которые можно объединить
  49. 49. 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 Слияние
  50. 50. Алгоритм разбиения/слияния(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 Результат
  51. 51. Сравним с разрастанием регионов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 Результат
  52. 52. Алгоритм водораздела (watershed)• Идея метода: • Вспомним – большие значения градиента соответствуют резким переходам на изображении • Рассмотрим абсолютную величину градиента как карту высот ландшафта • Там где резкие границы – получатся «стены» • Будем «лить воду» в «ямы» и искать получающиеся «озера»
  53. 53. Алгоритм водораздела Область водораздела, бассейн (catchment basin): область в которой поток из всех точки «стекает» к одной общей точке Слева – профиль интенсивностей изображения, справа – локальные минимумы определяют бассейны, локальные максимумы – линии водораздела.
  54. 54. Алгоритм водораздела 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
  55. 55. Алгоритм водораздела 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
  56. 56. Резюме водораздела • Алгоритм, как и разбиение, дает множество небольших регионов – Очень чувствителен к шуму – ищет все локальные минимумы – Может потребоваться постобработка (слияние) Абс. величина Результат по Градиент < 10 градиента данному градиенту обращен в 0
  57. 57. План лекции• Края и области • Характеристики пикселя • Pb-детектор краёв• Эвристические методы • Разрастание регионов (Region growing) • Разделения и слияния регионов (Split & Merge) • Водораздел (Watershed)• Методы на графах • Нормализованные разрезы • Метод Felzenszwalb & Huttenlocher• Кластеризация • K-средних • Сдвиг среднего (Mean shift)• Энергетические методы • Snakes • Методы уровня • ТурбоПиксели (TurboPixels)
  58. 58. Графическое представление• Изображение превращается во взвешенный неориентированный граф • Пиксели – вершины графа • Ребра – связи между соседними пикселями • Вес ребер пропорционален «похожести» пикселей ребра
  59. 59. Критерии «похожести» пикселей• По расстоянию• По яркости• По цвету• По текстуре
  60. 60. Разрез графа• G=(V,E) • Непересекающиеся подмножества вершин A и B из V • Удаляем все ребра, связывающие A и B Cut ( A, B )   w(u, v) uA, vB Cut(A,B) – мера «силы связности» множеств A и B
  61. 61. Разрез графа• Разрез графа превращает граф в два несвязанных друг с другом подграфа
  62. 62. Разрез графа• Если множества A и B не заданы заранее – разрезать граф можно по-разному: • Минимальный разрез – разрез, превращающий граф в несвязный, с минимальной суммой весов удаленных ребер Cut ( A, B)   w(u, v) uA, vB
  63. 63. Минимальный разрез хорош не всегда• На данном рисунке вес ребер графа показан расстоянием между вершинами
  64. 64. 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
  65. 65. MinNCut • Минимальный нормализованный разрез – разрез, превращающий граф в несвязный, с минимальной величиной NCut • Как его найти? A B
  66. 66. Матрицы…D – диагональная матрица n x n: D(i, i )   w(i, j ) jW - n x n симметричная матрица W (i , j )  w(i, j )
  67. 67. Можно вывести что: 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Затем придется решения квантовать!
  68. 68. Алгоритм сегментации NCuts1. Задать граф на изображении.2. Рассчитать матрицы W и D3. Решить задачу (D-W)y= Dy, найти вектора с наименьшими собственными значениями4. По вектору со вторым наименьшим с.з. вычислить разрез графа на две части • Перебрать l равномерно распределенных по (-b,1) точек, для каждой вычислить NCut • Выбрать точку, соответствующую наименьшему NCut5. Рекурсивно разбить получившиеся области, если требуется
  69. 69. Пример
  70. 70. «Эффективный метод»• Идея: разница в интенсивности вдоль границы между областями должна быть существенной по сравнению с колебаниями интенсивности внутри одной из областейP. Felzenszwalb and D. Huttenlocher. Efficient graph-based imagesegmentation. IJCV, 59(2):167–181, 2004.
  71. 71. MST• Minimum Spanning Tree (MST) – минимальное порождающее дерево• Дерево, которое содержит все вершины графа, сумма весов ребёр которого минимальна
  72. 72. Формализация• Внутренняя разница:• Разница между областями:• Предикат присутствия границы между областями: где MInt – минимальные колебания интенсивности по областям и регуляризационный параметр
  73. 73. Алгоритм• Схема «слияния регионов», но с учётом выбранных функций слияния: • Сортируем все ребра по возрастанию веса • Инициализируем сегментацию максимальным разбиением • Проходим по списку всех ребер (i,j) – Пусть Сi, Cj – компоненты, которым принадлежат вершины i,j – Тогда если не выполняется D(Ci,Cj), тогда объединяем Ci и Cj• Доказывается, что алгоритм оптимален: • сегментация не слишком точная (для всех пар областей выполняется предикат наличия границы) • сегментация не слишком грубая (нет разбиения, которое было бы не слишком точным)
  74. 74. Результат Сложность метода O(NlogN)
  75. 75. План лекции• Края и области • Характеристики пикселя • Pb-детектор краёв• Эвристические методы • Разрастание регионов (Region growing) • Разделения и слияния регионов (Split & Merge) • Водораздел (Watershed)• Методы на графах • Нормализованные разрезы • Метод Felzenszwalb & Huttenlocher• Кластеризация • K-средних • Сдвиг среднего (Mean shift)• Энергетические методы • Snakes • Методы уровня • ТурбоПиксели (TurboPixels)
  76. 76. K-cреднихИсходное изображение Кластеры по яркости Кластеры по цвету• Можем использовать цвет (тогда, фактически, квантование по цвету), можноиспользовать и любые другие признаки
  77. 77. 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.
  78. 78. Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднегоЦель : Найти области высокой концентрации точек
  79. 79. Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднегоЦель : Найти области высокой концентрации точек
  80. 80. Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднегоЦель : Найти области высокой концентрации точек
  81. 81. Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднегоЦель : Найти области высокой концентрации точек
  82. 82. Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднегоЦель : Найти области высокой концентрации точек
  83. 83. Метод сдвига среднего: общая идея Область рассмотрения Центр масс Вектор сдвига среднего Цель : Найти области высокой концентрации точек
  84. 84. Метод сдвига среднего: общая идея Область рассмотрения Центр массЦель : Найти области высокой концентрации точек
  85. 85. Метод сдвига среднего Непараметрическое оценивание градиента плотности распределения
  86. 86. Ядровые методы (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 
  87. 87. Ядровые функции 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 
  88. 88. Ядровые методы• Возьмём градиент от оценки плотности распределения: 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  
  89. 89. Вычисление сдвига среднего  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)
  90. 90. Вычисление мод распределения
  91. 91. Вычисление мод распределения
  92. 92. Кластеризация• Кластер: точки, сдвиг среднего для которых приводит к одной и той же моде распределения Mean Shift : A robust Approach Toward Feature Space Analysis, by Comaniciu, Meer
  93. 93. Примеры Простые данные Более сложные данные
  94. 94. Применение для изображений Кластеризация по цвету: Точки в пространстве L*u*v
  95. 95. Применение для изображенийТочки в Полученныепространстве кластеры(L*u)
  96. 96. Сегментация по цвету
  97. 97. Сегментация по цвету
  98. 98. Сегментация по цвету
  99. 99. Резюме сдвига среднегоПлюсы : Минусы :+ Не делается предположений о – Выбор параметров ядровойформе кластеров и форме функции нетривиаленраспределения – От них очень сильно зависит+ Число кластеров определяется результат сегментацииавтоматически
  100. 100. QuickShift • Medoid shift – траектории проходят только через точки выборки • QuickShift – объединение всех точек в дерево, и затем разбиение ребер, длиннее параметра t • Т.е. Для каждой точки вычисляется y(1) – сдвиг в направление максимумаA. Vedaldi and S. Soatto. Quick shift and kernel methods for mode seeking. In Proc.ECCV, 2008.
  101. 101. Пример работы
  102. 102. СравнениеСложность O(dN^2) с небольшим коэффициентом, d – размерность данных
  103. 103. План лекции• Края и области • Характеристики пикселя • Pb-детектор краёв• Эвристические методы • Разрастание регионов (Region growing) • Разделения и слияния регионов (Split & Merge) • Водораздел (Watershed)• Методы на графах • Нормализованные разрезы • Метод Felzenszwalb & Huttenlocher• Кластеризация • K-средних • Сдвиг среднего (Mean shift)• Энергетические методы • Snakes • Методы уровня • ТурбоПиксели (TurboPixels)
  104. 104. Snakes • Одна из самых заметных работ в области сегментации • Более 10000 цитирований • Сформулируем задачу в виде энергии: I – изображение C – контур объекта, параметризованный по t на [0,1] Cs, Css - первая и вторая производные • Зависит только от градиентов изображения, много локальных минимумов (очень зависит от инициализации), непонятно, как расширить на другие признакиM. Kass, A. Witkin, and D. Terzopoulos. Snakes: Active contour models. IJCV, 1988
  105. 105. Явное представление контура• В общем виде - сегментацию будем вычислять путёмлокальной оптимизации энергии, от начального положения:где n – нормаль к контуру в точке C, F – функция скорости• Сводится к решению уравнений в частных производных вкаждой контрольной точке
  106. 106. 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
  107. 107. Level Sets• Визуализация представления контура с помощью функциивложения• Функция вложения позволяет моделировать изменениятопологии области
  108. 108. Соревнование областей • «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
  109. 109. TurboPixel• Алгоритм, специально нацеленный на сегментацию изображения на суперпиксели• Даёт суперпиксели примерно одного размера, равномерно распределенные по изображению• Использует подход level sets для сегментации• Сложность O(N), где N – пиксели• При увеличении количества суперпикселей даже ускоряетсяAlex Levinshtein, et. al,TurboPixels: Fast Superpixels Using Geometric Flows,PAMI 2009
  110. 110. Схема алгоритма
  111. 111. Немного деталей• Моделируем кривой С, двигающейся со скоростью S вдоль нормали N• Неявное представление кривой:• Эволюция: Где Si – скорость по изображению, Sb – скорость по границам
  112. 112. Алгоритм
  113. 113. Результаты
  114. 114. Сравнение
  115. 115. Сравнение качестваTurboPixel NCuts Local Mean-shift Watershed variation
  116. 116. Pb-детектор
  117. 117. Представление изображения
  118. 118. Резюме лекции• Задача сегментации – «разбора изображения» в общем случае является целью распознавания изображений• Сегментация изображения на области по набору признаков – эффективная предобработка для решения других основных задач • Понижение размерности задач (работа с областями, а не с отдельными пикселями)• Хорошая сегментация должна учитывать несколько признаков в совокупности• Текстуру области можно описать гистограмой текстонов• Чаще всего используются в зависимости от задачи: • Методы на графах • Cдвиг среднего и производные • Level sets • Turbopixels

×