3. Задача слежения за объектом
• Object tracking
• Определение положения объекта интереса в
видеопоследовательности
• На первом кадре положение известно
• Определить положение на следующих кадрах
– Траектория, след (track)
• Включая случаи пропадания и последующего появления
объекта, изменение его топологии и т.д.
5. Сегментация
• Сегментация объекта в видео – важная задача сама
по себе
• Обработка видео с учетом отдельных объектов
• Но попиксельная сегментация – это ещё и уточнение
пространственной поддержки
• Если используется какое-то обучение модели объекта, то
правильная поддержка очень важна
7. Сопоставление силуэта
• Shape matching
• Берём контур объекта
• Ищем на новом кадре контур, наиболее похожий на
контур в данном кадре
• Очень похоже на сопоставление шаблонов
(template matching), но ищем не bbox, а именно
контур объекта
8. Карта краёв
• Карта краёв выбирается как шаблон для дальнейшего сравнения
• Вычисляется метрика Хаусдорфа на основании distance transform
• Шаблон обновляется как набор краёв, ближайших к краям шаблона
предыдущего кадра
• HUTTENLOCHER, D., NOH, J., AND RUCKLIDGE, W.. Tracking nonrigid objects
in complex scenes. ICCV 1993
9. Модели пространства состояний
• Обычно явное моделирование контура объекта
• Контур описывается набором параметров
• Набор значений параметров – состояние (state)
• Для отслеживания используется подход на основе
point tracking
10. Оптимизация энергии контура
• Контур представляется
набором контрольных точек,
связанных «пружинками»
• Положение точек контура
определяет «состояние»
• Отслеживание с помощью
фильтра Калмана
TERZOPOULOS, D. AND SZELISKI, R. Tracking with kalman snakes. In
Active Vision, A. Blake and A. Yuille, Eds. MIT Press. 1992.
11. Condensation
• Фильтр частиц как основной инструмент
• Состояние – положение + несколько шаблонов
или параметры PCA-разложения шаблонов
ISARD, M. AND BLAKE, A. Condensation - conditional density propagation for
visual tracking. IJCV, 1998
13. Оптимизация энергии контура
• Общая схема:
• Tracking by segmentation
• Формулируем энергию контура объекта
• На следующем контуре ищем контур, на котором достигается
минимум энергии
• Обычно инициализируем контуром с предыдущего кадра
• Методы оптимизации
• Итеративные методы (градиентный спуск)
• Глобальные методы (Разрезы графов)
•Представление контура
• Явное задание контура
• Неявное задание контура
14. Snakes
• Одна из самых заметных работ в области сегментации
• Более 10000 цитирований
• Сформулируем задачу в виде энергии:
I – изображение
C – контур объекта, параметризованный по t на [0,1]
Cs, Css - первая и вторая производные
• Зависит только от градиентов изображения, много локальных
минимумов (очень зависит от инициализации), непонятно, как
расширить на другие признаки
M. Kass, A. Witkin, and D. Terzopoulos. Snakes: Active contour models. IJCV, 1988
15. Явное представление контура
• В общем виде - сегментацию будем вычислять путём
локальной оптимизации энергии, от начального положения:
где n – нормаль к контуру в точке C, F – функция скорости
• Сводится к решению уравнений в частных производных в
каждой контрольной точке
16. Level Sets
• Неявное представление контура с помощью функции
вложения (embedding function):
• Получаем:
• Подставив нормаль
Daniel Cremers , Mikael Rousson, Rachid Deriche A review of statistical approaches
to level set segmentation: Integrating color, texture, motion and shape, IJCV 2007
17. Level Sets
• Неявное представление контура с помощью функции
вложения (embedding function):
• Визуализация представления контура с помощью функции
вложения
• Функция вложения позволяет моделировать изменения
топологии области
18. Соревнование областей
• «Region competition» - M областей и контуров
• - правдоподобие распределения признака v в
области m
• Тогда уравнения развития контуров:
, k – кривизна (curvature)
S. Zhu and A. Yuille, .Region competition: unifying snake/balloon, region growing, and
bayes/mdl/energy for multi-band image segmentation,. PAMI 1996
19. Слежение с помощью level sets
• Замена явного вычисления движения контура на
«переключение» пикселей внутренней и внешней границы с
помощью специальной функции вложения
• Остановка процесса тогда, когда на внутренней и внешней
границе F нацелены друг на друга
Shi, Y.; Karl, W.C., Real-time tracking using level sets, CVPR 2005
25. Основы метода
• Использование MRF / энергетической
формулировки для совместного вычисления
сегментации и учета большого набора признаков
в совокупности
• Адаптивное объединение локальной и глобальной
модели фона и объекта
• Учет локального сходства фона и объекта
• Поддержка модели фона – учет глобальных
изменений
26. Энергетическая формулировка
• Задаем энергию:
S C
E V U other terms
Пространственная Цвет
связанность + Контраст
E ( I ) E1 ( I r ) E (I , I ) 2 r s
r ( r , s )N
• Ir - цвет пиксела r
• xr F , B - метка
• C - соседство
27. Модель цвета
• Построим и глобальную, и локальную модели фона
• Глобальная: смесь гауссиан (GMM)
( K b 10 15)
Kb
p ( I r | xr B ) kb N ( I r | k , b )
b
k
k 1
28. Модель цвета
• Построим и глобальную, и локальную модели фона
• Глобальная: смесь гауссиан (GMM) ( Kb 10 15)
• Локальная: один гауссиан
29. Общая модель фона
• Глобальная: смесь гауссиан (GMM) ( Kb 10 15)
Kb
pglobal ( I r | xr B ) kb N ( I r | kb , b )
k
k 1
• Локальная: один гауссиан
B B
plocal ( I r ) N ( I r | , )r r
• Объединенная:
pmix ( I r ) p global ( I r | xr B) (1 ) plocal ( xr )
30. Модель переднего плана
• Возьмём те пиксели, для которых вероятность фона низкая
pB ( I r ) t f
• Обучим по ним смесь гауссиан (K=5)
31. Задание энергии (цвет)
log p global (I r | xr F ) if xr F
E1 ( xr , I r )
log pmix ( I r ) if xr B
pmix ( I r ) pglobal ( I r | xr B) (1 ) plocal ( xr )
?
32. Задание энергии (цвет)
Адаптивная смесь глобальной и локальной моделей
pmix ( I r ) p global ( I r | x r B ) (1 ) plocal ( xr )
33. Адаптивная модель
Дивергенция Kullback-Liebler KL fb
K
wkf
KL fb wkf min ( KL( N kf || N ib ) log b )
k 0
i wi
дает разницу между двумя смесями гауссин
0 KL fb
KL fb 0 модели идентичные
34. Адаптивная модель
KL fb
1 1 e
2
KL
KL fb 1
1
KL fb 1
pmix ( I r ) pglobal ( I r | xr B)
0.5 Только глобальная модель
pmix ( I r ) 1 p global ( I r | xr B) 1 plocal ( xr )
2 2
Поровну локальная и глобальные модели
35. Финальная энергия цвета
log pglobal( I r | xr F ) if xr F
E1 ( xr , I r )
log pmix( ) (I r ) if xr B
pmix ( ) ( I r ) p global ( I r | xr B ) (1 ) plocal ( xr )
36. Модель контраста и связанности
• Пространственная связанность
• Контраст усиливает связанности
4
22 pixels,
72 penalty
Карты сегментации
( xЧерный: V 3( I Iплна
, x ) передний )
( r , s )C
r s
*
r s
Белый: фон
* 2
22||pixels,
V exp( || I r Is )
21 penalty
37. Базовая модель контраста
Пенальти + Усиление пенальти
Ir Is
2
dr ,s
2 2
| x
( r ,s )N
r xs | e
2 2
2
Ir Is d r ,s I r I s
42. Член контраста
2 1
d r ,s I r I s 2
I rB I s
B
exp( zr2,s )
1 K z
Подсказки: z r , s max{ I r I rB , I s I sB }
• Сравнение с исходной моделью фона
• Отличие цвета от фона
45. Поддержка модели фона
Резкое изменение освещенности
• Автоподстройка камеры
• Лампы дневного света
• Включение света
46. Поддержка модели фона
Небольшие изменения
• Преобразование гистограм
B
{I } {I r B}
r
Существенные изменения
• Перестройка цветовой модели
47. Перестройка модели фона
• Увеличение порога на передний план
• Инициализации карты достоверности краев
B
• Модификация смесей r u 1 r
B
• Динамическое обновление u B
r
и I r
B
pmix ( I r ) pglobal ( I r | xrr B ) (1 ))(1 x)r plocal ( xr )
u plocal ( )
r
48. Поддержка модели фона
• Движение в фоне
• Опираемся на глобальную модель
• «Заснувшие» и «Пешеход» на заднем плане
• Оставляем только самую большую связанную компоненту
• Дрожание камеры
• Применяем размытие по гауссу
• Уменьшаем вес локальной цветовой модели
51. Результат
• 12-15 кадров/с при разрешении 320*240
• процессор 3.2 GHz
52. Резюме Background Cut
• Использование MRF / энергетической
формулировки для совместного вычисления
сегментации и учета большого набора признаков
в совокупности
• Адаптивное объединение локальной и глобальной
модели фона и объекта
• Учет локального сходства фона и объекта
• Поддержка модели фона – учет глобальных
изменений
55. Построение шаблона движения
• Для совмещения вначале находим границы объекта
переднего плана
• Совмещаем границы с помощью ICP (Iterative Closest
Point)
• Считаем шаблон движения
• Рассчитываем расстояние от каждого изображения до
шаблона
• Оставляем 80% из них, и снова пересчитываем
шаблон
56. Модели шаблонов движения
• EPFL база
• 8 человек на беговой дорожке
• Сопоставили модели из MAYA
• База состоит из силуэтов модели с 8и точек
зрения
• Используется для оценки позы и т.д.
57. Сопоставление шаблонов
• Масштабирование по высоте
• Совмещение медианного центра шаблонов
• Полный перебор масштаба/поворота/переноса в
небольших пределах
• Используется мера, дающая больший вес области
головы и плеч:
58. Накопление априорной информации
• Вычисление карт «торчащих предметов»
• Вычисляем модели вероятности «носимого»
предмета в зависимости от значение «торчания»
•Приближение их параметрическими функциями
62. Interactive Video Cutout
Jue Wang, Pravin Bhat, Alex Colburn, Maneesh Agrawala and Michael
Cohen. Interactive video cutout. ACM Transactions on Graphics, 24(3)
(Proc. SIGGRAPH2005), 585-594, 2005
64. Предобработка
• Сегментация сдвигом среднего по кадрам
• Сегментация сдвигом среднего в 3D (объединение сегментов)
• ~100 пикселов в 2д сегменте
• ~2000 в 3д сегменте
• 2 cекунды на кадр + 5 секунд на кадр
• Определение соседства (26 соседей для пиксела в 3D)
69. Энергия цвета
• Считаем смесь из 5 компонент для фона и объекта, по отмеченным
пользователям меткам
• Рассчитываем энергию для вершины (глобальную):
• Отдельно считается локальная цветовая энергия. Для случая
стабилизированной камеры (фактически, вычитание фона)
72. Элементы энергии
(а) локальный цвет фона (б) глобальная энергия фона
(c) глобальная энергия переднего плана (d) локальная энергия
краев (e) глобальная энергия краев
76. Развитие MRF-подхода
• Задача: сегментация объекта в видео
• Подход:
• Используем энергетическую формулировку
• Накладываем ограничения так, чтобы обеспечить
«слаженность» (coherency) по движению
• Это позволяет существенно повысить качество слежения и
сегментации
{David Tsai , Matthew Flagg, James M.Rehg Motion Coherent Tracking with Multi-label MRF
optimization, BMVC 2010
77. Метки
Каждой паре (фон, вектор движения)
задается своя метка
78. Унарный потенциал
• Первый член – похожесть взвешенных окрестностей x
и x+D
• Второй член – похожесть цвета на глобальные
цветовые модели фона и объекта
79. Парный потенциал
• Как для соседей по времени, так и для соседий по
изображению
• Первый член – штраф за разные направления
векторов
• Второй член – штраф за разные метки
80. Схема
• Разбиваем всё видео на фрагментмы (sliding
window)
• В каждом фрагменте считаем на уменьшенном
разрешении (на контрольных точках)
• Пересчитываем на полном разрешении
• Для оптимизации используем быстрый приближенный метод
Fast-PD
82. Video SnapCut
Xue Bai, Jue Wang, David Simons, Guillermo Sapiro. Video SnapCut:
Robust Video Object Cutout Using Localized Classifiers. ACM SIGGRAPH
2009
86. Голосование для поиска
Индексирования смещения от точки к центру
объекта по «кодовым словам»
Визуальное слово
с векторами смещения
Тренировочное изображение
B. Leibe, A. Leonardis, and B. Schiele, Combined Object Categorization and
Segmentation with an Implicit Shape Model, ECCV Workshop on Statistical
Learning in Computer Vision 2004 Slide by S. Lazebnik
87. Применение в распознавании
Индексирования смещения от точки к центру
объекта по «кодовым словам»
Тестовое изображение
B. Leibe, A. Leonardis, and B. Schiele, Combined Object Categorization and
Segmentation with an Implicit Shape Model, ECCV Workshop on Statistical
Learning in Computer Vision 2004
Slide by S. Lazebnik
88. Обучение
1. Строим словарь патчей по окрестностям
выделенных особых точек с помощью
кластеризации (подробнее дальше)
Slide by S. Lazebnik
89. Обучение
1. Строим словарь патчей по окрестностям
выделенных особых точек с помощью
кластеризации
2. Сопоставляем каждый патч вокруг особой точки
с ближайшим значением из словаря
Slide by S. Lazebnik
90. Обучение
1. Строим словарь патчей по окрестностям
выделенных особых точек с помощью
кластеризации
2. Сопоставляем каждый патч вокруг особой точки
с ближайшим значением из словаря
3. Для каждой записи в словаре, сохраняем все
вектора смещения (к центру объекта от патча)
Slide by S. Lazebnik
91. Поиск
1. Извлекаем патчи из тестового изображения,
ищем соответствия в словаре
2. Голосуем за все центры объекта по словарю
3. Ищем максимумы в фазовом пространстве
4. Строим взвешенную маску сегментации по
маскам из словаря
Slide by S. Lazebnik
92. Применение в слежении
Классификаторы можно обучать и на лету
Martin Godec, Peter M. Roth, Horst Bischof Hough-based Tracking of Non-
Rigid Objects, ICCV 2011
95. Резюме лекции
• Энергетическая формулировка на графической
модели позволяет учитывать разные факторы
совместно и накладывать условия
пространственной и временной согласованности
• Это повышает качество отслеживания,
сегментации, устойчивость к перекрытиям, и т.д.
96. На следующей лекции
• Модель камеры
• Калибровка камеры
• Многовидовая геометрия
Xi
xi
P?