基于改进FOA-SVM的火灾图像识别模型研究

2019-10-18 11:13刘亚如段中钰
计算机应用与软件 2019年10期
关键词:果蝇图像识别步长

刘亚如 段中钰

(北京信息科技大学信息与通信工程学院 北京 100101)

0 引 言

火灾是人类安全的重大威胁之一,火灾燃烧迅速、蔓延广泛等特点,严重危及着人类的生命财产安全,影响社会的和谐稳定发展。因此,准确有效地识别火灾图像,及时对火灾的发生进行预警和防控对保护环境和减少生命与财产损失具有重要的现实意义。图像型火灾检测技术采用视频分析,对火灾图像特征进行提取分析,实现火灾识别[1-3]。目前许多学者针对图像识别进行了大量研究,在火灾识别方面也提出很多方法。文献[4]中提出利用视觉注意机制进行火灾探测和识别,文献[5]中提出基于多通道卷积神经网络的火灾识别方法,文献[6]提出了在火灾探测中使用静态和动态纹理分析的火焰检测方法来提高分类精度,文献[7]提出哈希编码技术识别森林火灾图像的算法。

在实际应用中,为了提高识别的准确率,往往基于多特征融合,即提取多种火灾特征进行综合判别,因此,需要结合机器学习技术设计合适的火灾识别分类器。采用支持向量机识别火灾图像具有较高的准确率[8-9],但是支持向量机参数的人为选择在一定程度上影响其分类能力。在实际应用中,需要根据实际模型选取支持向量机的的参数。文献[10]利用共轭梯度算法构建FR-LSSVM识别火灾图像。利用智能算法优化SVM参数,迭代寻优得到最佳参数解决实际分类识别问题,如文献[11]利用改进粒子群算法优化的SVM对模拟电路故障进行诊断。文献[12]利用遗传算法优化SVM参数,构建GA-SVM模型对机采籽棉进行图像分割和杂质识别。文献[13]利用果蝇算法调整支持向量机参数,建立FOA-SVM模型解决医学数据分类问题。文献[14]利用FOA-SVM模型进行瓦斯爆炸风险模式识别。果蝇算法是继遗传算法、粒子群算法、蚁群算法等典型的优化算法之后,Wen-Tsao Pan从果蝇的觅食行为中得到启发而提出的一种新型群体智能优化方法。与其他优化算法相比,果蝇算法实现简单,只需要调节两个参数,且全局优化能力强,在实际应用中具有一定的价值[15-18]。

为了提高SVM的分类能力,提高火灾图像识别的准确率,本文采用果蝇算法搜索支持向量机的惩罚因子和最优核参数,并引入逻辑函数改善果蝇算法易陷入局部最优的缺点,提出改进FOA-SVM分类模型,结合火焰提取特征,训练和识别火灾图像。实验结果表明,该模型提高了火灾图像识别准确率,在火灾检测方面具有重要的实际意义。

1 相关算法及其改进

1.1 果蝇算法基本原理

果蝇算法(FOA)是基于果蝇群体行为寻找全局优化的智能算法,该算法通过嗅觉搜索改善果蝇的多样性,增加果蝇个体的搜索空间,快速确定出食物的大概方向,然后通过视觉快速收敛果蝇搜索确定食物源位置,以实现求解最优值。果蝇群体搜索食物的过程如图1所示。

图1 果蝇种群搜索食物示意图

果蝇种群搜索食物的步骤如下:

(1) 初始化:初始化果蝇群体的初始位置;

(2) 嗅觉搜索:果蝇个体利用嗅觉搜索空气中的不同味道,并随机选择搜索方向和距离;

(3) 个体评价:当果蝇个体搜索到新位置时,计算其味道浓度判定值和味道浓度,选择当前群体中味道浓度值最大的果蝇个体,记录味道浓度值和相应果蝇个体位置;

(4) 视觉搜索:记录并保存当前群体中味道浓度最大值和最优果蝇个体的位置,其他果蝇根据视觉向该最优个体位置进行寻找;

(5) 判断算法是否结束:迭代寻优,若达到终止条件,则输出最优解,否则继续嗅觉搜索进行迭代。

1.2 改进果蝇算法原理

影响果蝇算法收敛精度和速度的主要因素有初始位置和搜索距离,在果蝇算法的每次迭代中,果蝇群体都是以最后一次迭代的最优个体为中心,以固定的步长值搜索食物源。如果步长值较大,该算法将在全局优化中获得更好的性能,可以快速定位最优解的近似范围,但在局部优化过程中,算法的收敛精度和搜索效率无法得到保证。如果步长值较小,该算法很容易陷入局部最优并出现早熟收敛。为了解决这个问题,使果蝇搜索距离不再固定,引入逻辑函数对搜索步长进行改进,逻辑函数如下:

(1)

式中:L为校正函数,x为校正因子,取值范围为[0,1]。考虑当前迭代次数和最大迭代次数以及逻辑函数的关系,设置自适应搜索距离D:

D=R×L×(g/N)

(2)

式中:R为初始步长值,L为校正函数,g为当前迭代次数,N为最大迭代次数。

引入逻辑函数自适应调整步长可以使果蝇算法在早期迭代中具有较大的随机步长值,以避免早熟收敛。随着迭代次数的增加,D将通过逻辑函数曲线减小,在之后的迭代中,较小的步长使果蝇算法具有较好的局部优化性能。

1.3 SVM算法基本原理

支持向量机采用了二次规划寻优,使用SVM可以在一定的函数子集运算下将结构风险控制到最小,使机器学习在训练样本的情况下得到最小的误差。因而可以得到全局最优解,解决了在神经网络中无法避免的局部极小问题。由于采用了核函数,巧妙地解决了维数问题,使得算法复杂度与样本维数无关,非常适合处理非线性问题。用于分类的支持向量机算法如下:令{(xi,yi),i=1,2,…,l}表示一组训练数据,其中xi∈Rd是具有d维的输入数据,yi表示与xi对应的输出标签。线性决策表面由f(x)=+b定义,其中w是权重向量,b是偏移量。线性SVM通过解决如下优化问题实现了最佳超平面:

(3)

式中:C为惩罚参数,ξ为松弛因子,w是权重,b是偏移量。

通过引入拉格朗日乘子αi(i=1,2,…,n),将式(3)转换为拉格朗日对偶问题:

(4)

非线性SVM通过引入核函数构造并求解最优化问题:

(5)

式中:K(xi,xj)是核函数,αi为拉格朗日乘子。则决策函数为:

(6)

这里选择径向基函数,相比于其他核函数,它只需要确定一个参数,并且函数复杂度较低,其公式如下:

(7)

式中:e是径向基函数的核参数。

2 改进FOA-SVM参数优化模型

参数优化和特征选择控制SVM的性能,它的分类效果主要取决于惩罚参数C和核参数e,人为地选择SVM参数具有盲目性,对其分类能力影响较大,本文利用改进FOA及其优化特点对惩罚参数C和核参数e进行寻优,提高了SVM的分类能力。

该模型主要包括内部参数优化和外部性能评估两个过程。在内部参数优化过程中,改进FOA通过交叉验证动态调整支持向量机参数。然后,在外部循环中,用获得的最优参数的支持向量机识别图像。本文将交叉验证的准确率作为适应度函数,模型流程图如图2所示。

图2 改进FOA-SVM模型流程图

整个参数调优具体过程如下:

步骤1初始化果蝇的迭代次数N、种群规模sizepop、初始位置(X_axis,Y_axis)和初始搜索距离R。

步骤2根据式(2)得到自适应步长值D,果蝇根据该步长和随机方向搜索食物,如下所示:

Xi=X_axis+D×rand()

Yi=Y_axis+D×rand()

(8)

式中:Xi、Yi为果蝇个体的坐标值,i为果蝇的数量,rand()为随机搜索方向。

步骤3根据果蝇个体的位置坐标计算味道浓度判定值,方法如下式所示:

(9)

式中:Xi、Yi为果蝇个体的坐标,Disti为果蝇个体与原点的距离,Si为味道浓度判定值。

步骤4利用交叉验证方法对训练样本分类,得到的准确率作为果蝇个体的适应度函数,计算当前果蝇个体的味道浓度值。

步骤5更新并记录最佳味道浓度值和最优果蝇个体的坐标,继续迭代。

步骤6当迭代次数满足终止条件时停止搜索,最终输出最佳参数(Cbest,ebest)。

步骤7以改进FOA算法搜索SVM中惩罚参数C和核函数参数e的最优解(Cbest,ebest)构建SVM训练模型,使用训练好的改进FOA-SVM模型完成图像识别与分类。

3 基于改进FOA-SVM火灾图像识别模型

3.1 火灾图像特征提取

通过提取不同的特征组合并进行归一化处理后进行火灾识别。本文选取的识别判据为火焰的颜色特征、圆形度和纹理特征。通过提取火灾图像的RGB分量得到颜色特征;通过圆形度公式和计算灰度共生矩阵提取火灾图像的纹理特征,包括能量、相关性、熵和惯性矩四个参数的均值和标准差。

圆形度:计算目标区域形状的复杂程度判断物体形状的规则程度。

(10)

式中:C为圆形度值,归一化后取值为0~1,S为火焰面积,L为火焰边界周长。

能量:衡量图像灰度分布的均匀程度,能量越小,图像纹理越平滑。

(11)

式中:P为灰度共生矩阵,i、j为像素灰度值,d为两点的距离,θ为方向。

熵:表示图像灰度分布的复杂度和随机性,可以用来度量图像的信息量:

(12)

惯性矩:描述图像纹理深浅和清晰程度。

(13)

相关性:衡量图像的灰度级在行或列方向上的相关程度,从而反映局部灰度相关性。

(14)

式中:

(15)

通过以上公式计算得到图像的纹理特征,将提取的所有特征构建特征向量Ti作为SVM分类的依据。

(16)

式中:X1~X3是图像的颜色特征,X4是图像的圆形度特征,X5~X8是图像的纹理特征,部分火灾图像和非火灾图像对应的特征向量如表1和表2所示。

表1 火灾图像特征向量

续表1

表2 非火灾图像特征向量

3.2 参数优化图像识别模型

本文的实验环境是Intel(R)Core(TM)i5-4200U CPU,主频为2.30 GHz,内存4 GB,Windows 7系统,以MATLAB R2014a为主要开发工具,为了验证本文方法的有效性,设置果蝇种群迭代次数为200,种群规模为30,迭代寻优后得到惩罚参数C=12.089 7,核函数参数e=1.848 9的火灾图像识别模型。

3.3 模型验证

通过建立的改进FOA-SVM模型对输入的特征向量进行训练和测试,将火灾图片标记为1,非火灾标记为0,然后提取每个图片的颜色特征、圆形度和纹理特征构建特征向量Ti,将其作为训练样本,得到最优分类超平面。再将30幅火灾图片,30幅非火灾图片输入到此分类超平面中,验证其准确率,训练和测试的准确率分别如图3和图4所示。

图3 训练样本准确率

图4 测试样本准确率

为了验证本文优化方法得到的改进FOA-SVM模型的准确率与运行效率,分别将遗传算法、基本果蝇算法和本文中的改进果蝇算法对SVM的惩罚参数C和核参数e进行优化。其中遗传算法和基本果蝇算法的种群迭代次数和种群规模与本文算法设置相同,分别为200和30,迭代寻优后得到的最优惩罚参数C和核参数e如表3所示。利用最优参数建立SVM模型、GA-SVM模型和FOA-SVM模型并对火灾图像进行识别,将识别结果与本文的改进FOA-SVM识别模型结果进行比较,对比结果如表3所示。

表3 不同识别模型结果对比

实验结果表明,改进FOA-SVM模型能够提高优化SVM参数的精度和运行时间,相比于其他识别模型来说,火灾图像识别准确率更高且运行时间较短。本文提出的改进果蝇算法提高了搜索SVM全局最佳值的能力,在对SVM参数搜索寻优后选择的参数更合适,使火灾识别的准确率达到了97.62%,对火灾图像的识别效果更好,显著提高了火灾图像识别的准确率和运行效率。

4 结 语

本文提出一种基于改进FOA-SVM的火灾图像识别模型。该模型在支持向量机的基础上,利用果蝇算法的觅食行为和寻优过程结合逻辑函数调整搜索步长,并根据味道浓度函数的判定搜索得到SVM的最优参数,利用最优参数构建火灾识别模型,进一步改善了识别效果。经实验结果与分析得到如下结论:

(1) 改进果蝇算法中搜索距离不再固定不变,避免了局部最优,搜索的支持向量机的最佳惩罚参数和核函数参数更准确,提高了支持向量机的分类性能。

(2) 人为选择支持向量机的参数会产生随机性和盲目性,且对其分类影响能力较大。本文提取火灾的典型特征构建分类样本集,分为训练集和测试集两部分。利用改进FOA训练样本数据选择最优参数建立改进FOA-SVM火灾图像识别模型,通过该模型对测试集图片进行分类识别。实验表明该模型具有更好的识别精度和运行效率,在火灾探测方面具有实际的应用价值。

猜你喜欢
果蝇图像识别步长
支持向量机的舰船图像识别与分类技术
浅谈图像识别技术在打击绿通假证逃费中的应用
果蝇遇到危险时会心跳加速
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
2021年大樱桃园果蝇的发生与防控
小时和日步长热时对夏玉米生育期模拟的影响
一种改进的变步长LMS自适应滤波算法
基于变步长梯形求积法的Volterra积分方程数值解
基于Resnet-50的猫狗图像识别
小果蝇助力治疗孤独症