Выделение движущихся объектов
Представление видеоизображение в компьютере
1.1.1. Цифровое изображение
Использование цвета в обработке обусловлено двумя основными причинами. Во-первых, цвет является тем важным признаком, который часто облегчает распознавание и выделение объектов на видеоизображении. Во-вторых, человек в состоянии различать тысячи различных оттенков цвета, и всего лишь порядка двух десятков оттенков серого.
Обработку цветных изображений можно условно разделить на две основные области:
· обработка изображения в натуральных цветах,
· обработка изображения в псевдоцветах.
В первом случае изображение формируется цветным регистратором изображения. Во втором случае задача состоит в присвоении цветов некоторого значениям интенсивности монохромного сигнала или некоторого диапазонам изменения его интенсивности.
Под изображением понимается функция двух вещественных переменных I( x, y ) , где I – это интенсивность (яркость) в точке с координатами (x, y). Для обработки на компьютере изображение должно быть дискретизировано и квантовано. Дискретизованное и квантованное изображение называется цифровым. Цифровое изображение A(m, n) представлено в дискретном двумерном пространстве, где m – номер строки, а n – номер столбца.
Элемент, расположенный на пересечении m-ой строки и n-го столбца называется пиксел. Интенсивность пиксела может описываться либо вещественным, либо целым числом. Относительная интенсивность в вещественных числах обычно изменяется от 0 до 1, а в целых числах от 0 до 255.Обычно физический сигнал, возникающий в точке (x, y) , является функцией зависящей от многих параметров (z - глубина, λ – длина волны, t – время). Среди характеристик цифровых изображений следует выделить:
Размер: этот параметр может быть любым, но часто выбирается исходя из особенностей регистрации изображения (например, видеостандарты PAL (625, 4:3), SECAM (625, 4:3), NTSC (525, 4:3)). Количество цветов (глубина цвета): точнее количество бит, отводимое для хранения цвета, определяется упрощением электронных схем и кратно степени 2. Изображение для хранения информации о цветах которого необходим 1 бит называется бинарным. Для хранения полутоновых (gray scale, gray level) изображений используется обычно 8 бит. Цветные изображения хранятся обычно с использованием 24 бит по 8 на каждый из трех цветовых каналов.
Разрешение: измеряется обычно в dpi (dot per inch – количество точек на дюйм). Например, на экране монитора разрешение обычно 72 dpi, при выводе на бумагу – 600 dpi, при регистрации на ПЗС-матрице с размером одного элемента 9 мкм разрешение составит почти 3000 dpi.
Способы получения видеоизображения.
Для мониторинга наблюдаемой сцены в систему видеонаблюдения могут быть включены различные виды камер:
1. Цветная камера.
2. Чёрно-белая камера.
3. Камера с ИК фильтром.
Цветовая модель RGB.
Цветовая модель или цветовое пространство — это математическое представление некоторого набора цветов. Существует несколько основных математических моделей. Одна из самых широко применяемых является модель RGB. Она основана на трёх основных (базовых) цветах: красный (Red), зелёный (Green) и синий (Blue). Цвета такого типа называются аддитивными, т. к. они получаются путём добавления к черному. Остальные цвета получаются сочетанием базовых. К примеру, сочетание зелёного и красного дают жёлтый цвет, сочетание зелёного и синего - голубой, а сочетание всех трёх цветов — белый. Данное цветовое пространство применяется в компьютерной графике, потому что такая организация упрощает архитектуру системы. В программах для ПК канал изображения кодируется одним байтом. В модели RGB - три канала: красный, синий и зелёный, т.е. RGB - трёхканальная цветовая модель. Каждый канал может принимать значения от 0 до 255 в десятичной или от 0 до FF в шестнадцатеричной системах счисления. В RGB каждый цвет может принимать 256 градаций: от чисто красного синего или зеленого в зависимости от канала (FF) до чёрного (00). Таким образом в модели RGB содержится всего 2563или 16777216 цветов.
Рисунок 1 Модель RGB |
Очень часто модель RGB представляют в виде куба. В трёх углах куба расположены чистые цвета: красный, зелёный и синий. В других трёх углах их полные сочетания: жёлтый, голубой и пурпурный. Между чёрным и белым цветами проведена диагональ, изображающая градацию серого.
Цветовая модель YUV.
Для более быстрого анализа получаемого видеоизображение лучше всего его представить в виде полутонного изображения. Для такого представления пользуются моделями YUV. Назначение этого цветового пространства — видеотехника. Оно и применяется в стандартах PAL (Phase Alternation Line), NTSC (National Television System Committee), SECAM (Sequential Color with Memory). Модель основана на представлении в виде трех составляющих: яркости (luma — Y) и цвет разностей (U и V). Как видим, для представления черно-белого изображения потребуется всего одна составляющая (против трех у RGB), что существенно упрощает хранение, обработку и передачу такой информации. Координата Y является диагональю куба RGB. Формулы для представления YUV через известные значения RGB следующие:
Обратное:
Здесь вместо значений R, G, B используются скорректированные значения R', G', B'. Формулы корректирования просты и зависят от конкретного стандарта. В цифровой технике диапазон значений RGB составляет [0; 255] для каждого компонента, тогда как для компонентов цветового пространства YUV диапазоны следующие: [0; 255] для Y, [-112; 112] для U и [-157; 157] для V. Кроме YUV, можно встретить еще и такие названия: YIQ, YDbDr, YCbCr. Это не другие модели, это разновидности YUV. Отличаются они коэффициентами в формулах и стандартами, в которых применяются. YIQ применяется в стандарте NTSC, YDbDr — в SECAM.
Построение моделей фона и выделение переднего плана
Общее описание
Одной из важных задач при видеонаблюдении является автоматическое обнаружение движущихся объектов в поточном видео при наличии различного рода помех и создание на этой основе системы мониторинга. Видеодетектор движения или просто детектор движения представляет собой программное средство для решения данной задачи. Главной целью для него является способность информировать человека о ситуации, сложившиеся в поле зрения камеры, и по возможности предпринять какие — либо заранее предусмотренные и программно заложенные действия. Видеодетекторы многократно повышают продуктивность работы сотрудников безопасности. Метаданные, генерируемые детектором, могут использоваться в качестве индекса для оперативного поиска событий в видеоархиве. В этом случае у оператора отпадает необходимость в изнурительном просмотре многодневной видеозаписи.
При обработке видеоизображения появляется возможность отделения движущихся объектов от неподвижных. Всю совокупность неподвижных объектов относят к фону, а движущиеся объекты к переднему плану. Задача выделения фона является достаточно непростой, поскольку на получаемом изображении при реальной видеосъемке абсолютно отсутствуют не изменяющиеся фрагменты. Данная проблема возникает из многих причин. Во-первых, это свойства реальных камер, которые обладают значительным собственным шумом. Во-вторых, влияет процесс передачи видеоинформации от видеокамеры к системе обработки, при котором изображение часто сжимается, а потом декодируется, что может привести к дополнительным искажениям сигнала. Третье причиной является объекты, которые обладают некоторым динамическим характерам, но не представляют интереса при мониторинге сцены. Данные объекты можно разделить на несколько групп:
1. Неподвижные объекты,
2. Временно движущиеся объекты,
3. Медленно движущиеся объекты,
4. Объекты, совершающие периодические колебания,
5. Неподвижные объекты с динамически меняющимся изображением,
6. Движущиеся объекты.
К неподвижным объектам относятся различные стационарные объекты, такие как сооружения, покрытие дорог, столбцы и т.п., т.е. все объекты, которые являются неподвижными в течение достаточно длительного периода времени. Временно неподвижными объектами являются запаркованные автомобили, ограждения при дорожных работах и т.п., т.е. все объекты, являющиеся неподвижными во временном диапазоне от несколько минут до нескольких дней. К медленно движущимся объектам относятся автомобили, находящиеся в дорожной пробке, тени от облаков и зданий, т.е. объекты, все время находятся в движении, которое практически невозможно различить на большинстве соседних кадров при регистрации камерой. Объектами, совершающими периодические колебания, являются деревья и кусты, флаги, т.е. объекты, которые периодически перемещаются около некоторого положения равновесия, как правило, под действием ветра. К неподвижным объектам с динамическим меняющимся изображением относятся световые рекламные табло, огни светофоров и аварийно припаркованных автомобилей и т.п. Эти объекты находятся на одно месте (т.е. не движутся), однако создаваемый ими световой поток достаточно быстро изменяется во времени.
Методы для обнаружения движущихся объектов, или иначе выделение переднего плана, можно разделить на следующие группы:
1. Метод вычитания фона.
2. Вероятностные методы.
3. Временная разница.
Методы из разных групп имеют различную сложность реализации и, соответственно, отличаются необходимыми требованиями к вычислительным ресурсам. Т.к. задача обработки видеоизображения осуществляется в реальном времени, и зачастую на одном компьютере обрабатывается информация, получаемая одновременно от нескольких камер, то обычно приходятся выбирать более простые, но в тоже время быстрые реализации методов.
Результатом применения методов для каждого кадра последовательности видеоизображений строится двоичная маска изображения, в которой значение 1 соответствует переднему плану, а 0 – фону.
Метод вычитания фона.
Вычитание фона – это наиболее широко распространенный в настоящее время подход к обнаружению движущихся объектов в видеоизображениях, полученных с помощью стационарной видеокамеры. Суть данного метода заключается в попиксельном сравнении текущего кадра с шаблоном, который обычно называется моделью фона. Данная модель представляет собой описание сцены без движущихся объектов. Для отображения изменений освещенности и геометрических параметров модель должна регулярно обновляться.
Обычно считается, что в течение первых n кадров движение в последовательности видеокамеры отсутствует. Такое ограничение накладывается при получении корректной модели фона. Однако оно не всегда может быть выполнено, поэтому вместо него рассматривают так называемую динамическую модель фона, когда считается, что в течение первых n кадров движение в последовательности видеокамеры присутствует. Но не всегда данное движение интересно для анализа.
Простейшей алгоритм вычитания фона заключается в вычислении для каждого пикселя абсолютного значение разности сохраненного первого кадра видеопоследовательности B(x,y) и текущего I(x,y). Рассчитанная разница сравнивается с порогом h:
где N и M соответственно ширина и высота видеоизображения. Если данное неравенство выполняется, то пиксель (x,y) относятся к переднему плану, иначе – к фону.
Фоновую модель можно также построить на основе нескольких первых кадров. Итоговое значение интенсивности пикселя фоновой модели берется либо как среднеарифметическое
либо медианное, центральное значение в отсортированной последовательности.
Важные недостатки при построении фоновой модели с помощью вычисления среднеарифметического значения:
· присутствие движение в кадрах,
· Случайные или резкие изменения яркости (блики, засветка).
Решение проблемы присутствия шума в видеокамере достигается обновлением фоновой модели с помощью фильтра с бесконечным импульсным откликом:
Где индекс t показывает номер кадра, а коэффициент a обычно лежит в пределах от 0.05 до 0.15 и является степенью обновления.
Главным достоинством вышеизложенных алгоритмов является их простота реализации. К недостаткам относятся высокая чувствительность к изменению освещённости сцены (при этом большая часть может быть сегментирована в передний план) и шуму камеры, невозможность обработки динамического фона, большая вероятность ошибок первого (ложные срабатывания, обусловленная шумами изображения) и второго рода (пропуск объектов) при классификации конкретных пикселей изображения. Одной из причин этого является постоянство порогового значения h. В идеале порог должен быть для каждого пикселя. Например, для областей с низкой контрастностью он должен быть меньше.
Для решения данных проблем используют адаптивную модель для фоновой модели и переднего плана:
,
либо
.
Также может быть построенная адаптивная модель для порогового значения:
Значение коэффициентов a, k берется в диапазоне от 0 до 1. Весовой коэффициент y определяет степень обновления фона и порога h. Данная модификация метода вычитания фона позволяет учитывать повторяющиеся изменения внешних условий, а также избегать сегментации движущихся объектов, появляющихся на изображении, как фоновых.
Для корректной работы данного метода необходимо аккуратно выбирать значение k. Если оно будет слишком мало, то объекты переднего плана будут быстро классифицироваться как фоновые, что приведет к неправильной сегментации в последующих кадрах. Кроме того, будет невозможно детектирование остановившихся объектов. Если значение для данного коэффициента установить слишком большим, то переднеплановые объекты никогда не будут переходить в фоновые, не позволяя отражать долговременные изменения сцены.
Вероятностный метод.
В вероятностных методах изменения значений пикселей со временем рассматриваются как пиксельный процесс, т.е. временной ряд, состоящий из значений интенсивности пикселя. В произвольный момент времени t для каждого пикселя (x, y) известна его предыстория:
Изменение пикселей фона моделируется с помощью нормально распределенной случайной величины с плотностью η(
где µ - математическое ожидание, σ – среднеквадратичное отклонение.
По нескольким последовательным кадрам для каждого пикселя производится оценка параметров µ и σ, а затем с помощью порогового значения определяется принадлежность пикселя к переднему плану или фону.
После начальной оценки значений параметров для каждого следующего кадра и каждого пикселя рассматривается неравенство
Если оно выполняется, то данный пиксель сегментируется в задний план, иначе – в передний.
При каждом новом кадре время вычисление значений математического ожидания и СКО увеличивается. Поэтому можно после начального вычисление значений при каждом новом кадре их обновлять:
Временная разница
Данный метод позволяет отделить передний план от фона при помощи операции попиксельного вычитания двух или более последовательных кадров. Метод временной разности хорошо определяют динамические изменения сцены, но обычно не могут выделить целиком все однородные блобов. Чаще всего данный метод используется совместно с другими методами, что позволяет достаточно устойчиво отделить передний план от фона.
Самым просто способом реализации данного метода является нахождение разности между интенсивности пикселей текущего кадра и предыдущего и сравнение его с порогом h.
Если эта величина превышает пороговое значение, то данный пиксель считается переднеплановым, иначе – фоном. Основную трудность вызывает правильный выбор порогового значения.
Другой алгоритм данного метода, более сложный по реализации, но более быстрый заключается в поблочной разности. Каждое входящие видеоизображение разбивается на блоки равного размера, в каждом из которых вычисляется среднеарифметическое значение не для всех пикселей, а лишь для некоторой части, что повышает быстроту вычислений и не сильно влияет на итоговый результат. После чего происходит вычисление разности среднеарифметических значений в блоке текущего и предыдущего кадра, и сравнивают его с пороговым значением. Данный метод позволяет частично решить проблемы первого рода.
2. Экспериментальные результаты.
Выделение движущихся объектов
После получения маски переднего вида необходимо на ней выделить связные части или так называемые блобы. Кроме этого решается проблема удаление не представляющих интереса областей, где произошло движение. Такой результат обычно получается вследствие шума камеры. Для решение данной проблемы необходимо выполнить следующие шаги:
1. Удалить не представляющие интереса пиксели,
2. Провести морфологическую обработку,
3. Выделить объект в прямоугольную рамку.
Для удаления пикселей получаемую маску переднего плана разбивают на зоны одинаково размера и в каждой зоне подсчитывается количество пикселей. Подсчитывается разница между получившимся результатом и максимальным количеством пикселей в зоне. Если данная разница больше порогового значения, то данную зону причисляют к фону, иначе – к переднему плану.
Для получения связанных областей вокруг проводят операцию дилатации. Соседние зоны для зоны, отмеченной, как передний план, тоже отмечают как передний план.
Группа зон, которые взаимосвязаны, помещаются в прямоугольную рамку. Границы рамки является крайние зоны выделенной области.
Рисунок 2 Метод Временной разницы
Рисунок 3 Метод вычитания фона
Рисунок 4 Вероятностный метод
Таблица 1. Временные характеристики.
Временная разница | 7 миллисекунд |
Вычитание фона | 10 миллисекунд |
Вероятностный метод | 11 миллисекунд |
В таблице 1 представлено время выполнение каждого из алгоритмов. Для подсчета использовался процессор Intel Pentium Dual T2390 с частотой 1.87 Гц.
Список используемой литературы.
1. Лукьяница, А.А. Цифровая обработка видеоизображения/ А.А. Лукьяница, А.Г. Шишкин. М.: Ай – Эс – Эс Пресс 2009. 518с.
2. Гонсалес Р. Цифровая обработка изображений/ Р. Гонсалес, Р. Вудс, пер. с англ. Ч.О. Чочиа. М.: Техносфера, 2005. 1072 с.
3. Сайт ДонНТУ, Выбор цветового пространства при работе с цифровым видео, http://www.masters.donntu.edu.ua/ 2010/fknt/zhydanova/library/gazeta.htm
4. Хабрахабр, Алгоритм определения движения через сравнение двух кадров
http://habrahabr.ru/post/134635/
5. Bradski G. Learning OpenCV/ G. Bradski, A. Kaehler.
6. Шлее М. Qt. Профессиональное программирвоание/ М. Шлее: БХВ-Петербург, СПб, 2012, 544 с.