Алгоритм конденсации - Condensation algorithm
В алгоритм уплотнения (Противдополнительный Densэто распространениедействие) это компьютерное зрение алгоритм. Основное применение - обнаружение и трек контур объектов, движущихся в загроможденной среде. Отслеживание объектов - один из самых основных и сложных аспектов компьютерного зрения и обычно является предпосылкой для распознавание объекта. Возможность определить, какие пиксели на изображении составляют контур объекта, - нетривиальная проблема. Конденсация - это вероятностный алгоритм что пытается решить эту проблему.
Сам алгоритм подробно описан Айсардом и Блейк в публикации в Международный журнал компьютерного зрения в 1998 г.[1] Один из самых интересных аспектов алгоритма заключается в том, что он не вычисляет каждый пиксель изображения. Скорее всего, пиксели для обработки выбираются случайным образом, и в конечном итоге обрабатывается только подмножество пикселей. Множественные гипотезы о том, что движется, естественным образом поддерживаются вероятностной природой подхода. Функции оценки во многом основаны на предыдущей работе в этой области и включают множество стандартных статистических подходов. Первоначальной частью этой работы является применение методов оценки фильтра частиц.
Создание алгоритма было вдохновлено невозможностью Калмана фильтрация хорошо отслеживать объект при наличии значительных фоновых помех. Наличие беспорядка имеет тенденцию создавать распределения вероятностей для состояния объекта, которые мультимодальный и поэтому плохо моделируется фильтром Калмана. Алгоритм уплотнения в его наиболее общей форме не требует никаких предположений о распределении вероятностей объекта или измерений.
Обзор алгоритма
Алгоритм уплотнения направлен на решение задачи оценки соответствия объекта, описываемого вектор вовремя , учитывая наблюдения обнаруженных функций на изображениях до текущего времени включительно. Алгоритм выводит оценку состояния условная плотность вероятности путем применения нелинейного фильтра, основанного на факторизованной выборке, и его можно рассматривать как развитие Метод Монте-Карло.[1] представляет собой представление вероятности возможных конформаций для объектов на основе предыдущих конформаций и измерений. Алгоритм уплотнения - это генеративная модель[2] поскольку он моделирует совместное распределение объекта и наблюдателя.
Условная плотность объекта в текущий момент времени оценивается как взвешенный, индексированный по времени набор выборок с весами . N - параметр, определяющий количество выбранных наборов образцов. Реализация получается выборкой с заменой из набора с вероятностью, равной соответствующему элементу .[1]
Предположения, что динамика объекта формирует временную цепь Маркова и что наблюдения независимый друг друга и динамики облегчают реализацию алгоритма уплотнения. Первое предположение позволяет полностью определять динамику объекта условной плотностью . Модель динамики системы, определяемая также должен быть выбран для алгоритма и обычно включает оба детерминированный и стохастический динамика.
Алгоритм можно резюмировать путем инициализации во время и три шага каждый раз т:
Инициализация
Сформируйте исходный набор образцов и веса путем отбора образцов в соответствии с предыдущим распределением. Например, укажите как Гауссовский и установите веса равными друг другу.
Итерационная процедура
- Образец с заменой раз из набора с вероятностью создать реализацию .
- Применяйте изученную динамику к каждому элементу этого нового набора, чтобы создать новый набор .
- Принять во внимание текущее наблюдение , набор для каждого элемента .
Этот алгоритм выводит распределение вероятностей который можно напрямую использовать для вычисления среднего положения отслеживаемого объекта, а также других моменты отслеживаемого объекта.
Вместо этого можно использовать кумулятивные веса для более эффективного отбора проб.[1]
Соображения по реализации
Поскольку отслеживание объектов может быть целью в реальном времени, важно учитывать эффективность алгоритмов. Алгоритм уплотнения относительно прост по сравнению с вычислительной трудоемкостью уравнения Рикатти, необходимым для фильтрации Калмана. Параметр , который определяет количество образцов в наборе образцов, явно будет иметь компромисс между эффективностью и производительностью.
Одним из способов повышения эффективности алгоритма является выбор модели с низкой степенью свободы для представления формы объекта. Модель, использованная Isard 1998, представляет собой линейную параметризацию B-шлицы в котором шлицы ограничены определенными конфигурациями. Подходящие конфигурации были найдены путем аналитического определения комбинаций контуров с разных ракурсов, объекта в разных позах и с помощью Анализ главных компонентов (PCA) на деформируемом объекте.
Айсард и Блейк моделируют динамику объекта как второй порядок разностное уравнение с детерминированной и стохастической составляющими:
где - среднее значение состояния, а , - матрицы, представляющие детерминированные и стохастические компоненты динамической модели соответственно. , , и оцениваются через Оценка максимального правдоподобия при этом объект выполняет типичные движения.[1][3]
Модель наблюдения не могут быть оценены напрямую на основе данных, поэтому для их оценки требуются предположения. Isard 1998 предполагает, что беспорядок, который может сделать объект невидимым, является Пуассоновский случайный процесс с пространственной плотностью и что любое истинное целевое измерение является беспристрастным и обычно распределяется с среднеквадратичное отклонение .
Базовый алгоритм уплотнения используется для отслеживания одного объекта во времени. Можно расширить алгоритм уплотнения, используя единое распределение вероятностей, чтобы описать вероятные состояния нескольких объектов для одновременного отслеживания нескольких объектов в сцене.[4]
Поскольку беспорядок может привести к разделению вероятностного распределения объекта на несколько пиков, каждый пик представляет собой гипотезу о конфигурации объекта. Сглаживание - это статистический метод кондиционирования распределения, основанный как на прошлых, так и на будущих измерениях после завершения отслеживания, чтобы уменьшить влияние нескольких пиков.[5] Сглаживание невозможно выполнить непосредственно в реальном времени, поскольку для этого требуется информация о будущих измерениях.
Приложения
Алгоритм может быть использован для визуальных локализация роботов мобильных роботов.[6] Однако вместо отслеживания положения объекта в сцене отслеживается положение платформы камеры. Это позволяет глобально локализовать платформу камеры с учетом визуальной карты окружающей среды.
Расширения алгоритма уплотнения также использовались для распознавать человеческие жесты в последовательностях изображений. Такое применение алгоритма уплотнения влияет на диапазон возможных взаимодействий человека с компьютером. Он использовался для распознавания простых жестов пользователя на доске для управления действиями, такими как выбор областей доски для печати или сохранения.[7] Другие расширения также использовались для отслеживания нескольких автомобилей в одной сцене.[8]
Алгоритм конденсации также использовался для распознавание лица в видеоряде.[9]
Ресурсы
Реализация алгоритма уплотнения в C можно найти на Сайт Майкла Айсарда.
Реализация в MATLAB можно найти на Обмен файлами Mathworks.
Пример реализации с использованием OpenCV библиотеку можно найти на Форумы OpenCV.
Смотрите также
- Фильтр твердых частиц - Конденсация - это применение оценки повторной выборки важности выборки (SIR) для отслеживания контуров
использованная литература
- ^ а б c d е Isard, M .; Блейк, А (август 1998 г.). «КОНДЕНСАЦИЯ - распространение условной плотности визуального слежения». Международный журнал компьютерного зрения. 29 (1): 5–28. Дои:10.1023 / А: 1008078328650.
- ^ Sminchisescu, C .; Kanaujia, A .; Метаксас, Д.Н. (ноябрь 2007 г.). «BM3E: распространение дискриминации по плотности для визуального отслеживания». IEEE Transactions по анализу шаблонов и машинному анализу. 29 (11): 2030–2044. CiteSeerX 10.1.1.78.1751. Дои:10.1109 / тпами.2007.1111. PMID 17848782.
- ^ Блейк, Андреа; Айсард, Майкл; Рейнард, Дэвид (октябрь 1995 г.). «Учимся отслеживать визуальное движение контуров». Искусственный интеллект. 78 (1–2): 179–212. Дои:10.1016/0004-3702(95)00032-1.
- ^ Коллер-Майер, Эстер Б .; Адэ, Франк (28 февраля 2001). «Отслеживание нескольких объектов с использованием алгоритма конденсации». Робототехника и автономные системы. 34 (2–3): 93–105. Дои:10.1016 / s0921-8890 (00) 00114-7.
- ^ Айсард, Майкл; Блейк, Эндрю (28 мая 2006 г.). Сглаживающий фильтр от конденсата. Конспект лекций по информатике. 1406. С. 767–781. Дои:10.1007 / BFb0055703. ISBN 978-3-540-64569-6.
- ^ Dellaert, F .; Burgard, W .; Fox, D .; Трун, С. (1999). «Использование алгоритма CONDENSATION для надежной локализации мобильного робота на основе зрения». Компьютерное зрение и распознавание образов. 2: 588–594. Дои:10.1109 / CVPR.1999.784976. ISBN 0-7695-0149-4.
- ^ Блэк, M.J .; Джепсон, А. Д. (14 апреля 1998 г.). «Распознавание временных траекторий с помощью алгоритма уплотнения». Автоматическое распознавание лиц и жестов: 16–21. CiteSeerX 10.1.1.154.1402. Дои:10.1109 / AFGR.1998.670919. ISBN 0-8186-8344-9.
- ^ Meier, E.B .; Адэ, Франк (1999). «Отслеживание автомобилей на изображениях дальности с использованием алгоритма КОНДЕНСАЦИИ». Интеллектуальные транспортные системы: 129–134. Дои:10.1109 / ITSC.1999.821040. ISBN 0-7803-4975-X.
- ^ Чжоу, Шаохуа; Krueger, V .; Челлаппа, Р. (21 мая 2002 г.). «Распознавание лиц из видео: КОНДЕНСАЦИОННЫЙ подход». Автоматическое распознавание лиц и жестов: 221–226. Дои:10.1109 / AFGR.2002.1004158. ISBN 0-7695-1602-5.