Сопровождение объектов и
распознавание событий




                Антон Конушин
       Computer science club, Екатеринбург
            13-15 апреля 2012 года
Сопровождение объектов
• Допустим, объект уже выделен на
  первом кадре.
   • Вручную рамкой
   • Детектор объектов
   • Вычитание фона
• Нужно определить его положение
  на всех последующих кадрах
• Результат – след (track) или
  траектория движения
   • X(1), X(2), X(3),…,X(N)


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


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


• Несколько объектов
  • В сцене могут быть несколько объектов, которые могут
    быть похожи друг на друга, перекрывать друг друга и т.д.
Сложность оценки результата




•   Для оценки качества работы алгоритмов слежения и настройки
    параметров требуются размеченные эталонные данные
•   Подготовить эталонные данные для видео существенно
    сложнее, чем для изображений
     • Один эталонный пример для выделения объектов – 1 изображение
     • Один эталонный пример для отслеживания объектов - 1 видео
Оценка качества по эталонным данным
• Допустим, есть эталонные данные, в которых отмечено
положение объекта в каждом кадре (или в ключевых кадрах)

• Ошибка сопровождения – покадровое расстояние от
измеренного до эталонного следа


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



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



• Надежность (robustness)
Методы к рассмотрению
• Ассоциация обнаружений между кадрами
• Сопоставление шаблонов
  • Кросс-корелляция
  • На основе карт краёв
• «Стая точек»
• Сдвиг среднего
• Комбинация методов
Ассоциация выделенных объектов
• Допустим, на I(t) и I(t+1) выделении
  объекты с помощью вычитания фона
• Какому объекту (следу) какой блоб
  соответствует?
• Фактически – задача сопоставления или
  ассоциации данных (Data association)
• «Tracking by detection»
• Можем каждый объект описать набором
  признаков
   • Цвет, текстура, и т.д.
Детерминированное слежение

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




   Варианты:
      Появление нового объекта в поле зрения

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

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




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




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




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




    Двухкадровые                       Многокадровые
Подходы к установлению соответствий:
•   Перебор разных варианты
•   Энергетическая формулировка:
     • Для каждого ограничения сформулируем «штраф»
     • Составим функцию «энергии» сопоставления
     • Будем оптимизировать энергию с помощью какого-нибудь
       метода дискретной оптимизации
Пример работы
Отслеживание объектов




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

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




…   Текущий     …
      кадр
Схема слежения

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




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


    Модель    Кандидат

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




• Как будем описывать объект (модель объекта) ?
   • Шаблон
   • Набор точек
   • Признаки объекта
Сопоставление шаблонов
• Фиксируем изображение объекта
  (шаблон – pattern)
• Будем искать положение шаблона в
  новом кадре
  • Например, в окрестности предыдущего
    положения
• Попиксельно будем сравнивать
  шаблон и фрагмент нового кадра с
  помощью какой-нибудь метрики
Метрики

                         (SAD) Sum of absolute differences

                         (SSD) Sum of squared differences

                         (CC) Cross-correlation

                              (NCC) Normalized cross
                                correlation


•   SAD, SSD – минимизируются (0 – точное совпадение)
•   CC, NCC – максимизируется (1 – точное совпадение)
Пример: пульт ТВ




• Шаблон (слева), изображение (в центре), карта нормализованной
корреляции (справа)
• Пик яркости (максимум корреляции) соответствует положению

руки (искомого шаблона)
Пример: пульт ТВ
Пример: пульт ТВ
Пример: пульт ТВ
Пример: пульт ТВ
Края для сопоставления шаблонов




• Мы знаем, что в края – очень информативный признак, и
они устойчивы к измненеию освещения
• Попробуем использовать только края для поиска /

отслеживания объекта
• Как эффективно сопоставлять карты краев?

    •   Попиксельно явно нельзя!
Метрики
•   Сhamfer Distance
       •Для каждого пикселя a края шаблона A вычисляем
       расстояние до ближайшего пикселя b края
       изображения B
                   r (a, B )  min a  b
                              bB

       Суммируем все найденные расстояния
       •


               ChDist ( A, B )   min a  b
                                      bB
                                aA

•   Hausdorff Distance
       •Почти то же самое, но берём не сумму, а
       максимальное расстояния
           HausDist ( A, B )  max min a  b
                              a A    bB

    Какую метрику использовать заранее сказать нельзя, нужна
    экспериментальная проверка
Поиск ближайших пикселей края




 Вопрос: как найти ближайший пиксель края на
 изображении?
Distance Transform
       «Дистантное преобразование»




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




 Совмещаем шаблон и карту DT
 Вычисляем ошибку, суммирую все значения в пикселях
краев (для Chamfer distance)
Пример поиска с помощью DT
Сопровождение с помощью карт краёв




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


• HUTTENLOCHER, D., NOH, J., AND RUCKLIDGE, W.. Tracking nonrigid objects
in complex scenes. ICCV 1993
Пример работы
Множество точек

• Мы умеем вычислять движение отдельных
  точек с помощью локального метода
  оценки оптического потока Lucas-Kanade

• Но каждая точка в отдельности может
  быстро сбиться из-за ошибок в
  вычислении оптического потока и его
  несоответствия движению точек сцены

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




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




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




• Шаг 2: слежение
  • Отслеживаем контрольные точки
  • Если точка нарушает условия стаи, её удаляем
• Шаг 3: инициализация новых контрольных точек
  • Ищем особенности (Harris corners)
  • Если точка не на коже, то отбрасываем её
Пример работы
Мean-Shift («Cдвиг среднего»)

  Инициализац                 Выбор                                      Модель =
   ия объекта              пространства                                распределение
                                                                        признаков в
   слежения                 признаков                                     объекте




                                                                0.35


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

                                                                0.25
                             цветовая




                                                  Probability
                                                                 0.2

                              модель                            0.15

                                                                 0.1

                                                                0.05

                                                                  0
                                                                       1   2   3     .     .   .   m

                                                                                   color



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

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

                  0.3                                                                                                    0.2 5
                 0.25
  Probabilit y




                                                                                                                          0 .2




                                                                                                          Probab ility
                  0.2
                                                                                                                         0.1 5
                 0.15
                                                                                                                          0 .1
                  0.1

                 0.05                                                                                                    0.0 5

                   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




 • Методы сопоставления шаблонов страдают от проблемы
 негладкости целевой функции
     • Небольшие смещения могут привести к резким скачкам ошибки
     сопоставления
     • Поэтому мы не можем использовать, например, метод
     градиентного спуска для поиска оптимального положения

 • Для решения этой проблемы и был предложен метод
 Mean-Shift

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

                                        
      Сходство:      f  y  f  p  y,q 
                                          
                                                       f 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   C h  k 
                                                                                                                                 h
                                                                                                                    b ( xi ) u 
                                                                                                                                                                            
                                                                                                                                                                            
                                                                                                                                                                            
                                   0. 3                                                                                         0.3

                                  0.25                                                                                          0.25

                                   0. 2                                                                                         0.2




                                                                                                                 Probabi lity
                    Probability




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


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

                                                        color                                                                                      co lor
Функция сравнения
                                   
    Модель цели:                   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
                                                  
Иллюстрация сдвига среднего




Для определенных ядер можно показать, что поиск градиентный спуск
превращается в «сдвиг среднего», где:
                 n

                xw
                i 1
                        i       i
         y1       n

                 w
                 i 1
                            i
Слежение сдвигом среднего

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




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




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



COLLINS, R. AND LIU, Y.. On-line selection of discriminative tracking features.
ICCV 2003
Виды каналов




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




• Мы оцениваем, насколько хорошо по каналу
отличается объект и фон.
• Отберём несколько наилучших каналов
• На следующих кадрах мы можем изменить каналы!
Примеры оценки каналов
Сравнение методов




   Один фиксированный канал (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)
Примеры работы
Распознавание действий
• Огромное количество видеоданных
• Действия (action) людей – главные события в
кино, новостях, домашнем видео,
видеонаблюдении                                 150,000 uploads every day




Для чего может пригодится:
    • Автоматизация систем видеонаблюдения
        • «Началась драка у пивного киоска»
    • Поиск видео в архивах
        • Найти сцену «Обама пожимает руку Медведеву»
    • Навигация по контенту
        •Перемотка до следующей важной сцены (пр. гола)
Действия (Actions)
Определение 1:
 • Физическое движение тела
   человека
    • Атомарное (жест) или
                                                  KTH action dataset
      более сложное
Определение 2
  Взаимодействие человека с окружением с определенной целью
      • Одно и то же движение имеет разный смысл в зависимости
      от окружения
Действия (Actions)
Определение 3:
   • Взаимодействие нескольких человек с определенной целью




           Драка

                                            Кража
Тестовые базы
• Самые известные:

  • KTH Actions




  • UCF Sport Actions




  • Hollywood2
KTH Actions




    •   25 человек, 6 действий, 4 сценария (внутри, снаружи,
        снаружи др. масштаба, снаружи в др. одежде)
    •   Всего 2391 фрагмент

C. Schüldt, I. Laptev, and B. Caputo. Recognizing human actions: A local
SVM approach. ICPR, 2004.
UCF Sport Actions




    • 10 видов «спортивных» действий
    • 150 видеофрагментов
    • Можно увеличить с помощью
      «шевеления»/зеркального отображения



M. Rodriguez, J. Ahmed, and M. Shah. Action mach: A spatio-temporal
maximum average correlation height filter for action recognition. CVPR, 2008
Hollywood2




  •   10 разных обыденных действий из 69 голливудских
      фильмов
  •   1707 фрагментов

  •   Интересно, как можно автоматизировать подготовку таких
      эталонных данных?



•I. Laptev, M. Marszałek, C. Schmid and B. Rozenfeld; "Learning realistic
human actions from movies“ CVPR 2008
•M. Marszałek, I. Laptev, and C. Schmid. Actions in context. CVPR, 2009
Аннотация по сценарию

      •     Сценарии есть для более 500 фильмов
             www.dailyscript.com, www.movie-page.com, www.weeklyscript.com …
      •     Субтитры (со временем) есть почти для всех фильмов
      •     Можем сопоставить на основе этой информации

…          subtitles                                                 movie script
1172                                                     …
01:20:17,240 --> 01:20:20,437                                           RICK
Why weren't y ou honest with me?                             Why weren't y ou honest with me? Why
Why'd y ou keep y our marriage a secret?                     did y ou keep y our marriage a secret?

1173                                       01:20:17
01:20:20,640 --> 01:20:23,598                         Rick sits down with Ilsa.
                                           01:20:23
lt wasn't my secret, Richard.                                           ILSA
Victor wanted it that way .
                                                             Oh, it wasn't my secret, Richard.
1174                                                         Victor wanted it that way . Not ev en
01:20:23,800 --> 01:20:26,189                                our closest friends knew about our
                                                             marriage.
Not ev en our closest friends                            …
knew about our marriage.
…
Извлечение действий из сценария
 •   Высокая вариабельность описаний в тексте:

     GetOutCar     “… Will gets out of the Chevrolet. …”
     действий      “… Erin exits her new truck…”

     Потенциальн
                   “…About to sit down, he freezes…”
     ая ошибка:

 •   => Классификация текста с учителем
Неустранимые ошибки

Автоматическую разметку необходимо потом
просматривать на наличие ошибок




                                   Пример ошибки




  A black car pulls up, two army
  officers get out.
Распознавание действий
“стабильные
по виду”
объекты



“атомарные
действия
              car exit   phoning    smoking   hand shaking   drinking

  • Человек может некоторые действия распознать по
    статичному изображению
  • Много сложностей:
      •   Все обычные сложности при распознавании
      •   Некоторые действия не возможно определить по одному кадру
      •   Для описания действия нужно распознавать несколько
          предметов и их взаимное отношение
Подходы к распознаванию
Распознавание событий – одна из самых сложных задач в
компьютерном зрении, сейчас ей уделяется очень много
внимания:

• Одноуровневые подходы
    •   Анализ последовательностей событий (HMM)
    •   Пространственно-временные признаки

•   Иерархические подходы
     • Синтаксические/статистические методы
     • Методы на основе описаний (description-based)

Мы рассмотрим только один вариант – одноуровненый подход на
основе пространственно-временных признаков
«Скользящее окно»




       time       time        time       time

• Применим к видео схему «скользящее окно»
• Выделим фрагмент - пространственно-временной
  параллелепипед
• Возникают задачи, аналогичные задачам
  классификации изображений и поиска объектов,
  но для 3х мерного пространственно-временного
  объема
Задачи распознавания в видео
• Задачи, аналогичные задачам классификации
  изображений и поиска объектов, но для 3х
  мерного пространственно-временного объема
  •   Классификация видеофрагмента
  •   Поиск действий в видео (3D bbox)

• Можем применить наработанную методологию
  •   Вычисление признаков (но уже по объему)
  •   Поиск особых точек
  •   Построение словарей
  •   Классификация (Nearest Neighbor, SVM, Boosting)
  •   И т.д.
Распознавание событий




                          30и пиксельный человечек
Alexei A. Efros, Alexander C. Berg, Greg Mori and Jitendra Malik. Recognizing Action
at a Distance. ICCV 2003
Идея




• Движение – информативный признак и позволяет
  распознать многие действия без распознавания
  объектов и их взаимодейстия
• Этот алгоритм – наглядный пример важности
  использования движения, даже в простой форме
  •   Будем сравнивать тестовые объекты с примерами из базы
      с помощью Nearest Neighbor
Задача и её свойства




• Распознавать события (действия человека) на
  расстоянии
  •   Низкое разрешение, шумные данные
  •   Движущаяся камера, перекрытия
  •   Широкая гамма событий
  •   Объект существенно перемещается между кадрами
Сбор данных




• Отслеживание
  • Инициализируется пользователем
  • Простой коррелятор
Представление

• Стабилизированный
  пространственно-временной объем
  • Нет информации о перемещении
  • Всё движение вызвано движением
    конечностей человека


• Стабилизировать «окно» нам
  важно потому, что объект быстро
  меняет своё положение в кадре
  • Если это не так, то можной обойтись
    без стабилизации
Схема распознавания
• Будем аннотировать видеопоток сопоставляя его
  с ранее записанными видеофрагментами
  • Для каждого кадра, сопоставим фрагмент в некотором
    временном интервале
  • Распознавание через сопоставление (Nearest Neighbor)


 input sequence
               motion analysis
 run                                             jog
                 swing
     walk left             walk right
                 database
Дескриптор движения




          Изображение                       Оптический поток Fx , y




Fx , Fy           Fx , Fx , Fy , Fy   сглаженные Fx , Fx , Fy , Fy
Дескриптор движения
                       Временной интервал E

               …                                  … Фрагмент A

         S     …                                   … Фрагмент B
                                 t
                                 E
                 A                                           A
                           E

                               I -матрица
                                 E

B                          E                B
      Покадровая                                Матрица сходства
    Матрица сходства       сглаженная I             движений
Действия: сопоставление


   Исходное
   видео



Сопоставленные
кадры




                 вход   сопоставление
Классификация действий: футбол




10 действий; 4500 кадров всего; 13 кадров в дескрипторе
Распознавание: теннис
Аннотированная база событий

 input sequence


 run
                                           jog
                      swing
       walk left              walk right


                      database
Распознавание действий:
 run walk left        swing   walk right   jog
Положения суставов:
Перенос 2D скелета
  • База размечена 2D точками в местах сочленений
    конечностей (суставах)
  • После сопоставления перенос скелета на новую
    последовательность
      • Уточнение (Поиск наилучшего сдвига/масштаба для
        совмещения карты движения)

Исходная последовательность:




Перенос скелета:
“Do as I Do” синтез движения

     input sequence




     synthetic sequence

•   Параметры качества синтеза:
     • Сходство движений между видео
     • Сходство внешности между видео
•   Энергетическая формулировка, динамическое программирование
“Do as I Do”

     Исходное движение   Исходный вид




                         3400 кадров




         Результат
Замена персонажа
Наработки в распознавании изображений

    Область
                                             Классифицируем
    анализа



 Вычислим                       Разбиваем          Посчитаем
                 Квантуем
признаки по                     область на         статистики
                 признаки
  области                         блоки            по блокам


•   Особые точки или плотный выбор фрагментов
•   Разные дескрипторы для описания фрагментов
•   Квантование (словари, «мешок слов» и т.д.)
•   Классификация с помощью SVM, Boosting и т.д.

Все это адаптировали для классификации событий
Локальныей особенности

   • Известные декторы локальных особенностей:
       • Harris3D (2003)

       • Сuboid (2005)

       • Hessian (2008)




H. Wang, M. M. Ullah, A. Kläser, I. Laptev and C. Schmid; "Evaluation of local
spatio-temporal features for action recognition" in Proc. BMVC‘2009,
Harris3D




         Ivan Laptev, INRIA



I. Laptev and T. Lindeberg; "Space-Time Interest Points”, ICCV’2003
Harris3D
• Вычислим матрицу вторых моментов, аналогично
  детектору Harris:


  Где g – ядро гаусса (сглаживание)
      σ, τ - параметры масштаба




 • Функция отклика угла:
Синтетические примеры
Примеры на видео
Код

• Ivan Laptev’s code
   • http://www.irisa.fr/vista/Equipe/People/Laptev/download.html#s
     tip
• Piotr's Image & Video Toolbox for Matlab
   • http://vision.ucsd.edu/~pdollar/toolbox/doc/index.html
   • Много полезных функций (k-means, meanshift, PCA, ferns,
     RBF, DOG-фильтры и т.д.)
• Hessian executables:
   • http://homes.esat.kuleuven.be/~gwillems/research/Hes-STIP/
Плотный выбор точек
• По аналогии с обычными изображениями, можно
  точки выбирать плотно на изображении, а не
  искать специальным детектором
• Обычно выбирают с 50% перекрытием
Дескрипторы
• Jet (2003)
    • Вектор градиентов:



    • Расстояние Махаланобиса




•   Cuboid (2005)
•   HOG/HOF (2007)
•   HOG3D (2008)
•   Extended SURF (2008)
HOG/HOF
 Гистограммы по 3D окрестностям точек




                             Гистограмма
                             ориентаций          Гистограмма    
                             градиентов (HOG)    оптического
                                                 потока(HOF)
Public code available at
www.irisa.fr/vista/actions

                               3x3x2x4bins HOG     3x3x2x5bins HOF
                               дескриптор          дескриптор
Построение словаря




• Кластеризуем К- средними
• Квантуем особенности
Примеры




• Примеры 4х самых часто встречающихся
  пространственно-временных особенностей
Классификация по мешку слов
• Сравним разные детекторы / дескрипторы с
  помощью простого алгоритма:
  • Построим словарь
  • Построим мешок слов для всего видео
  • Классификация через SVM с ядром Хи-Квадрат
Результаты сравнения




          База KTH Actions




       База UCF Sports Actions
Результаты сравнения




           База Hollywood2




    База Hollywood2 – разное разрешение
Результаты сравнения




        Размеры окрестностей




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

 По пространству
       1x1 (стандартный мешок)
       2x2, o2x2 (50% перекрытие)
       h3x1 (горизонтальный), v1x3 (вертикальный)
       3x3
 По времени:
       t1 (стандартный мешок), t2, t3



                                                      
Многоканальное ядро для SVM
Можем подобрать «оптимальную» комбинацию типов
признаков и разбиений с помощью SVM с
многокальным хи-квадрат ядром для классификации:




    Канал c – это комбинация детектора,
    дескриптора и вида сетки
    Dc(Hi, Hj) – расстояние хи-квадрат между
    гистограммами
    Ac среднее расстояние между всеми
    обучающими примерами
    Выбор наилучшей комбинации каналов
    осуществляется жадным методом
Многокальный SVM




       Сравнение разных комбинаций


   Разные сетки и комбинации каналов
   обеспечивают прирост качества
Распознавание в кино




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




Деградация качества в присутствии неправильных
меток
   До 20% неправильных – незначительное снижение качества
   При 40% - снижение качества на 10%
Распознавание в кино




 Сравнение по средней точности для каждого класса
при автоматической и чистой (ручной) разметке данных
Пример
Выделение событий в видео




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

I. Laptev and P. Pérez. "Retrieving actions in movies“ ICCV 2007
Выбранные действия
  Выберем пару сложных и похожих действий


                                            Разница в форме

Пить
                                            Разница в движении


                                         Оба действия похожи
                                         по форме (поза
Курить                                   человека) и по
                                         движению (движение
                                         руки)



         Вариабельность больше, чем для изображений
         Но движение дает дополнительную информацию
Тестовая база

• Ролики собраны из фильмов “Coffee and Cigarettes”; “Sea of Love”


      “Пить”: 159 размеченных примеров
      “Курить”: 149 размеченных примеров

                                               Временная разметка
Пространственная разметка        First frame       Keyframe   Last frame
              head rectangle




             torso rectangle
Примеры действия «пить»
Классификация по форме и движению
                  Random
                  motion
                  patterns




• Обучим детекторы – 1) по объёму и движению 2) по одному кадру и
гистограммам градиентов
• Детектор по одному кадру может выделить фрагмент и быстро, но не
может отделить «пить» от «курить»
Нацеливание алгоритма
Идея: обучим классификатор по объёму и движению только на тех
фрагментах, которые нашел детектор по одному кадру
Обучение




    Positive     Negative
    training     training
    sample       samples
 Тестирование
Важность «нацеливания»

 Нацеливание позволяет классификатору действий настроится
 только на важные признаки для различения действий, и
 получается лучше, чем пытаться сразу выделить «объём»
 действия




С
нацеливанием




Без
нацеливания
Примеры работы
Резюме
• Базовые методы – шаблоны, стая точек, сдвиг
  среднего.
• Комбинация методов, выбор каналов позволяют
  повысить качество слежения
• Слежение всегда ошибётся, нужно быть готовым к
  восстановлению после ошибок
• Для распознавания видео мы можем использовать
  те же подходы, что и к изображению, но переведя
  их в трёхмерные пространственно-временной
  объём
  • Скользящее окно
  • Особенности, детекторы и дескрипторы
  • Мешок слов и методы классификации
• Данные и их объём является общей проблемой.
  Нужно использовать «слабую» разметку.

More Related Content

PDF
20120414 videorecognition konushin_lecture03
PDF
CV2015. Лекция 2. Простые методы распознавания изображений.
PDF
CV2015. Лекция 5. Выделение объектов.
PDF
CV2011-2. Lecture 07. Binocular stereo.
PDF
CV2011-2. Lecture 09. Single view reconstructin.
PDF
CV2011-2. Lecture 10. Pose estimation.
PDF
CV2011-2. Lecture 08. Multi-view stereo.
PDF
CV2011 Lecture 13. Real-time vision
20120414 videorecognition konushin_lecture03
CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 5. Выделение объектов.
CV2011-2. Lecture 07. Binocular stereo.
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 10. Pose estimation.
CV2011-2. Lecture 08. Multi-view stereo.
CV2011 Lecture 13. Real-time vision

What's hot (20)

PDF
CV2011-2. Lecture 01. Segmentation.
PDF
CV2015. Лекция 6. Нейросетевые алгоритмы.
PDF
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
PDF
CV2011 Lecture 11. Basic video
PDF
CV2015. Лекция 8. Распознавание лиц людей.
PDF
CV2015. Лекция 7. Поиск изображений по содержанию.
PDF
CV2011-2. Lecture 12. Face models.
PDF
CV2011 Lecture 8. Detection
PDF
CV2015. Лекция 2. Основы обработки изображений.
PDF
CV2011 Lecture 10. Image retrieval
PDF
CV2011 Lecture 7. Recognition
PPTX
Лекция 07 Обработка видео
PDF
CV2011 Lecture 12. Action recognition
PDF
CV2011-2. Lecture 04. Semantic image segmentation
PDF
CV2011-2. Lecture 02. Photomontage and graphical models.
PDF
CV2011-2. Lecture 11. Face analysis.
PPTX
L06 detection
PPTX
L05 features
PDF
CV2011 Lecture 4. Image representation
PPTX
Лекция 8 Основы 3D обработки
CV2011-2. Lecture 01. Segmentation.
CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2011 Lecture 11. Basic video
CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 7. Поиск изображений по содержанию.
CV2011-2. Lecture 12. Face models.
CV2011 Lecture 8. Detection
CV2015. Лекция 2. Основы обработки изображений.
CV2011 Lecture 10. Image retrieval
CV2011 Lecture 7. Recognition
Лекция 07 Обработка видео
CV2011 Lecture 12. Action recognition
CV2011-2. Lecture 04. Semantic image segmentation
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 11. Face analysis.
L06 detection
L05 features
CV2011 Lecture 4. Image representation
Лекция 8 Основы 3D обработки
Ad

Viewers also liked (8)

PDF
Augmented Reality and Sport
PPS
Masais
PPSX
Mysterious Itali- By Giuseppe Desideri
DOCX
la selva
PDF
Jiří Knesl: Souboj frameworků
PPT
Town with pouvoir in French
PDF
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
Augmented Reality and Sport
Masais
Mysterious Itali- By Giuseppe Desideri
la selva
Jiří Knesl: Souboj frameworků
Town with pouvoir in French
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
Ad

Similar to 20120414 videorecognition konushin_lecture04 (20)

PPTX
CV2011 Lecture 3. Basic image analysis
PDF
20100919 computer vision_konushin_lecture02
PDF
20120413 videorecognition konushin_lecture02
PDF
CV2011 Lecture 5. Features
PDF
20100919 computer vision_konushin_lecture03
PPTX
20111009 csseminar image feature detection and matching
PDF
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
PPTX
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
PPT
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
PDF
20100919 computer vision_konushin_lecture04
PDF
Обзор методов сопоставления шаблона и изображения
PPT
Классификация изображений
PPT
Классификация изображений
PDF
Обзор методов вычисления базовой геометрии сцены
PDF
CV2011-2. Lecture 05. Video segmentation.
PDF
Анализ изображений и видео. Построение признаков и сравнение изображений: гл...
PPT
Методы видеонавигации
PDF
Анализ изображений и видео. Сегментация изображений
PPT
Сегментация
PPT
Лекция 1
CV2011 Lecture 3. Basic image analysis
20100919 computer vision_konushin_lecture02
20120413 videorecognition konushin_lecture02
CV2011 Lecture 5. Features
20100919 computer vision_konushin_lecture03
20111009 csseminar image feature detection and matching
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
20100919 computer vision_konushin_lecture04
Обзор методов сопоставления шаблона и изображения
Классификация изображений
Классификация изображений
Обзор методов вычисления базовой геометрии сцены
CV2011-2. Lecture 05. Video segmentation.
Анализ изображений и видео. Построение признаков и сравнение изображений: гл...
Методы видеонавигации
Анализ изображений и видео. Сегментация изображений
Сегментация
Лекция 1

More from Computer Science Club (20)

PDF
20141223 kuznetsov distributed
PDF
Computer Vision
PDF
20140531 serebryany lecture01_fantastic_cpp_bugs
PDF
20140531 serebryany lecture02_find_scary_cpp_bugs
PDF
20140531 serebryany lecture01_fantastic_cpp_bugs
PDF
20140511 parallel programming_kalishenko_lecture12
PDF
20140427 parallel programming_zlobin_lecture11
PDF
20140420 parallel programming_kalishenko_lecture10
PDF
20140413 parallel programming_kalishenko_lecture09
PDF
20140329 graph drawing_dainiak_lecture02
PDF
20140329 graph drawing_dainiak_lecture01
PDF
20140310 parallel programming_kalishenko_lecture03-04
PDF
20140223-SuffixTrees-lecture01-03
PDF
20140216 parallel programming_kalishenko_lecture01
PDF
20131106 h10 lecture6_matiyasevich
PDF
20131027 h10 lecture5_matiyasevich
PDF
20131027 h10 lecture5_matiyasevich
PDF
20131013 h10 lecture4_matiyasevich
PDF
20131006 h10 lecture3_matiyasevich
PDF
20131006 h10 lecture3_matiyasevich
20141223 kuznetsov distributed
Computer Vision
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
20140511 parallel programming_kalishenko_lecture12
20140427 parallel programming_zlobin_lecture11
20140420 parallel programming_kalishenko_lecture10
20140413 parallel programming_kalishenko_lecture09
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture01
20140310 parallel programming_kalishenko_lecture03-04
20140223-SuffixTrees-lecture01-03
20140216 parallel programming_kalishenko_lecture01
20131106 h10 lecture6_matiyasevich
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
20131013 h10 lecture4_matiyasevich
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich

20120414 videorecognition konushin_lecture04

  • 1. Сопровождение объектов и распознавание событий Антон Конушин Computer science club, Екатеринбург 13-15 апреля 2012 года
  • 2. Сопровождение объектов • Допустим, объект уже выделен на первом кадре. • Вручную рамкой • Детектор объектов • Вычитание фона • Нужно определить его положение на всех последующих кадрах • Результат – след (track) или траектория движения • X(1), X(2), X(3),…,X(N) • Object tracking • Сопровождение объектов • Отслеживание объектов • Слежение за объектами
  • 3. Сложность задачи • Изменение по времени • Вид объекта меняется от кадра к кадру из-за ракурса, изменения освещения, внутренних изменений (идущий человек) • Масштабируемость • Видео гораздо больше одного изображения, гораздо выше вычислительная нагрузка • Несколько объектов • В сцене могут быть несколько объектов, которые могут быть похожи друг на друга, перекрывать друг друга и т.д.
  • 4. Сложность оценки результата • Для оценки качества работы алгоритмов слежения и настройки параметров требуются размеченные эталонные данные • Подготовить эталонные данные для видео существенно сложнее, чем для изображений • Один эталонный пример для выделения объектов – 1 изображение • Один эталонный пример для отслеживания объектов - 1 видео
  • 5. Оценка качества по эталонным данным • Допустим, есть эталонные данные, в которых отмечено положение объекта в каждом кадре (или в ключевых кадрах) • Ошибка сопровождения – покадровое расстояние от измеренного до эталонного следа • Ожидаемая ошибка на видеопоследовательности • Точность (precision) • Надежность (robustness)
  • 6. Методы к рассмотрению • Ассоциация обнаружений между кадрами • Сопоставление шаблонов • Кросс-корелляция • На основе карт краёв • «Стая точек» • Сдвиг среднего • Комбинация методов
  • 7. Ассоциация выделенных объектов • Допустим, на I(t) и I(t+1) выделении объекты с помощью вычитания фона • Какому объекту (следу) какой блоб соответствует? • Фактически – задача сопоставления или ассоциации данных (Data association) • «Tracking by detection» • Можем каждый объект описать набором признаков • Цвет, текстура, и т.д.
  • 8. Детерминированное слежение  Алгоритм установления соответствий между объектами, найденными на соседних кадрах с учетом ограничений  Варианты:  Появление нового объекта в поле зрения  Сопоставление сопровождаемому объекту  Пропадание объекта из поле зрения
  • 9. Простейшая стратегия Сопоставим ближайшее наблюдение следу Простейшая стратегия в более сложных случаях не срабатывает, поэтому исследовались разные ограничения
  • 10. Примеры других ограничений • (а) близость • (b) максимальная скорость • (c) малое изменение вектора скорости • (d) общее движение • (e) «жесткость»
  • 11. Детерминированные алгоритмы Двухкадровые Многокадровые Подходы к установлению соответствий: • Перебор разных варианты • Энергетическая формулировка: • Для каждого ограничения сформулируем «штраф» • Составим функцию «энергии» сопоставления • Будем оптимизировать энергию с помощью какого-нибудь метода дискретной оптимизации
  • 13. Отслеживание объектов • Что делать, если фон не стационарный или и мы не можем на каждом кадре выделять объекты? • Выделять объекты (те же лица) на каждом кадре вычислительно тяжело • Придётся строить какую-то модель «вида» объекта, и искать на следующем кадре похожий объект
  • 14. Схема слежения Представление Инициализация Выбор модели в модели пространства выбранном признаков пространстве … Текущий … кадр
  • 15. Схема слежения Старт с Поиск в Выбор текущей окрестности в положения, следующем максимизирую позиции кадре щего сходство Повторение процедуры для следующего кадра Модель Кандидат … Текущий … кадр
  • 16. Представление объектов • Как будем описывать объект (модель объекта) ? • Шаблон • Набор точек • Признаки объекта
  • 17. Сопоставление шаблонов • Фиксируем изображение объекта (шаблон – pattern) • Будем искать положение шаблона в новом кадре • Например, в окрестности предыдущего положения • Попиксельно будем сравнивать шаблон и фрагмент нового кадра с помощью какой-нибудь метрики
  • 18. Метрики (SAD) Sum of absolute differences (SSD) Sum of squared differences (CC) Cross-correlation (NCC) Normalized cross correlation • SAD, SSD – минимизируются (0 – точное совпадение) • CC, NCC – максимизируется (1 – точное совпадение)
  • 19. Пример: пульт ТВ • Шаблон (слева), изображение (в центре), карта нормализованной корреляции (справа) • Пик яркости (максимум корреляции) соответствует положению руки (искомого шаблона)
  • 24. Края для сопоставления шаблонов • Мы знаем, что в края – очень информативный признак, и они устойчивы к измненеию освещения • Попробуем использовать только края для поиска / отслеживания объекта • Как эффективно сопоставлять карты краев? • Попиксельно явно нельзя!
  • 25. Метрики • Сhamfer Distance •Для каждого пикселя a края шаблона A вычисляем расстояние до ближайшего пикселя b края изображения B r (a, B )  min a  b bB Суммируем все найденные расстояния • ChDist ( A, B )   min a  b bB aA • Hausdorff Distance •Почти то же самое, но берём не сумму, а максимальное расстояния HausDist ( A, B )  max min a  b a A bB Какую метрику использовать заранее сказать нельзя, нужна экспериментальная проверка
  • 26. Поиск ближайших пикселей края Вопрос: как найти ближайший пиксель края на изображении?
  • 27. Distance Transform «Дистантное преобразование» Для каждого пикселя вычисляется расстояние до ближайшего пикселя края • Многопроходный алгоритм (пометить соседей, потом их соседей и т.д.) • Двухпроходный алгоритм
  • 28. Применение DT  Совмещаем шаблон и карту DT  Вычисляем ошибку, суммирую все значения в пикселях краев (для Chamfer distance)
  • 29. Пример поиска с помощью DT
  • 30. Сопровождение с помощью карт краёв • Карта краёв шаблона используется для дальнейшего сравнения • Вычисляется метрика Хаусдорфа на основании DT • Шаблон обновляется как набор краёв, ближайших к краям шаблона предыдущего кадра • HUTTENLOCHER, D., NOH, J., AND RUCKLIDGE, W.. Tracking nonrigid objects in complex scenes. ICCV 1993
  • 32. Множество точек • Мы умеем вычислять движение отдельных точек с помощью локального метода оценки оптического потока Lucas-Kanade • Но каждая точка в отдельности может быстро сбиться из-за ошибок в вычислении оптического потока и его несоответствия движению точек сцены • Решение – использование «стаи точек» («flock of features»)
  • 33. Пример: отслеживание руки • Стая – множество контрольных точек, удовлетворяющих 2м условиям: • Никакие две контрольные точки не совпадают (порог на близость) • Никакая контрольные точки не уходят далеко от медианного центра (порог на удаление)
  • 34. Пример: отслеживание руки • Шаг 1: инициализация • Находим 100 контрольных точек с помощью метода поиска локальных особенностей (Harris corners) в рамке руки • Вычисляем медиану • Вычисляем цветовую статистику в окрестности центра – Одна гауссиана (или гистограмма) – Это модель кожи • Разметить в рамке руки все пиксели, похожие на кожу
  • 35. Пример: отслеживание руки • Шаг 2: слежение • Отслеживаем контрольные точки • Если точка нарушает условия стаи, её удаляем • Шаг 3: инициализация новых контрольных точек • Ищем особенности (Harris corners) • Если точка не на коже, то отбрасываем её
  • 37. Мean-Shift («Cдвиг среднего») Инициализац Выбор Модель = ия объекта пространства распределение признаков в слежения признаков объекте 0.35 Квантованная 0.3 0.25 цветовая Probability 0.2 модель 0.15 0.1 0.05 0 1 2 3 . . . m color • Вместо жесткого шаблона вычислим вектор-признак по области объекта • Например, гистограмму распределения цветов
  • 38. Слежение сдвигом среднего Модель Кандидат (центр в 0) (центр в y) 0.35 0 .3 0.3 0.2 5 0.25 Probabilit y 0 .2 Probab ility 0.2 0.1 5 0.15 0 .1 0.1 0.05 0.0 5 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    •Будем сравнивать гистограммы опорной модели и положений- кандидатов на новом кадре
  • 39. Слежение сдвигом среднего   Сходство: f  y  f  p  y,q    f y • Методы сопоставления шаблонов страдают от проблемы негладкости целевой функции • Небольшие смещения могут привести к резким скачкам ошибки сопоставления • Поэтому мы не можем использовать, например, метод градиентного спуска для поиска оптимального положения • Для решения этой проблемы и был предложен метод Mean-Shift Dorin Comaniciu, Visvanathan Ramesh, Peter Meer, Kernel-Based Object Tracking, PAMI 2003
  • 40. Слежение сдвигом среднего   Сходство: f  y  f  p  y,q    f y Изотропное ядро: • Покроем цель изотропным ядром. Веса на границе цели близки к нулю • Теперь небольшие смещения приводят к небольшим изменениям ошибки сопоставления • Ошибка сопоставления становится гладкой (по сдвигу от оптимального положения • Теперь мы можем не перебирать все положения в окрестности, а воспользоваться методом градиентного спуска
  • 41. Слежение сдвигом среднего 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   C h  k   h b ( xi ) u     0. 3 0.3 0.25 0.25 0. 2 0.2 Probabi lity Probability Нормализация Нормализация 0.15 Вес 0.15 Вес пиксела 0. 1 0.1 пиксела 0.05 0.05 0 0 1 2 3 . . . m 1 2 3 . . . m color co lor
  • 42. Функция сравнения  Модель цели: 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
  • 43. Гладкая целевая функция Начинаем с Ищем в текущей Максимизируем окрестности сл. позиции сходство кадра     q p y f  p  y  , q  
  • 44. Иллюстрация сдвига среднего Для определенных ядер можно показать, что поиск градиентный спуск превращается в «сдвиг среднего», где: n xw i 1 i i y1  n w i 1 i
  • 45. Слежение сдвигом среднего Проблема : Масштаб Масштаб (h) ядра цели должен меняется меняться Решение: Выбираем h, Прогоняем на котором поиск 3 раза с достигается разными h максимум
  • 47. Выбор признаков • В зависимости от разных факторов, объект может быть различим в разных каналах цветности COLLINS, R. AND LIU, Y.. On-line selection of discriminative tracking features. ICCV 2003
  • 48. Виды каналов • Построим 49 каналов, как линейные комбинации цветовых каналов:
  • 49. Идея оценки каналов • Мы оцениваем, насколько хорошо по каналу отличается объект и фон. • Отберём несколько наилучших каналов • На следующих кадрах мы можем изменить каналы!
  • 51. Сравнение методов Один фиксированный канал (MeanShift) Выбор каналов на лету
  • 52. Композиция методов • Идея: • Протестировать ряд базовых трекеров на наборе выборок, оценить качество и надежность • Найти зависимость качества трекера от уверенности (confidence value) • Найти хорошо дополняющие друг друга группы методов • При падении доверия к первому методу в группе мы переключаемся на второй метод B. Stenger, T. Woodley, R. Cipolla Learning to Track With Multiple Observers, СVPR 2009
  • 53. Тестовые данные • Indoor и Outdoor данные • Во всех присутствует изменение позы, размера, размытие из движения (motion blur)
  • 54. Обучение метрики доверия • По тестовым данным обучаем p(e|c), где c – параметр доверия, специфичный для каждого метода
  • 55. Каскадное объединение • Если оценка качества по доверию для метода 1 падает ниже порога, переключаемся на метод 2 • Когда все методы дают низкое качество, происходит переинициализация метода
  • 56. Примеры работы NCC NCC NCC CM CM CM • Работает NCC, при возникновении motion blur система переключается на CM (color + motion map)
  • 57. Примеры работы NCC NCC NCC FF FF MS • Работает NCC, потом переключение на FF (flock of features), потом на MS (mean shift)
  • 59. Распознавание действий • Огромное количество видеоданных • Действия (action) людей – главные события в кино, новостях, домашнем видео, видеонаблюдении 150,000 uploads every day Для чего может пригодится: • Автоматизация систем видеонаблюдения • «Началась драка у пивного киоска» • Поиск видео в архивах • Найти сцену «Обама пожимает руку Медведеву» • Навигация по контенту •Перемотка до следующей важной сцены (пр. гола)
  • 60. Действия (Actions) Определение 1: • Физическое движение тела человека • Атомарное (жест) или KTH action dataset более сложное Определение 2  Взаимодействие человека с окружением с определенной целью • Одно и то же движение имеет разный смысл в зависимости от окружения
  • 61. Действия (Actions) Определение 3: • Взаимодействие нескольких человек с определенной целью Драка Кража
  • 62. Тестовые базы • Самые известные: • KTH Actions • UCF Sport Actions • Hollywood2
  • 63. KTH Actions • 25 человек, 6 действий, 4 сценария (внутри, снаружи, снаружи др. масштаба, снаружи в др. одежде) • Всего 2391 фрагмент C. Schüldt, I. Laptev, and B. Caputo. Recognizing human actions: A local SVM approach. ICPR, 2004.
  • 64. UCF Sport Actions • 10 видов «спортивных» действий • 150 видеофрагментов • Можно увеличить с помощью «шевеления»/зеркального отображения M. Rodriguez, J. Ahmed, and M. Shah. Action mach: A spatio-temporal maximum average correlation height filter for action recognition. CVPR, 2008
  • 65. Hollywood2 • 10 разных обыденных действий из 69 голливудских фильмов • 1707 фрагментов • Интересно, как можно автоматизировать подготовку таких эталонных данных? •I. Laptev, M. Marszałek, C. Schmid and B. Rozenfeld; "Learning realistic human actions from movies“ CVPR 2008 •M. Marszałek, I. Laptev, and C. Schmid. Actions in context. CVPR, 2009
  • 66. Аннотация по сценарию • Сценарии есть для более 500 фильмов www.dailyscript.com, www.movie-page.com, www.weeklyscript.com … • Субтитры (со временем) есть почти для всех фильмов • Можем сопоставить на основе этой информации … subtitles movie script 1172 … 01:20:17,240 --> 01:20:20,437 RICK Why weren't y ou honest with me? Why weren't y ou honest with me? Why Why'd y ou keep y our marriage a secret? did y ou keep y our marriage a secret? 1173 01:20:17 01:20:20,640 --> 01:20:23,598 Rick sits down with Ilsa. 01:20:23 lt wasn't my secret, Richard. ILSA Victor wanted it that way . Oh, it wasn't my secret, Richard. 1174 Victor wanted it that way . Not ev en 01:20:23,800 --> 01:20:26,189 our closest friends knew about our marriage. Not ev en our closest friends … knew about our marriage. …
  • 67. Извлечение действий из сценария • Высокая вариабельность описаний в тексте: GetOutCar “… Will gets out of the Chevrolet. …” действий “… Erin exits her new truck…” Потенциальн “…About to sit down, he freezes…” ая ошибка: • => Классификация текста с учителем
  • 68. Неустранимые ошибки Автоматическую разметку необходимо потом просматривать на наличие ошибок Пример ошибки A black car pulls up, two army officers get out.
  • 69. Распознавание действий “стабильные по виду” объекты “атомарные действия car exit phoning smoking hand shaking drinking • Человек может некоторые действия распознать по статичному изображению • Много сложностей: • Все обычные сложности при распознавании • Некоторые действия не возможно определить по одному кадру • Для описания действия нужно распознавать несколько предметов и их взаимное отношение
  • 70. Подходы к распознаванию Распознавание событий – одна из самых сложных задач в компьютерном зрении, сейчас ей уделяется очень много внимания: • Одноуровневые подходы • Анализ последовательностей событий (HMM) • Пространственно-временные признаки • Иерархические подходы • Синтаксические/статистические методы • Методы на основе описаний (description-based) Мы рассмотрим только один вариант – одноуровненый подход на основе пространственно-временных признаков
  • 71. «Скользящее окно» time time time time • Применим к видео схему «скользящее окно» • Выделим фрагмент - пространственно-временной параллелепипед • Возникают задачи, аналогичные задачам классификации изображений и поиска объектов, но для 3х мерного пространственно-временного объема
  • 72. Задачи распознавания в видео • Задачи, аналогичные задачам классификации изображений и поиска объектов, но для 3х мерного пространственно-временного объема • Классификация видеофрагмента • Поиск действий в видео (3D bbox) • Можем применить наработанную методологию • Вычисление признаков (но уже по объему) • Поиск особых точек • Построение словарей • Классификация (Nearest Neighbor, SVM, Boosting) • И т.д.
  • 73. Распознавание событий 30и пиксельный человечек Alexei A. Efros, Alexander C. Berg, Greg Mori and Jitendra Malik. Recognizing Action at a Distance. ICCV 2003
  • 74. Идея • Движение – информативный признак и позволяет распознать многие действия без распознавания объектов и их взаимодейстия • Этот алгоритм – наглядный пример важности использования движения, даже в простой форме • Будем сравнивать тестовые объекты с примерами из базы с помощью Nearest Neighbor
  • 75. Задача и её свойства • Распознавать события (действия человека) на расстоянии • Низкое разрешение, шумные данные • Движущаяся камера, перекрытия • Широкая гамма событий • Объект существенно перемещается между кадрами
  • 76. Сбор данных • Отслеживание • Инициализируется пользователем • Простой коррелятор
  • 77. Представление • Стабилизированный пространственно-временной объем • Нет информации о перемещении • Всё движение вызвано движением конечностей человека • Стабилизировать «окно» нам важно потому, что объект быстро меняет своё положение в кадре • Если это не так, то можной обойтись без стабилизации
  • 78. Схема распознавания • Будем аннотировать видеопоток сопоставляя его с ранее записанными видеофрагментами • Для каждого кадра, сопоставим фрагмент в некотором временном интервале • Распознавание через сопоставление (Nearest Neighbor) input sequence motion analysis run jog swing walk left walk right database
  • 79. Дескриптор движения Изображение Оптический поток Fx , y Fx , Fy Fx , Fx , Fy , Fy сглаженные Fx , Fx , Fy , Fy
  • 80. Дескриптор движения Временной интервал E … … Фрагмент A S … … Фрагмент B t E A A E I -матрица E B E B Покадровая Матрица сходства Матрица сходства сглаженная I движений
  • 81. Действия: сопоставление Исходное видео Сопоставленные кадры вход сопоставление
  • 82. Классификация действий: футбол 10 действий; 4500 кадров всего; 13 кадров в дескрипторе
  • 84. Аннотированная база событий input sequence run jog swing walk left walk right database Распознавание действий: run walk left swing walk right jog Положения суставов:
  • 85. Перенос 2D скелета • База размечена 2D точками в местах сочленений конечностей (суставах) • После сопоставления перенос скелета на новую последовательность • Уточнение (Поиск наилучшего сдвига/масштаба для совмещения карты движения) Исходная последовательность: Перенос скелета:
  • 86. “Do as I Do” синтез движения input sequence synthetic sequence • Параметры качества синтеза: • Сходство движений между видео • Сходство внешности между видео • Энергетическая формулировка, динамическое программирование
  • 87. “Do as I Do” Исходное движение Исходный вид 3400 кадров Результат
  • 89. Наработки в распознавании изображений Область Классифицируем анализа Вычислим Разбиваем Посчитаем Квантуем признаки по область на статистики признаки области блоки по блокам • Особые точки или плотный выбор фрагментов • Разные дескрипторы для описания фрагментов • Квантование (словари, «мешок слов» и т.д.) • Классификация с помощью SVM, Boosting и т.д. Все это адаптировали для классификации событий
  • 90. Локальныей особенности • Известные декторы локальных особенностей: • Harris3D (2003) • Сuboid (2005) • Hessian (2008) H. Wang, M. M. Ullah, A. Kläser, I. Laptev and C. Schmid; "Evaluation of local spatio-temporal features for action recognition" in Proc. BMVC‘2009,
  • 91. Harris3D Ivan Laptev, INRIA I. Laptev and T. Lindeberg; "Space-Time Interest Points”, ICCV’2003
  • 92. Harris3D • Вычислим матрицу вторых моментов, аналогично детектору Harris: Где g – ядро гаусса (сглаживание) σ, τ - параметры масштаба • Функция отклика угла:
  • 95. Код • Ivan Laptev’s code • http://www.irisa.fr/vista/Equipe/People/Laptev/download.html#s tip • Piotr's Image & Video Toolbox for Matlab • http://vision.ucsd.edu/~pdollar/toolbox/doc/index.html • Много полезных функций (k-means, meanshift, PCA, ferns, RBF, DOG-фильтры и т.д.) • Hessian executables: • http://homes.esat.kuleuven.be/~gwillems/research/Hes-STIP/
  • 96. Плотный выбор точек • По аналогии с обычными изображениями, можно точки выбирать плотно на изображении, а не искать специальным детектором • Обычно выбирают с 50% перекрытием
  • 97. Дескрипторы • Jet (2003) • Вектор градиентов: • Расстояние Махаланобиса • Cuboid (2005) • HOG/HOF (2007) • HOG3D (2008) • Extended SURF (2008)
  • 98. HOG/HOF Гистограммы по 3D окрестностям точек Гистограмма ориентаций Гистограмма  градиентов (HOG) оптического потока(HOF) Public code available at www.irisa.fr/vista/actions 3x3x2x4bins HOG 3x3x2x5bins HOF дескриптор дескриптор
  • 99. Построение словаря • Кластеризуем К- средними • Квантуем особенности
  • 100. Примеры • Примеры 4х самых часто встречающихся пространственно-временных особенностей
  • 101. Классификация по мешку слов • Сравним разные детекторы / дескрипторы с помощью простого алгоритма: • Построим словарь • Построим мешок слов для всего видео • Классификация через SVM с ядром Хи-Квадрат
  • 102. Результаты сравнения База KTH Actions База UCF Sports Actions
  • 103. Результаты сравнения База Hollywood2 База Hollywood2 – разное разрешение
  • 104. Результаты сравнения Размеры окрестностей Оценка скорости
  • 105. Пространственное разбиение Для повышения качества распознавания на сложных данных, как и в изображениях, можем разбивать окрестности на блоки и считать признаки для каждого блока, а затем конкатенировать в один дескриптор По пространству 1x1 (стандартный мешок) 2x2, o2x2 (50% перекрытие) h3x1 (горизонтальный), v1x3 (вертикальный) 3x3 По времени: t1 (стандартный мешок), t2, t3 
  • 106. Многоканальное ядро для SVM Можем подобрать «оптимальную» комбинацию типов признаков и разбиений с помощью SVM с многокальным хи-квадрат ядром для классификации: Канал c – это комбинация детектора, дескриптора и вида сетки Dc(Hi, Hj) – расстояние хи-квадрат между гистограммами Ac среднее расстояние между всеми обучающими примерами Выбор наилучшей комбинации каналов осуществляется жадным методом
  • 107. Многокальный SVM Сравнение разных комбинаций Разные сетки и комбинации каналов обеспечивают прирост качества
  • 108. Распознавание в кино Примеры работы на данных из кинофильмов
  • 109. Устойчивость к шуму Деградация качества в присутствии неправильных меток До 20% неправильных – незначительное снижение качества При 40% - снижение качества на 10%
  • 110. Распознавание в кино Сравнение по средней точности для каждого класса при автоматической и чистой (ручной) разметке данных
  • 112. Выделение событий в видео • Попробуем не просто распознавать присутствие события в видео, но и локализовывать его в кадре • Идея «нацеливания алгоритма» на нужных кадрах I. Laptev and P. Pérez. "Retrieving actions in movies“ ICCV 2007
  • 113. Выбранные действия Выберем пару сложных и похожих действий Разница в форме Пить Разница в движении Оба действия похожи по форме (поза Курить человека) и по движению (движение руки) Вариабельность больше, чем для изображений Но движение дает дополнительную информацию
  • 114. Тестовая база • Ролики собраны из фильмов “Coffee and Cigarettes”; “Sea of Love” “Пить”: 159 размеченных примеров “Курить”: 149 размеченных примеров Временная разметка Пространственная разметка First frame Keyframe Last frame head rectangle torso rectangle
  • 116. Классификация по форме и движению Random motion patterns • Обучим детекторы – 1) по объёму и движению 2) по одному кадру и гистограммам градиентов • Детектор по одному кадру может выделить фрагмент и быстро, но не может отделить «пить» от «курить»
  • 117. Нацеливание алгоритма Идея: обучим классификатор по объёму и движению только на тех фрагментах, которые нашел детектор по одному кадру Обучение Positive Negative training training sample samples Тестирование
  • 118. Важность «нацеливания» Нацеливание позволяет классификатору действий настроится только на важные признаки для различения действий, и получается лучше, чем пытаться сразу выделить «объём» действия С нацеливанием Без нацеливания
  • 120. Резюме • Базовые методы – шаблоны, стая точек, сдвиг среднего. • Комбинация методов, выбор каналов позволяют повысить качество слежения • Слежение всегда ошибётся, нужно быть готовым к восстановлению после ошибок • Для распознавания видео мы можем использовать те же подходы, что и к изображению, но переведя их в трёхмерные пространственно-временной объём • Скользящее окно • Особенности, детекторы и дескрипторы • Мешок слов и методы классификации • Данные и их объём является общей проблемой. Нужно использовать «слабую» разметку.