cv2011 lecture 11. basic video
TRANSCRIPT
![Page 1: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/1.jpg)
Основы видеонаблюдения
![Page 2: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/2.jpg)
Общая информация
Страница курса http://courses.graphicon.ru/main/vision
Этот курс подготовлен и читается при
поддержке Microsoft Research
![Page 3: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/3.jpg)
Задачи видеонаблюдения
• Выделение «объектов интереса» в видео и отслеживание их движения в последующих кадрах
• Выделение объектов интереса • Результат - ограничивающий
прямоугольник • Или попиксельая маска
• Отслеживание (video tracking) • Вход – положение объекта на первом
кадре • Результат – траектория движения
объектов (след или “track”)
![Page 4: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/4.jpg)
Проблемы
• Масштабируемость • Видео гораздо больше одного изображения, гораздо
выше вычислительная нагрузка
• Изменение по времени
• Вид объекта меняется от кадра к кадру из-за ракурса, изменения освещения, внутренних изменений (идущий человек)
• Несколько объектов
• В сцене могут быть несколько объектов, которые могут быть похожи друг на друга, перекрывать друг друга и т.д.
![Page 5: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/5.jpg)
• Потребуются размеченные данные, в которых отмечено положение объекта в каждом (или в ключевых кадрах)
• Ошибка отслеживание – расстояние до ground truth данных
• Ожидаемая ошибка на видеопоследовательности
• Точность (precision)
• Надежность (robustness)
Оценка качества
![Page 6: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/6.jpg)
Выбор объекта интереса
• Инициализация вручную
• Детектор объектов • Детектор «пешехода» • Детектор «лиц»
• Сегментация видео • Выделение движущихся объектов
![Page 7: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/7.jpg)
Система видеонаблюдения
• Построим стандартную, простую систему видеонаблюдения
• Упрощение 1: стационарная камера • Упрощение 2: стабильный фон, мало изменяющийся
между камера
![Page 8: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/8.jpg)
Вычитание фона
• Background subtraction • Возьмем изображение без объектов (фон, background) • Вычтем фон из новых изображений с объектами • Сравним разницу для каждого пикселя с порогом
– Порог – параметр алгоритма • Если разница больше порога - то пиксель принадлежит
«переднему плану» (foreground) • Получаем маску «переднего плана»
- =
![Page 9: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/9.jpg)
Обработка маски переднего плана
• Выделим отдельные объекты как связанные компоненты • «Блоб» («капля», blob) - связанная компоненты маски переднего
плана • Для подавления шума отфильтруем маску переднего плана
Медианная фильтрация, морфология Это простейший (и работоспособный) алгоритм выделения
движущихся объектов Для мышек часто применялся
![Page 10: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/10.jpg)
![Page 11: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/11.jpg)
Реальная картина
Фон существенно меняется
![Page 12: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/12.jpg)
Яркость по времени
• Будем рассматривать каждый пиксель изображения i независимо от остальных
• Яркость (цвет) xi каждого пикселя фона изменяется по времени t • Построим модель яркости(цвета) xi пикселя i фона • Если на новом кадре яркость (цвет) пикселя не удовлетворяет
модели фона - значит это пиксель принадлежит движущемуся объекту
![Page 13: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/13.jpg)
Общая схема вычитания фона
- Initialize_background_model() - For t = 1:N
- Compute_frame_difference() - Threshold_frame_difference() - Noise_removal() - Update_background_model()
- end
![Page 14: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/14.jpg)
Усреднение кадров
• Простейшая модель фона – одно изображение чистого фона
• Возьмем N кадров и
попиксельно усредним интенсивности (цвета)
![Page 15: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/15.jpg)
Модель фона - медиана
• Когда не работает усреднение: • Всегда в кадре движущиеся объекты • Случайные и резкие изменения яркости (блики, засветка)
• Вместо усреднения берем медиану
![Page 16: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/16.jpg)
Среднее vs Медиана
Средний цвет Медиана
![Page 17: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/17.jpg)
Вычитание медианного фона
-
=
![Page 18: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/18.jpg)
Другие методы
• Во многих случаях медиана может не помогать • Пр.: когда мышь сидит в одном месте >50% кадров
тестового видеоролика
• Предлагаются другие методы, на основе оптимизации целевой функции • Например, разобьём все изображения на сегменты • Будем выбирать сегменты из разных кадров, чтобы была
наиболее плавная и стабильная картинка
![Page 19: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/19.jpg)
Обновление модели фона
Что делать, если освещенность постепенно меняется?
Moving average – постоянное обновление фона Взвешенная сумма текущего и предыдущих N
кадров
Ещё один (или несколько) параметр – вес кадра
![Page 20: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/20.jpg)
Виды помехи
![Page 21: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/21.jpg)
Гауссиана
• Предположение: • Интенсивность меняется в небольших пределах вокруг
какого-то значения • «Шум камеры» • Нормальное распределение
Wren, Christopher R., Ali Azarbayejani, Trevor Darrell, and Alex Pentland. “Pfinder: Real-Time Tracking of the Human Body,” IEEE PAMI, 1997
![Page 22: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/22.jpg)
Вычисление параметров
• Для одного канала: • Вычисляем среднее
• Вычисляем дисперсию
• Вероятность нового пикселя y:
N
iixN 1
1
N
iixN 1
22 )(1
1
2
2
2)(
21),|(
x
ex
![Page 23: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/23.jpg)
Обновление параметров
11 )1( ttt x
211
21
21
21 ))(1())(( tttttt x
• Обновление матожидания
• Обновление дисперсии
а – скорость обновления (обучения)
![Page 24: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/24.jpg)
Многоканальное изображение
• Можно рассчитать полную матрицу ковариации K • Обновлять полную матрицу сложно • Обновление только среднего, с сохранением
ковариации
11 )1( ttt x
![Page 25: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/25.jpg)
Смесь гауссиан
• Один гауссиан – один кластер • Значения могут группироваться в несколько
кластеров
W.E.L.Grimson, C.Stauffer. Adaptive background mixture models for real-time tracking. CVPR 1999
![Page 26: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/26.jpg)
Распределение интенсивности красного и зеленого каналов
Смесь гауссиан
![Page 27: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/27.jpg)
- вес компоненты I в момент t
),,()( ,,1
, titit
K
itit xNxP
ti,
Вероятность интенсивности y при модели смести К гауссиан
• Вычисление смеси требует EМ алгоритма (не в реальном времени), поэтому используем приближение
Смесь гауссиан
![Page 28: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/28.jpg)
Обучение смеси на лету
• Пусть N – количество компонент в смеси • Инициализируем 1ую компоненту по первому
изображению, вес = 1, вес остальных – 0 • Сравниваем пиксель с каждой компонентой, пока
не найдем совпадения • Обновляем матожидание и дисперсию совпавшей
компоненты • Если совпадения не найдено, то заменяем
компоненту с наименьшим весом • Обновляем веса
![Page 29: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/29.jpg)
Обновление весов
tititi aMa ,1,, )1(
tiM ,
Обновление весов:
= 1, если интенсивность пикселя удовлетворяет i-ой компоненте
После обновления всех весов, они нормализуются
![Page 30: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/30.jpg)
Моделирование фона
• Упорядочим все компоненты по критерию • Чем «стабильнее» компонента, тем выше • Чем больше вес (чаще встречается, тем тоже выше
• Определим порог T - какая доля выборки для каждого пикселя должна соответствовать фону
• Тогда фон для каждого пикселя:
• Все остальные компоненты - объекты
/i
b
ii
bTB
1
)(minarg
![Page 31: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/31.jpg)
Пример работы
(1) (2) (3) (4)
1. Исходный кадр 2. Модель фона (старшая гауссиана) 3. Мат.ожидания второй гауссианы 4. Маска переднего плана
![Page 32: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/32.jpg)
Как настраивать модель? • Если есть размеченные данные:
• Оценка precision/recall на наборе видеороликов
• Выбор параметров, оптимизирующих желаемую точность
• Если нет размеченных данных • Можно взять видео без объектов • Настроить параметры таким образом,
чтобы получить заданное количество ложных обнаружений
• Минимальные пороги для достижения заданной «чувствительности»
![Page 33: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/33.jpg)
Непараметрическая модель
A. Elgammal, D. Harwood, and L. Davis. Non-parametric model for background subtraction,“ ICCV'99 Frame-rate workshop, 1999
![Page 34: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/34.jpg)
Непараметрическая модель
N
jjxxK
NxP
1
)(1)(
Nxx ,...,1Пусть - N значений пикселя (выборка)
K – ядровая функция, обычно тоже гауссиан
TxP )( - тогда фон
![Page 35: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/35.jpg)
Непараметрическая модель
• K можем считать с помощью lookup-таблицы • Можно суммировать до тех пор, пока не
превысим порог (и пометим как объект) • Оценка ширины ядра:
268.0m
1 ii xxmedianm
![Page 36: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/36.jpg)
Двухэтапное обнаружение • Объект может случайно сдвинуться дальше, чем в
обученной модели • Образуются ложные обнаружения • Второй этап обнаружения:
• Сравним пиксель со всеми из окрестности:
• Будем разрешать, только если вся компонента
сдвинулась:
![Page 37: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/37.jpg)
Схема обновления фона • Short-term model
• N последних элементов • Выборочное обновление
• Long-term model • N элементов за долгий период времени • Слепое обновление • Больше false positives (т.к. модель не учитывает
последних изменений) • Больше false negatives (т.к. в модель слепо можем
добавить объекты)
• Комбинированная модель • Находим объекты на обеих моделях • Берём их пересечение • Добавляем объекты из «срочной» модели, если они
граничат с найденным на «долгой» модели объектами
![Page 38: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/38.jpg)
Пример работы
![Page 39: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/39.jpg)
Поблочная обработка
• Вместо анализа каждого пикселя мы можем разбить всё изображение на блоки и анализировать блоки
• Точность сегментации получается хуже, зато считается статистика изображения в блоке, что повышает надежность
![Page 40: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/40.jpg)
Статистики по окрестностям
Ko, T.[Teresa], Soatto, S.[Stefano], Estrin, D.[Deborah], Background Subtraction on Distributions, ECCV 2008
![Page 41: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/41.jpg)
• Посчитаем статистику (гистограмму) по 3D окрестности пикселя (фон):
• Посчитаем статистику по 2д окрестности пикселя на текущем кадре:
• Вычислим разницу:
• Обновление модели:
Схема алгоритма
![Page 42: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/42.jpg)
Результаты работы
![Page 43: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/43.jpg)
Глобальные модели цветов
• Если у объекта и фона характерные цвета, то почему бы это не использовать?
• Построим цветовые модель объекта и модел фона
• Для каждого пикселя будем сравнивать вероятности принадлежности пиксела обоим моделям и выбирать ту, вероятность для которой будет выше
![Page 44: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/44.jpg)
Модель фона
• Построим и глобальную, и локальную модели фона
• Глобальная: смесь гауссиан (GMM)
)1510( bK
bK
k
bk
bkr
bkrr INBxIp
1
),|()|(
![Page 45: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/45.jpg)
• Построим и глобальную, и локальную модели фона
• Глобальная: смесь гауссиан (GMM)
• Локальная: один гауссиан
)1510( bK
Модель фона
![Page 46: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/46.jpg)
• Глобальная: смесь гауссиан (GMM)
• Локальная: один гауссиан
• Объединенная:
bK
k
bk
bkr
bkrrglobal INBxIp
1
),|()|(
),|()( Br
Brrrlocal INIp
)()1()|()( rlocalrrglobalrmix xpBxIpIp
)1510( bK
Общая модель фона
![Page 47: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/47.jpg)
• Возьмём те пиксели, для которых вероятность фона низкая
• Обучим по ним смесь гауссиан (K=5)
Модель переднего плана
frB tIp )(
![Page 48: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/48.jpg)
Соотношение моделей?
BxifIpFxifFxIp
rrmix
rrrglobal
)()|(
)()1()|()( rlocalrrglobalrmix xpBxIpIp
?
![Page 49: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/49.jpg)
)()1()|()( rlocalrrglobalrmix xpBxIpIp
Адаптивная смесь
![Page 50: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/50.jpg)
Адаптивная модель
Дивергенция Kullback-Liebler
дает разницу между двумя смесями гауссин
fbKL
)log)||((min0
bi
fkb
ifk
K
k i
fkfb w
wNNKLwKL
fbKL0
0fbKL модели идентичные
![Page 51: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/51.jpg)
)|()( BxIpIp rrglobalrmix 1fbKL
KLfbKL
e 2
11
5.0
1fbKL
1
)()|()( 21
21
rlocalrrglobalrmix xpBxIpIp Только глобальная модель
Поровну локальная и глобальные модели
Адаптивная модель
![Page 52: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/52.jpg)
Адаптивная модель
)()1()|()()( rlocalrrglobalrmix xpBxIpIp
• Параметр смешения моделей можно уточнять на каждом кадре, в т.ч. с учётом других факторов
• Глобальная модель позволит нам обрабатывать сложные случаи изменения фона, когда локальная модель срабатывает плохо и наоборот
BxifIpFxifFxIp
rrmix
rrrglobal
)()|(
![Page 53: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/53.jpg)
Поддержка модели фона
Изменение освещенности • Автоподстройка камеры
• Лампы дневного света
• Включение света
Небольшое изменение освещенности: • Преобразование цветовых моделей на основе преобразования
гистограмм
Резкие изменения • Перестройка цветовой модели фона и переднего плана • Использование карты достоверности краёв как подсказки
}{}{ BII rBr
![Page 54: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/54.jpg)
Поддержка модели фона
![Page 55: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/55.jpg)
Поддержка модели фона • Движение в фоне
• Опираемся на глобальную модель
• Дрожание камеры • Применяем размытие по гауссу
• Уменьшаем вес локальной цветовой модели
• «Заснувшие» и «Пешеход» на заднем плане • Оставляем только самую большую связанную компоненту
![Page 56: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/56.jpg)
Поддержка модели фона
![Page 57: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/57.jpg)
Отслеживание объектов • Выделили «объекты интереса» на
каждом кадре с помощью вычитания фона в виде набора блобов
• Какому объекту (следу) какой блоб соответствует?
• Фактически – задача сопоставления или ассоциации данных (Data association)
• «Tracking by detection» • Можем каждый объект описать набором
признаков
![Page 58: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/58.jpg)
Детерминированное слежение
Нахождение соответствий между объектами, найденными на соседних кадрах с учетом ограничений
Варианты: Новые объект Сопоставление старому следу Пропадание объекта
![Page 59: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/59.jpg)
Простейшая стратегия
Простейшая стратегия в более сложных случаях не срабатывает, поэтому исследовались разные ограничения
Сопоставим ближайшее наблюдение следу
![Page 60: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/60.jpg)
Виды ограничений
• (а) близость • (b) максимальная скорость • (c) малое изменение вектора скорости • (d) общее движение • (e) «жесткость»
![Page 61: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/61.jpg)
Детерминированные алгоритмы
Двухкадровые Многокадровые
![Page 62: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/62.jpg)
Базовый метод видеонаблюдения
• Обучение модели фона • Для каждого кадра
• Вычитание фона • Обработка маски (фильтрация, морфологии) • Выделение связанных компонент • Ассоциация объектов в треки • Инициализация новых треков • Обновление фона
![Page 63: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/63.jpg)
Отслеживание объектов
• Что делать, если фон не стационарный? • Придётся строить какую-то модель объекта, и
искать на следующем кадре похожий объект
![Page 64: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/64.jpg)
Current frame
… …
Схема слежения
Выбрать пространство
признаков
Представить модель в
выбранном пространстве
Инициализация модели
![Page 65: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/65.jpg)
Поиск в окрестности в следующем
кадре
Старт с текущей позиции
Выбор положения,
максимизирующего сходство
Повторение процедуры
для следующего
кадра
Текущий кадр
… … Модель Кандидат
Схема слежения
![Page 66: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/66.jpg)
Представление объектов
• Как будем описывать модель объекта и фона? • Некоторое приближение – адаптивные модели для вычитания
фона («глобальная цветовая модель фона» и «модель цвета объекта»
![Page 67: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/67.jpg)
Множество точек
• Простейший kernel метод – отслеживание ключевых точек
• Общая проблема – быстрая деградация точек
• Решение – использование «стаи точек» (flock of features)
![Page 68: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/68.jpg)
Пример: отслеживание руки
• Условия «стаи» • Никакие две особенности не совпадают (порог на
близость) • Никакая особенность не уходит далеко от медианного
центра (порог на удаление)
![Page 69: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/69.jpg)
Пример: отслеживание руки
• Шаг 1: инициализация
• Находим 100 особенностей в рамке руки • Вычисляем медиану • Вычисляем цветовую статистику в окрестности центра
– одна гауссиана (или гистограмма нормализованная) • Можем вычислить карту цветовой сегментации
![Page 70: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/70.jpg)
Пример: отслеживание руки
• Шаг 2: слежение • Отслеживаем особенности • Если особенность нарушает условия стаи, её удаляем
• Шаг 3: инициализация новых особенностей • Ищем особенности, используем карту вероятности цвета
кожи • Если вероятность <порога, отбрасываем особенность
![Page 71: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/71.jpg)
Template matching
• Сопоставление шаблонов – поиск положения (bbox, эллипс)
• Ключевой вопрос – моделирование внешности: • Само изображение как шаблон (NCC)
– Ищем на следующем кадре похожие по кросс-корреляции фрагменты
• Карты краёв • Вероятностное моделирование
– Цвет, текстура, и т.д. (гистограммы обычно)
• Общая проблема – негладкость функции качества, из-за чего градиентные (итеративные) методы часто ошибаются
![Page 72: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/72.jpg)
• HUTTENLOCHER, D., NOH, J., AND RUCKLIDGE, W.. Tracking nonrigid objects in complex scenes. ICCV 1993
Карта краёв
• Карта краёв выбирается как шаблон для дальнейшего сравнения • Вычисляется метрика Хаусдорфа на основании distance transform • Шаблон обновляется как набор краёв, ближайших к краям шаблона предыдущего кадра
![Page 73: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/73.jpg)
Выбор опорной модели
Квантованная цветовая модель
Выбор пространства
признаков
Представим модель как
распределение (PDF)
признаков
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
1 2 3 . . . m
color
Prob
abili
ty
Слежение сдвигом среднего
Dorin Comaniciu, Visvanathan Ramesh, Peter Meer, Kernel-Based Object Tracking, PAMI 2003
• Метод на основе вероятностного представления модели объекта • Решение проблемы гладкости целевой функции
![Page 74: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/74.jpg)
,f y f q p y
Сходство:
Модель (центр в 0)
Кандидат (центр в y)
1..1
1m
u uu mu
q q q
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
1 2 3 . . . m
color
Prob
abili
ty
1..1
1m
u uu mu
p y p y p
0
0.05
0.1
0.15
0.2
0.25
0.3
1 2 3 . . . m
color
Prob
abili
ty
Слежение сдвигом среднего
![Page 75: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/75.jpg)
f y
Сходство: ,f y f p y q
Проблема: Цель
описывается только цветом
Пропадает информация о
положении
Решение: Покроем цель изотропным ядром
f(y) станет гладкой в y
f не гладкая Градиентные
методы не робастные
Возможны резкие скачки метрики при небольших
сдвигах
Слежение сдвигом среднего
![Page 76: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/76.jpg)
1..i i nx
Пиксели цели
( )k x Изотропное, выпуклое, дифференцируемое, монотонно убывающее ядро (Пиксели по краям могут перекрываться, взаимодействовать с фоном и т.д.)
( )b x Индекс ячейки гистограммы (1..m) для пиксела x
2
( )iu i
b x uq C k x
Нормализация Вес пиксела
Вероятность фичи u в модели
0
0.05
0.1
0.15
0.2
0.25
0.3
1 2 3 . . . m
color
Prob
abili
ty
Вероятность фичи u в кандидате
0
0.05
0.1
0.15
0.2
0.25
0.3
1 2 3 . . . m
colorPr
obab
ility
2
( )i
iu h
b x u
y xp y C kh
Нормализация Вес пиксела
0
model
y
candidate
Слежение сдвигом среднего
![Page 77: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/77.jpg)
1 , , mp y p y p y
1, , mq q q
Модель цели:
Кандидат:
Подобие: , ?f y f p y q
1 , , mp y p y p y
1 , , mq q q
q
p yy
1
1
The Bhattacharyya Coefficient
1cos
T m
y u uu
p y qf y p y q
p y q
Слежение сдвигом среднего
![Page 78: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/78.jpg)
,f p y q
Начинаем с текущей позиции
q
Ищем в окрестности сл.
кадра
p y
Максимизируем сходство
Слежение сдвигом среднего
![Page 79: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/79.jpg)
01 1 0
1 12 2
m mu
u u uu u u
qf y p y q p yp y
Линейное
приближение.
(вокруг y0)
0yПоложение модели: yПоложение кандидата:
2
12
nh i
ii
C y xw kh
2
( )i
iu h
b x u
y xp y C kh
Независимо от y
Оценка плотности!
(как функции от y)
1
m
u uu
f y p y q
Слежение сдвигом среднего
![Page 80: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/80.jpg)
2
12
nh i
ii
C y xw kh
Мода = целевой максимум
Предположения:
Одна мода в окрестности
Предстваление цели достаточно
для распознавания
Слежение сдвигом среднего
![Page 81: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/81.jpg)
Original Mean-Shift:
20
11 2
0
1
ni
ii
ni
i
y xx gh
yy xgh
Find mode of
2
1
ni
i
y xc kh
using
2
12
nh i
ii
C y xw kh
Extended Mean-Shift:
20
11 2
0
1
ni
i ii
ni
ii
y xx w gh
yy xw gh
2
1
ni
ii
y xc w kh
Find mode of using
Слежение сдвигом среднего
Мода = целевой максимум
2K x ck x k x g x
![Page 82: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/82.jpg)
Epanechnikov kernel:
1 if x 10 otherwisex
k x
Особый класс радиально-симметричных ядер
2K x ck x
11
1
n
i iin
ii
x wy
w
20
11 2
0
1
ni
i ii
ni
ii
y xx w gh
yy xw gh
1 if x 10 otherwise
g x k x
Uniform kernel:
Слежение сдвигом среднего
k x g x
![Page 83: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/83.jpg)
Иллюстрация
![Page 84: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/84.jpg)
Проблема :
Масштаб цели
меняется
Масштаб (h) ядра должен
меняться
Решение:
Прогоняем поиск 3 раза с
разными h
Выбираем h, на котором достигается максимум
Слежение сдвигом среднего
![Page 85: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/85.jpg)
Слежение сдвигом среднего
Пространство признаков: 161616 квантованное RGB
![Page 86: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/86.jpg)
COLLINS, R. AND LIU, Y.. On-line selection of discriminative tracking features. ICCV 2003
Выбор признаков
• В зависимости от разных факторов, объект может быть различим в разных каналах, по разным признакам
![Page 87: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/87.jpg)
Схема метода
![Page 88: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/88.jpg)
Оценка качества канала
Рассмотрим отдельный канал
![Page 89: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/89.jpg)
Оценка каналов
• Всего 49 каналов, как линейные комбинации цветовых каналов:
![Page 90: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/90.jpg)
Примеры оценки каналов
![Page 91: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/91.jpg)
Сравнение методов
Один фиксированный канал (MeanShift)
Выбор каналов на лету
![Page 92: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/92.jpg)
Комитетный трекер
S. Avidan. Ensemble tracking. PAMI, 2007
• Для слежения будем классифицировать пиксели на объект/фон сильным классификатором (бустинг) • На каждом кадре убирается K самых старых слабых классификаторов • Строится K новых классификаторов для текущего кадра
![Page 93: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/93.jpg)
Слабые классификаторы
• 11D признаки для каждого пикселя (HOG + RGB) • Линейный классификатор по МНК
![Page 94: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/94.jpg)
Адаптация классификаторов
• Демонстрация изменения слабых классификаторов • 5 слабых классификаторов, вверху – самый свежий • Уровни задают веса признаков, первые 8 –HOG, далее RGB
![Page 95: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/95.jpg)
Многомасштабное слежение
• Для 3х уровней масштаба строится свой сильный классификатор • На каждом уровне строится своя карта вероятности объекта • Карты приводятся к одному уровню и смешиваются • Находим пик карты с помощью MeanShift
![Page 96: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/96.jpg)
Результаты
![Page 97: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/97.jpg)
B. Stenger, T. Woodley, R. Cipolla Learning to Track With Multiple Observers, СVPR 2009
Объединение трекеров
• Идея: • Протестировать ряд базовых трекеров на наборе выборок, оценить качество и надежность • Найти зависимость качества трекера от уверенности (confidence value) • Найти хорошо дополняющие друг друга группы методов • При падении доверия к первому методу в группе мы переключаемся на второй метод
![Page 98: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/98.jpg)
Тестовые данные
• Indoor и Outdoor данные • Во всех присутствует изменение позы, размера, размытие из движения (motion blur)
![Page 99: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/99.jpg)
Обучение метрики доверия
• По тестовым данным обучаем p(e|c ), где c – параметр доверия, специфичный для каждого метода
![Page 100: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/100.jpg)
Результаты оценки
![Page 101: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/101.jpg)
Каскадное объединение
• Если оценка качества по доверию для метода 1 падает ниже порога, переключаемся на метод 2 • Когда все методы дают низкое качество, происходит переинициализация метода
![Page 102: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/102.jpg)
Результаты объединения
![Page 103: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/103.jpg)
Сравнение
• Сравнение результатов на тестовых данных и на других реальных данных
![Page 104: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/104.jpg)
NCC NCC NCC
CM CM CM
Примеры работы
• Работает NCC, при возникновении motion blur система переключается на CM (color + motion map)
![Page 105: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/105.jpg)
Примеры работы
NCC NCC NCC
FF FF MS • Работает NCC, потом переключение на FF (flock of features), потом на MS (mean shift)
![Page 106: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/106.jpg)
Примеры работы
![Page 107: CV2011 Lecture 11. Basic video](https://reader030.vdocuments.site/reader030/viewer/2022020207/5568a9f4d8b42a4c378b4b78/html5/thumbnails/107.jpg)
Резюме лекции
• Вычитание фона – основа систем видеонаблюдения со стационарным фоном
• Если фон динамический, то нужно отдельно выделять объекты и затем применять методы отслеживания объектов
• Зато есть ряд базовых методов, каждый в своём случае хорошо работает • NCC • Flocks of features • MeanShift
• Выход в их комбинации, но это иногда существенно замедляет скорость работы