Евгений Борисов
пятница, 22 мая 2015 г.
В этой статье мы поговорим о задачах видеонаблюдения, точнее – о статистическом методе выявления в кадре новых объектов. В основе этого метода лежит идея вычитания фона из текущей картинки, его (метод) можно применять в случаях когда фон мало изменяется (неподвижная камера).
Идея вычитать фон из текущей картинки может показаться простой, однако с её реализациями могут быть связаны некоторые трудности. В ”чистом” виде этот подход можно применить только для специальных случаев, когда освещение не меняется, картинка содержит минимум шума и у нас есть возможность получить изображение фона без объектов, для последующей работы с ним. В реальности выше перечисленные условия редко выполняются и нужно как-то с этим бороться.
Неформально задачу можно сформулировать следующим образом. Построить систему выявления новых объектов в кадре, при следующих условиях: камера неподвижна, освещение может изменятся, картинка содержит шум.
В общем случае решение задачи выглядит следующим образом.
Для реализации этой схемы необходимо ответить на два вопроса.
Для начала реализуем самый простой вариант - усреднённый фон. Соберём историю из n кадров, вычислим среднее значение и будем использовать этот результат как фон.
Отличия фона и текущего кадра будем вычислять как абсолютное значение разницы яркостей точек.
Это решение работает достаточно хорошо только в условиях стабильного освещёния и отсутствия шума.
На иллюстрациях ниже представлены результаты работы реализации метода, зелёным помечаются выделенные точки переднего плана.
Если нет возможности обеспечить ”хорошие” условия, то необходимо строить более сложную, чем в предыдущем случае, модель фона.
Далее мы рассмотрим статистические модели фона. В основе данного подхода лежит гипотеза о том, что состояние точек фона колеблется с некоторым небольшим отклонением от определённого среднего значения, если это отклонение больше порога то эта область на картинке содержит новый объект (передний план).
Для простоты будем рассматривать картинку в градациях серого. Рассмотрим точку в кадре.
Пусть
X={x1,...,xn}
последовательность состояний (яркость) выбранной точки в последовательности кадров длинны
n
.
Построим модель фона, опишем изменение состояния точки нормальным распределением.
Математическое ожидание состояния и дисперсия (мера отклонения) для выбранной точки описываются следующим образом.
Плотность распределения:
Таким образом фон задаётся нормальными распределениями на основе истории изменения кадров. Разница фона и текущего кадра определяется как вероятность принадлежности точки кадра к фону.
До сих пор мы рассматривали одноканальные (grayscale) изображения, для цветных (трёхканальных) изображений, фон моделируется многомерным нормальным распределением.
Для улучшения результата можно воспользоваться смесью гауссиан в качестве модели фона.
Такая модель позволяет формировать несколько кластеров для значений яркости.
На иллюстрациях ниже представлены результаты работы реализации метода, зелёным помечаются выделенные точки переднего плана.
[1] Борисов Е. Базовые методы обработки изображений. – http://mechanoid.kiev.ua/cv-base.html
[2] Конушин А. Введение в компьютерное зрение: основы видеонаблюдения. -– http://www.lektorium.tv/course/22847
[3] OpenCV – http://opencv.org
[4] Борисов Е. Восстановление смеси плотностей распределений с помощью EM-алгоритма. – http://mechanoid.kiev.ua/ml-em-base.html
[5] P. KadewTraKuPong and R. Bowden, An improved adaptive background mixture model for real-time tracking with shadow detection, Proc. 2nd European Workshop on Advanced Video-Based Surveillance Systems, 2001 – http://personal.ee.surrey.ac.uk/Personal/R.Bowden/publications/avbs01/avbs01.pdf