SlideShare a Scribd company logo
Основы видеонаблюдения
Общая информация



         Этот курс
      подготовлен и
       читается при
    поддержке Microsoft
         Research




   Страница курса
    http://courses.graphicon.ru/main/vision
Задачи видеонаблюдения
• Выделение «объектов интереса» в
  видео и отслеживание их
  движения в последующих кадрах

• Выделение объектов интереса
   • Результат - ограничивающий
     прямоугольник
   • Или попиксельая маска


• Отслеживание (video tracking)
   • Вход – положение объекта на первом
     кадре
   • Результат – траектория движения
     объектов (след или “track”)
Проблемы
• Масштабируемость
  • Видео гораздо больше одного изображения, гораздо
    выше вычислительная нагрузка


• Изменение по времени
  • Вид объекта меняется от кадра к кадру из-за ракурса,
    изменения освещения, внутренних изменений (идущий
    человек)


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

• Ошибка отслеживание – расстояние до ground truth данных


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



• Точность (precision)



• Надежность (robustness)
Выбор объекта интереса

• Инициализация вручную

• Детектор объектов
  • Детектор «пешехода»
  • Детектор «лиц»



• Сегментация видео
  • Выделение движущихся объектов
Система видеонаблюдения




• Построим стандартную, простую систему
  видеонаблюдения
• Упрощение 1: стационарная камера
• Упрощение 2: стабильный фон, мало изменяющийся
  между камера
Вычитание фона



                   -                    =
• Background subtraction
   • Возьмем изображение без объектов (фон, background)
   • Вычтем фон из новых изображений с объектами
   • Сравним разницу для каждого пикселя с порогом
      – Порог – параметр алгоритма
   • Если разница больше порога - то пиксель принадлежит
     «переднему плану» (foreground)
   • Получаем маску «переднего плана»
Обработка маски переднего плана




•   Выделим отдельные объекты как связанные компоненты
•   «Блоб» («капля», blob) - связанная компоненты маски переднего
    плана
•   Для подавления шума отфильтруем маску переднего плана
        Медианная фильтрация, морфология
   Это простейший (и работоспособный) алгоритм выделения
    движущихся объектов
        Для мышек часто применялся
CV2011 Lecture 11. Basic video
Реальная картина




       Фон существенно меняется
Яркость по времени




• Будем рассматривать каждый пиксель изображения i независимо
  от остальных
• Яркость (цвет) xi каждого пикселя фона изменяется по времени t
• Построим модель яркости(цвета) xi пикселя i фона
• Если на новом кадре яркость (цвет) пикселя не удовлетворяет
  модели фона - значит это пиксель принадлежит движущемуся
  объекту
Общая схема вычитания фона

- Initialize_background_model()
- For t = 1:N
   -   Compute_frame_difference()
   -   Threshold_frame_difference()
   -   Noise_removal()
   -   Update_background_model()
- end
Усреднение кадров
• Простейшая модель фона –
  одно изображение чистого
  фона

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




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




  Средний цвет       Медиана
Вычитание медианного фона




               -



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

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


• Предлагаются другие методы, на основе
  оптимизации целевой функции
  • Например, разобьём все изображения на сегменты
  • Будем выбирать сегменты из разных кадров, чтобы была
    наиболее плавная и стабильная картинка
Обновление модели фона
   Что делать, если освещенность постепенно
    меняется?
   Moving average – постоянное обновление фона
   Взвешенная сумма текущего и предыдущих N
    кадров




   Ещё один (или несколько) параметр – вес кадра
Виды помехи
Гауссиана
  • Предположение:
      • Интенсивность меняется в небольших пределах вокруг
        какого-то значения
      • «Шум камеры»
      • Нормальное распределение




Wren, Christopher R., Ali Azarbayejani, Trevor Darrell, and Alex Pentland. “Pfinder:
Real-Time Tracking of the Human Body,” IEEE PAMI, 1997
Вычисление параметров
• Для одного канала:
                                           N
                                       1
  • Вычисляем среднее               
                                       N
                                           x
                                           i 1
                                                  i



                                     1 N
  • Вычисляем дисперсию        2            ( xi   ) 2
                                    N  1 i 1

  • Вероятность нового пикселя y:

                                         ( x  )2
                            1          
                                            2 2
           ( x | , )       e
                           2
Обновление параметров

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

      t 1  t  (1   ) xt 1

• Обновление дисперсии
     2               2                     2                                2
   t 1     (   t 1    ( t 1  t ) )  (1   )( xt 1  t 1 )
 а – скорость обновления (обучения)
Многоканальное изображение

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


   t 1  t  (1   ) xt 1
Смесь гауссиан

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




W.E.L.Grimson, C.Stauffer. Adaptive background mixture models for real-time
tracking. CVPR 1999
Смесь гауссиан




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

   Вероятность интенсивности y при модели смести К
    гауссиан
                     K
        P( xt )   i ,t N (xt , i ,t ,  i ,t )
                    i 1

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


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

• Пусть N – количество компонент в смеси
   • Инициализируем 1ую компоненту по первому
     изображению, вес = 1, вес остальных – 0
   • Сравниваем пиксель с каждой компонентой, пока
     не найдем совпадения
   • Обновляем матожидание и дисперсию совпавшей
     компоненты
   • Если совпадения не найдено, то заменяем
     компоненту с наименьшим весом
   • Обновляем веса
Обновление весов


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

    i ,t  (1  a )i ,t 1  aM i ,t
    M i ,t   = 1, если интенсивность пикселя
             удовлетворяет i-ой компоненте

После обновления всех весов, они нормализуются
Моделирование фона
• Упорядочим все компоненты по критерию        i / 
  • Чем «стабильнее» компонента, тем выше
  • Чем больше вес (чаще встречается, тем тоже выше
• Определим порог T - какая доля выборки для
  каждого пикселя должна соответствовать фону
• Тогда фон для каждого пикселя:
                            b
         B  arg min (  i  T )
                    b      i 1
• Все остальные компоненты - объекты
Пример работы




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

1.   Исходный кадр
2.   Модель фона (старшая гауссиана)
3.   Мат.ожидания второй гауссианы
4.   Маска переднего плана
Как настраивать модель?
• Если есть размеченные данные:
  • Оценка precision/recall на наборе
    видеороликов
  • Выбор параметров, оптимизирующих
    желаемую точность


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




A. Elgammal, D. Harwood, and L. Davis. Non-parametric model for background
subtraction,“ ICCV'99 Frame-rate workshop, 1999
Непараметрическая модель

Пусть   x1 ,..., xN   - N значений пикселя (выборка)
                         N
                 1
        P( x ) 
                 N
                         K(x  x )
                         j 1
                                     j

 K – ядровая функция, обычно тоже гауссиан




  P( x ) T           - тогда фон
Непараметрическая модель

•    K можем считать с помощью lookup-таблицы
•    Можно суммировать до тех пор, пока не
     превысим порог (и пометим как объект)
•    Оценка ширины ядра:


           m  median xi  xi 1
                     m
               
                  0.68 2
Двухэтапное обнаружение
• Объект может случайно сдвинуться дальше, чем в
  обученной модели
• Образуются ложные обнаружения
• Второй этап обнаружения:
  • Сравним пиксель со всеми из окрестности:




  • Будем разрешать, только если вся компонента
    сдвинулась:
Схема обновления фона
• Short-term model
   • N последних элементов
   • Выборочное обновление
• Long-term model
   • N элементов за долгий период времени
   • Слепое обновление
   • Больше false positives (т.к. модель не учитывает
     последних изменений)
   • Больше false negatives (т.к. в модель слепо можем
     добавить объекты)
• Комбинированная модель
   • Находим объекты на обеих моделях
   • Берём их пересечение
   • Добавляем объекты из «срочной» модели, если они
     граничат с найденным на «долгой» модели объектами
Пример работы
Поблочная обработка




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




Ko, T.[Teresa], Soatto, S.[Stefano], Estrin, D.[Deborah], Background Subtraction
on Distributions, ECCV 2008
Схема алгоритма
•   Посчитаем статистику (гистограмму) по 3D окрестности пикселя
    (фон):




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




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



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

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

• Для каждого пикселя будем
  сравнивать вероятности
  принадлежности пиксела
  обоим моделям и выбирать ту,
  вероятность для которой будет
  выше
Модель фона
• Построим и глобальную, и локальную модели фона
• Глобальная: смесь гауссиан (GMM)




                                                            ( K b  10  15)
                               Kb
         p ( I r | xr  B )    k N ( I r |  k ,  b )
                                  b             b
                                                      k
                              k 1
Модель фона

• Построим и глобальную, и локальную модели фона
• Глобальная: смесь гауссиан (GMM)   ( K b  10  15)
• Локальная: один гауссиан
Общая модель фона

• Глобальная: смесь гауссиан (GMM) ( K b  10  15)
                                         Kb
             p global ( I r | xr  B )    k N ( I r |  kb ,  b )
                                             b
                                                                  k
                                         k 1


• Локальная: один гауссиан
                                                B      B
               plocal ( I r )  N ( I r |  ,  )
                                                r      r


• Объединенная:
   pmix ( I r )    p global ( I r | xr  B)  (1   )  plocal ( xr )
Модель переднего плана
• Возьмём те пиксели, для которых вероятность фона низкая
     pB ( I r )  t f
• Обучим по ним смесь гауссиан (K=5)
Соотношение моделей?

              pglobal ( I r | xr  F ) if xr  F
                     pmix ( I r )          if xr  B

 pmix ( I r )    pglobal ( I r | xr  B )  (1   )  plocal ( xr )




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




  pmix ( I r )    p global ( I r | xr  B )  (1   )  plocal ( xr )
Адаптивная модель
Дивергенция Kullback-Liebler   KL fb
          K
              f             f      b       wkf
 KL fb   wk min ( KL ( N k || N i )  log b )
         k 0
                i                          wi

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

              0  KL fb  

    KL fb  0      модели идентичные
Адаптивная модель

                                    KL fb
                                   
                     1 1 e
                          2
                                        KL


                                               KL fb  1
                                                  1
 KL fb  1
                      pmix ( I r )  p global ( I r | xr  B )
   0.5             Только глобальная модель

  pmix ( I r )  1  p global ( I r | xr  B)  1  plocal ( xr )
                 2                              2

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

             pglobal ( I r | xr  F ) if xr  F
                     pmix ( I r )            if xr  B

pmix ( ) ( I r )    p global ( I r | xr  B )  (1   )  plocal ( xr )

• Параметр смешения моделей можно уточнять на
  каждом кадре, в т.ч. с учётом других факторов
• Глобальная модель позволит нам обрабатывать
  сложные случаи изменения фона, когда локальная
  модель срабатывает плохо и наоборот
Поддержка модели фона
Изменение освещенности
• Автоподстройка камеры
• Лампы дневного света
• Включение света




Небольшое изменение освещенности:
•   Преобразование цветовых моделей на основе преобразования
    гистограмм   {I rB }  {I r  B}
Резкие изменения
•   Перестройка цветовой модели фона и переднего плана
•   Использование карты достоверности краёв как подсказки
Поддержка модели фона
Поддержка модели фона
•   Движение в фоне
     • Опираемся на глобальную модель

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

• «Заснувшие» и «Пешеход» на заднем плане
     • Оставляем только самую большую связанную компоненту
Поддержка модели фона
Отслеживание объектов
• Выделили «объекты интереса» на
  каждом кадре с помощью вычитания
  фона в виде набора блобов
• Какому объекту (следу) какой блоб
  соответствует?
• Фактически – задача сопоставления или
  ассоциации данных (Data association)
• «Tracking by detection»
• Можем каждый объект описать набором
  признаков
Детерминированное слежение

   Нахождение соответствий между объектами,
    найденными на соседних кадрах с учетом ограничений




   Варианты:
      Новые объект

      Сопоставление старому следу

      Пропадание объекта
Простейшая стратегия




           Сопоставим ближайшее наблюдение следу




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




•   (а) близость
•   (b) максимальная скорость
•   (c) малое изменение вектора скорости
•   (d) общее движение
•   (e) «жесткость»
Детерминированные алгоритмы




Двухкадровые         Многокадровые
Базовый метод видеонаблюдения

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




• Что делать, если фон не стационарный?
• Придётся строить какую-то модель объекта, и
  искать на следующем кадре похожий объект
Схема слежения

                                 Представить
Инициализац         Выбрать
                                   модель в
 ия модели        пространство
                                  выбранном
                   признаков
                                 пространстве




…   Current   …
     frame
Схема слежения

    Старт с            Поиск в         Выбор
    текущей         окрестности в    положения,
                     следующем      максимизирую
    позиции
                        кадре       щего сходство




                                     Повторение
                                      процедуры
                                         для
                                     следующего
                                        кадра



      Модель   Кандидат
…   Текущий     …
      кадр
Представление объектов




• Как будем описывать модель объекта и фона?
• Некоторое приближение – адаптивные модели для вычитания
  фона («глобальная цветовая модель фона» и «модель цвета
  объекта»
Множество точек
• Простейший kernel метод – отслеживание
  ключевых точек

• Общая проблема – быстрая деградация
  точек

• Решение – использование «стаи точек»
  (flock of features)
Пример: отслеживание руки




• Условия «стаи»
  • Никакие две особенности не совпадают (порог на
    близость)
  • Никакая особенность не уходит далеко от медианного
    центра (порог на удаление)
Пример: отслеживание руки




• Шаг 1: инициализация
  • Находим 100 особенностей в рамке руки
  • Вычисляем медиану
  • Вычисляем цветовую статистику в окрестности центра
     –   одна гауссиана (или гистограмма нормализованная)
  • Можем вычислить карту цветовой сегментации
Пример: отслеживание руки




• Шаг 2: слежение
  • Отслеживаем особенности
  • Если особенность нарушает условия стаи, её удаляем
• Шаг 3: инициализация новых особенностей
  • Ищем особенности, используем карту вероятности цвета
    кожи
  • Если вероятность <порога, отбрасываем особенность
Template matching

• Сопоставление шаблонов – поиск
  положения (bbox, эллипс)
• Ключевой вопрос – моделирование
  внешности:
     • Само изображение как шаблон (NCC)
        – Ищем на следующем кадре похожие по кросс-
          корреляции фрагменты
     • Карты краёв
     • Вероятностное моделирование
        – Цвет, текстура, и т.д. (гистограммы обычно)


•   Общая проблема – негладкость функции качества, из-за
    чего градиентные (итеративные) методы часто
    ошибаются
Карта краёв




• Карта краёв выбирается как шаблон для дальнейшего сравнения
• Вычисляется метрика Хаусдорфа на основании distance transform
• Шаблон обновляется как набор краёв, ближайших к краям шаблона
предыдущего кадра


• HUTTENLOCHER, D., NOH, J., AND RUCKLIDGE, W.. Tracking nonrigid objects
in complex scenes. ICCV 1993
Слежение сдвигом среднего
                                                                                 Представим
       Выбор                        Выбор                                         модель как
      опорной                    пространства                                   распределение
      модели                      признаков                                         (PDF)
                                                                                  признаков




                                                                         0.35


                                 Квантованная                             0.3

                                                                         0.25
                                   цветовая




                                                           Probability
                                                                          0.2

                                    модель                               0.15

                                                                          0.1

                                                                         0.05

                                                                           0
                                                                                1   2   3     .     .   .   m
                                                                                            color



• Метод на основе вероятностного представления модели объекта
• Решение проблемы гладкости целевой функции


Dorin Comaniciu, Visvanathan Ramesh, Peter Meer, Kernel-Based Object Tracking, PAMI 2003
Слежение сдвигом среднего


                 Модель                                                                                                 Кандидат
               (центр в 0)                                                                                             (центр в y)
               0.35                                                                                                   0.3

                0.3                                                                                                  0.25

               0.25
                                                                                                                      0.2
 Probability




                                                                                                       Probability
                0.2
                                                                                                                     0.15
               0.15
                                                                                                                      0.1
                0.1

               0.05                                                                                                  0.05

                 0                                                                                                     0
                      1   2    3     .     .   .   m                                                                        1   2   3     .      .     .   m
                                   color                                                                                                color




                                                   m
                                                                                                                                                m
q  qu u 1..m                                   q     u   1                      p  y    pu  y u 1..m                              p         u   1
                                                   u 1                                                                                         u 1



                                                                         
                              Сходство:                   f  y   f  q, p  y 
                                                                                 
Слежение сдвигом среднего
                                           
 Сходство:              f  y  f  p  y,q
                                             

                                                                       f  y




                                                         Возможны
                 Цель              Пропадает           резкие скачки
Проблема:     описывается        информация о           метрики при
             только цветом         положении            небольших
                                                          сдвигах
                                  Градиентные
             f не гладкая          методы не
                                   робастные



               Покроем цель              f(y) станет
Решение:     изотропным ядром           гладкой в y
Слежение сдвигом среднего

                                                                                              model                                                candidate

   xi i 1..n   Пиксели цели

                                                                                                              0                                                                y

    k ( x)        Изотропное, выпуклое, дифференцируемое, монотонно убывающее ядро
                  (Пиксели по краям могут перекрываться, взаимодействовать с фоном и т.д.)

     b( x )       Индекс ячейки гистограммы (1..m) для пиксела x

        Вероятность фичи u в модели                                                             Вероятность фичи u в кандидате
                                                                                                                                                                       2
                                                                                                                                 y  xi                                   
                  qu  C                       
                                             b ( xi ) u
                                                               k xi       2
                                                                                                      pu  y   Ch  k 
                                                                                                                                 h
                                                                                                                   b ( xi )  u 
                                                                                                                                                                           
                                                                                                                                                                           
                                                                                                                                                                           
                                   0.3                                                                                           0.3

                                  0.25                                                                                          0.25




                                                                                                                  Probability
                                   0.2                                                                                           0.2
                    Probability




Нормализация                      0.15
                                                                                Вес пиксела    Нормализация                     0.15                                     Вес
                                   0.1                                                                                           0.1
                                                                                                                                                                       пиксела
                                  0.05                                                                                          0.05


                                    0                                                                                             0
                                         1     2   3       .    .   .   m                                                              1   2   3     .     .   .   m

                                                       color                                                                                       color
Слежение сдвигом среднего

                                   
    Модель цели:                   q   q1 ,, qm 
                                   
    Кандидат:                      p  y    p1  y  , , pm  y  
                                                         
    Подобие:                       f  y  f  p  y, q  ?
                                                           

            The Bhattacharyya Coefficient                            
                                                                     q
                                                        1
     q       q1 , , qm   
     
                                                       y
     p  y        p1  y  , , pm  y              1
                                                                    
                                                                    p  y 
                                        T
                         p  y  q    m
     f  y   cos  y                 pu  y  qu
                         p  y   q u 1
Слежение сдвигом среднего


Начинаем с           Ищем в
 текущей                             Максимизируем
                 окрестности сл.
 позиции                                сходство
                      кадра




                                           
             q   p  y            f  p  y,q
                                               
Слежение сдвигом среднего

                       m
              f  y    pu  y  qu   Положение модели:                  y0
                      u 1              Положение кандидата:               y
 Линейное              1 m              1 m                  qu
приближен     f  y    pu  y0  qu   pu  y 
    ие.                2 u 1           2 u 1             pu  y0 
(вокруг y0)
                                                                                                2
                                                                                      y  xi       
                                                            pu  y   Ch  k                      
                                                                                      h
                                                                         b ( xi ) u 
                                                                                                    
                       Независимо                                                                   
                          от y                                     2
                                            Ch    n      y  xi                   Оценка

                                            2
                                                  wi k  h
                                                                      
                                                                       
                                                                                  плотности!
                                                                                  (как функции
                                                 i 1                               от y)
Слежение сдвигом среднего
                                        2
                 Ch    n      y  xi       
Мода             2
                       wi k  h
                                           
                                               = целевой максимум
                      i 1                 




Предположения:

           Предстваление
           цели достаточно
                 для
            распознавания




              Одна мода в
              окрестности
Слежение сдвигом среднего
                                               2
                        Ch    n      y  xi       
  Мода                  2
                              wi k  h
                                                  
                                                        = целевой максимум
                             i 1                 

                      K  x   ck x   2
                                                       k  x   g  x 


                                                                             n      y0  xi 2 
                             n   y  xi       2
                                                   
                                                                           xi g  h 
                                                                                              
Original                                                             y1 
                                                                          i 1                
            Find mode of c  k                           using
Mean-Shift:                      h                                           n   y0  xi 2 
                           i 1                                           g h 
                                                                                             
                                                                             i 1            

                                                                        y0  xi 2 
                                                                         n


                                              2              xi wi g  h 
                                                                                  
Extended
                             n
                                        y  xi              i 1                 
            Find mode of c  wi k 
                                                 using y1  n
                                                 
Mean-Shift:                               h                            y0  xi 2 
                           i 1                              wi g  h 
                                                                                 
                                                                i 1             
Слежение сдвигом среднего
       Особый класс
       радиально-
                                               K  x   ck x              2



       симметричных ядер                       k  x   g  x 

 Epanechnikov kernel:                                   Uniform kernel:



         1  x if x  1                                            1 if x  1 
k  x                                       g  x   k  x               
           0   otherwise                                           0 otherwise 

                      n         y0  xi 2                  n
                      xi wi g  h 
                                                           xw     i       i

                y1 
                     i 1                           y1    i 1
                                                                n
                         n     y0  xi 2 
                       wi g  h 
                                         
                                                             w
                                                              i 1
                                                                         i
                       i 1              
Иллюстрация
Слежение сдвигом среднего


Проблема :
                 Масштаб
 Масштаб
                 (h) ядра
   цели
                  должен
 меняется
                 меняться




Решение:
                    Выбираем h,
  Прогоняем
                     на котором
поиск 3 раза с
                    достигается
  разными h
                     максимум
Слежение сдвигом среднего




Пространство признаков: 161616 квантованное RGB
Выбор признаков




 • В зависимости от разных факторов, объект может
 быть различим в разных каналах, по разным признакам



COLLINS, R. AND LIU, Y.. On-line selection of discriminative tracking features.
ICCV 2003
Схема метода
Оценка качества канала




Рассмотрим отдельный канал
Оценка каналов




• Всего 49 каналов, как линейные комбинации
цветовых каналов:
Примеры оценки каналов
Сравнение методов




   Один фиксированный канал (MeanShift)




            Выбор каналов на лету
Комитетный трекер
• Для слежения будем классифицировать пиксели на
объект/фон сильным классификатором (бустинг)
• На каждом кадре убирается K самых старых слабых
классификаторов
• Строится K новых классификаторов для текущего
кадра




       S. Avidan. Ensemble tracking. PAMI, 2007
Слабые классификаторы




• 11D признаки для каждого пикселя (HOG + RGB)
• Линейный классификатор по МНК
Адаптация классификаторов




• Демонстрация изменения слабых классификаторов
• 5 слабых классификаторов, вверху – самый свежий
• Уровни задают веса признаков, первые 8 –HOG, далее RGB
Многомасштабное слежение




• Для 3х уровней масштаба строится свой сильный классификатор
• На каждом уровне строится своя карта вероятности объекта
• Карты приводятся к одному уровню и смешиваются
• Находим пик карты с помощью MeanShift
Результаты
Объединение трекеров

 • Идея:
    • Протестировать ряд базовых трекеров на наборе
    выборок, оценить качество и надежность
    • Найти зависимость качества трекера от
    уверенности (confidence value)
    • Найти хорошо дополняющие друг друга группы
    методов
    • При падении доверия к первому методу в группе
    мы переключаемся на второй метод




B. Stenger, T. Woodley, R. Cipolla Learning to Track With Multiple Observers,
СVPR 2009
Тестовые данные




• Indoor и Outdoor данные
• Во всех присутствует изменение позы, размера, размытие из
движения (motion blur)
Обучение метрики доверия




• По тестовым данным обучаем p(e|c ), где c –
параметр доверия, специфичный для каждого метода
Результаты оценки
Каскадное объединение




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




• Сравнение результатов на тестовых данных и на других
реальных данных
Примеры работы




      NCC                   NCC                 NCC




      CM                    CM                   CM

• Работает NCC, при возникновении motion blur система
переключается на CM (color + motion map)
Примеры работы




        NCC                  NCC                  NCC




          FF                   FF                   MS
• Работает NCC, потом переключение на FF (flock of features),
потом на MS (mean shift)
Примеры работы
Резюме лекции
• Вычитание фона – основа систем видеонаблюдения
  со стационарным фоном
• Если фон динамический, то нужно отдельно
  выделять объекты и затем применять методы
  отслеживания объектов
• Зато есть ряд базовых методов, каждый в своём
  случае хорошо работает
  • NCC
  • Flocks of features
  • MeanShift
• Выход в их комбинации, но это иногда существенно
  замедляет скорость работы

More Related Content

PDF
CV2011 Lecture 8. Detection
PDF
CV2011 Lecture 7. Recognition
PDF
CV2011 Lecture 13. Real-time vision
PDF
CV2011 Lecture 12. Action recognition
PDF
CV2011 Lecture 10. Image retrieval
PDF
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
PDF
CV2015. Лекция 7. Поиск изображений по содержанию.
PDF
CV2011 Lecture 4. Image representation
CV2011 Lecture 8. Detection
CV2011 Lecture 7. Recognition
CV2011 Lecture 13. Real-time vision
CV2011 Lecture 12. Action recognition
CV2011 Lecture 10. Image retrieval
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 7. Поиск изображений по содержанию.
CV2011 Lecture 4. Image representation

What's hot (20)

PDF
CV2011 Lecture 5. Features
PDF
CV2015. Лекция 2. Простые методы распознавания изображений.
PDF
CV2015. Лекция 5. Выделение объектов.
PDF
CV2015. Лекция 6. Нейросетевые алгоритмы.
PDF
20120415 videorecognition konushin_lecture06
PDF
CV2015. Лекция 8. Распознавание лиц людей.
PDF
20120414 videorecognition konushin_lecture03
PDF
CV2011-2. Lecture 02. Photomontage and graphical models.
PDF
CV2011-2. Lecture 06. Structure from motion.
PDF
CV2011-2. Lecture 03. Photomontage, part 2.
PPTX
Лекция 07 Обработка видео
PDF
CV2011-2. Lecture 05. Video segmentation.
PDF
CV2011-2. Lecture 12. Face models.
PDF
CV2011-2. Lecture 07. Binocular stereo.
PDF
CV2011 Lecture 6. Fitting
PPTX
CV2011 Lecture 3. Basic image analysis
PDF
20120413 videorecognition konushin_lecture02
PDF
20120414 videorecognition konushin_lecture04
PDF
CV2015. Лекция 2. Основы обработки изображений.
PDF
20100919 computer vision_konushin_lecture03
CV2011 Lecture 5. Features
CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 5. Выделение объектов.
CV2015. Лекция 6. Нейросетевые алгоритмы.
20120415 videorecognition konushin_lecture06
CV2015. Лекция 8. Распознавание лиц людей.
20120414 videorecognition konushin_lecture03
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 06. Structure from motion.
CV2011-2. Lecture 03. Photomontage, part 2.
Лекция 07 Обработка видео
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 07. Binocular stereo.
CV2011 Lecture 6. Fitting
CV2011 Lecture 3. Basic image analysis
20120413 videorecognition konushin_lecture02
20120414 videorecognition konushin_lecture04
CV2015. Лекция 2. Основы обработки изображений.
20100919 computer vision_konushin_lecture03
Ad

Similar to CV2011 Lecture 11. Basic video (20)

PDF
CV2011-2. Lecture 10. Pose estimation.
PDF
Оценка уровня шума для видео
PPTX
L06 detection
PDF
Обзор алгоритмов трекинга объектов
PDF
Анализ изображений и видео. Сегментация изображений
PDF
Детектирование объектов переднего плана в видео
PDF
Некоторые методы сегментации видео
PDF
Ifmo crfh
PDF
Анализ изображения и видео
PDF
Вычитание фона с использованием карт глубины
PDF
20100919 computer vision_konushin_lecture02
PPT
Поиск объектов
PPTX
L05 features
PDF
Обзор методов вычисления базовой геометрии сцены
PDF
Устранение размытости видео
PPTX
Система автоматического отслеживания перемещения группы лабораторных рыб
PDF
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
PDF
20120415 videorecognition konushin_lecture05
PDF
513.введение в цифровую обработку сигналов и изображений повышение качества и...
PPTX
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
CV2011-2. Lecture 10. Pose estimation.
Оценка уровня шума для видео
L06 detection
Обзор алгоритмов трекинга объектов
Анализ изображений и видео. Сегментация изображений
Детектирование объектов переднего плана в видео
Некоторые методы сегментации видео
Ifmo crfh
Анализ изображения и видео
Вычитание фона с использованием карт глубины
20100919 computer vision_konushin_lecture02
Поиск объектов
L05 features
Обзор методов вычисления базовой геометрии сцены
Устранение размытости видео
Система автоматического отслеживания перемещения группы лабораторных рыб
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
20120415 videorecognition konushin_lecture05
513.введение в цифровую обработку сигналов и изображений повышение качества и...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
Ad

More from Anton Konushin (13)

PDF
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
PDF
Технологии разработки ПО
PDF
Статистическое сравнение классификаторов
PDF
Classifier evaluation and comparison
PDF
CV2011-2. Lecture 08. Multi-view stereo.
PDF
CV2011-2. Lecture 11. Face analysis.
PDF
CV2011-2. Lecture 04. Semantic image segmentation
PDF
CV2011-2. Lecture 09. Single view reconstructin.
PDF
CV2011-2. Lecture 01. Segmentation.
PDF
Anton Konushin - TEDxRU 2009
PDF
Computer vision infrastracture
PPTX
Writing a computer vision paper
PDF
Andrew Zisserman Talk - Part 1a
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
Технологии разработки ПО
Статистическое сравнение классификаторов
Classifier evaluation and comparison
CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 04. Semantic image segmentation
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 01. Segmentation.
Anton Konushin - TEDxRU 2009
Computer vision infrastracture
Writing a computer vision paper
Andrew Zisserman Talk - Part 1a

CV2011 Lecture 11. Basic video

  • 2. Общая информация Этот курс подготовлен и читается при поддержке Microsoft Research  Страница курса http://courses.graphicon.ru/main/vision
  • 3. Задачи видеонаблюдения • Выделение «объектов интереса» в видео и отслеживание их движения в последующих кадрах • Выделение объектов интереса • Результат - ограничивающий прямоугольник • Или попиксельая маска • Отслеживание (video tracking) • Вход – положение объекта на первом кадре • Результат – траектория движения объектов (след или “track”)
  • 4. Проблемы • Масштабируемость • Видео гораздо больше одного изображения, гораздо выше вычислительная нагрузка • Изменение по времени • Вид объекта меняется от кадра к кадру из-за ракурса, изменения освещения, внутренних изменений (идущий человек) • Несколько объектов • В сцене могут быть несколько объектов, которые могут быть похожи друг на друга, перекрывать друг друга и т.д.
  • 5. Оценка качества • Потребуются размеченные данные, в которых отмечено положение объекта в каждом (или в ключевых кадрах) • Ошибка отслеживание – расстояние до ground truth данных • Ожидаемая ошибка на видеопоследовательности • Точность (precision) • Надежность (robustness)
  • 6. Выбор объекта интереса • Инициализация вручную • Детектор объектов • Детектор «пешехода» • Детектор «лиц» • Сегментация видео • Выделение движущихся объектов
  • 7. Система видеонаблюдения • Построим стандартную, простую систему видеонаблюдения • Упрощение 1: стационарная камера • Упрощение 2: стабильный фон, мало изменяющийся между камера
  • 8. Вычитание фона - = • Background subtraction • Возьмем изображение без объектов (фон, background) • Вычтем фон из новых изображений с объектами • Сравним разницу для каждого пикселя с порогом – Порог – параметр алгоритма • Если разница больше порога - то пиксель принадлежит «переднему плану» (foreground) • Получаем маску «переднего плана»
  • 9. Обработка маски переднего плана • Выделим отдельные объекты как связанные компоненты • «Блоб» («капля», blob) - связанная компоненты маски переднего плана • Для подавления шума отфильтруем маску переднего плана  Медианная фильтрация, морфология  Это простейший (и работоспособный) алгоритм выделения движущихся объектов  Для мышек часто применялся
  • 11. Реальная картина Фон существенно меняется
  • 12. Яркость по времени • Будем рассматривать каждый пиксель изображения i независимо от остальных • Яркость (цвет) xi каждого пикселя фона изменяется по времени t • Построим модель яркости(цвета) xi пикселя i фона • Если на новом кадре яркость (цвет) пикселя не удовлетворяет модели фона - значит это пиксель принадлежит движущемуся объекту
  • 13. Общая схема вычитания фона - Initialize_background_model() - For t = 1:N - Compute_frame_difference() - Threshold_frame_difference() - Noise_removal() - Update_background_model() - end
  • 14. Усреднение кадров • Простейшая модель фона – одно изображение чистого фона • Возьмем N кадров и попиксельно усредним интенсивности (цвета)
  • 15. Модель фона - медиана • Когда не работает усреднение: • Всегда в кадре движущиеся объекты • Случайные и резкие изменения яркости (блики, засветка) • Вместо усреднения берем медиану
  • 16. Среднее vs Медиана Средний цвет Медиана
  • 18. Другие методы • Во многих случаях медиана может не помогать • Пр.: когда мышь сидит в одном месте >50% кадров тестового видеоролика • Предлагаются другие методы, на основе оптимизации целевой функции • Например, разобьём все изображения на сегменты • Будем выбирать сегменты из разных кадров, чтобы была наиболее плавная и стабильная картинка
  • 19. Обновление модели фона  Что делать, если освещенность постепенно меняется?  Moving average – постоянное обновление фона  Взвешенная сумма текущего и предыдущих N кадров  Ещё один (или несколько) параметр – вес кадра
  • 21. Гауссиана • Предположение: • Интенсивность меняется в небольших пределах вокруг какого-то значения • «Шум камеры» • Нормальное распределение Wren, Christopher R., Ali Azarbayejani, Trevor Darrell, and Alex Pentland. “Pfinder: Real-Time Tracking of the Human Body,” IEEE PAMI, 1997
  • 22. Вычисление параметров • Для одного канала: N 1 • Вычисляем среднее  N x i 1 i 1 N • Вычисляем дисперсию 2   ( xi   ) 2 N  1 i 1 • Вероятность нового пикселя y: ( x  )2 1  2 2  ( x | , )  e  2
  • 23. Обновление параметров • Обновление матожидания t 1  t  (1   ) xt 1 • Обновление дисперсии 2 2 2 2  t 1   ( t 1  ( t 1  t ) )  (1   )( xt 1  t 1 ) а – скорость обновления (обучения)
  • 24. Многоканальное изображение • Можно рассчитать полную матрицу ковариации K • Обновлять полную матрицу сложно • Обновление только среднего, с сохранением ковариации t 1  t  (1   ) xt 1
  • 25. Смесь гауссиан • Один гауссиан – один кластер • Значения могут группироваться в несколько кластеров W.E.L.Grimson, C.Stauffer. Adaptive background mixture models for real-time tracking. CVPR 1999
  • 26. Смесь гауссиан Распределение интенсивности красного и зеленого каналов
  • 27. Смесь гауссиан  Вероятность интенсивности y при модели смести К гауссиан K P( xt )   i ,t N (xt , i ,t ,  i ,t ) i 1 i,t - вес компоненты I в момент t • Вычисление смеси требует EМ алгоритма (не в реальном времени), поэтому используем приближение
  • 28. Обучение смеси на лету • Пусть N – количество компонент в смеси • Инициализируем 1ую компоненту по первому изображению, вес = 1, вес остальных – 0 • Сравниваем пиксель с каждой компонентой, пока не найдем совпадения • Обновляем матожидание и дисперсию совпавшей компоненты • Если совпадения не найдено, то заменяем компоненту с наименьшим весом • Обновляем веса
  • 29. Обновление весов Обновление весов: i ,t  (1  a )i ,t 1  aM i ,t M i ,t = 1, если интенсивность пикселя удовлетворяет i-ой компоненте После обновления всех весов, они нормализуются
  • 30. Моделирование фона • Упорядочим все компоненты по критерию i /  • Чем «стабильнее» компонента, тем выше • Чем больше вес (чаще встречается, тем тоже выше • Определим порог T - какая доля выборки для каждого пикселя должна соответствовать фону • Тогда фон для каждого пикселя: b B  arg min (  i  T ) b i 1 • Все остальные компоненты - объекты
  • 31. Пример работы (1) (2) (3) (4) 1. Исходный кадр 2. Модель фона (старшая гауссиана) 3. Мат.ожидания второй гауссианы 4. Маска переднего плана
  • 32. Как настраивать модель? • Если есть размеченные данные: • Оценка precision/recall на наборе видеороликов • Выбор параметров, оптимизирующих желаемую точность • Если нет размеченных данных • Можно взять видео без объектов • Настроить параметры таким образом, чтобы получить заданное количество ложных обнаружений • Минимальные пороги для достижения заданной «чувствительности»
  • 33. Непараметрическая модель A. Elgammal, D. Harwood, and L. Davis. Non-parametric model for background subtraction,“ ICCV'99 Frame-rate workshop, 1999
  • 34. Непараметрическая модель Пусть x1 ,..., xN - N значений пикселя (выборка) N 1 P( x )  N  K(x  x ) j 1 j K – ядровая функция, обычно тоже гауссиан P( x ) T - тогда фон
  • 35. Непараметрическая модель • K можем считать с помощью lookup-таблицы • Можно суммировать до тех пор, пока не превысим порог (и пометим как объект) • Оценка ширины ядра: m  median xi  xi 1 m  0.68 2
  • 36. Двухэтапное обнаружение • Объект может случайно сдвинуться дальше, чем в обученной модели • Образуются ложные обнаружения • Второй этап обнаружения: • Сравним пиксель со всеми из окрестности: • Будем разрешать, только если вся компонента сдвинулась:
  • 37. Схема обновления фона • Short-term model • N последних элементов • Выборочное обновление • Long-term model • N элементов за долгий период времени • Слепое обновление • Больше false positives (т.к. модель не учитывает последних изменений) • Больше false negatives (т.к. в модель слепо можем добавить объекты) • Комбинированная модель • Находим объекты на обеих моделях • Берём их пересечение • Добавляем объекты из «срочной» модели, если они граничат с найденным на «долгой» модели объектами
  • 39. Поблочная обработка • Вместо анализа каждого пикселя мы можем разбить всё изображение на блоки и анализировать блоки • Точность сегментации получается хуже, зато считается статистика изображения в блоке, что повышает надежность
  • 40. Статистики по окрестностям Ko, T.[Teresa], Soatto, S.[Stefano], Estrin, D.[Deborah], Background Subtraction on Distributions, ECCV 2008
  • 41. Схема алгоритма • Посчитаем статистику (гистограмму) по 3D окрестности пикселя (фон): • Посчитаем статистику по 2д окрестности пикселя на текущем кадре: • Вычислим разницу: • Обновление модели:
  • 43. Глобальные модели цветов • Если у объекта и фона характерные цвета, то почему бы это не использовать? • Построим цветовые модель объекта и модел фона • Для каждого пикселя будем сравнивать вероятности принадлежности пиксела обоим моделям и выбирать ту, вероятность для которой будет выше
  • 44. Модель фона • Построим и глобальную, и локальную модели фона • Глобальная: смесь гауссиан (GMM) ( K b  10  15) Kb p ( I r | xr  B )    k N ( I r |  k ,  b ) b b k k 1
  • 45. Модель фона • Построим и глобальную, и локальную модели фона • Глобальная: смесь гауссиан (GMM) ( K b  10  15) • Локальная: один гауссиан
  • 46. Общая модель фона • Глобальная: смесь гауссиан (GMM) ( K b  10  15) Kb p global ( I r | xr  B )    k N ( I r |  kb ,  b ) b k k 1 • Локальная: один гауссиан B B plocal ( I r )  N ( I r |  ,  ) r r • Объединенная: pmix ( I r )    p global ( I r | xr  B)  (1   )  plocal ( xr )
  • 47. Модель переднего плана • Возьмём те пиксели, для которых вероятность фона низкая pB ( I r )  t f • Обучим по ним смесь гауссиан (K=5)
  • 48. Соотношение моделей? pglobal ( I r | xr  F ) if xr  F pmix ( I r ) if xr  B pmix ( I r )    pglobal ( I r | xr  B )  (1   )  plocal ( xr )  ?
  • 49. Адаптивная смесь pmix ( I r )    p global ( I r | xr  B )  (1   )  plocal ( xr )
  • 50. Адаптивная модель Дивергенция Kullback-Liebler KL fb K f f b wkf KL fb   wk min ( KL ( N k || N i )  log b ) k 0 i wi дает разницу между двумя смесями гауссин 0  KL fb   KL fb  0  модели идентичные
  • 51. Адаптивная модель KL fb    1 1 e 2 KL KL fb  1  1 KL fb  1 pmix ( I r )  p global ( I r | xr  B )   0.5 Только глобальная модель pmix ( I r )  1  p global ( I r | xr  B)  1  plocal ( xr ) 2 2 Поровну локальная и глобальные модели
  • 52. Адаптивная модель pglobal ( I r | xr  F ) if xr  F pmix ( I r ) if xr  B pmix ( ) ( I r )    p global ( I r | xr  B )  (1   )  plocal ( xr ) • Параметр смешения моделей можно уточнять на каждом кадре, в т.ч. с учётом других факторов • Глобальная модель позволит нам обрабатывать сложные случаи изменения фона, когда локальная модель срабатывает плохо и наоборот
  • 53. Поддержка модели фона Изменение освещенности • Автоподстройка камеры • Лампы дневного света • Включение света Небольшое изменение освещенности: • Преобразование цветовых моделей на основе преобразования гистограмм {I rB }  {I r  B} Резкие изменения • Перестройка цветовой модели фона и переднего плана • Использование карты достоверности краёв как подсказки
  • 55. Поддержка модели фона • Движение в фоне • Опираемся на глобальную модель • Дрожание камеры • Применяем размытие по гауссу • Уменьшаем вес локальной цветовой модели • «Заснувшие» и «Пешеход» на заднем плане • Оставляем только самую большую связанную компоненту
  • 57. Отслеживание объектов • Выделили «объекты интереса» на каждом кадре с помощью вычитания фона в виде набора блобов • Какому объекту (следу) какой блоб соответствует? • Фактически – задача сопоставления или ассоциации данных (Data association) • «Tracking by detection» • Можем каждый объект описать набором признаков
  • 58. Детерминированное слежение  Нахождение соответствий между объектами, найденными на соседних кадрах с учетом ограничений  Варианты:  Новые объект  Сопоставление старому следу  Пропадание объекта
  • 59. Простейшая стратегия Сопоставим ближайшее наблюдение следу Простейшая стратегия в более сложных случаях не срабатывает, поэтому исследовались разные ограничения
  • 60. Виды ограничений • (а) близость • (b) максимальная скорость • (c) малое изменение вектора скорости • (d) общее движение • (e) «жесткость»
  • 62. Базовый метод видеонаблюдения • Обучение модели фона • Для каждого кадра • Вычитание фона • Обработка маски (фильтрация, морфологии) • Выделение связанных компонент • Ассоциация объектов в треки • Инициализация новых треков • Обновление фона
  • 63. Отслеживание объектов • Что делать, если фон не стационарный? • Придётся строить какую-то модель объекта, и искать на следующем кадре похожий объект
  • 64. Схема слежения Представить Инициализац Выбрать модель в ия модели пространство выбранном признаков пространстве … Current … frame
  • 65. Схема слежения Старт с Поиск в Выбор текущей окрестности в положения, следующем максимизирую позиции кадре щего сходство Повторение процедуры для следующего кадра Модель Кандидат … Текущий … кадр
  • 66. Представление объектов • Как будем описывать модель объекта и фона? • Некоторое приближение – адаптивные модели для вычитания фона («глобальная цветовая модель фона» и «модель цвета объекта»
  • 67. Множество точек • Простейший kernel метод – отслеживание ключевых точек • Общая проблема – быстрая деградация точек • Решение – использование «стаи точек» (flock of features)
  • 68. Пример: отслеживание руки • Условия «стаи» • Никакие две особенности не совпадают (порог на близость) • Никакая особенность не уходит далеко от медианного центра (порог на удаление)
  • 69. Пример: отслеживание руки • Шаг 1: инициализация • Находим 100 особенностей в рамке руки • Вычисляем медиану • Вычисляем цветовую статистику в окрестности центра – одна гауссиана (или гистограмма нормализованная) • Можем вычислить карту цветовой сегментации
  • 70. Пример: отслеживание руки • Шаг 2: слежение • Отслеживаем особенности • Если особенность нарушает условия стаи, её удаляем • Шаг 3: инициализация новых особенностей • Ищем особенности, используем карту вероятности цвета кожи • Если вероятность <порога, отбрасываем особенность
  • 71. Template matching • Сопоставление шаблонов – поиск положения (bbox, эллипс) • Ключевой вопрос – моделирование внешности: • Само изображение как шаблон (NCC) – Ищем на следующем кадре похожие по кросс- корреляции фрагменты • Карты краёв • Вероятностное моделирование – Цвет, текстура, и т.д. (гистограммы обычно) • Общая проблема – негладкость функции качества, из-за чего градиентные (итеративные) методы часто ошибаются
  • 72. Карта краёв • Карта краёв выбирается как шаблон для дальнейшего сравнения • Вычисляется метрика Хаусдорфа на основании distance transform • Шаблон обновляется как набор краёв, ближайших к краям шаблона предыдущего кадра • HUTTENLOCHER, D., NOH, J., AND RUCKLIDGE, W.. Tracking nonrigid objects in complex scenes. ICCV 1993
  • 73. Слежение сдвигом среднего Представим Выбор Выбор модель как опорной пространства распределение модели признаков (PDF) признаков 0.35 Квантованная 0.3 0.25 цветовая Probability 0.2 модель 0.15 0.1 0.05 0 1 2 3 . . . m color • Метод на основе вероятностного представления модели объекта • Решение проблемы гладкости целевой функции Dorin Comaniciu, Visvanathan Ramesh, Peter Meer, Kernel-Based Object Tracking, PAMI 2003
  • 74. Слежение сдвигом среднего Модель Кандидат (центр в 0) (центр в y) 0.35 0.3 0.3 0.25 0.25 0.2 Probability Probability 0.2 0.15 0.15 0.1 0.1 0.05 0.05 0 0 1 2 3 . . . m 1 2 3 . . . m color color  m  m q  qu u 1..m q u 1 p  y    pu  y u 1..m p u 1 u 1 u 1   Сходство: f  y   f  q, p  y   
  • 75. Слежение сдвигом среднего   Сходство: f  y  f  p  y,q   f  y Возможны Цель Пропадает резкие скачки Проблема: описывается информация о метрики при только цветом положении небольших сдвигах Градиентные f не гладкая методы не робастные Покроем цель f(y) станет Решение: изотропным ядром гладкой в y
  • 76. Слежение сдвигом среднего model candidate  xi i 1..n Пиксели цели 0 y k ( x) Изотропное, выпуклое, дифференцируемое, монотонно убывающее ядро (Пиксели по краям могут перекрываться, взаимодействовать с фоном и т.д.) b( x ) Индекс ячейки гистограммы (1..m) для пиксела x Вероятность фичи u в модели Вероятность фичи u в кандидате 2  y  xi  qu  C  b ( xi ) u k xi   2 pu  y   Ch  k   h b ( xi )  u     0.3 0.3 0.25 0.25 Probability 0.2 0.2 Probability Нормализация 0.15 Вес пиксела Нормализация 0.15 Вес 0.1 0.1 пиксела 0.05 0.05 0 0 1 2 3 . . . m 1 2 3 . . . m color color
  • 77. Слежение сдвигом среднего  Модель цели: q   q1 ,, qm   Кандидат: p  y    p1  y  , , pm  y     Подобие: f  y  f  p  y, q  ?   The Bhattacharyya Coefficient  q  1 q   q1 , , qm   y p  y    p1  y  , , pm  y   1  p  y  T p  y  q m f  y   cos  y    pu  y  qu p  y   q u 1
  • 78. Слежение сдвигом среднего Начинаем с Ищем в текущей Максимизируем окрестности сл. позиции сходство кадра     q p  y f  p  y,q  
  • 79. Слежение сдвигом среднего m f  y    pu  y  qu Положение модели: y0 u 1 Положение кандидата: y Линейное 1 m 1 m qu приближен f  y    pu  y0  qu   pu  y  ие. 2 u 1 2 u 1 pu  y0  (вокруг y0) 2  y  xi  pu  y   Ch  k    h b ( xi ) u   Независимо  от y 2 Ch n  y  xi  Оценка 2  wi k  h    плотности! (как функции i 1   от y)
  • 80. Слежение сдвигом среднего 2 Ch n  y  xi  Мода 2  wi k  h    = целевой максимум i 1   Предположения: Предстваление цели достаточно для распознавания Одна мода в окрестности
  • 81. Слежение сдвигом среднего 2 Ch n  y  xi  Мода 2  wi k  h    = целевой максимум i 1   K  x   ck x  2 k  x   g  x  n  y0  xi 2  n  y  xi 2   xi g  h    Original y1  i 1   Find mode of c  k   using Mean-Shift:  h  n  y0  xi 2  i 1   g h    i 1    y0  xi 2  n  2  xi wi g  h    Extended n y  xi  i 1   Find mode of c  wi k    using y1  n  Mean-Shift: h  y0  xi 2  i 1    wi g  h    i 1  
  • 82. Слежение сдвигом среднего Особый класс радиально- K  x   ck x   2 симметричных ядер k  x   g  x  Epanechnikov kernel: Uniform kernel: 1  x if x  1  1 if x  1  k  x    g  x   k  x      0 otherwise  0 otherwise  n  y0  xi 2  n  xi wi g  h    xw i i y1  i 1   y1  i 1 n n  y0  xi 2   wi g  h    w i 1 i i 1  
  • 84. Слежение сдвигом среднего Проблема : Масштаб Масштаб (h) ядра цели должен меняется меняться Решение: Выбираем h, Прогоняем на котором поиск 3 раза с достигается разными h максимум
  • 85. Слежение сдвигом среднего Пространство признаков: 161616 квантованное RGB
  • 86. Выбор признаков • В зависимости от разных факторов, объект может быть различим в разных каналах, по разным признакам COLLINS, R. AND LIU, Y.. On-line selection of discriminative tracking features. ICCV 2003
  • 89. Оценка каналов • Всего 49 каналов, как линейные комбинации цветовых каналов:
  • 91. Сравнение методов Один фиксированный канал (MeanShift) Выбор каналов на лету
  • 92. Комитетный трекер • Для слежения будем классифицировать пиксели на объект/фон сильным классификатором (бустинг) • На каждом кадре убирается K самых старых слабых классификаторов • Строится K новых классификаторов для текущего кадра S. Avidan. Ensemble tracking. PAMI, 2007
  • 93. Слабые классификаторы • 11D признаки для каждого пикселя (HOG + RGB) • Линейный классификатор по МНК
  • 94. Адаптация классификаторов • Демонстрация изменения слабых классификаторов • 5 слабых классификаторов, вверху – самый свежий • Уровни задают веса признаков, первые 8 –HOG, далее RGB
  • 95. Многомасштабное слежение • Для 3х уровней масштаба строится свой сильный классификатор • На каждом уровне строится своя карта вероятности объекта • Карты приводятся к одному уровню и смешиваются • Находим пик карты с помощью MeanShift
  • 97. Объединение трекеров • Идея: • Протестировать ряд базовых трекеров на наборе выборок, оценить качество и надежность • Найти зависимость качества трекера от уверенности (confidence value) • Найти хорошо дополняющие друг друга группы методов • При падении доверия к первому методу в группе мы переключаемся на второй метод B. Stenger, T. Woodley, R. Cipolla Learning to Track With Multiple Observers, СVPR 2009
  • 98. Тестовые данные • Indoor и Outdoor данные • Во всех присутствует изменение позы, размера, размытие из движения (motion blur)
  • 99. Обучение метрики доверия • По тестовым данным обучаем p(e|c ), где c – параметр доверия, специфичный для каждого метода
  • 101. Каскадное объединение • Если оценка качества по доверию для метода 1 падает ниже порога, переключаемся на метод 2 • Когда все методы дают низкое качество, происходит переинициализация метода
  • 103. Сравнение • Сравнение результатов на тестовых данных и на других реальных данных
  • 104. Примеры работы NCC NCC NCC CM CM CM • Работает NCC, при возникновении motion blur система переключается на CM (color + motion map)
  • 105. Примеры работы NCC NCC NCC FF FF MS • Работает NCC, потом переключение на FF (flock of features), потом на MS (mean shift)
  • 107. Резюме лекции • Вычитание фона – основа систем видеонаблюдения со стационарным фоном • Если фон динамический, то нужно отдельно выделять объекты и затем применять методы отслеживания объектов • Зато есть ряд базовых методов, каждый в своём случае хорошо работает • NCC • Flocks of features • MeanShift • Выход в их комбинации, но это иногда существенно замедляет скорость работы