基于支持向量机的图像型火灾探测算法

时间:2022-10-16 08:31:02

基于支持向量机的图像型火灾探测算法

摘 要:火灾探测的核心问题是火焰和疑似火焰物体的识别和分类,支持向量机是在统计学习理论基础上发展起来的一种很有潜力的数据分类工具。针对传统火灾探测方法存在的不足,提出了一种基于支持向量机的图像型火灾探测算法,并与基于神经网络的图像型火灾探测算法做了比较。实验结果表明支持向量机克服了神经网络容易过学习、容易陷入局部极小点等不足,同时避免了人为设定特征量识别阈值时需要做大量实验和统计的复杂性。基于支持向量机的图像型火灾探测算法识别准确率高,对于小样本、高维数、非线性的分类问题效果显著。

关键词:支持向量机;图像型;火灾探测;特征提取;分类

中图分类号: TP181

文献标志码:A

Image fire detection algorithm based on support vector machine

YANG Na-juan, WANG Hui-qin, MA Zong-fang

(

School of Information and Control Engineering, Xian University of Architecture and Technology, Xian Shaanxi 710055, China

)

Abstract:

The key problem of fire detection is the recognition and classfication for fire flame and disturb object.Support vector machine is a potential data classfication tool developed from statistical theory.Aiming at the shortcomings of traditional fire detection,an image fire detection algorithm based on support vector machine is presented,and compared with the image fire detection based on neural network.The results show that the algorithm presented in this paper overcomed the disadvantages of neural network such as over learing,trapping in local minimum easily etc.,and reduced the complexity of doing a lot of experiments and statistical analysis to obtain recognition threshold.The experiment results show that the image fire detection algorithm based on support vector machine has high accurate,and it is effective to sovle the recognation problem of small samples,multi-dimensions and nonlinear problem.

Concerning the shortcomings of traditional fire detection, an image fire detection algorithm based on Support Vector Machine (SVM) was presented,and compared with the image fire detection based on neural network. The results show that the presented algorithm overcame the disadvantages of neural network such as over learning, being easily trapped in local minimum, etc., and reduced the complexity of doing a lot of experiments and statistical analysis to obtain recognition threshold. The experimental results show that the image fire detection algorithm based on SVM has higher accuracy, and it is effective to solve the recognition with small samples, multi-dimension and nonlinear property.

Key words:

Support Vector Machine (SVM); image; fire detection; feature extraction; classfication

0 引言

火灾是一种在时空上失去控制的剧烈燃烧现象,如果不能及时准确地实现火灾探测将会造成巨大的损失。特别是随着高层建筑的日益密集,火灾造成的巨大损失使人们更加认识到了早期准确探测火灾的重要性。目前,比较成熟的火灾探测器有:气敏型、感温型、感烟型和感光型等,分别利用火焰的烟雾、温度、光等的特性对火灾进行探测。但由于火灾发生的不确定性和多变性,传统火灾探测器采集的数据或信息都不可避免地受到周围环境等不确定因素的影响,表现出一定的局限性。图像型火灾探测技术利用摄像头对现场进行监视,通过早期火灾火焰在图像上表现出的静态以及动态特征来探测火灾,其核心问题是对火焰图像的识别和分类。

而支持向量机(Support Vector Machine,SVM)采用结构风险最小化原理兼顾训练误差和泛化能力,能较好地解决小样本、非线性、高维数和局部极小点等实际问题。目前支持向量机已成功用于故障分类、时间序列预测、非线性系统建模和辨识等领域。本文将支持向量机应用于图像型火灾探测的研究,克服了已有火灾识别算法在识别时需要人为设定阈值的局限性,提高了火灾识别的自适应性和准确性。

1 支持向量机算法

支持向量机[1]的基本思想是:通过某种事先定义的非线性映射,将输入向量映射到一个高维特征空间,在这个空间中构造一个超平面作为决策曲面,使得被识别的样本中正例和反例之间的隔离边缘最大化。它克服了神经网络学习过程中易过学习、易陷入局部极小点的缺点,对于小样本、高维数、非线性的分类问题效果显著。

支持向量机是从线性可分情况下的最优分类面发展而来的[2]。设线性可分样本集为{(xi,yi)|i=1,…,N},其中xi是第i个样本的输入,yi是第i个样本的期望输出。对于两类识别问题一般令y∈{-1,+1},N为样本数目。线性判别函数的一般形式为:g(x) =wT0 x + b0┆,对其作归一化处理,使离分类面最近的样本的|g(x)|=1,分类间隔等于2/w2,使间隔最大就等价于使w2最小;而要求分类正确,就要满足: yi(wT•xi+b)≥+1,i=1,2,3,…,N。故满足以上两个条件的分类面就是最优分类面。最优分类判别函数为: f(x)=sgn(w•x+b)。

对于线性不可分情况,引入非负松弛变量ξi≥0,ξi是考虑分类误差而引入的松弛因子,允许错分样本存在。此时需要在式(1)所示的约束条件下最小化w2:

yi(w•xi+b)-1+ξi≥0; i=1,2,…,N(1)

为了克服神经网络易陷入局部最优解的缺点,可以将最优分类面问题转化成如下的凸二次优化问题:

min J(w,ξ)=12w2+C∑Ni=1ξi(2)

subject to yi(w•xi+b)≥1-ξi;

i=1,2,…,N

ξi≥0;i=1,2,…,N

用Largrange乘子算法把上式转化成如下形式:

L(w2,b,ξ,α,β)=12w2+C∑Ni=1ξi-

∑Ni=1αi[yi(w•xi+b)-1+ξi]-

∑Ni=1βiξi(3)

式(3)中,αi≥0,βi≥0为拉格朗日乘子,常数C>0是对错分样本的惩罚因子,用来控制对错分样本惩罚程度。

根据KKT条件得式(4):

w=∑Ni=1αiyixiぁNi=1αiyi=0(4)

将式(4)代入式(2),可以得到式(5)所示的凸二次优化问题的对偶形式:

┆max Q(α) = ∑Ni = 1αi -12∑Ni = 1∑Nj = 1αi αj yi yj xTi xj (5)

subject to:∑Ni=1αiyi=00≤αi≤C

在求解式(5)得到的结果中,只有少部分αi不为零,此时所对应的样本是离最优分类面最近的,这些样本被称为支持向量,求解上述问题得最优分类面的权系数向量和最优分类函数,分别如式(6)和式(7)所示:

w0=∑Ni=1αiyixi (6)

f(x)=sgn[∑Ni=1αiyi(xTxi)+b](7)

┑4期 ┭钅染甑:基于支持向量机的图像型火灾探测算法

┆扑慊应用 ┑30卷

2 基于支持向量机的火灾识别

基于支持向量机的图像型火灾探测算法是将图像型火灾探测算法和支持向量机理论相结合的一种算法,结合点就是将图像型火灾探测算法中提取出的火灾特征值作为支持向量机模型的输入数据。利用SVM识别火灾,首先进行图像分割和火灾特征提取,将获取的火灾图像特征值作为SVM训练样本数据;再选取合适的核函数和惩罚因子,建立SVM模型并利用SVM识别火灾,算法流程如图1所示。

图片

图1 基于支持向量机的图像型火灾探测算法流程

2.1 HSI空间的图像分割

目前,用于描述图像颜色的色彩空间有很多种。其中HSI空间是从人的视觉系统出发,此空间的图像看起来更加自然和直观。而通过摄像头一般获取的是RGB空间的图像,所以应该先将RGB空间的图像转换到HSI空间。

根据资料显示,98%以上的火灾早期产生的火焰的颜色都分布在红到黄的范围内[3],并且火焰区域图像饱和度较高。在HSI空间中,红色和黄调在0~60。根据已有经验值和多次实验,本文以0≤H≤60,0.2≤S≤1,100≤I≤255为火焰分割阈值提取火焰疑似区域。对火焰图像f(x,y)进行彩色分割,所得图像为s(x,y),则:

s(x,y)=0, f(x,y)∈C

f(x,y),其他 (8)

其中C为火焰的H、S、I所构成的空间。假设分割所得的相邻两帧图像s1(x,y)和s2(x,y),分别取其亮度分量I1(x,y)和I2(x,y),然后作差分,得到疑似火焰图像中的运动区域d(x,y),当d(x,y)中亮点数目大于阈值T时,判断视频中存在运动的疑似火焰。

2.2 图像特征提取

根据火灾发生初期火焰在图像上表现出的特征信息、特征提取的可行性以及组合特征识别的有效性,选取了面积变化率、圆形度和尖角数目三个特征作为火灾识别的依据。

1)面积变化率。火灾在发生初期,火苗是不断跳动的,表现在图像上就是高亮区域的面积是不断变化的,并且连续几帧图像中,高亮区域的面积是呈增长趋势的。但车灯等快速闪动的疑似火焰物体,高亮区域的面积变化率比较小。依此特性可以区分火焰和疑似火焰物体。

2)圆形度。圆形度是反映物体(或区域)的形状的复杂程度的特征量。定义圆形度为:

Ck = 4πAk P2k ; k = 1,2,…,n(9)

其中:Ck为编号为k的图元的圆形度;Pk为第k个图元的周长;Ak为第k个图元的面积;n为图像中的图元个数。早期火焰的形状是极其不规则的,而大部分固定的疑似火焰物体(如打火机、车灯、白炽灯等)形状是比较规则的。从式(9)可以看出,若某图元圆形度较小,认为该图元为火焰,若其圆形度较大,认为该图元为疑似火焰物体。

3)火焰尖角。火焰燃烧时边缘是不断抖动的,边缘抖动一个明显的表现就是火焰尖角的数目较多且呈现不规则的跳动。而灯光和蜡烛等疑似火焰物体虽然也有尖角,但无论其晃动与否,其尖角数目都会较少且基本不变。依据这一特性可以识别火焰和疑似火焰物体。

找尖角的第一步必须找到局部最高点。沿着火焰边界逐点进行扫描,如有一点左右邻域内连续50个点的高度都小于或等于该点,则认为该点是疑似尖角点[4]。第二步判断这些点是否确实为尖角点。火焰尖角狭长、宽度小、高度高,这些都可以作为判断尖角的依据。

对于尖角宽度d,可以设d1为顶点左右邻域第25个点间距离;d2为顶点左右邻域第50个点间距离;d=d1/d2。通过设定d的阈值来限定尖角角度的大小。

对于尖角的高度h,先求出顶点到左第50个点的距离a,顶点到右第50个点的距离b,左右第50个点间距离c。根据海伦公式s=1/2(a+b+c)可求得面积,再根据面积求得底边c上的高h,通过设定h的阈值来确定尖角的高度。

如果d和h满足火焰尖角特性,确定此疑似尖角点为真正尖角点,再扫描一遍图像,统计出图像中的尖角数目,以此来识别火焰和疑似火焰物体。

2.3 选取SVM的核函数

火焰和疑似火焰物体的分类识别问题是线性不可分的。对于线性不可分问题可以通过一个非线性变换将原问题转化为某个高维空间中的线性问题,再在变换后的高维空间求解广义最优分类面。

设非线性映射为:xφ(x),则式(5)中的优化问题将变为式(10)的形式:

Q(α)=∑ni=1αi-12∑ni=1∑nj=1αiαjyiyjφ(xi)•φ(xj)(10)

这种变换较复杂且难于实现,若能找到一个函数满足:K(xi,xj)=φ(xj)•φ(xj),这样在高维空间中的内积运算就可以通过原空间中的一个内积函数来实现,使得问题简化。此时,式(10)的凸二次优化问题就会变成式(11)的形式:

Q(α)=∑ni=1αi-12∑ni=1∑nj=1αiαjyiyjK(xi,xj)(11)

目前,研究最多的内积函数主要有3种形式[5]:

1)多项式型函数:K(x,xi)=[(x,xi)+1]q

2)径向基内积函数:K(x,xi)=exp-|x-xi|σ22

3)Sigmoid函数:K(x,xi)=tanh(v(x•xi)+c)

有学者曾对线性核函数、多项式核函数和径向基核函数采用UCI数据库进行了实验对比[6],实验结果表明对于不同的数据库不同的核函数各有优劣,其中径向基核函数在大多数数据库上取得较为良好的性能。对于实际问题要找到合适的核函数是很困难的,目前大多都是通过实验来决定。

2.4 利用SVM识别火灾

利用SVM识别火灾,可以通过以下步骤实现:

1)获得训练样本数据;

2)选择非线性变换的内积函数(即核函数)和惩罚因子;

3)形成凸二次优化问题,求解该优化问题以获得分类的支持向量机;

4)将待测样本数据送入分类的支持向量机,获得识别结果。

其中,第1)步通过2.1节的图像分割和2.2节的图像特征提取算法可以实现,每帧图像的3个特征值构成支持向量机的一个输入向量;第2)步是选取核函数,通过2.3节的实验,本文选取径向基核函数。第3)步是建立SVM分类器,首先求解式(11)得到二次优化问题的解Е联*i ,再根据式(12)和式(13)求得权重向量w*和偏移量b*。最后将α*i 和b*代入式(14)获得分类的支持向量机。

w* = ∑Ni = 1yi α*i xi (12)

b*=-(┆maxyi=-1(〈w*•xi〉)+

┆minyi=1(〈w*•xi〉))/2(13)

f(x)=sgn [∑Ni = 1α*i yi K(x,xi ) + b*] (14)

第4)步是利用SVM识别火焰。将待测样本数据送入训练好的SVM,验证所训练的SVM的识别准确率和实时性。

3 实验分析

为了验证本文算法的性能,本文采用了5组视频作为测试数据的来源,每组视频包括一段有火视频和一段相应环境下的干扰视频。对测试视频的描述如表1所示。

首先对视频进行分帧处理,从前3段有火视频和前3段干扰视频中分别取出20帧图像作为训练图像;然后利用差分

法以及图像在HSI彩色空间的颜色信息检测出疑似火焰区域。第一段有火视频和第一段干扰视频中第10帧图像的疑似火焰区域检测结果分别如图2和图3所示。

为了比较不同核函数的性能,本文分别采用多项式核函数,径向基核函数和Sigmoid核函数训练SVM分类器。表1为这3个核函数分类器在不同参数下的识别结果。其中,令Sigmoid核函数中的一个参数v=3。根据文献[6],取惩罚系数C为100。

表格(有表名)

表1 五组测试视频描述

视频名称实验环境火源材料干扰源

视频1公路边柴油车灯、路灯

视频2网球场旁柴油、树叶车灯、太阳光斑

视频3实验室内酒精手电筒、蜡烛

视频4室内体育馆柴油、木柴日光灯、手电筒

视频5实验楼旁柴油、汽油路灯、车灯

图片

图2 火焰图像及其在HSI空间的分割结果

图片

图3 干扰图像及其在HSI空间的分割结果

表格(有表名)

表2 三种类型核函数分类器的识别结果

多项式核函数

qё既仿/%

径向基核函数

Е莫ё既仿/%

Sigmoid核函数

Cё既仿/%

0.188.51.5094.50.386.5

0.390.52.0093.50.585.5

0.587.52.7596.50.887.5

1.088.53.5095.51.187.0

3.092.54.00951.486.0

5.089.55.0094.51.786.5

由表2可看出,利用径向基核函数训练的SVM分类器识别准确率最高,所以本文确定的核函数类型为径向基核函数。

最后用五组视频来测试自适应图像型火灾探测算法的性能,识别结果如表3所示。

表格(有表名)

表3 支持向量机识别结果

视频名称 样本数目 识别准确率/%

视频1 80 96.20

视频2 120 96.60

视频3 100 96.80

视频4 120 95.80

视频5 120 95.30

从表3可以看出,训练好的支持向量机对含有训练样本的测试视频识别效果较好,识别准确率均在96%以上,这说

明支持向量机对于小样本、非线性的分类问题分类效果显著;同时说明对于新的应用环境,需要加入新的训练样本进行训练,以保证更高的识别准确率。对于误识别的情况,经分析可

知,出现误判的原因跟训练样本的选取有关。因为支持向量机识别的准确性和可靠性在很大程度上取决于样本的选取,所以样本的选取应尽量具有代表性,应尽可能多地涵盖不同场景不同材料的火灾图片,并且有火训练样本和无火训练样本的数目要尽量平衡,以免使得最优分类面偏移。

本文最后还对利用BP神经网络、RBF神经网络和支持向量机识别火灾的3种算法做了比较,3种算法对视频1的识别准确率比较结果如表4所示。

表格(有表名)

表4 3种算法识别准确率比较

算法名称 测试样本数目 误判数目 识别准确率/%

BP网络 56 6 89.20

RBF网络 64 4 93.70

径向基SVM 30 1 96.70

从表4可以看出,利用支持向量机识别火灾的准确率高于利用神经网络识别的准确率,这是因为支持向量机克服了神经网络容易产生过学习和陷入局部最小点的缺点。相比较而言,支持向量机识别效果最佳。

4 结语

火灾探测问题,实质上是一个对火焰和疑似火焰物体识

别和分类的问题。支持向量机是在统计学习理论基础上发展起来的一种很有潜力的数据分类工具。本文首先对视频分帧处理,形成图像序列,并利用颜色信息在HSI空间进行图像分割,提取出疑似火焰区域;然后对图像序列进行特征提取,提取出待识别图像的面积变化率、圆形度和尖角数目3个特征量;接着选取合适的核函数和惩罚因子;最后建立SVM模型并利用支持向量机分类器对特征数据进行分类识别,并与BP网络、RBF网络的识别结果做了比较。从实验结果来看,此算法的识别准确率较高;在各个特征量的提取中,不用通过多次实验人为设定阈值来区分火焰和干扰物体;在探测环境以及燃烧材料改变的情况下,通过训练支持向量机将会自动的产生分类超平面,将各类样本准确分开,具有自适应性。

参考文献:

[1]CRISTINAINI N, SHWAE-TAYLOR J. 支持向量机导论[M].李国正,王猛,曾华军,译.北京:电子工业出版社,2004:82-108.

[2]郝祖龙,刘吉臻,田亮.基于支持向量机的电站锅炉燃烧定性判别[J].华北电力大学学报,2007,34(4):51-55.

[3]安丰凌,孙劲光,张新君.一种火灾报警系统中火焰区域的检测方法[J].现代计算机, 2007(10): 44-46.

[4]王俊明,杨永跃,付贵权.多判据图像型火灾探测系统的研究[J].工业控制计算机,2008,21(2):50-51.

[5]唐发明.基于统计学习的支持向量机算法研究[D].武汉:华中科技大学,2005:16-27.

[6]肖靓.基于支持向量机的图像分类研究[D].上海: 同济大学,2006:49-54.

上一篇:利用图片类日志信息改进会话识别质量 下一篇:基于Pareto-ε优胜的自适应快速多目标演化算法