Основы...
TRANSCRIPT
![Page 1: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/1.jpg)
Основы видеообработки
http://courses.graphicon.ru/main/vision Антон Конушин
![Page 2: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/2.jpg)
Видеокамеры
• Наиболее близкий аналог «человеческого глаза» из доступных компьютеру
• Широкое распространение: • Видеокамеры в смартфонах, планшетах, ноутбуках • ~200 000 камер видеонаблюдения в одном Лондоне!
![Page 3: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/3.jpg)
Состояние и перспективы
• Сейчас большинство видеокамер работают в режиме «регистрации» • Видеорегистраторы в автомобилях • Видеокамеры для любительской съёмки • Видеозапись с камер наблюдения
• Количество информации огромное, управлять её без анализа очень сложно
• «Видеоаналитика» - все алгоритмы для извлечения информации из видео • Есть ряд практически работающих систем
![Page 4: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/4.jpg)
Чего мы хотим достичь?
Извлечение данных из видеопотока: • Разметить все объекты, людей, и происходящие
события • Определить позу людей, распознать жесты
![Page 5: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/5.jpg)
Чего мы хотим достичь?
• «Situation awareness» • Свойство систем и класс приложений,
которые позволяют извлечь из сенсорных данных знание, ведущие к действиям
![Page 6: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/6.jpg)
Очень сложно!
• Огромный поток информации • Быстрое принятие решения • Изменчивость и сложность
мира! • 100000 категорий разных
объектов!
• Система должна уметь больше, чем умеет человек
![Page 7: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/7.jpg)
План
• Лекция 11 (25-04-2012) • Оптический поток • Вычитание фона
• Лекция 12 (2-05-2012)
• Отслеживание объектов • Распознавание событий
• Лекция 13 (16-05-2012) • Решающий лес и дополненная
реальность • Kinect и распознавание позы
человека
![Page 8: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/8.jpg)
Движение
• Движение – главное отличие видео от изображений • Движение само по себе является мощной визуальной подсказкой • Суть многих действий именно в динамике • Иногда достаточно отследить движение отдельных точек, чтобы
распознать событие
Что показано в видео?
![Page 9: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/9.jpg)
Распознавание по движению
http://www.biomotionlab.ca/Demos/BMLwalker.html
![Page 10: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/10.jpg)
Описание движения
• Точки наблюдаемой сцены движутся относительно камеры / изображения
• Векторное поле движения 2D проекций на изображение 3D точек объектов сцены называется полем движения (motion field)
• Нужно это движение как-то формализовать, описывать и измерять
![Page 11: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/11.jpg)
Оптический поток
• Движение точек объектов по видео увидеть можно далеко не всегда • Пример:
• Серый матовый шар, освещается с одной стороны и вращается вокруг своей оси • Яркость всех пикселов изображения в этом случае будет постоянной
•Оптический поток (optical flow) – векторное поле видимого (apparent) движения пикселей между кадрами
• Вычисление оптического потока – одна из базовых задач анализа видео • Задача похоже на задачу попиксельного сопоставления двух изображений одной и той же сцены
![Page 12: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/12.jpg)
Визуализация
Вектора движения для отдельных точек или всего
изображения
Цветовое кодирование вектора движения. Каждому направлению и
амплитуде свой цвет и яркость
Оптический поток - векторное поле (uij,vij) видимого (наблюдаемого) движения пикселей между кадрами
![Page 13: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/13.jpg)
• Как оценить движение пикселей от I1 в изображение I2?
• Нам нужно всем пикселям из I1 найти соответствующие пиксели в I2
• Предположение – пиксель при перемещении не меняет цвет!
• Запишем это условие для всего изображения: E(u,v) – целевая функция, pD – функция вычисления ошибки
Ключевое предположение №1
• Сколько будет минимумов у этой функции?
![Page 14: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/14.jpg)
• У такой функции очень много минимумов • Глобальный минимум тоже может быть ложным, когда
мы найдём похожие по яркости пиксели где угодно по изображению.
• Нужны ещё предположения!
Минимизация функции
![Page 15: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/15.jpg)
Посмотрим пример
• Что можно сказать про смещение пикселей? • Пиксели смещаются на небольшое расстояние
(предположение N2) • Можно наложить порог на длину вектора (uij,vij)
![Page 16: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/16.jpg)
Посмотрим пример
• Что можно ещё сказать про движение пикселей? • Соседние пиксели чаще всего двигаются похоже! • Т.е. вектора оптического потока близки у близких пикселей!
![Page 17: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/17.jpg)
Ключевое предположение №3
Добавим в нашу целевую функцию штрафы за изменение векторов оптического потока:
где pS(x) – штрафная функция, например, квадратичная
Получили глобальную целевую функцию для вычисления оптического потока между двумя кадрами
![Page 18: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/18.jpg)
Глобальный подход
• Это первая формулировка задачи оптического потока для всего изображения в целом (Horn, 1981)
• Будем оптимизировать её каким-нибудь методом оптимизации
• Такой подход для оценки оптического потока называют глобальным
Horn, B., Schunck, B.: Determining optical flow. Artificial Intelligence 17 (1981) 185–203
![Page 19: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/19.jpg)
Развитие глобальных методов
• Глобальные методы обеспечивают сейчас наилучшее качество оптического потока
• Отличаются друг от друга: • Функциями штрафов за изменение вида пикселей (яркость,
цвет, градиенты и т.д.) • Функциями штрафов за разницу в векторах потока у соседних
пикселей • Методами оптимизации (непрерывные, дискретные,
стохастические) • Дополнительными эвристиками и ограничениями, например,
регулярным применением медианной фильтрации
![Page 20: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/20.jpg)
Посмотрим пример ещё раз
• Что можно ещё сказать про движение пикселей? • В некоторых случаях разница между векторами движения очень
большая и оправданная (разные объекты)
![Page 21: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/21.jpg)
Робастные штрафы
• Штрафы должны быть «устойчивы» к разрывами в карте оптического потока на границах объектов
• Штраф должен ещё не «портить» функцию • Чтобы мы могли её хорошо
оптимизировать
Charbonnier (дифференцируемый L1)
Sun, D., Roth, S., and Black, M. J., Secrets of optical flow estimation and their principles, CVPR, June 2010
Lorenzian
![Page 22: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/22.jpg)
Резюме глобальных методов
• Оптимизируем одну целевую функцию для всего векторного поля
• Медленные, но качественные методы • Сейчас, в основном развивается именно этот подход
![Page 23: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/23.jpg)
Локальный подход
• Попробуем вычислить вектор движения для одного пикселя (x,y) из изображения I в изображение H
• Используем ограничения для формализации задачи • Постоянная яркость • Малое смещение
![Page 24: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/24.jpg)
Локальный подход
С учётом малого смещения, разложим I(x+u,y+v) в ряд Тейлора:
![Page 25: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/25.jpg)
Уравнение оптического потока • Объединим с условием постоянной яркости:
В пределе u и v стремятся к нулю, и получаем равенство:
![Page 26: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/26.jpg)
Уравнение оптического потока
• Элементарное уравнение оптического потока:
• Вопрос: сколько неизвестных и уравнений для каждого пикселя?
• 1 уравнение, 2 неизвестных (u, v)
![Page 27: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/27.jpg)
Дополнительные уравнения • Как можно получить больше уравнений? • Воспользуемся предположением о близости векторов
движения для соседних пикселей • Пусть для всех пикселей p из окрестности (x,y) смещение
(u,v) одинаковое!! • Для окна 5x5 получаем 25 уравнений для каждого
пикселя!
![Page 28: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/28.jpg)
Цвет вместо яркости • При использовании окна 5x5 получается 25*3
уравнений на пиксель!
![Page 29: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/29.jpg)
Алгоритм Лукаса-Канаде • Проблема: больше уравнений, чем неизвестных!
• Получаем задачу наименьших квадратов • Можем решить её через нормальные уравнения
• Суммируем по всем пикселям в окне K x K • Это метод был предложен Лукасом и Канаде в 1981 году
bAAAd TT 1)(
![Page 30: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/30.jpg)
Алгоритм Лукаса-Канаде
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 31: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/31.jpg)
Условия на разрешимость • Решение задачи оптического потока d = (u,v) может быть
найдено в виде
• Когда задача разрешима? • ATA должна быть обратимой • ATA не должна быть слишком близка к нулю (вырожденной) • ATA должна быть хорошо определена
bAAAd TT 1)(
![Page 32: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/32.jpg)
Что это напоминает?
Матрица хорошо определена в окрестности локальных особенностей изображения
1 и 2 малы; E не меняется по всем направлениям
1
2
“плоская” область
“Угол” 1 и 2 велики, 1 ~ 2; E растет во всех направлениях
“край” 2 >> 1
“край” 1 >> 2
RRAAT
2
11
00
Матрица для нахождения локальных особенностей детектором Харриса!
![Page 33: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/33.jpg)
Замечание • Поиск оптического потока производится между
двумя изображениями, но: • Можем оценить качество оценки только по 1
изображению! • По 1 картинке можно сказать, в каких точках поток будет
считаться хорошо, а в каких - нет • На этом основаны методы выбора особенностей для
отслеживания • Фактически, поиск особых точек!
Jianbo Shi and Carlo Tomasi, "Good Features to Track," СVPR 1994
![Page 34: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/34.jpg)
Проблема большого смещения
• Насколько мало движение в изображении? • Существенно больше 1-го пикселя • Как можно решить эту проблему?
![Page 35: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/35.jpg)
Итеративное уточнение
• Когда нарушается предположение о малом смещение между кадрами локальный алгоритм за один проход не справляется
• Итеративный вариант алгоритма Лукаса-Канаде
1. Оценить движение в каждом пикселе, решив уравнения Лукаса-Канаде
2. Преобразовать изображение H используя вычисленное движение
3. Повторить 1-2 до сходимости
![Page 36: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/36.jpg)
Пример
x x0
Initial guess: Estimate:
estimate update
0 = 퐼 + 퐼 푑 • Рассмотрим одномерный случай (d-
cмещение) • Сдвиг по градиенту должен быть равен
изменению значения (яркости).
![Page 37: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/37.jpg)
Пример
x x0
estimate update
Initial guess: Estimate:
![Page 38: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/38.jpg)
Пример
x x0
Initial guess: Estimate: Initial guess: Estimate:
estimate update
![Page 39: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/39.jpg)
Пример
x x0
![Page 40: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/40.jpg)
Замечания
• Сглаживаем изображения для более аккуратного вычисления градиентов
• Лучше градиенты вычислять по одному изображению, а преобразовывать другое
• Преобразование изображения приводит к ошибкам из-за дискретизации, можем потерять в точности
![Page 41: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/41.jpg)
Пирамида разрешений
![Page 42: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/42.jpg)
Пирамиды изображений
• Известна как Пирамида Гауссиан • Сглаживаем фильтром Гаусса и берём каждый k-ый пиксель • В компьютерной графике – “mip map” [Williams, 1983]
Slide by Steve Seitz
P. Burt and E. Adelson, “The Laplacian pyramid as a compact image code,” IEEE Trans. Commun., vol. 31, no. 4, pp. 532–540, 1983.
![Page 43: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/43.jpg)
image I image H
Гауссова пирамида для H Гауссова пирамида для I
image I image H u=10 пикселей
u=5 пикселей
u=2.5 пикселей
u=1.25 пикселей
Иерархический метод
![Page 44: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/44.jpg)
image I image J
Гауссова пирамида для H Гауссова пирамида для I
image I image H
Иерархический метод
итеративный L-K
итеративный L-K
масштабирование
.
.
.
![Page 45: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/45.jpg)
Резюме локального метода
• Локальный метод Лукаса-Канаде позволяет надежно оценивать поток для отдельных пикселей, но только в окрестности особых точек
• Для повышения качества для больших смещений используется итеративная и многомасштабная версия алгоритма
![Page 46: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/46.jpg)
Рейтинг алгоритмов
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 47: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/47.jpg)
Создание сложных данных
• Для численной оценки алгоритмов нужны эталонные данные. • Вопрос, как их можно получить для реальных данных? • Подход:
• Съёмка в двух диапазонах • Флюоресцентная краска создает высокочастотную текстуру, позволяющую
оценить поле движения
• Плюс сложные синтетические данные
![Page 48: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/48.jpg)
Синтетические данные
![Page 49: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/49.jpg)
Интерполяция
Снимаем данные камерой 100Hz, оставляем каждый 4ый кадр. Задача – по оптическому потоку проинтерполировать промежуточные
![Page 50: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/50.jpg)
Реализации
• 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 51: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/51.jpg)
Резюме
• «Оптический поток» формализует понятие движения в видео
• Алгоритмы его вычисления бывают локальные и глобальные
• Методы можно разделить на качественные (и медленные) и быстрые (но менее точные)
• Для сравнения методов используется база Middlebury
• Есть целый ряд доступных реализаций
![Page 52: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/52.jpg)
Система видеонаблюдения
• Камера, наблюдающая некоторую сцену (в закрытом или открытом пространстве)
• Необходимо выделить «объекты интереса» на каждом кадре
• Результат: • Ограничивающий прямоугольник • Попиксельая маска объекта интереса
![Page 53: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/53.jpg)
Свойства задачи
• Камеру считаем стационарной, не меняющей ракурса • Фон считаем «стабильным», малоподвижным,
незначительно меняющимся между кадрами • Вывод – объекты должны отличаться от фона • Ещё системы называют «детектор движения»
![Page 54: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/54.jpg)
Вычитание фона
• Метод «Background subtraction»: • Возьмем «чистое» изображение без объектов – «фон»
(background) • Вычтем фон из новых изображений с объектами • Сравним разницу для каждого пикселя с порогом
– Порог – параметр алгоритма • Если разница больше порога - то считаем пиксель
принадлежащим «переднему плану» (foreground) • Получаем бинарную маску «переднего плана»
– Фон (0), передний план (1)
- =
![Page 55: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/55.jpg)
Обработка переднего плана
• Бинарная маска переднего плана обычно шумная и пиксели не связаны между собой
• Нам нужно: • Уменьшить шум в изображении (фильтрация) • Выделить области, потенциально соответствующие объектам
(связанные компоненты) • «Блоб» («капля», blob) - связанная компоненты маски переднего
плана, потенциальный объект
![Page 56: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/56.jpg)
Наблюдение за мышами
• Если объект в сцене может быть только один, то самый крупную связанную компоненту (блоб) будем считать объектом
• Получили «базовый» алгоритм вычитания фона, который работает в ряде лабораторных задач (отслеживание мышей)
• Схема: • Попиксельное вычитание изображения фона из текущего кадра • Сравнение попиксельной разницы с порогом • Фильтрация маски • Выделение связанных компонент и выбор самой большой
![Page 57: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/57.jpg)
Если объектов много?
• Случай множества связанных компонент – это уже задача отслеживания объекта
• Некоторые подходы к ней рассмотрим на следующей лекции
![Page 58: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/58.jpg)
Реальная картина
В большинстве случае, фон существенно меняется со временем
![Page 59: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/59.jpg)
Проблемы вычитания фона
![Page 60: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/60.jpg)
Моделирование фона
• Будем рассматривать каждый пиксель изображения i независимо от остальных
• Яркость (цвет) xi каждого пикселя фона изменяется по времени t • Построим модель яркости(цвета) xi пикселя i фона по
обучающему видеролику • Если на новом кадре яркость (цвет) пикселя не удовлетворяет
модели фона - значит это пиксель принадлежит движущемуся объекту
• На каждом кадре будем обновлять модель фона
![Page 61: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/61.jpg)
Общая схема вычитания фона
- Initialize_background_model() - For t = 1:N
- Compute_frame_difference() - Threshold_frame_difference() - Noise_removal() - Update_background_model()
- end
![Page 62: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/62.jpg)
Гауссиана
• Предположение: • Интенсивность меняется в небольших пределах вокруг
какого-то значения • «Шум камеры» • Нормальное распределение
Wren, Christopher R., Ali Azarbayejani, Trevor Darrell, and Alex Pentland. “Pfinder: Real-Time Tracking of the Human Body,” IEEE PAMI, 1997
![Page 63: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/63.jpg)
Вычисление параметров модели
• Для одного канала: • Вычисляем среднее
• Вычисляем дисперсию
N
iixN 1
1
N
iixN 1
22 )(1
1
![Page 64: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/64.jpg)
Вычитание фона
• Вероятность x при вычисленных параметрах модели фона:
• Проще использовать сравнение с порогом • Считаем, что все пиксели фона должны попасть в
интервал (u-3σ,u+3σ) • Если |x-u|>3σ, тогда x – пиксель переднего плана
2
2
2)(
21),|(
x
ex
![Page 65: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/65.jpg)
Обновление параметров модели
11 )1( ttt x
211
21
21
21 ))(1())(( tttttt x
• Обновление матожидания
• Обновление дисперсии
а – скорость обновления (обучения)
![Page 66: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/66.jpg)
Многоканальное изображение
• Можно рассчитать полную матрицу ковариации K • Обновлять полную матрицу сложно • Обновление только среднего, с сохранением
ковариации
11 )1( ttt x
![Page 67: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/67.jpg)
Как настраивать модель? • Если есть размеченные данные:
• Оценка точности и полноты (precision/recall) на наборе видеороликов
• Выбор параметров, оптимизирующих желаемую точность
• Если нет размеченных данных • Можно взять видео без объектов • Настроить параметры таким образом,
чтобы получить заданное количество ложных обнаружений
• Минимальные пороги для достижения заданной «чувствительности»
![Page 68: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/68.jpg)
Смесь гауссиан
• Один гауссиан – один кластер • Значения могут группироваться в несколько
кластеров
W.E.L.Grimson, C.Stauffer. Adaptive background mixture models for real-time tracking. CVPR 1999
![Page 69: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/69.jpg)
Распределение интенсивности красного и зеленого каналов
Смесь гауссиан
![Page 70: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/70.jpg)
- вес компоненты I в момент t
),,()( ,,1
, titit
K
itit xNxP
ti ,
Вероятность интенсивности y при модели смести К гауссиан
• Вычисление смеси требует сложного EМ алгоритма (не в реальном времени), поэтому предложен приближенный алгоритм
Смесь гауссиан
![Page 71: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/71.jpg)
Обучение смеси на лету
• Пусть N – количество компонент в смеси • Инициализируем 1ую компоненту по первому
изображению, вес = 1, вес остальных – 0 • Сравниваем пиксель с каждой компонентой, пока
не найдем совпадения • Обновляем матожидание и дисперсию совпавшей
компоненты • Если совпадения не найдено, то заменяем
компоненту с наименьшим весом • Обновляем веса
),,()( ,,1
, titit
K
itit xNxP
![Page 72: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/72.jpg)
Обновление весов
tititi aMa ,1,, )1(
tiM ,
Обновление весов:
= 1, если интенсивность пикселя удовлетворяет i-ой компоненте
После обновления всех весов, они нормализуются
![Page 73: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/73.jpg)
Моделирование фона
• Упорядочим все компоненты по критерию • Чем «стабильнее» компонента, тем выше • Чем больше вес (чаще встречается, тем тоже выше)
• Определим порог T - какая доля выборки для каждого пикселя должна соответствовать фону
• Тогда фон для каждого пикселя:
• Все остальные компоненты - объекты
/i
b
ii
bTB
1)(minarg
![Page 74: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/74.jpg)
Пример работы
(1) (2) (3) (4)
1. Исходный кадр 2. Модель фона (старшая гауссиана) 3. Мат.ожидания второй гауссианы 4. Маска переднего плана
![Page 75: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/75.jpg)
Поблочная обработка
• Вместо анализа каждого пикселя мы можем разбить всё изображение на блоки и анализировать блоки
• Точность сегментации получается хуже, зато считается статистика изображения в блоке, что повышает надежность
![Page 76: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/76.jpg)
Статистики по окрестностям
Ko, T.[Teresa], Soatto, S.[Stefano], Estrin, D.[Deborah], Background Subtraction on Distributions, ECCV 2008
![Page 77: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/77.jpg)
• Посчитаем статистику (гистограмму) по 3D окрестности пикселя (фон):
• Посчитаем статистику по 2д окрестности пикселя на текущем кадре:
• Вычислим разницу:
• Обновление модели:
Схема алгоритма
![Page 78: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/78.jpg)
Результаты работы
![Page 79: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/79.jpg)
Глобальные модели цветов
• Если у объекта и фона характерные цвета, то почему бы это не использовать?
• Построим цветовые модель объекта и модель фона
• Для каждого пикселя будем сравнивать вероятности принадлежности пиксела обоим моделям и выбирать ту, вероятность для которой будет выше
![Page 80: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/80.jpg)
Модель фона
• Построим и глобальную, и локальную модели фона
• Глобальная: смесь гауссиан (GMM)
)1510( bK
bK
k
bk
bkr
bkrr INBxIp
1
),|()|(
![Page 81: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/81.jpg)
• Построим и глобальную, и локальную модели фона
• Глобальная: смесь гауссиан (GMM)
• Локальная: один гауссиан
)1510( bK
Модель фона
![Page 82: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/82.jpg)
• Глобальная: смесь гауссиан (GMM)
• Локальная: один гауссиан
• Объединенная:
bK
k
bk
bkr
bkrrglobal INBxIp
1),|()|(
),|()( Br
Brrrlocal INIp
)()1()|()( rlocalrrglobalrmix xpBxIpIp
)1510( bK
Общая модель фона
![Page 83: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/83.jpg)
• Возьмём те пиксели, для которых вероятность фона низкая
• Обучим по ним смесь гауссиан (K=5)
Модель переднего плана
frB tIp )(
![Page 84: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/84.jpg)
Соотношение моделей?
BxifIpFxifFxIp
rrmix
rrrglobal
)()|(
)()1()|()( rlocalrrglobalrmix xpBxIpIp
?
![Page 85: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/85.jpg)
)()1()|()( rlocalrrglobalrmix xpBxIpIp
Адаптивная смесь
Если цветовые модели объекта и фона очень разные, то мы можем полностью положиться на них
![Page 86: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/86.jpg)
Адаптивная модель
Дивергенция Kullback-Liebler
дает разницу между двумя смесями гауссин
fbKL
)log)||((min0
bi
fkb
ifk
K
k i
fkfb w
wNNKLwKL
fbKL0
0fbKL модели идентичные
![Page 87: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/87.jpg)
Пощупать KL
http://www.aiaccess.net/English/Glossaries/GlosMod/e_gm_kullbak.htm
![Page 88: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/88.jpg)
)|()( BxIpIp rrglobalrmix 1fbKL
KLfbKL
e
211
5.0
1fbKL
1
)()|()( 21
21
rlocalrrglobalrmix xpBxIpIp Только глобальная модель
Поровну локальная и глобальные модели
Адаптивная модель
![Page 89: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/89.jpg)
Адаптивная модель
)()1()|()()( rlocalrrglobalrmix xpBxIpIp
• Параметр смешения моделей можно уточнять на каждом кадре, в т.ч. с учётом других факторов
• Глобальная модель позволит нам обрабатывать сложные случаи изменения фона, когда локальная модель срабатывает плохо и наоборот
BxifIpFxifFxIp
rrmix
rrrglobal
)()|(
![Page 90: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/90.jpg)
Данные
• На пути создания общедоступных тестовых баз два препятствия: • Приватность • Сложность разметки данных
• PETS Performance Evaluation of Tracking and Surveillance
• http://www.cvg.rdg.ac.uk/PETS2009/a.html
![Page 91: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/91.jpg)
Пример
Пример слежения с реальной системы видеонаблюдения
![Page 92: Основы видеообработкиcourses.graphicon.ru/files/courses/vision/2012/lectures/cv2012_11... · • OpenCV 2.0 • GoodFeatureToTrack (Выбор особых точек](https://reader030.vdocuments.net/reader030/viewer/2022020717/5a8f416e7f8b9a78648d817a/html5/thumbnails/92.jpg)
Резюме лекции
• Вычисление оптического потока и вычитание фона – два очень широко используемых инструмента при анализе видеоданных
• Ряд алгоритмов в обоих задачах уже сейчас активно используется в коммерческих системах