Введение

Конденсационный алгоритм (Conditional Density Propagation) — это алгоритм компьютерного зрения. Его основное применение — обнаружение и отслеживание контуров движущихся объектов в зашумленной среде. Отслеживание объектов — один из наиболее фундаментальных и сложных аспектов компьютерного зрения и, как правило, является предварительным условием для распознавания объектов. Определение того, какие пиксели изображения формируют контур объекта, представляет собой непростую задачу. Конденсация — это вероятностный алгоритм, предназначенный для решения этой задачи. Детальное описание алгоритма приводится Изардом и Блейком в публикации в журнале International Journal of Computer Vision в 1998 году. Одной из наиболее интересных особенностей алгоритма является то, что он не обрабатывает каждый пиксель изображения. Вместо этого пиксели для обработки выбираются случайным образом, и обрабатывается лишь подмножество пикселей. Множественные гипотезы о движущемся объекте естественно поддерживаются благодаря вероятностной природе подхода. Оценочные функции в значительной степени основаны на предыдущих исследованиях в этой области и включают в себя множество стандартных статистических методов. Новизной данной работы является применение методов оценки на основе фильтра частиц. Создание алгоритма было обусловлено неспособностью фильтра Калмана эффективно отслеживать объекты в условиях значительных помех на фоне. Наличие помех приводит к формированию многомодальных распределений вероятностей состояния объекта, которые плохо моделируются фильтром Калмана. Конденсационный алгоритм в своей наиболее общей форме не требует каких-либо предположений о распределении вероятностей объекта или измерений.

Обзор алгоритма

Алгоритм конденсации направлен на решение задачи оценки конформации объекта, описываемого вектором в момент времени , на основе наблюдений за обнаруженными признаками на изображениях вплоть до текущего момента времени. Алгоритм выдает оценку плотности условной вероятности состояния , применяя нелинейный фильтр, основанный на факторизованной выборке, и может рассматриваться как развитие метода Монте-Карло, поскольку он моделирует совместное распределение объекта и наблюдателя. Условная плотность объекта в текущий момент времени оценивается как взвешенный, индексированный по времени набор образцов с весами . – параметр, определяющий количество выбранных наборов образцов. Реализация получается путем выборки с возвращением из множества с вероятностью, равной соответствующему элементу . Модель наблюдения не может быть напрямую оценена по данным, что требует внесения допущений для ее оценки. Исард (1998) предполагает, что помехи, которые могут сделать объект невидимым, являются пуассоновским случайным процессом с пространственной плотностью , а любое истинное измерение цели является несмещенным и нормально распределенным со стандартным отклонением . Базовый алгоритм конденсации используется для отслеживания одного объекта во времени. Возможно расширить алгоритм конденсации, используя одно распределение вероятности для описания вероятных состояний нескольких объектов, чтобы отслеживать несколько объектов в сцене одновременно. Поскольку помехи могут привести к разделению распределения вероятности объекта на несколько пиков, каждый пик представляет собой гипотезу о конфигурации объекта. Сглаживание – это статистический метод обусловливания распределения на основе как прошлых, так и будущих измерений после завершения отслеживания, чтобы уменьшить влияние множественных пиков. Сглаживание не может быть выполнено непосредственно в реальном времени, поскольку для этого требуется информация о будущих измерениях.

Приложения

Алгоритм может использоваться для визуальной локализации мобильных роботов. Однако, в отличие от отслеживания положения объекта в сцене, отслеживается положение платформы камеры. Это позволяет глобально локализовать платформу камеры, используя визуальную карту окружающей среды. Расширения алгоритма конденсации также применялись для распознавания человеческих жестов в последовательностях изображений. Это применение алгоритма конденсации расширяет возможности взаимодействия человека и компьютера. Он использовался для распознавания простых жестов пользователя у интерактивной доски для управления такими действиями, как выбор областей доски для печати или сохранения. Другие расширения также использовались для отслеживания нескольких автомобилей в одной сцене. Алгоритм конденсации также применялся для распознавания лиц в видеопоследовательности.

Ресурсы

Реализацию алгоритма конденсации на языке C можно найти на веб-сайте Майкла Изарда. Реализацию на MATLAB можно найти в Mathworks File Exchange. Пример реализации с использованием библиотеки OpenCV можно найти на форумах OpenCV.