Видеодетекторы дыма и огня: раннее обнаружение

Программные детекторы дыма и огня могут быть использованы для обнаружения возгорания в помещении и на протяженных территориях, например в парках или лесных массивах. Рассмотрим наиболее популярные в настоящее время алгоритмы детектирования дыма и огня в кадре.

Детектирование дыма

Алгоритм, детектирующий движущийся дым, вычисляет для этого характерные показатели Прежде всего, алгоритму необходимо выделить фон - все неподвижные пиксели сцены. Поступающий с камеры кадр делится на блоки, для каждого блока алгоритм вычисляет 3 характерные величины: α, β, γ.

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

Параметр β - пространственно-временная величина - фиксирует изменение пространственной энергии с течением времени. Если энергия изменилась в блоке скачком - быстро и сильно, - то, скорее всего, в кадре появился объект переднего плана (человек, автомобиль и т.п.), если же изменение происходит медленно и плавно, высока вероятность, что в кадре появился дым

Параметр γ - цветовременная компонента - фиксирует изменение цветов в блоке с течением времени. Определяется максимальной разницей цветовых значений в блоке (например, для граничного случая, когда в блоке присутствуют пиксели белых и черных цветов, разница составит 255). Алгоритм оценивает скорость изменения этой разницы во времени: если скорость высокая, то, вероятно, в кадре появился объект переднего плана, если же изменения происходят медленно, то появился дым.

 

После обработки каждого блока алгоритм получает 3 числа. Чтобы сделать вывод, присутствует в блоке задымленность или нет, системе необходимо сравнить эти числа с пороговыми значениями. Для получения порога алгоритм предварительно обучают на выборке: он вычисляет α, β, γ для ряда кадров, на которых присутствует дым, а также для ряда кадров, на которых дыма нет. Алгоритм "запоминает" эти значения и на их основании задает порог.

Расчет параметров производится для всех блоков каждого кадра, но сравнение с пороговым значением осуществляется только для блоков, в которых присутствует движение (детектируется только движущийся дым). На основании сравнения программа делает предположение, есть ли в кадре дым. После этого проводится ряд проверок.

Пост-проверки видеокадров
1. Ведется анализ расположения блоков для исключения ложных срабатываний на объекты переднего плана. Программа объединяет блоки, в которых есть движение, в связанные области, затем рассматривается каждая из них. В область движения попадают блоки, в которых детектирован дым, и блоки, в которых дыма нет (алгоритм уже провел их проверку). Далее вычисляется процент содержания в каждой связной области блоков, в которых есть дым. Если процент содержания блоков с дымом выше порогового значения, вся область признается задымленной, если ниже – алгоритм классифицирует область как объект переднего плана. Таким образом, происходит переход от блоков к связным классифицированным областям в кадре.

 

2. Ведется анализ последовательности кадров. Программа считает процент кадров с содержанием дыма на последовательности, и если он выше порогового значения, подтверждается теория о наличии задымленности. С поступлением новых кадров последовательность обновляется: первый ее кадр исключается, остальные сдвигаются, и новый кадр становится на место последнего. Такое обновление приведет к тому, что в случае появления в кадре дыма вся последовательность через некоторое время будет состоять только из задымленных кадров, и программа получит 100%-е подтверждение.

В среднем алгоритму требуется 10 с для обнаружения дыма (при частоте съемки выше 5 кадр/с).

Наиболее точная детекция достигается для метода, принимающего решение о наличии дыма на основании сравнения трех описанных параметров, но существуют алгоритмы, которые работают только с одним параметром α

Существует еще один метод, основой которого служит анализ преобладающих в кадре цветов. Для дыма характерны белый и черный цвет, а также оттенки серого. Алгоритм делит кадр, в котором зафиксировано движение, на блоки и выделяет преобладающие в них цвета. Затем анализирует, меняются ли цвета блоков, и если да, то на какие, а также с какой скоростью. Если цвета меняются на характерные для дыма и с характерной скоростью (порядок ее величины известен заранее), программа выдает сообщение о появлении в кадре дыма. В качестве проверки также используется анализ последовательности кадров.

Еще раз отмечу, что описанные методы детектируют только движущийся дым.

Детектирование огня

В основе методов детектирования огня лежит сравнение характеристик движущихся областей кадра с характерными для огня параметрами.

Поступающие кадры подвергаются цветовой кластеризации – выделяются области определенного цвета. Затем работа ведется с областями характерных для огня цветов (красными, желтыми, оранжевыми, белыми), из дальнейшего рассмотрения исключаются области отличных цветов (зеленые, черные, синие и т.д.). Далее анализируются форма и границы оставшихся областей, а также колебания этих границ на последовательности кадров, проводится сравнение полученных данных с характерными формами пламени и параметрами колебания. На этом этапе отбрасываются ложные области, которые имеют характерный для пламени цвет, но обладают нехарактерной формой или нехарактерно изменяются. И на финальном этапе вычисляется степень интенсивности пламени через площадь его области относительно площади всего кадра, эта степень сравнивается с пороговым значением (его может задать администратор системы, чтобы исключить срабатывания в ситуациях, потенциально не представляющих интереса). После проведенных проверок и сравнений система принимает решение о выводе тревожного сообщения.

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

Точность обнаружения

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

 http://www.secuteck.ru