Новинки 23.12.2014

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

В отличие от аппаратных датчиков, они способны распознавать дым или огонь по изображению, что позволяет обнаружить возгорание раньше, контролировать бόльшие площади, использовать их для обнаружения огня в помещении и на протяженных территориях (например, в парках или лесных массивых).

Данная статья посвящена рассмотрению наиболее популярных алгоритмов детектирования дыма и огня в кадре.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Статья опубликована в журнале "Системы Безопасности" №5, 2014

Александр Коробков, директор по разработкам, компания Macroscop