基于计算机视觉的火苗检测算法研究
2022-02-15包德尧
牛 犇,包德尧
(金陵科技学院 电子信息工程学院 江苏 南京 211169)
0 引言
火灾一直是人类生产生活中危害最大的灾害之一,在火灾发生的初期对火苗进行有效检测有助于预防火势蔓延,防止灾难性事故发生,具有重要的实际意义。近些年,随着计算机视觉技术的快速发展,以光学传感器为基础监测单元的视频火苗检测技术逐渐成为火灾防控的重要手段。
基于计算机视觉技术的火苗检测方法主要分为两种,一是通过提取图像中的火苗特征,使用分类算法对提取的特征进行分类,二是基于深度学习的火苗检测算法。Foggia等[1]采用颜色、形态变化、运动来对各个区域进行判别,根据权重的投票策略进行综合决策,该方法主要应用于固定的视觉系统。刘小虎等[2]采用改进的Soble边缘检测算法,选取颜色B分量的边缘梯度作为判断火焰和干扰图像的依据。李巨虎等[3]在颜色特征的基础上,提取图像空域和频域的纹理特征,该算法能够提取火焰局部的微纹理信息,表现出更好的鲁棒性。Khalil等[4]结合RGB和CIE Lab颜色模型,通过计算火焰的运动及增长趋势判断火灾危害等级。Torabian等[5]提出一种RGB概率模型来分离每帧图像中与火灾区域颜色相似的运动区域,从候选区域中提取相关系数、互信息等时空特征,使用SVM分类器对候选区域进行分类。王彦朋等[6]提出了基于熵值加权支持向量机的火焰检测方法。李欣健等[7]提出基于YOLO的火焰检测方法,使用深度可分离卷积改进火焰检测模型的网络结构,并使用多种数据增强技术与基于边框的损失函数以提高精度。张弛等[8]提出一种基于改进混合高斯模型(GMM)和多特征融合的视频火焰检测算法。严忱等[9]提出了一种融合多级特征的视频火焰检测方法,针对下采样分辨率变小导致丢失目标的问题,引入了反卷积模块,并融合深层具有较强语义信息的特征和浅层具有较强细节信息的特征,从而有效提高了火焰的检测率。与传统手工提取特征的方法相比,深度学习在目标检测领域具有抗干扰能力强、准确率高的优点[10],但对于设备的要求较高,不便于应用在嵌入式系统中。因此,本文采用HSV颜色空间,通过欧式距离与外接矩形中心点判断火苗区域,对火苗的动态特征、静态特征、纹理特征等进行多特征融合,从而实现有效的火苗检测。
1 基于HSV颜色模型的多特征融合火苗检测
通过嵌入式硬件设备控制摄像头获取到图像,将获取的第一帧图像作为背景,获取的后续帧图像通过背景差分法,滤除非动态信息,得到动态变化的区域(如飘动的火苗),在HSV颜色模型下进行疑似火苗判别,判断出当前帧图像是否满足有疑似火苗颜色的两种颜色区域,且满足设置的欧式距离;如果没有,则更换背景。如果有,则将两种颜色的区域进行相加,得到疑似火苗区域,并计算疑似火苗区域的纹理参数,将计算出的纹理参数送入已经训练好的支持向量机进行判定,若连续4帧判定为存在火苗,则蜂鸣器报警;否则继续进行特征提取、特征融合及判定,寻找飘动的火苗。
火苗颜色HSV模型判别算法,如图1所示。
图1 火苗颜色HSV模型判别算法
输入一幅图像,利用表1所示的黄色与橙色的颜色数组分布范围,对颜色区域去除噪声点并填补颜色区域内部空隙。若两种颜色区域有一个不存在,则继续检测下一幅图像。若都存在,则用外接矩形标记两个颜色区域,得到外接矩形的中心点位置。利用欧式距离来衡量两个外接矩形中心点位置的距离,若计算出的欧式距离满足在一定范围内,则说明两个颜色区域分别是火苗的一部分,将两个颜色区域进行合并,得到疑似火苗颜色区域。
表1 HSV色彩空间下的颜色数组范围
通过HSV颜色检测,可以看出橙色能够较好地检测到火焰的边缘区域,黄色可以较好地检测到火焰的部分区域。白色虽然能检测到火焰的中心区域,但只有在黑暗条件下,火焰才有白色区域产生。橙色和黄色进行颜色检测区域位置信息拼接更容易得到火苗的整个样貌,因此可结合其两色的外接矩形中心点的欧式距离,以距离来衡量是否有火苗的产生。
1.1 火苗图像预处理
当火灾发生时,采集到的图像中火苗区域在灰度图像中十分显著,图像融合可以有效地降低图像的对比度,火焰在灰度图像中呈现出极为突出的亮度区域,对比度降低后相对中等强度的亮度区域会被削弱,从而使整个图像偏暗。降低对比度可以有效减少颜色特征的误检率。火苗图像权值为0.2,纯黑色图像权值为0.8,图像融合如式(1)所示。
其中src1是输入的第一幅图像,alpha是第一幅图像的权重,src2是输入的第二幅图像,beta是第二幅图像的权重。
1.2 欧式距离
设两个像素点p(x,y)、q(s,t),两点间的欧式距离如式(2)所示:
与(x,y)的距离小于等于某个值r的像素包含在以(x,y)为圆心,以r为半径的圆平面内。通常将欧式距离进行标准化,距离越大,表示个体间差异越大。欧式距离如图2所示。
图2 欧式距离
欧式距离的选取与实际设备获取的图片分辨率有一定的关系。高清摄像头获取的图像能用更多的像素来显示图像,其外接矩形中心距离更大。由于训练火苗图像大多数为25×16,根据勾股定理,火苗图像对角线不超过30像素。树莓派获取视频每帧图像大小为640×480,最后设定欧式距离在[0,30],此距离为每帧图像是否存在火苗的欧式距离条件。
1.3 基于SVM的火苗检测分类器
基于支持向量机的训练与检测火苗过程如图3所示。首先建立火苗的样本库,然后计算每一张火苗图像的联合概率矩阵参数,并利用支持向量机对训练数据进行训练,得到火苗与非火苗的分类模型。
图3 支持向量机识别火苗流程图
本文采用嵌入式硬件设备在室内不同时间段拍摄火苗视频,从所拍摄的视频中选取火苗图像,并在网络上选取部分火苗图像,共同构成火苗样本库,火苗图像统一归一化为25×16,负样本则是选取一些有颜色的疑似火苗图像,如图4所示。
图4 部分训练样本图像
图4所示是用于训练的部分样本图像,其中第一行是正样本,第二行是负样本。训练集包括800张含有各种火苗形态的图像作为正样本,300张具有火苗类似颜色物体的图像作为负样本。核函数采用RBF,使用Libsvm得到的最优参数gama为0.25。
2 实验结果与分析
2.1 实验环境与配置
为了验证本文所提出的算法在火灾初期对火苗进行实时检测的效果,将本文的算法在嵌入式硬件设备上进行实验,软件使用Python 3和opencv4.5.0。其软硬件配置如表2所示。
表2 树莓派软硬件配置
2.2 实验数据集
火苗是燃烧物从起始燃烧期直到燃烧旺盛期的一个过渡过程。本实验选择的燃烧物是日常使用的面纸。使用嵌入式硬件设备进行实验,控制摄像头获取测试视频,室内场景下拍摄,其视频帧大小640×480,视频帧率是30帧/秒。在实验过程中,在不同时间段下拍摄了火苗视频,并对这些视频进行测试。表3所示为测试视频的属性描述。
表3 测试视频属性
2.3 火苗检测结果分析
视频1、视频2、视频3在不同光照条件下的火苗检测效果,如图5所示。
图5 不同光照条件下的火苗检测效果
从图5可以看出,燃烧初始状态的火苗可以被有效检测出来,并用绿色矩形框进行实时标记。
从表4可以看出,在视频1、视频2、视频3所示的不同光照条件下,本文所提出的算法对于面纸燃烧产生的火苗可以达到98%以上的检测精度,并进行实时报警,从而有效防范火灾的发生。
表4 火苗检测准确率
4 结论
本文基于HSV颜色模型,提出了一种使用欧式距离与外接矩形中心点相结合的火苗区域判定算法。使用火苗的单一特征会造成大量的虚警和误检,本文结合火苗的运动特征、颜色特征和纹理特征进行特征融合,提高了火苗的检测率,从最终在嵌入式硬件设备上的实验结果可以看出,在室内环境下,检测到受到不同光照影响的火苗:在测试视频上的平均检测率达到了98%以上,并且检测速度达到了30帧/秒,满足实时性要求。但本文算法也存在一定不足,主要表现在场景中出现与火苗颜色相似度极高的目标会被误检为火苗,本文后续研究工作将从火苗的频域特征及火苗燃烧趋势等时空信息进一步提升火苗检测算法性能。