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

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

2.7. Применение фильтра частиц к задаче сопровождения

Для некоторых практических задач, чтобы получить более точную оценку состояния системы, необходимо уйти от предположения, что шум имеет Гауссово распределение [5]. В этом случае вводится понятие мультимодального распределения7Мультимодальным распределением называется распределение, имеющее несколько мод или локальных максимумов. Мультимодальное распределение зачастую представляется смесью нескольких распределений. шума, а для моделирования подобных систем используются фильтры частиц. Фильтры частиц являются более общим подходом к решению задачи сопровождения с применением вероятностных методов [9, 21, 33, 35].

Алгоритм воспроизведения условной плотности (CONditional DENSity propAGATION, CONDENSATION) [21, 35] – базовый алгоритм фильтрации частиц, на основании которого строится большинство алгоритмов данной группы, применяемых в компьютерном зрении. Поэтому остановимся более детально на рассмотрении схемы работы именно этого алгоритма.

Предполагая, что система может находиться в состояниях X_t={x_1,x_2,...,x_t}, в момент времени получим плотность распределения вероятности. Так же, как и для фильтра Кальмана, последовательность наблюдений будем обозначать Z_t={z_1,z_2,...,z_t}. Наряду с этим введем предположение о том, что состояние x_{t} зависит только от предыдущего состояния x_{t-1} – условие Марковской цепи. Таким образом, получаем систему с независимым набором наблюдений. Техники фильтрации частиц представляют распределение вероятности в виде коллекции взвешенных выборок – частиц, появление которых регулируется посредством введения весов. Тогда множество S_t (4.60) определяет функцию плотности вероятности для состояния x_t при заданном наборе наблюдений Z_t . S_t задает приближенное распределение p(x_t \lvert Z_t).

S_t=\lbrace (s^t_i,\pi^t_i),i=\overline{1,N}, \sum_{i=1}^N {\pi^t_i=1} \rbrace ( 4.60)

Задача состоит в том, чтобы построить метод восстановления множества S_{t} на основании S_{t-1}. Формально алгоритм можно представить в виде последовательности этапов [9, 21, 35]:

  1. Пусть коллекция взвешенных выборок в момент времени t-1 построена (4.61).
    S_{t-1}=\lbrace (s^{t-1}_i,\pi^{t-1}_i),i=\overline{1,N}, \sum_{i=1}^N {\pi^{t-1}_i=1} \rbrace ( 4.61)
    Дополнительно вычислим интегральные веса согласно (4.62).
    c_i=c_{i-1}+\pi^{t-1}_i,i=\overline{1,N},c_0=0 ( 4.62)
  2. Определим n-ый экземпляр выборки S_t . Для этого случайным образом выберем число r из отрезка [0,1] и вычислим j=arg\,min_i{c_i>r}. Отсюда получаем текущую оценку состояния s^{t-1}_j .
  3. Выполним предсказание следующего состояния. Предсказание (4.63) выполняется аналогично фильтру Кальмана (4.40), разница лишь в том, что нет ограничений, связанных с линейностью системы и видом распределения шума.
    s^{t}_n=F_{t-1}s^{t-1}_j+w_{t-1} ( 4.63)
  4. Выполним коррекцию. Используя текущее наблюдение и его распределение, необходимо установить вес полученного экземпляра согласно (4.64).
    \pi^t_n=p(z_t \lvert x_t=s^t_n) ( 4.64)
  5. Построим множество частиц , повторив шаги 2 – 4 -раз.
  6. Нормализуем последовательность весов \pi^t_i так, чтобы \sum^N_{i=1} {\pi^t_i}=1 .
  7. Вычислим наилучшую оценку для состояния x_t, например, как линейную свертку полученного набора экземпляров выборки (4.65). Таким образом, фактически определим некоторую среднюю частицу.
    x_t \sum^N_{i=1} {\pi^t_is^t_i} ( 4.65)

Описанный процесс можно проинтерпретировать графически (рис.4.8) с использованием понятия частицы. На входе итерации алгоритма имеется множество частиц \lbrace (s^{t-1}_i,\pi ^{t-1}_i) \rbrace (верхний уровень диаграммы). В результате N-кратного случайного выбора частиц из S_{t-1} получается некоторый набор экземпляров (2-ой уровень сверху). Применение шага предсказания приводит к формированию множества оценочных состояний частиц (3-ий уровень), затем для каждой оценки выполняется коррекция на основании имеющихся наблюдений. Как следствие, создается множество частиц \lbrace (s^{t}_i,\pi ^{t}_i) \rbrace в следующий момент времени (последний уровень диаграммы).

Итерация алгоритма воспроизведения условной плотности  (CONDENSATION, [35])

Рис. 4.8. Итерация алгоритма воспроизведения условной плотности (CONDENSATION, [35])

3. Контрольные вопросы

  1. В каких случаях схема вычитания фона в задаче определения движения работает неэффективно?
  2. Докажите, что формула (4.25) справедлива, т.е. образ Фурье от корреляции пары функций равен произведению образу Фурье первой функции на комплексно-сопряженный образ второй функции.
  3. Основное свойство аффинного преобразования?
  4. Приведите примеры задач, в которых используется модель перспективной проекции (гомография).
  5. Докажите справедливость формул (4.58) и (4.59).
  6. Получите формулы вычисления матричного коэффициента Кальмана для случая равномерного движения.
  7. Приведите схему построения фильтра Кальмана в случае одномерного состояния и наблюдения при некоторых фиксированных значениях F_k=F=const и H_k=H=const.
Андрей Терёхин
Андрей Терёхин

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

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

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

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