SlideShare uma empresa Scribd logo
1 de 120
Baixar para ler offline
Сопровождение объектов и
распознавание событий




                Антон Конушин
       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
 Тестирование
Важность «нацеливания»

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




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




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

Mais conteúdo relacionado

Mais procurados

CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.Anton Konushin
 
CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.Anton Konushin
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.Anton Konushin
 
CV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoCV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoAnton Konushin
 
CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.Anton Konushin
 
CV2015. Лекция 7. Поиск изображений по содержанию.
CV2015. Лекция 7. Поиск изображений по содержанию.CV2015. Лекция 7. Поиск изображений по содержанию.
CV2015. Лекция 7. Поиск изображений по содержанию.Anton Konushin
 
CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.Anton Konushin
 
CV2011 Lecture 8. Detection
CV2011 Lecture 8. DetectionCV2011 Lecture 8. Detection
CV2011 Lecture 8. DetectionAnton Konushin
 
CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.Anton Konushin
 
CV2011 Lecture 10. Image retrieval
CV2011 Lecture 10.  Image retrievalCV2011 Lecture 10.  Image retrieval
CV2011 Lecture 10. Image retrievalAnton Konushin
 
CV2011 Lecture 7. Recognition
CV2011 Lecture 7. RecognitionCV2011 Lecture 7. Recognition
CV2011 Lecture 7. RecognitionAnton Konushin
 
Лекция 07 Обработка видео
Лекция 07 Обработка видеоЛекция 07 Обработка видео
Лекция 07 Обработка видеоVictor Kulikov
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionAnton Konushin
 
CV2011-2. Lecture 04. Semantic image segmentation
CV2011-2. Lecture 04.  Semantic image segmentationCV2011-2. Lecture 04.  Semantic image segmentation
CV2011-2. Lecture 04. Semantic image segmentationAnton Konushin
 
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 02.  Photomontage and graphical models.CV2011-2. Lecture 02.  Photomontage and graphical models.
CV2011-2. Lecture 02. Photomontage and graphical models.Anton Konushin
 
CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.Anton Konushin
 
CV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representationCV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representationAnton Konushin
 
Лекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиЛекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиVictor Kulikov
 

Mais procurados (20)

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

Destaque

Augmented Reality and Sport
Augmented Reality and SportAugmented Reality and Sport
Augmented Reality and SportPaolo Nesi
 
Mysterious Itali- By Giuseppe Desideri
Mysterious Itali- By Giuseppe DesideriMysterious Itali- By Giuseppe Desideri
Mysterious Itali- By Giuseppe Desiderimaditabalnco
 
la selva
la selva la selva
la selva 180295
 
Jiří Knesl: Souboj frameworků
Jiří Knesl: Souboj frameworkůJiří Knesl: Souboj frameworků
Jiří Knesl: Souboj frameworkůWebExpo
 
Town with pouvoir in French
Town with pouvoir in FrenchTown with pouvoir in French
Town with pouvoir in Frenchalice ayel
 
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas KashalikarTejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikarshivsr5
 

Destaque (8)

Augmented Reality and Sport
Augmented Reality and SportAugmented Reality and Sport
Augmented Reality and Sport
 
Masais
MasaisMasais
Masais
 
Mysterious Itali- By Giuseppe Desideri
Mysterious Itali- By Giuseppe DesideriMysterious Itali- By Giuseppe Desideri
Mysterious Itali- By Giuseppe Desideri
 
la selva
la selva la selva
la selva
 
Bbhita
BbhitaBbhita
Bbhita
 
Jiří Knesl: Souboj frameworků
Jiří Knesl: Souboj frameworkůJiří Knesl: Souboj frameworků
Jiří Knesl: Souboj frameworků
 
Town with pouvoir in French
Town with pouvoir in FrenchTown with pouvoir in French
Town with pouvoir in French
 
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas KashalikarTejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
 

Semelhante a 20120414 videorecognition konushin_lecture04

20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02Computer Science Club
 
FaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_reviewFaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_reviewKhryashchev
 
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05Computer Science Club
 
Сегментация изображений в компьютерной графике.ppt
Сегментация  изображений в компьютерной графике.pptСегментация  изображений в компьютерной графике.ppt
Сегментация изображений в компьютерной графике.pptssuser413a98
 
Поиск объектов
Поиск объектовПоиск объектов
Поиск объектовLiloSEA
 
20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matching20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matchingComputer Science Club
 
20120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture0220120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture02Computer Science Club
 
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
 “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt) “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)Alina Vilk
 
распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»seik0ixtem
 
CV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysisCV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysisAnton Konushin
 
Сегментация
СегментацияСегментация
СегментацияLiloSEA
 
машинное обучение и анализ данных
машинное обучение и анализ данныхмашинное обучение и анализ данных
машинное обучение и анализ данныхYandex
 
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVPavel Tsukanov
 
Face detection and recognition using OpenCV
Face detection and recognition using OpenCVFace detection and recognition using OpenCV
Face detection and recognition using OpenCVAndrew Babiy
 
Методы видеонавигации
Методы видеонавигацииМетоды видеонавигации
Методы видеонавигацииsimplicio1
 
Лекция 3 Сегментация
Лекция 3 СегментацияЛекция 3 Сегментация
Лекция 3 СегментацияVictor Kulikov
 
Presentation Diplom
Presentation DiplomPresentation Diplom
Presentation Diplomguestc80a581
 
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...it-people
 
Kirill Rozin - Computer Vision. Alchemy of Modeling
Kirill Rozin - Computer Vision. Alchemy of ModelingKirill Rozin - Computer Vision. Alchemy of Modeling
Kirill Rozin - Computer Vision. Alchemy of ModelingSergey Arkhipov
 
Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Andrii Gakhov
 

Semelhante a 20120414 videorecognition konushin_lecture04 (20)

20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02
 
FaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_reviewFaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_review
 
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05
 
Сегментация изображений в компьютерной графике.ppt
Сегментация  изображений в компьютерной графике.pptСегментация  изображений в компьютерной графике.ppt
Сегментация изображений в компьютерной графике.ppt
 
Поиск объектов
Поиск объектовПоиск объектов
Поиск объектов
 
20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matching20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matching
 
20120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture0220120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture02
 
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
 “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt) “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
 
распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»
 
CV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysisCV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysis
 
Сегментация
СегментацияСегментация
Сегментация
 
машинное обучение и анализ данных
машинное обучение и анализ данныхмашинное обучение и анализ данных
машинное обучение и анализ данных
 
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
 
Face detection and recognition using OpenCV
Face detection and recognition using OpenCVFace detection and recognition using OpenCV
Face detection and recognition using OpenCV
 
Методы видеонавигации
Методы видеонавигацииМетоды видеонавигации
Методы видеонавигации
 
Лекция 3 Сегментация
Лекция 3 СегментацияЛекция 3 Сегментация
Лекция 3 Сегментация
 
Presentation Diplom
Presentation DiplomPresentation Diplom
Presentation Diplom
 
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
DUMP-2013 Наука и жизнь - Современная математика компьютерного зрения - Перев...
 
Kirill Rozin - Computer Vision. Alchemy of Modeling
Kirill Rozin - Computer Vision. Alchemy of ModelingKirill Rozin - Computer Vision. Alchemy of Modeling
Kirill Rozin - Computer Vision. Alchemy of Modeling
 
Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014
 

Mais de Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

Mais de Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 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. Резюме • Базовые методы – шаблоны, стая точек, сдвиг среднего. • Комбинация методов, выбор каналов позволяют повысить качество слежения • Слежение всегда ошибётся, нужно быть готовым к восстановлению после ошибок • Для распознавания видео мы можем использовать те же подходы, что и к изображению, но переведя их в трёхмерные пространственно-временной объём • Скользящее окно • Особенности, детекторы и дескрипторы • Мешок слов и методы классификации • Данные и их объём является общей проблемой. Нужно использовать «слабую» разметку.