2. 河南省高校计算智能与数据挖掘工程技术中心, 河南 新乡 453007 ;
3. 首安工业消防有限公司, 北京 100010
2. Engineering Technology Research Center for Computing Intelligence and Data Mining of Henan Province, Xinxiang Henan 453007, China ;
3. Shouan Industrial Firefighting Company Limited, Beijing 100010, China
在各类工业控制过程中,火灾对人民群众的生命与工矿企业运营构成了重大威胁。由于火灾具有突发性、危害大等特点,构建快速而准确的火焰检测方法具有重大的理论和实际意义。传统的基于探测器的火焰识别技术主要采用感光探测器、感烟探测器、感温探测器等来识别火焰,例如:徐炀[1]提出的智能火灾自动报警系统的构建,通过使用火灾报警控制器、感温感烟探测器等物理装置进行火焰检测;胡幸江[2]提出使用多波段红外火焰探测器来进行火焰检测。但是,该类方法对环境有较大的依赖性,当环境改变时精确度会急剧下降甚至失效,同时识别的范围较小,一般在500 m以内。
随着高清摄像机、图像处理技术的不断发展,利用图像处理和模式识别技术的火焰检测方法已经得到快速发展。该类方法多采用火焰的图像特征进行检测。例如,乔建强[3]提出的基于边缘信息的火焰检测方法,通过提取图像边缘提取进行火焰区域的识别;陈天炎等[4]提出的基于YCbCr颜色空间的火焰图像分割方法,根据火焰在颜色空间中的特性设置阈值,从而提取火焰区域;邵良杉等[5]提出基于CB(Codebook)的视频火焰识别算法,该方法通过在YUV空间中引入Codebook背景模型检测火焰区域,提取动静态多特征进行识别火焰;Ko等[6]提出基于视觉感知和支持向量机(Support Vector Machine,SVM)的火焰识别,主要通过火焰颜色特性、帧差、局部亮度变化先后提取火焰区域和特征。相对于基于探测器的火焰识别方法,现有基于图像特征的火焰检测效果有较明显的提升,但大多针对特定场景下的特定火焰类型进行识别,当场景、火焰颜色、火焰波动性、火焰蔓延率等特征改变时,识别精度会急剧下降;相反,若要构建通用性较高的模型,则需要引入大量的不同场景、不同火焰种类的图像进行模型训练,这对模型的时间效率又有较高要求。
为了构建通用性较强且时间效率较高的火焰识别模型,本文在尺度不变特征变换(Scale Invariant Feature Transform,SIFT)算法中引入火焰在颜色空间的特性,进行局部特征信息过滤,过滤掉噪声点,并利用关键点词袋(Bag Of Keypoints,BOK)方法将提取到的特征描述符转化成特征向量,最终构建基于极限学习机的快速火焰识别模型。该方法能够更加精确地识别火焰区域,同时可适用于不同场景、不同类型的火焰特征提取,通用性较强;此外采用了极限学习机进行模型训练和预测,从而在采用大量图像数据的情况下,保证了识别精度较高,并且极大地降低了训练和测试时间。
1 背景工作 1.1 火焰颜色空间特性Celik等[7]提出,在彩色图像的R、G、B通道中,对于火焰区域像素,对应的像素点应满足红色通道像素值大于整个图像的红色通道分量均值,对应像素点的红色通道像素值大于蓝色通道像素值,蓝色通道像素值大于绿色通道像素值。如下所示:
$R(x,y)>{{R}_{\text{mean}}}$ | (1) |
${{R}_{\text{mean}}}=\frac{1}{K}\sum\limits_{i=1}^{k}{R({{x}_{i}},{{y}_{i}})}$ | (2) |
$R(x,y)>G(x,y)>B(x,y)$ | (3) |
其中:R(x,y)、G(x,y)、B(x,y)分别代表的是(x,y)像素点在红色、绿色、蓝色通道的像素值;Rmean的代表的是整个图像中红色通道分量所有像素值的平均值。Celik等[7]提出可以将R、G、B三个颜色通道分量的比值作为判断火焰像素的另一个准则。
$\left\{ \begin{align} & 0.25\le \frac{G(x,y)}{R(x,y)+1}\le 0.65 \\ & 0.05\le \frac{B(x,y)}{R(x,y)+1}\le 0.45 \\ & 0.20\le \frac{B(x,y)}{G(x,y)+1}\le 0.60 \\ \end{align} \right.$ | (4) |
式(4)代表的是分别通过像素在R、G、B三个通道的分量像素比值,同时设定阈值,来实现检测火焰区域。
1.2 SIFT特征提取SIFT是由Lowe[8]于2004年提出的,SIFT提取的特征对尺度、光照、旋转变化具有不变特性,可以有效地检测出图像中的关键点。SIFT特征提取的过程包括:1)构造尺度空间,目的主要是模拟图像的多尺度的特征;2)通过高斯差分,找到极值点从而获取关键点;3)对关键点进行筛选,去除对比度较低的关键点和不稳定的边缘响应点;4)利用关键点邻域像素的梯度方向分布特性作为每个关键点方向参数,这样算子具备旋转不变特质;5)最后生成关键点特征描述符。
1.3 BOK由于不同的图像通过SIFT特征提取后得到的特征点的数目不同,这就造成了无法将图像的特征描述符直接放入模型进行训练。Csurka等[9]提出了BOK方法。BOK是一种对图像仿射变换具有不变特性的向量量化技术,同时对背景杂乱的图像具有较高的鲁棒性。主要过程包括:1)获取已经提取的图像特征描述符;2)构造一个基于特征点的词典,这个构造过程是一个聚类的过程,使用k-means来进行,k代表最终后得到的聚类中心的个数,每个聚类中心称为词汇,合在一起构成BOK的字典;3)计算每个样本的特征描述符中的所有行向量与词典中每个词汇的欧氏距离,从而找到其中距离最小的,并更新特征向量。BOK实现了将图像中的每个特征点都映射到视觉空间的某个词汇上,最终将图像的特征描述符转换成一个维数相同的特征向量,从而放入模型进行训练,从而较好地解决了SIFT特征描述符无法直接建模的问题。
1.4 极限学习机极限学习机(Extreme Learning Machine,ELM)[10-11]最早于2004年首次提出,它是一种单隐层前馈神经网络,其特点是随机生成输入层参数。极限学习机的这种特性反映了一定的生物学习机制[12]。利用Moore-Penrose广义逆,从而得到最小L2范数的输出层权重,整个学习过程中只需调节隐藏神经元的个数,此外极限学习机结构简单,具有对目标函数的极限逼近能力[10],因此具有非常快的学习速度和优秀的泛化能力。极限学习机模型如图 1所示。
SIFT的特征提取方法对单一背景火焰图像能够较准确地提取火焰区域,从而提取火焰特征描述符,但无法解决背景较为复杂图像的火焰特征提取。为解决上述问题,本文提出了基于颜色空间特性过滤的快速火焰识别方法,主要包括如下步骤。
2.1 SIFT提取特征描述符首先对每帧图像进行SIFT处理。过程如下:首先建立不同尺度下的图像金字塔,进行高斯差分,公式如下:
$\begin{align} & D(x,y,\sigma )=(G(x,y,k\sigma )-G(x,y,\sigma ))*I(x,y) \\ & =L(x,y,k\sigma )-L(x,y,\sigma ) \end{align}$ | (5) |
其中:“*”代表的是卷积操作;G(x,y,σ)代表的是二维正态分布;D(x,y,σ)由像素(x,y)在不同尺度下的差与输入图像进行卷积生成。找到高斯差分的极值点即为图像的关键点。
$D(x)=D+\frac{\partial {{D}^{T}}}{\partial x}x+\frac{1}{2}{{x}^{T}}\frac{{{\partial }^{2}}D}{\partial {{x}^{2}}}x$ | (6) |
$\hat{x}=-\frac{{{\partial }^{2}}{{D}^{-1}}}{\partial {{x}^{2}}}\frac{\partial D}{\partial x}$ | (7) |
$D(\hat{x})=D+\frac{1}{2}\frac{\partial {{D}^{T}}}{\partial x}\hat{x}$ | (8) |
进一步筛选关键点,通过式(6)~(8)去除对比度较低的关键点,式(6)代表的是空间尺度函数的二阶泰勒展开式,对其进行求导,并令导数等于0,从而得到式(7),再将式(7)代入式(6)得到式(8),若
$\left\{ \begin{array}{*{35}{l}} {{\mathbf{H}}_{1}}=\left[ \begin{align} & {{D}_{xx}}\mathrm{ }{{D}_{xy}} \\ & {{D}_{xy}}\mathrm{ }{{D}_{yy}} \\ \end{align} \right] \\ \alpha =r\beta \\ \end{array} \right.$ | (9) |
$\frac{\text{tr}{{({{\mathbf{H}}_{1}})}^{2}}}{\text{det}({{\mathbf{H}}_{1}})}<\frac{{{(r+1)}^{2}}}{r}$ | (10) |
利用关键点邻域像素的梯度方向分布特性计算出关键点的方向参数,如式(11)所示:
$\left\{ \begin{array}{*{35}{l}} m(x,y)=\left[ {{(L(x+1,y)-L(x-1,y))}^{2}}+{{(L(x,y+1)-L(x,y-1))}^{2}} \right] \\ \theta (x,y)=\alpha {{\tan }^{2}}\left[ \frac{(L(x,y+1)-L(x,y-1)}{L(x+1,y)-L(x-1,y)} \right] \\ \end{array} \right.$ | (11) |
最终形成特征点描述符。
2.2 引入火焰的颜色空间特性引入火焰在颜色空间中的特性,计算SIFT提取的特征点在RGB颜色空间中分量,具体筛选条件如式(1)~(4)所示,从而过滤掉特征噪声点以及噪声点的特征描述符。
2.3 转化特征向量将2.2节得到的特征描述符再进行BOK处理,对特征描述符进行聚类,得到基于SIFT和火焰颜色空间特性的特征点词典,通过比较每个样本的特征描述符与词典中每个词汇的之间的距离,从而形成最终的特征向量。
2.4 构建极限学习机模型构建极限学习机模型。如图 1所示极限学习机的代价函数如下所示:
$J={{(\mathbf{H\beta }-\mathbf{T})}^{\mathsf{T}}}(\mathbf{H\beta }-\mathbf{T})$ | (12) |
其中: β代表的隐藏层到输出层之间的参数;H代表的是隐藏层的输出;T代表的是样本的标签。由此得到输出层的权值为: β=H†T,其中H†为H的Moore-Penrose广义逆。
2.5 实验流程本文方法的流程如图 2所示。本文方法又可分为三个部分:数据预处理、特征提取和模型训练。数据预处理主要将图像数据库中的视频转换成帧图像;特征提取主要将火焰颜色空间特性引入SIFT特征提取,并使用关键点词袋法处理得到特征向量;模型训练主要是构造极限学习机分类模型。
具体过程如下:
Step1 由于图像数据库中包含图片格式和视频格式,所以首先将所有的视频格式文件转换为帧画面,得到其矩阵信息。
Step2 首先使用SIFT对Step1中得到的每一帧进行特征点检测,同时获取当前检测到的特征点在原图像上的坐标,从而获取原图像上该坐标点的R、G、B值;其次使用式(1)~(4)进行筛选关键点,从而过滤掉噪声,每张图像得到不同数量个128维的特征向量;最后进行BOK处理;对每帧图像构建一个维度相同的特征向量。
Step3 将Step2得到的特征向量集随机划分为训练集和测试集,将训练集放入ELM进行训练合模型选择,再对测试集进行预测。
3 实验过程和分析 3.1 实验设置本文采用真实的火灾图像数据进行实验,实验在Matlab2014平台上进行,实验环境为:Intel Core i7,CPU 3.60 GHz,RAM 8.00 GB。实验所用数据中的所有火焰图像来自于公开数据(http://signal.ee.bilkent.edu.tr/VisiFire/)和网络采集,划分为训练集和测试集。表 1给出了数据集的总体概述和训练集、测试集数据组成。数据集中的火焰图像包含了不同场景、不同类型的火焰,训练集和测试集图像均从数据集中随机抽取。
图 3表示的是使用SIFT特征提取方法与本文特征提取方法在可视化特征点上的对比。图 3(a)为原火焰图像,图 3(b)为SIFT提取出来的特征点在原图上的显示,图 3(c)为在SIFT特征提取中引入火焰颜色空间特性得到的特征点在原图上的显示。箭头代表的是特征点以及方向。可以看出,SIFT特征对于背景较为单一的画面(如图 3的第5行(b)列),能够较好地识别出火焰的位置,但是针对火焰区域较小以及背景较为复杂的场景(如图 3的前4行(b)列),则不能较准确地识别到火焰的位置。当在SIFT特征提取中引入火焰颜色空间特性后,如图 3(c)所示,能够较好地检测出火焰区域,明显地过滤掉了噪声,效果明显优于只使用SIFT进行特征提取。
图 4表示的是随机抽取的100个含有火焰的图像特征向量,图 5表示的是随机抽取的100个不含有火焰的图像特征向量,均为采用BOK方法构建得到的维度一致的特征向量。可以看出,图 5中非火焰特征向量在词汇的第120列和330列左右处有较高的峰值,其余列峰值较低,并且特征向量最大峰值不超过5;而图 4中得到的火焰特征直方图的峰值分布广泛,且每个特征向量的最大峰值均超过5。这表明,本文方法提取的火焰特征向量直方图与非火焰特征向量差异较为明显,从而保证特征具有较大的区分度。
为验证本文方法的效果,引入三种方法进行对比。其中,方法一采用信息熵、纹理特征、火焰蔓延率提取特征,并使用SVM作为识别模型;方法二采用本文所提的基于颜色空间特性过滤的SIFT特征提取方法,并使用SVM作为识别模型;方法三采用SIFT提取特征描述符和BOK特征向量转换,并使用极限学习机作为识别模型;方法四为本文所提方法,提取基于SIFT和火焰颜色空间特性的图像特征,使用极限学习机作为识别模型。其中,SVM使用LibSVM工具箱实现,核函数采用径向基函数(Radial Basis Function,RBF),核参数设置为10,正则化参数设置为100;ELM隐层节点设为4000,正则项系数C设置为1E-3。为消除ELM随机初始值的影响,本文结果均为100次实验的平均值。
表 2给出了四种方法在11000张训练样本和4301张测试样本上的对比结果,为避免实验结果的波动性,表中的实验结果均为实验100次所求的平均值。可以看出,本文方法以及方法二、三,在测试精度上明显优于方法一,方法一测试集精度为67%,方法二、三、四测试集精度均在96%以上,这充分说明了在火焰识别中使用SIFT特征提取的效果明显,而纹理、信息熵、火焰蔓延率特征在不同的场景和火焰类型的识别问题上并不具有很好的通用性;方法三的训练和测试时间明显优于方法二,且测试精度在96.48%,略优于方法二的96.14%,这说明使用极限学习机构造模型在保证精度的同时极大地提高了模型训练测试的效率;本文方法与方法一、二、三比较,在训练测试时间、测试精度以及召回率准确率上均占优势,测试集精度达到了97.16%,高于方法一、二、三,且11000张图像的训练速度在30 s左右,4301张图像的测试时间在2 s左右,这充分说明了本文方法能够较为精准有效地处理通用型快速火焰识别问题。
图 6给出了不同隐层节点数目下的极限学习机训练和测试时间。可以看出,隐层节点数目由100增加到5000的过程中,模型测试时间变动较小,控制在3 s以内,这说明本文方法具有较大工业应用价值,能够快速地进行火焰判定。
图 7给出的是四种方法的ROC曲线,图 8是对图 7箭头处放大后的ROC曲线。结合图 7~8可以明显观察到本文方法与方法二、方法三的ROC曲线面积远大于方法一,在模型平均性能上明显优于方法一,这与表 2的数据对比结果是一致的。同时对比方法二和方法三的ROC曲线,表明本文提出的特征提取方法的效果优于直接使用SIFT特征提取。同时,对比四种方法的ROC曲线,既体现了本文所述特征提取方法的优势,又表明了极限学习机在模型构建上的优势。
火焰图像识别的核心问题在于有效捕捉火焰区域和特征,并构建快速的识别模型。本文通过在SIFT特征提取中创新性地加入火焰颜色空间特性,有效过滤噪声点,并利用关键点词袋法将得到的特征描述符转换成特征向量,进而使用极限学习机构建快速火焰识别模型。本文方法相对于现有的基于图像特征的火焰特征提取方法,在保证识别精度的同时降低了模型的训练时间和测试时间,并具有较强的通用性,适合应用于不同场景的实时火焰识别。但本文在研究过程中也遇到了新的挑战,对于复杂场景下的多分类问题,例如烟雾、火焰、火势大小等多分类问题。本文方法可在如下方面进行进一步的研究:进一步将深度学习架构引入火焰识别,并进一步使用深度学习处理火焰识别中的多分类问题。
[1] | 徐炀. 智能火灾自动报警系统的构建[D]. 天津:天津理工大学, 2013:10-16. ( XU Y. The structure of automatic fire alarm system based on virtual instrument [D]. Tianjin: Tianjin University of Technology, 2013:10-16. ) (0) |
[2] | 胡幸江. 多波段红外火焰探测器系统研究与产品开发[D]. 杭州:浙江大学, 2013:10-17. ( HU X J. Research and product development of MIR flame detector system [D]. Hangzhou: Zhejiang University, 2013:10-17. ) (0) |
[3] | 乔建强. 火焰图像边缘检测及修复算法的研究[D]. 北京:华北电力大学, 2015:15-20. ( QIAO J Q. Research on the flame image edge detection and restoration algorithm [D]. Beijing: North China Electric Power University, 2015:15-20. ) (0) |
[4] | 陈天炎, 曾思通, 吴海彬. 基于YCbCr颜色空间的火焰图像分割方法[J]. 传感器与微系统, 2011, 30 (10) : 62-64. ( CHEN T Y, ZENG S T, WU H B. Flame image segmentation method based onYCbCr color space[J]. Transducer and Microsystem Technologies, 2011, 30 (10) : 62-64. ) (0) |
[5] | 邵良杉, 郭雅婵. 基于Codebook的视频火焰识别算法[J]. 计算机应用, 2015, 35 (5) : 1483-1487. ( SHAO L S, GUO Y C. Flame recognition algorithm based on Codebook in video[J]. Journal of Computer Applications, 2015, 35 (5) : 1483-1487. ) (0) |
[6] | KO B C, CHEONG K H, NAM J Y. Fire detection based on vision sensor and support vector machines[J]. Fire Safety Journal, 2009, 44 (3) : 322-329. doi: 10.1016/j.firesaf.2008.07.006 (0) |
[7] | CELIK T, DEMIREL H. Fire detection using statistical color model in video sequences[J]. Journal of Visual Communication & Image Representation, 2007, 18 (2) : 176-185. (0) |
[8] | LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60 (2) : 91-110. doi: 10.1023/B:VISI.0000029664.99615.94 (0) |
[9] | CSURKA G, DANCE C R, FAN L, et al. Visual categorization with bags of keypoints[EB/OL]. [2016-02-15]. http://www.cs.haifa.ac.il/~rita/vision_lab_course/2007/Project3_files/csurka_dance_bags_keypoints.pdf. (0) |
[10] | HUANG G B. What are extreme learning machines? Filling the gap between frank Rosenblatt's dream and John von Neumann's puzzle[J]. Cognitive Computation, 2015, 7 (3) : 263-278. doi: 10.1007/s12559-015-9333-0 (0) |
[11] | HUANG G B, ZHOU H, DING X, et al. Extreme learning machine for regression and multiclass classification[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B, 2012, 42 (2) : 513-529. doi: 10.1109/TSMCB.2011.2168604 (0) |
[12] | HUANG G B, BAI Z, KASUN L L C, et al. Local receptive fields based extreme learning machine[J]. IEEE Computational Intelligence Magazine, 2015, 10 (2) : 18-29. doi: 10.1109/MCI.2015.2405316 (0) |