В рубрику "Видеонаблюдение (CCTV)" | К списку рубрик | К списку авторов | К списку публикаций
Программные детекторы дыма и огня могут быть использованы для обнаружения возгорания в помещении и на протяженных территориях, например в парках или лесных массивах. Рассмотрим наиболее популярные в настоящее время алгоритмы детектирования дыма и огня в кадре.
Алгоритм, детектирующий движущийся дым, вычисляет для этого характерные показатели Прежде всего, алгоритму необходимо выделить фон - все неподвижные пиксели сцены. Поступающий с камеры кадр делится на блоки, для каждого блока алгоритм вычисляет 3 характерные величины: α, β, γ.
Оценка характерных параметров
Параметр α отвечает за "текстурированность" картинки. Это отношение пространственной энергии в блоке текущей картинки к пространственной энергии соответствующего блока фонового изображения. Под пространственной энергией разработчики понимают объем информации, заложенной в блоке, она зависит от яркости, интенсивности, количества цветов в блоке и других характерных параметров. При появлении в кадре дыма пространственная энергия блоков уменьшается, так как теряется интенсивность, меняются цвета. Чем меньше значение а, тем более тусклым становится блок в текущем кадре, что характерно при появлении задымленности Алгоритм фиксирует уменьшение энергии в сравнении с фоновым изображением и предполагает, что в кадре появился дым
Параметр β - пространственно-временная величина - фиксирует изменение пространственной энергии с течением времени. Если энергия изменилась в блоке скачком - быстро и сильно, - то, скорее всего, в кадре появился объект переднего плана (человек, автомобиль и т.п.), если же изменение происходит медленно и плавно, высока вероятность, что в кадре появился дым
Параметр γ - цветовременная компонента - фиксирует изменение цветов в блоке с течением времени. Определяется максимальной разницей цветовых значений в блоке (например, для граничного случая, когда в блоке присутствуют пиксели белых и черных цветов, разница составит 255). Алгоритм оценивает скорость изменения этой разницы во времени: если скорость высокая, то, вероятно, в кадре появился объект переднего плана, если же изменения происходят медленно, то появился дым.
После обработки каждого блока алгоритм получает 3 числа. Чтобы сделать вывод, присутствует в блоке задымленность или нет, системе необходимо сравнить эти числа с пороговыми значениями. Для получения порога алгоритм предварительно обучают на выборке: он вычисляет α, β, γ для ряда кадров, на которых присутствует дым, а также для ряда кадров, на которых дыма нет. Алгоритм "запоминает" эти значения и на их основании задает порог.
Расчет параметров производится для всех блоков каждого кадра, но сравнение с пороговым значением осуществляется только для блоков, в которых присутствует движение (детектируется только движущийся дым). На основании сравнения программа делает предположение, есть ли в кадре дым. После этого проводится ряд проверок.
Пост-проверки видеокадров
1. Ведется анализ расположения блоков для исключения ложных срабатываний на объекты переднего плана. Программа объединяет блоки, в которых есть движение, в связанные области, затем рассматривается каждая из них. В область движения попадают блоки, в которых детектирован дым, и блоки, в которых дыма нет (алгоритм уже провел их проверку). Далее вычисляется процент содержания в каждой связной области блоков, в которых есть дым. Если процент содержания блоков с дымом выше порогового значения, вся область признается задымленной, если ниже – алгоритм классифицирует область как объект переднего плана. Таким образом, происходит переход от блоков к связным классифицированным областям в кадре.
2. Ведется анализ последовательности кадров. Программа считает процент кадров с содержанием дыма на последовательности, и если он выше порогового значения, подтверждается теория о наличии задымленности. С поступлением новых кадров последовательность обновляется: первый ее кадр исключается, остальные сдвигаются, и новый кадр становится на место последнего. Такое обновление приведет к тому, что в случае появления в кадре дыма вся последовательность через некоторое время будет состоять только из задымленных кадров, и программа получит 100%-е подтверждение.
В среднем алгоритму требуется 10 с для обнаружения дыма (при частоте съемки выше 5 кадр/с).
Существует еще один метод, основой которого служит анализ преобладающих в кадре цветов. Для дыма характерны белый и черный цвет, а также оттенки серого. Алгоритм делит кадр, в котором зафиксировано движение, на блоки и выделяет преобладающие в них цвета. Затем анализирует, меняются ли цвета блоков, и если да, то на какие, а также с какой скоростью. Если цвета меняются на характерные для дыма и с характерной скоростью (порядок ее величины известен заранее), программа выдает сообщение о появлении в кадре дыма. В качестве проверки также используется анализ последовательности кадров.
Еще раз отмечу, что описанные методы детектируют только движущийся дым.
В основе методов детектирования огня лежит сравнение характеристик движущихся областей кадра с характерными для огня параметрами.
Поступающие кадры подвергаются цветовой кластеризации – выделяются области определенного цвета. Затем работа ведется с областями характерных для огня цветов (красными, желтыми, оранжевыми, белыми), из дальнейшего рассмотрения исключаются области отличных цветов (зеленые, черные, синие и т.д.). Далее анализируются форма и границы оставшихся областей, а также колебания этих границ на последовательности кадров, проводится сравнение полученных данных с характерными формами пламени и параметрами колебания. На этом этапе отбрасываются ложные области, которые имеют характерный для пламени цвет, но обладают нехарактерной формой или нехарактерно изменяются. И на финальном этапе вычисляется степень интенсивности пламени через площадь его области относительно площади всего кадра, эта степень сравнивается с пороговым значением (его может задать администратор системы, чтобы исключить срабатывания в ситуациях, потенциально не представляющих интереса). После проведенных проверок и сравнений система принимает решение о выводе тревожного сообщения.
В связи с тем, что дым и огонь нестатичны, рассмотренные алгоритмы детектирования ведут анализ только движущихся областей кадра, оценивая характерные параметры. Наиболее точные результаты в детектировании дыма показывает алгоритм, основанный на вычислении трех характерных величин и сравнении их с пороговым значением, а также выполняющий постпроверки на последовательности кадров. Высокую точность обнаружения огня обеспечивает метод комплексного анализа движущихся частей кадра: их цветов, формы, скорости изменения. А для повышения точности детектирования разработчики проводят обучение детекторов на выборке видеозаписей с различными видами пожаров.
Опубликовано: Журнал "Системы безопасности" #5, 2014
Посещений: 11717
Автор
| |||
В рубрику "Видеонаблюдение (CCTV)" | К списку рубрик | К списку авторов | К списку публикаций