Опубликован: 02.09.2013 | Доступ: свободный | Студентов: 430 / 54 | Длительность: 19:27:00

Лекция 4: Отслеживание движения и алгоритмы сопровождения ключевых точек

1.6. Вычисление оптического потока

Другой распространенный подход к решению задачи детектирования областей движения – вычисление оптического потока (optical flow) [5, 9, 13]. Оптический поток позволяет определить смещение каждой точки кадра, т.е. построить поле скоростей.

Применение данного подхода требует выполнения двух основных условий:

  • яркость каждой точки объекта не изменяется с течением времени;
  • ближайшие точки, принадлежащие одному объекту, в плоскости изображения двигаются с похожей скоростью.

Рассмотрим схему работы метода вычисления оптического потока. Допустим, что имеется непрерывно изменяющееся во времени изображение. Обозначим через I_k(x,y) яркость пикселя с координатами (x,y) в момент времени k. Считая динамическое изображение функцией положения и времени, яркость пикселя в следующий момент времени можно выразить с помощью разложения в ряд Тейлора:

I_{k+\Delta x}(x+\Delta x,y+\Delta y)=I_k(x,y)+\frac {\delta I_k} {\delta x}\Delta x+\frac {\delta I_k} {\delta y}\Delta y+\frac {\delta I_k} {\delta k}\Delta k+O(\delta^2) ( 4.38)

где \frac {\delta I_k} {\delta x}\Delta x,\frac {\delta I_k} {\delta y}\Delta y,\frac {\delta I_k} {\delta k}\Delta k – частные производные3Под частными производными в силу дискретности представления изображения понимается центральный разностный оператор. функции I_k. Предполагается, что за небольшой промежуток времени пиксель смещается незначительно, т.е. (\Delta x, \Delta y) \rightarrow 0 при \Delta k \rightarrow 0, значит можно считать, что яркость почти не изменяется, поэтому остаточным членом ряда можно пренебречь:

I_{k+\Delta x}(x+\Delta x,y+\Delta y)=I_k(x,y)
-\frac {\delta I_k} {\delta k}= \frac {\delta I_k} {\delta x}\frac {\delta x} {\delta k}+\frac {\delta I_k} {\delta y}\frac {\delta y} {\delta k} ( 4.39)

Уравнение (4.39) называется уравнением оптического потока . Дальнейшая цель – построить вектор скорости пикселя c=(\frac {\delta x} {\delta k},\frac {\delta y} {\delta k})=(u,v) . Для полноты постановки задачи вводится условие гладкости изменения скорости. В результате исходная задача сводится к задаче минимизации квадратичной ошибки (\frac {\delta I_k} {\delta x}u+\frac {\delta I_k} {\delta y}v+\frac {\delta I_k} {\delta k}k)^2 при наличии ограничений в виде равенств u^2_x+u^2_y=0 и v^2_x+v^2_y=0 (условия гладкости). Получаем задачу математического программирования. Процедура минимизации применяется к каждому пикселю текущего изображения, в результате чего обеспечивается построение поля векторов смещения всех пикселей.

2. Методы сопровождения объектов

2.1. Постановка задачи сопровождения объектов

Сопровождение (трекинг) движущихся объектов – это один из составляющих компонентов многих систем реального времени таких, как системы слежения, анализа видео и других. Входными данными любого алгоритма сопровождения является последовательность изображений (кадров видео) I_1,I_2,...,I_N(4.1) с нарастающим объемом информации, которую необходимо обрабатывать и анализировать.

Задача сопровождения состоит в том, чтобы построить траектории движения целевых объектов на входной последовательности кадров. Допустим, что положение объекта на изображении с номером обозначается P_k . Тогда траекторией движения объекта называется последовательность его положений P_s,P_{s+1},...,P_{s+l-1} , где s – номер первого кадра, на котором был обнаружен объект, l – количество кадров последовательности, где наблюдается объект. Заметим, что в зависимости от метода сопровождения положение объекта может определяться по- разному (координаты и размер сторон окаймляющего прямоугольника, координаты центра масс контура и т.п.).

2.2. Классификация методов сопровождения

Существует несколько категорий методов сопровождения объектов [16]:

  1. Методы сопровождения особых точек (point tracking). В таких методах принимается, что положение объекта определяется расположением набора характерных точек. Один и тот же объект на последовательных кадрах представляется наборами соответствующих пар точек. Данная группа методов разделяется на две подгруппы:

    Детерминистские методы [17] используют качественные эвристики движения (небольшое изменение скорости, неизменность расстояния в трехмерном пространстве между парой точек, принадлежащих объекту), по существу задача сводится к минимизации функции соответствия наборов точек. Методы, основанные на вычислении плотного и разреженного оптического потока, а также методы сопоставления (matching) дескрипторов ключевых точек являются типичными представителями детерминистских методов.

    Вероятностные методы используют подход, основанный на понятии пространства состояний. Считается, что движущийся объект имеет определенное внутреннее состояние, которое измеряется на каждом кадре. Чтобы оценить следующее состояние объекта, требуется максимально обобщить полученные измерения, т.е. определить новое состояние при условии, что получен набор измерений для состояний на предыдущих кадрах. Типичным примерами таких методов являются методы на базе фильтра Кальмана [6, 18 – 20] и фильтра частиц (particle filter) [21, 22, 33].

  2. Методы сопровождения компонент (kernel tracking). Под компонентой понимается форма объекта. В простейшем случае компонента может быть представлена шаблоном прямоугольной или овальной формы, в более сложных – трехмерной моделью объекта, спроецированной на плоскость изображения. Как правило, методы данной группы применяются, если движение определяется обычным смещением, поворотом или аффинным преобразованием. Трекинг компонент – итеративная процедура локализации, основанная на максимизации некоторого критерия подобия. На практике реализуется с использованием сдвига среднего (mean shift) [8, 23] и его непрерывной модификации (Continuous Adaptive Mean Shift, CAM Shift) [8, 24].
  3. Методы сопровождения силуэта (silhouette tracking). Силуэт может быть задан контуром, либо набором связанных простых геометрических примитивов. Задача трекеров силуэта состоит в том, чтобы на каждом кадре определить область, в которой находится объект, с использованием модели его силуэта, построенной на основании предшествующих кадров. Можно выделить две группы методов:
  • Методы сопоставления и сопровождения фрагментов изображения, содержащих объект. При сопоставлении естественным образом должна быть введена мера сходства пары областей, ограниченных контуром. На практике используется расстояние Хаусдорфа, норма L_2 , также значение оценочной функции может вычисляться с использованием нескольких мер, включая, например, кросс-корреляцию, расстояние Бхачатария. Определение положения фрагмента на следующем кадре последовательности выполняется посредством вычисления оптического потока (раздел 4.6) для внутренних точек области.
  • Методы сопровождения контура. Позволяют прогнозировать положение контура на следующем кадре. Первый подход состоит в использовании моделей пространства состояний (по типу фильтра Кальмана), второй – в минимизации функции энергии контура с использованием прямых техник таких, как градиентный спуск (раздел 4.3).

2.3. Методы сопоставления ключевых точек

В настоящее время детерминистские методы сопровождения особых точек чаще остальных используются на практике. Необходимым условием использования этих методов является наличие выделенных точек, которые наилучшим образом представляют объект. Выделение особых точек выполняется с использованием специальных детекторов и дескрипторов4Обзор существующих детекторов и дескрипторов приведен в предыдущей лекции.. Если детектор находит положение особой точки на изображении, то дескриптор дополнительно строит вектор признаков, характерных для полученной точки.

Схема сопровождения особых точек может быть представлена в виде последовательности действий [34]:

  1. Поиск особых точек на предыдущем (рис.4.5, слева) и текущем (рис.4.5, справа) кадрах посредством выбранного детектора (LoG, DoG, SURF, SIFT, ORB и др.).
  2. Вычисление дескрипторов для полученного набора точек (SURF, SIFT, GLOH, DAISY, BRIEF и т.д.) – n-мерных векторов-описателей.
  3. Сопоставление (matching) дескрипторов, полученных на текущем и предыдущем кадре. По существу необходимо построить преобразование точек n-мерного пространства дескрипторов. Прямой перебор дескрипторов предыдущего изображения и поиск наиболее близких дескрипторов текущего не является эффективным из- за большого количества ложных соответствий (рис.4.6). Близость дескрипторов определяется посредством вычисления некоторой метрики (норма L_2 , кросс-корреляция и т.п.).
Пример исходного изображения объекта (слева) и объекта  внутри некоторой сцены (справа)

Рис. 4.5. Пример исходного изображения объекта (слева) и объекта внутри некоторой сцены (справа)
Набор соответствий до применения алгоритма RANSAC

Рис. 4.6. Набор соответствий до применения алгоритма RANSAC

После сопоставления для отсечения ложных срабатываний (рис.4.7) применяется алгоритм RANSAC (RANdom SAmple Consensus, [6, 7]).

Набор соответствий после применения алгоритма RANSAC

Рис. 4.7. Набор соответствий после применения алгоритма RANSAC

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

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

В результате применения RANSAC строится наилучшая матрица гомографии. Вычислив перспективную проекцию набора дескрипторов предыдущего кадра, достаточно выполнить проход по всем соответствиям, полученным в процессе перебора, и проверить, является ли соответствующий дескриптор текущего кадра достаточно близким к проекции дескриптора предыдущего кадра. Если не является, то пара отбрасывается.

В работе [34] приводится анализ применения детекторов и дескрипторов для решения задачи сопровождения, также предлагается перечень существующих систем слежения, основанных на построении особых точек.

Андрей Терёхин
Андрей Терёхин

Нахожу в тесте вопросы, которые в принципе не освещаются в лекции. Нужно гуглить на других ресурсах, чтобы решить тест, или же он всё же должен испытывать знания, полученные в ходе лекции?

Демянчик Иван
Демянчик Иван

В главе 14 мы видим понятие фильтра, но не могу разобраться, чем он является в теории и практике.

" Искомый объект можно описать с помощью фильтра F= \lbrace f_{x',y'},x' \in \lbrace0, ...,w_f \rbrace , y' \in \lbrace 0,...,h_f \rbrace \rbrace "