111
Основы видеообработки

20120413 videorecognition konushin_lecture02

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 20120413 videorecognition konushin_lecture02

Основы видеообработки

Page 2: 20120413 videorecognition konushin_lecture02

Видео

Последовательность изображений, полученных с одной камеры через небольшие промежутки времени

• Пользовательское видео – от 3-5 кадров/сек до 30-50 кадров/сек

• Работая с видео, мы предполагаем, что наблюдаемые объекты изменяются между кадрами незначительно

• «Незначительно» может сильно вариьироваться – от смещения на 1 пиксель, до смещения на десятки и более пикселей

Page 3: 20120413 videorecognition konushin_lecture02

Движение

• Движение – главное отличие видео от изображений• Движение само по себе является мощной визуальной подсказкой• Суть многих действий именно в динамике• Иногда достаточно отследить движение отдельных точек, чтобы

распознать событие

Что показано в видео?

Page 4: 20120413 videorecognition konushin_lecture02

Распознавание по движению

http://www.biomotionlab.ca/Demos/BMLwalker.html

Page 5: 20120413 videorecognition konushin_lecture02

Описание движения

• Точки наблюдаемой сцены движутся относительно камеры / изображения

• Векторное поле движения 2D проекций на изображение 3D точек объектов сцены называется полем движения (motion field)

• Нужно это движение как-то формализовать, описывать и измерять

Page 6: 20120413 videorecognition konushin_lecture02

Оптический поток

• Движение точек объектов по видео увидеть можно далеко не всегда• Пример:

• Серый матовый шар, освещается с одной стороны и вращается вокруг своей оси• Яркость всех пикселов изображения в этом случае будет постоянной

•Оптический поток (optical flow) – векторное поле видимого (apparent) движения пикселей между кадрами

• Вычисление оптического потока – одна из базовых задач анализа видео • Задача похоже на задачу попиксельного сопоставления двух изображений одной и той же сцены

Page 7: 20120413 videorecognition konushin_lecture02

Визуализация

Вектора движения для отдельных точек или всего

изображения

Цветовое кодирование вектора движения. Каждому направлению и

амплитуде свой цвет и яркость

Page 8: 20120413 videorecognition konushin_lecture02

Оптический поток

• Векторное поле движения пикселей между кадрами

• Задача - аналог задачи сопоставления изображений (dense matching)

• Один из базовых инструментов анализа изображений

Page 9: 20120413 videorecognition konushin_lecture02

Постановка задачи

• Как оценить движение пикселей от H в изображение I?• Проблема соответствия пикселей!

– Пусть дан пиксель H, наити близкие пиксели того же цвета в I

• Ключевые предположения• Константный цвет: точка в H выглядит также, как и в I

– Для изображения в градациях серого, это постоянная яркость• Малое движение: точки не уезжают далеко между кадрами

Page 10: 20120413 videorecognition konushin_lecture02

Ограничения на оптический поток

• Используем ограничения для формализации задачи• Постоянная яркость• Малое смещение: (u и v меньше 1-го пикселя)

– Разложим функцию картинки в ряд тейлора I:

Page 11: 20120413 videorecognition konushin_lecture02

Уравнение оптического потока• Объединим два ограничения

В пределе u и v стремятся к нулю, и получаем равенство:

Page 12: 20120413 videorecognition konushin_lecture02

Уравнение оптического потока

• Элементарное уравнение оптического потока:

• Вопрос: сколько неизвестных и уравнений для каждого пикселя?

• 1 уравнение, 2 неизвестных (u, v)

Page 13: 20120413 videorecognition konushin_lecture02

Дополнительные уравнения• Как можно получить больше уравнений?• Идея: наложить дополнительные ограничения

• Пусть оптический поток меняется плавно• Вариант: пусть для всех пикселей p из окрестности (x,y)

смещение (u,v) постоянно!– Для окна 5x5 получаем 25 уравнений для

каждого пикселя!

Page 14: 20120413 videorecognition konushin_lecture02

Цвет вместо яркости• При использовании окна 5x5 получается 25*3

уравнений на пиксель!

Page 15: 20120413 videorecognition konushin_lecture02

Алгоритм Лукаса-Канаде• Проблема: больше уравнений, чем неизвестных!

• Получаем задачу наименьших квадратов• Можем решить её через нормальные уравнения

• Суммируем по всем пикселям в окне K x K • Это метод был предложен Лукасом и Канаде в 1981 году

bAAAd TT 1)(

Page 16: 20120413 videorecognition konushin_lecture02

Алгоритм Лукаса-Канаде

B. D. Lucas and T. Kanade. An iterative image registration technique with an application to stereo vision. In DARPA Image Understanding Workshop, April 1981.

• Оптимальные (u, v) удовлетворяют уравнению

• Которое может быть решено через нормальные уравнения

bAAAd TT 1)(

Page 17: 20120413 videorecognition konushin_lecture02

Условия на разрешимость• Решение задачи оптического потока d = (u,v) может быть

найдено в виде

• Когда задача разрешима?• ATA должна быть обратимой• ATA не должна быть слишком близка к нулю

– С.значения l1 и l2 матрицы ATA не должны быть малы• ATA должна быть хорошо определима

– l1/ l2 не должно быть слишком велико– (l1 = наибольшее с.значение)

• ATA разрешима, когда нет апертурной проблемы

bAAAd TT 1)(

Page 18: 20120413 videorecognition konushin_lecture02

Проблема апертуры

Page 19: 20120413 videorecognition konushin_lecture02

Проблема апертуры

Page 20: 20120413 videorecognition konushin_lecture02

Анализ участка изображения

Page 21: 20120413 videorecognition konushin_lecture02

Края

– большие градиенты– большое l1, маленькое l l2

Page 22: 20120413 videorecognition konushin_lecture02

Слабоконтрастная текстура

– величина градиента мала– малое l1, малое l2

Page 23: 20120413 videorecognition konushin_lecture02

Текстурированная область

– градиенты разные, большая амплитуда– большое l1, большое l2

Page 24: 20120413 videorecognition konushin_lecture02

Замечание• Поиск оптического потока производится между

двумя изображениями, но: • Можем оценить качество оценки только по 1

изображению!• По 1 картинке можно сказать, в каких точках поток будет

считаться хорошо, а в каких - нет• На этом основаны методы выбора особенностей для

отслеживания• Фактически, поиск особых точек!

Jianbo Shi and Carlo Tomasi, "Good Features to Track," СVPR 1994

Page 25: 20120413 videorecognition konushin_lecture02

Погрешности метода Л-К• Каковы потенциальные источники ошибок?

• Предполагаем, что ATA обратима• Предполагаем, что в изображении мало шума

• Когда эти предположения нарушаются:• Яркость точки не постоянная• Движение между кадрами большое• Движение соседей отличается от движения точки

– Окно поиска слишком большое– Какой наилучший размер окна поиска?

Page 26: 20120413 videorecognition konushin_lecture02

Итеративное уточнение

• Итеративный вариант алгоритма Лукаса-Канаде1. Оценить движение в каждом пикселе, решив уравнения

Лукаса-Канаде2. Преобразовать изображение H используя вычисленное

движение3. Повторить 1-2 до сходимости

Page 27: 20120413 videorecognition konushin_lecture02

Пример

xx0

Initial guess: Estimate:

estimate update

0 = 퐼 + 퐼 푑 - Рассмотрим одномерный случай (d – cмещение)

Page 28: 20120413 videorecognition konushin_lecture02

Пример

xx0

estimate update

Initial guess: Estimate:

Page 29: 20120413 videorecognition konushin_lecture02

Пример

xx0

Initial guess: Estimate:Initial guess: Estimate:

estimate update

Page 30: 20120413 videorecognition konushin_lecture02

Пример

xx0

Page 31: 20120413 videorecognition konushin_lecture02

Замечания

• Сглаживаем изображения для более аккуратного вычисления градиентов

• Лучше градиенты вычислять по одному изображению, а преобразовывать другое

• Преобразование изображения приводит к ошибкам из-за дискретизации, можем потерять в точности

Page 32: 20120413 videorecognition konushin_lecture02

Проблема большого смещения

• Насколько мало движение в изображении?• Существенно больше 1-го пикселя• Как можно решить эту проблему?

Page 33: 20120413 videorecognition konushin_lecture02

Пирамида разрешений

Page 34: 20120413 videorecognition konushin_lecture02

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

• Известна как Пирамида Гауссиан • В компьютерной графике – “mip map” [Williams, 1983]

Slide by Steve Seitz

P. Burt and E. Adelson, “The Laplacian pyramid as a compact imagecode,” IEEE Trans. Commun., vol. 31, no. 4, pp. 532–540, 1983.

Page 35: 20120413 videorecognition konushin_lecture02

Построение пирамиды

Маска фильтра

• Повторяем до достижения минимального разрешения• Сглаживаем с помощью фильтра Гаусса текущее изображение• Сэмплируем – берём каждый k-ый пиксель (обычно, каждый 2ой)

Slide by Steve Seitz

Page 36: 20120413 videorecognition konushin_lecture02

image Iimage H

Гауссова пирамида для H Гауссова пирамида для I

image Iimage Hu=10 пикселей

u=5 пикселей

u=2.5 пикселей

u=1.25 пикселей

Иерархический метод

Page 37: 20120413 videorecognition konushin_lecture02

image Iimage J

Гауссова пирамида для H Гауссова пирамида для I

image Iimage H

Иерархический метод

итеративный L-K

итеративный L-K

масштабирование

.

.

.

Page 38: 20120413 videorecognition konushin_lecture02

Другие модели движения• В рассматриваемых алгоритмах модель движение –параллельный перенос (u,v)• Можно использовать другие модели

• поворот, аффинную, перспективную• Необходимо просто вычислить соответствующий Якобиан

it

i

I TTT

TTT

I)(JbA

JI)I(JAA

Проблемы:• Много параметров, столько же исходных данных• Меньшая устойчивость и надежность

Jianbo Shi and Carlo Tomasi, "Good Features to Track," СVPR 1994

Page 39: 20120413 videorecognition konushin_lecture02

Глобальный подход

• Зачем решать для каждого пикселя уравнение независимо?

• Зададим одну функцию качества оптического потока для всего изображения в целом (Horn, 1980)

• Оптимизировать её каким-нибудь методом оптимизации, например, методом сопряженных градиентов

Page 40: 20120413 videorecognition konushin_lecture02

Глобальный подход

• Первый член – задаёт условие «видимого движения», цвета пикселей после сдвига должны совпадать

• Второй член задаёт ограничения на изменение векторов оптического потока между пикселами

Page 41: 20120413 videorecognition konushin_lecture02

Штрафы на поток

• Квадратичный

• Charbonnier(дифференцируемый L1)

• Lorenzian

Sun, D., Roth, S., and Black, M. J., Secrets of optical flow estimation and their principles, CVPR, June 2010

Робастные метрики, устойчивые к разрывам оптического потока на границах объектов

Page 42: 20120413 videorecognition konushin_lecture02

Рейтинг алгоритмов

S.Baker et. Al. A Database and Evaluation Methodology for Optical Flow, IJCV, 92(1):1-31, March 2011

• Общий рейтинг алгоритмов вычисления оптического потока и набор сложных тестовых данных

• Как всегда, такой рейтинг и сложные данные стимулируют развитие алгоритмов

• http://vision.middlebury.edu/flow/

Page 43: 20120413 videorecognition konushin_lecture02

Создание сложных данных

• Для численной оценки алгоритмов нужны эталонные данные. • Вопрос, как их можно получить для реальных данных?• Подход:

• Съёмка в двух диапазонах• Флюоресцентная краска создает высокочастотную текстуру, позволяющую

оценить поле движения

• Плюс сложные синтетические данные

Page 44: 20120413 videorecognition konushin_lecture02

Синтетические данные

Page 45: 20120413 videorecognition konushin_lecture02

Интерполяция

Снимаем данные камерой 100Hz, оставляем каждый 4ый кадр. Задача – по оптическому потоку проинтерполировать промежуточные

Page 46: 20120413 videorecognition konushin_lecture02

Реализации

• OpenCV 2.0• GoodFeatureToTrack (Выбор особых точек (фактически,

Harris)• cvCalcOpticalFlowPyrLK (Иерархическое расширение

метода Lucas-Kanade для оптического потока)

• http://gpu4vision.icg.tugraz.at• Несколько алгоритмов оптического потока с ускорением

на GPU

• http://www.cs.brown.edu/~black/code.html• Несколько С++ и Матлаб реализаций

• http://people.csail.mit.edu/celiu/OpticalFlow/• С++ и MEX

Page 47: 20120413 videorecognition konushin_lecture02

Резюме

• «Оптический поток» формализует понятие движения в видео

• Алгоритмы его вычисления бывают локальные и глобальные

• Методы можно разделить на качественные (и медленные) и быстрые (но менее точные)

• Для сравнения методов используется база middleburry

• Есть целый ряд доступных реализаций

Page 48: 20120413 videorecognition konushin_lecture02

Система видеонаблюдения

• Камера, наблюдающая некоторую сцену (в закрытом или открытом пространстве)

• Необходимо выделить «объекты интереса» и отследить их движение в последующих кадрах

• Результат:• Ограничивающий прямоугольник• Попиксельая маска объекта интереса

Page 49: 20120413 videorecognition konushin_lecture02

Свойства задачи

• Ещё системы называют «детектор движения»• Упрощение 1: стационарная камера• Упрощение 2: стабильный фон, мало изменяющийся

между камера• Вывод – объекты должны отличаться от фона

Page 50: 20120413 videorecognition konushin_lecture02

Вычитание фона

• Метод «Background subtraction»:• Возьмем изображение без объектов – «фон» (background)• Вычтем фон из новых изображений с объектами• Сравним разницу для каждого пикселя с порогом

– Порог – параметр алгоритма• Если разница больше порога - то считаем пиксель

принадлежащим «переднему плану» (foreground)• Получаем бинарную маску «переднего плана»

– Фон (0), передний план (1)

- =

Page 51: 20120413 videorecognition konushin_lecture02

Обработка переднего плана

• Бинарная маска переднего плана обычно шумная• Нам нужно:

• Уменьшить шум в изображении• Выделить области, потенциально соответствующие

объектам (связанные компоненты)

Page 52: 20120413 videorecognition konushin_lecture02

Медианный фильтр

Фильтр с окрестностью 3x3

Page 53: 20120413 videorecognition konushin_lecture02

Выделение связных областей

• Определение связной области:

• Множество пикселей, у каждого пикселя которого есть хотя бы один сосед, принадлежащий данному множеству.

Соседи пикселей:

4-связность 8-связность

Page 54: 20120413 videorecognition konushin_lecture02

Разметка связных областей

1 12 2 2 1 12 22

3 4 45 4 4

46 66 6 6

7Бинарное изображение Размеченное изображение

Page 55: 20120413 videorecognition konushin_lecture02

Рекурсивный алгоритм

void Labeling(BIT* img[], int* labels[]){

// labels должна быть обнуленаL = 1;for(y = 0; y < H; y++)

for(x = 0; x < W; x++){Fill(img, labels, x, y, L++);

}}

Page 56: 20120413 videorecognition konushin_lecture02

Рекурсивный алгоритм

void Fill(BIT* img[], int* labels[], int x, int y, int L){

if( (labels[x][y] = = 0) && (img[x][y] = = 1) ){

labels[x][y] = L;if( x > 0 )

Fill(img, labels, x – 1, y, L);if( x < W - 1 )

Fill(img, labels, x + 1, y, L);if( y > 0 )

Fill(img, labels, x, y - 1, L);if( y < H - 1 )

Fill(img, labels, x, y + 1, L);}

}

Page 57: 20120413 videorecognition konushin_lecture02

Последовательное сканирование

Последовательно, сканируем бинарное изображение сверху вниз, слева направо:

if A = O do nothing

else if (not B labeled) and (not C labeled)increment label numbering and label A

else if B xor C labeledcopy label to A

else if B and C labeledif B label = C label

copy label to Aelse

copy either B label or C label to Arecord equivalence of labels

Page 58: 20120413 videorecognition konushin_lecture02

Последовательное сканирование

Случай конфликта:

Постобработка - переразметка с учетом эквивалентностей областей

(второй проход в алгоритме)

Page 59: 20120413 videorecognition konushin_lecture02

Выделенные связанные компоненты

Page 60: 20120413 videorecognition konushin_lecture02

Обработка маски переднего плана

• Отфильтруем маску переднего плана• Выделим отдельные объекты как связанные компоненты• «Блоб» («капля», blob) - связанная компоненты маски переднего

плана Каждый «блоб» - потенциальный объект, который нужно

дальше обрабатывать

Page 61: 20120413 videorecognition konushin_lecture02

Наблюдение за мышами

• Если объект в сцене может быть только один, то самый крупную связанную компоненту (блоб) будем считать объектом

• Получили «базовый» алгоритм вычитания фона, который работает в ряде лабораторных задач (отслеживание мышей)

• Схема:• Попиксельное вычитание изображения фона из текущего кадра• Сравнение попиксельной разницы с порогом• Фильтрация маски• Выделение связанных компонент

Page 62: 20120413 videorecognition konushin_lecture02

Реальная картина

В большинстве случае, фон существенно меняется со временем

Page 63: 20120413 videorecognition konushin_lecture02

Модель фона

• Будем рассматривать каждый пиксель изображения i независимо от остальных

• Яркость (цвет) xi каждого пикселя фона изменяется по времени t• Построим модель яркости(цвета) xi пикселя i фона• Если на новом кадре яркость (цвет) пикселя не удовлетворяет

модели фона - значит это пиксель принадлежит движущемуся объекту

Page 64: 20120413 videorecognition konushin_lecture02

Общая схема вычитания фона

- Initialize_background_model()- For t = 1:N

- Compute_frame_difference()- Threshold_frame_difference()- Noise_removal()- Update_background_model()

- end

Page 65: 20120413 videorecognition konushin_lecture02

Усреднение кадров

• Простейшая модель фона –одно изображение чистого фона

• Возьмем N кадров и попиксельно усредним интенсивности (цвета)

Page 66: 20120413 videorecognition konushin_lecture02

Модель фона - медиана

• Когда не работает усреднение:• Всегда в кадре движущиеся объекты• Случайные и резкие изменения яркости (блики, засветка)

• Вместо усреднения берем медиану

Page 67: 20120413 videorecognition konushin_lecture02

Среднее vs Медиана

Средний цвет Медиана

Page 68: 20120413 videorecognition konushin_lecture02

Вычитание медианного фона

-

=

Page 69: 20120413 videorecognition konushin_lecture02

Другие методы

• Во многих случаях медиана может не помогать• Пр.: когда мышь сидит в одном месте >50% кадров тестового

видеоролика

• Предлагаются другие методы, на основе оптимизации функции «стабильности» фона• Например, разобьём все изображения на прямоугольные

фрагменты• Будем выбирать сегменты из разных кадров, чтобы была

наиболее плавная и стабильная картинка• Требуют глобальной оптимизации, некоторые подходы

рассмотрим во второй части курса

Page 70: 20120413 videorecognition konushin_lecture02

Обновление модели фона

Что делать, если освещенность постепенно меняется?

Moving average – постоянное обновление фона Взвешенная сумма текущего и предыдущих N

кадров

Ещё один (или несколько) параметр – вес кадра

Page 71: 20120413 videorecognition konushin_lecture02

Виды помехи

Page 72: 20120413 videorecognition konushin_lecture02

Гауссиана

• Предположение:• Интенсивность меняется в небольших пределах вокруг

какого-то значения • «Шум камеры»• Нормальное распределение

Wren, Christopher R., Ali Azarbayejani, Trevor Darrell, and Alex Pentland. “Pfinder: Real-Time Tracking of the Human Body,” IEEE PAMI, 1997

Page 73: 20120413 videorecognition konushin_lecture02

Вычисление параметров

• Для одного канала:

• Вычисляем среднее

• Вычисляем дисперсию

• Правдоподобие x при вычисленных параметрах:

• Отсечение по порогу – обычно допускаем интервал (x-3σ,x+3σ)

N

iixN 1

1

N

iixN 1

22 )(1

1

2

2

2)(

21),|(

x

ex

Page 74: 20120413 videorecognition konushin_lecture02

Обновление параметров

11 )1( ttt x

211

21

21

21 ))(1())(( tttttt x

• Обновление матожидания

• Обновление дисперсии

а – скорость обновления (обучения)

Page 75: 20120413 videorecognition konushin_lecture02

Многоканальное изображение

• Можно рассчитать полную матрицу ковариации K• Обновлять полную матрицу сложно• Обновление только среднего, с сохранением

ковариации

11 )1( ttt x

Page 76: 20120413 videorecognition konushin_lecture02

Как настраивать модель?• Если есть размеченные данные:

• Оценка точности и полноты (precision/recall) на наборе видеороликов

• Выбор параметров, оптимизирующих желаемую точность

• Если нет размеченных данных• Можно взять видео без объектов• Настроить параметры таким образом,

чтобы получить заданное количество ложных обнаружений

• Минимальные пороги для достижения заданной «чувствительности»

Page 77: 20120413 videorecognition konushin_lecture02

Смесь гауссиан

• Один гауссиан – один кластер• Значения могут группироваться в несколько

кластеров

W.E.L.Grimson, C.Stauffer. Adaptive background mixture models for real-time tracking. CVPR 1999

Page 78: 20120413 videorecognition konushin_lecture02

Распределение интенсивности красного и зеленого каналов

Смесь гауссиан

Page 79: 20120413 videorecognition konushin_lecture02

- вес компоненты I в момент t

),,()( ,,1

, titit

K

itit xNxP

ti ,

Вероятность интенсивности y при модели смести К гауссиан

• Вычисление смеси требует EМ алгоритма (не в реальном времени), поэтому используем приближение

Смесь гауссиан

Page 80: 20120413 videorecognition konushin_lecture02

Обучение смеси на лету

• Пусть N – количество компонент в смеси• Инициализируем 1ую компоненту по первому

изображению, вес = 1, вес остальных – 0• Сравниваем пиксель с каждой компонентой, пока

не найдем совпадения• Обновляем матожидание и дисперсию совпавшей

компоненты• Если совпадения не найдено, то заменяем

компоненту с наименьшим весом • Обновляем веса

Page 81: 20120413 videorecognition konushin_lecture02

Обновление весов

tititi aMa ,1,, )1(

tiM ,

Обновление весов:

= 1, если интенсивность пикселя удовлетворяет i-ой компоненте

После обновления всех весов, они нормализуются

Page 82: 20120413 videorecognition konushin_lecture02

Моделирование фона

• Упорядочим все компоненты по критерию• Чем «стабильнее» компонента, тем выше• Чем больше вес (чаще встречается, тем тоже выше

• Определим порог T - какая доля выборки для каждого пикселя должна соответствовать фону

• Тогда фон для каждого пикселя:

• Все остальные компоненты - объекты

/i

b

ii

bTB

1)(minarg

Page 83: 20120413 videorecognition konushin_lecture02

Пример работы

(1) (2) (3) (4)

1. Исходный кадр2. Модель фона (старшая гауссиана)3. Мат.ожидания второй гауссианы4. Маска переднего плана

Page 84: 20120413 videorecognition konushin_lecture02

Поблочная обработка

• Вместо анализа каждого пикселя мы можем разбить всё изображение на блоки и анализировать блоки

• Точность сегментации получается хуже, зато считается статистика изображения в блоке, что повышает надежность

Page 85: 20120413 videorecognition konushin_lecture02

Статистики по окрестностям

Ko, T.[Teresa], Soatto, S.[Stefano], Estrin, D.[Deborah], Background Subtraction on Distributions, ECCV 2008

Page 86: 20120413 videorecognition konushin_lecture02

• Посчитаем статистику (гистограмму) по 3D окрестности пикселя (фон):

• Посчитаем статистику по 2д окрестности пикселя на текущем кадре:

• Вычислим разницу:

• Обновление модели:

Схема алгоритма

Page 87: 20120413 videorecognition konushin_lecture02

Результаты работы

Page 88: 20120413 videorecognition konushin_lecture02

Глобальные модели цветов

• Если у объекта и фона характерные цвета, то почему бы это не использовать?

• Построим цветовые модель объекта и модель фона

• Для каждого пикселя будем сравнивать вероятности принадлежности пиксела обоим моделям и выбирать ту, вероятность для которой будет выше

Page 89: 20120413 videorecognition konushin_lecture02

Модель фона

• Построим и глобальную, и локальную модели фона

• Глобальная: смесь гауссиан (GMM)

)1510( bK

bK

k

bk

bkr

bkrr INBxIp

1

),|()|(

Page 90: 20120413 videorecognition konushin_lecture02

• Построим и глобальную, и локальную модели фона

• Глобальная: смесь гауссиан (GMM)

• Локальная: один гауссиан

)1510( bK

Модель фона

Page 91: 20120413 videorecognition konushin_lecture02

• Глобальная: смесь гауссиан (GMM)

• Локальная: один гауссиан

• Объединенная:

bK

k

bk

bkr

bkrrglobal INBxIp

1),|()|(

),|()( Br

Brrrlocal INIp

)()1()|()( rlocalrrglobalrmix xpBxIpIp

)1510( bK

Общая модель фона

Page 92: 20120413 videorecognition konushin_lecture02

• Возьмём те пиксели, для которых вероятность фона низкая

• Обучим по ним смесь гауссиан (K=5)

Модель переднего плана

frB tIp )(

Page 93: 20120413 videorecognition konushin_lecture02

Соотношение моделей?

BxifIpFxifFxIp

rrmix

rrrglobal

)()|(

)()1()|()( rlocalrrglobalrmix xpBxIpIp

?

Page 94: 20120413 videorecognition konushin_lecture02

)()1()|()( rlocalrrglobalrmix xpBxIpIp

Адаптивная смесь

Если цветовые модели объекта и фона очень разные, то мы можем полностью положиться на них

Page 95: 20120413 videorecognition konushin_lecture02

Адаптивная модель

Дивергенция Kullback-Liebler

дает разницу между двумя смесями гауссин

fbKL

)log)||((min0

bi

fkb

ifk

K

k i

fkfb w

wNNKLwKL

fbKL0

0fbKL модели идентичные

Page 96: 20120413 videorecognition konushin_lecture02

Пощупать KL

http://www.aiaccess.net/English/Glossaries/GlosMod/e_gm_kullbak.htm

Page 97: 20120413 videorecognition konushin_lecture02

)|()( BxIpIp rrglobalrmix 1fbKL

KLfbKL

e

211

5.0

1fbKL

1

)()|()( 21

21

rlocalrrglobalrmix xpBxIpIp Только глобальная модель

Поровну локальная и глобальные модели

Адаптивная модель

Page 98: 20120413 videorecognition konushin_lecture02

Адаптивная модель

)()1()|()()( rlocalrrglobalrmix xpBxIpIp

• Параметр смешения моделей можно уточнять на каждом кадре, в т.ч. с учётом других факторов

• Глобальная модель позволит нам обрабатывать сложные случаи изменения фона, когда локальная модель срабатывает плохо и наоборот

BxifIpFxifFxIp

rrmix

rrrglobal

)()|(

Page 99: 20120413 videorecognition konushin_lecture02

Поддержка модели фона

Изменение освещенности• Автоподстройка камеры• Лампы дневного света

• Включение света

Небольшое изменение освещенности:• Преобразование цветовых моделей на основе преобразования

гистограмм

Резкие изменения• Перестройка цветовой модели фона и переднего плана

• Использование карты краёв как подсказки

}{}{ BII rBr

Page 100: 20120413 videorecognition konushin_lecture02

Поддержка модели фона

Page 101: 20120413 videorecognition konushin_lecture02

Поддержка модели фона• Движение в фоне

• Опираемся на глобальную модель

• Дрожание камеры• Применяем размытие по гауссу

• Уменьшаем вес локальной цветовой модели

• «Заснувшие» и «Пешеход» на заднем плане• Оставляем только самую большую связанную компоненту

Page 102: 20120413 videorecognition konushin_lecture02

Поддержка модели фона

Page 103: 20120413 videorecognition konushin_lecture02

Обнаружение носимых предметов

Dima Damen and David Hogg. Detecting Carried Objects in Short Video Sequences. ЕССV-2008

Любопытный пример использования сегментации для выделения специфических объектов в видео

Page 104: 20120413 videorecognition konushin_lecture02

Модели шаблонов движения

• EPFL база• 8 человек отсняли на беговой дорожке• Сопоставили модели из MAYA• База состоит из силуэтов модели с 8и точек зрения• Используется для оценки позы и т.д.

Page 105: 20120413 videorecognition konushin_lecture02

Схема метода

Page 106: 20120413 videorecognition konushin_lecture02

Пример работы

Page 107: 20120413 videorecognition konushin_lecture02

Резюме: видео

Page 108: 20120413 videorecognition konushin_lecture02

Данные

• На пути создания общедоступных тестовых баз два препятствия:• Приватность• Сложность разметки данных

• PETS Performance Evaluation of Tracking and Surveillance

• http://www.cvg.rdg.ac.uk/PETS2009/a.html

Page 109: 20120413 videorecognition konushin_lecture02

Пример

Пример слежения с реальной системы видеонаблюдения

Page 110: 20120413 videorecognition konushin_lecture02

Базовый метод видеонаблюдения

• Обучение модели фона• Для каждого кадра

• Вычитание фона• Обработка маски (фильтрация, морфологии)• Выделение связанных компонент• Ассоциация объектов между кадрами• Обновление фона

Page 111: 20120413 videorecognition konushin_lecture02

Резюме лекции

• Вычисление оптического потока и вычитание фона –два очень широко используемых инструмента при анализе видеоданных

• Ряд алгоритмов в обоих задачах уже сейчас активно используется в коммерческих системах

• Для обеих задач существуют алгоритмы на основе глобальных методов дискретной оптимизации на графических моделях