改进的多尺度火焰检测方法

2021-05-11 02:39侯易呈王慧琴
液晶与显示 2021年5期
关键词:特征提取火焰深度

侯易呈,王慧琴,王 可

(西安建筑科技大学 信息与控制工程学院,陕西 西安 710055)

1 引 言

传统火灾检测方法使用感温、感烟传感器采集火焰数据的静态或动态特征进行火焰检测,对手动提取目标特征的依赖性较高。现阶段,通过图像处理进行目标识别的技术[1]和基于机器视觉的目标检测技术不断发展[2],并且已开始应用到火灾检测领域。

传统方法在火焰识别任务中,多注重人工对火焰目标进行特征提取以及分类器的设计[3-5]。蔡敏[6]将运动分割分为运用目标检测和图像分割两个方面,并提出对VIBE算法的两点改进,用于森林火灾视频检测。刘宇欣[7]将人工蜂群算法图像处理分割方法、边缘检测技术以及特征融合等技术应用于矿用带式输送机的火灾检测中。苗续芝[8]和王中林[9]分别改进了果蝇优化SVM模型和增量支持向量机算法,提高了火灾检测识别的准确率。相比较于传统检测方法,深度学习方法能够自动提取目标特征,在图像识别领域得到了广泛的应用[10-12]。同时,也有学者将深度学习方法应用到了火焰识别检测任务中。任嘉峰[13]提出一种引入K-means聚类算法的YOLOV3算法进行火焰识别检测,通过迁移学习实现了对小样本的识别分类。徐登[14]使用改进的双流卷积神经网络,提高了火焰目标识别率。段锁林[15]对火焰区域的RGB通道做灰度处理和二值化处理,形成9通道的三维数据输入,并且对Relu激活函数进行了修改,以平衡特征数量。回天[16]提出基于Faster R-CNN的火焰识别检测方法,使用AlexNet作为基础特征提取网络,通过迁移学习完成对不同类别火焰样本的识别与分类。

利用卷积神经网络进行火焰识别的过程中,随着网络卷积层数的加深,火焰特征的语义信息变抽象,分辨率降低,火焰深层特征中的火焰目标细节信息减少,同时提取到了与火焰目标低相关性的冗余特征,导致火焰识别率不高。本文提出了一种基于Faster R-CNN[17]网络的火焰识别检测方法,使用深度残差网络(Residual Network,ResNet)[18]进行特征提取,添加压缩和激励网络(Squeeze-and-Excitation Networks,SENet)模块[19]减少低相关度冗余特征,然后使用多尺度特征融合结构,通过通道叠加补充深层特征中特征信息的不足,为具有抽象语义信息的深层特征添加具有丰富细节信息的浅层特征。该方法可以提升火焰目标检测的精度。

2 Faster R-CNN算法

2.1 Faster R-CNN简介

Faster R-CNN目标检测模型是通过优化R-CNN和Fast R-CNN模型而来的高性能模型,图1为Faster R-CNN网络结构,主要由4部分组成:特征提取网络、区域建议网络(Region Proposal Network,RPN)、兴趣池化网络(Region of interest pooling Network,RoI)和分类回归网络,其图像处理步骤为:

图1 Faster R-CNN网络结构图Fig.1 Faster R-CNN network structure diagram

Step 1.将原始图片处理为224×224大小输入网络,经过卷积神经网络(Convolutional Neural Networks,CNN)[20]提取图像特征,将图片信息编码到深层维度,提取到的特征图作为区域建议网络和平均池化网络的共享特征层。

Step 2.区域建议网络[21]通过在共享特征图上添加滑动窗口将空间窗口映射到低维向量,在每个滑动的位置都会预测出k个区域建议框。然后连接两个并行的全连接层,分别得到2k个对应的分类层输出和4k个对应的回归层输出。接着采用非极大抑制法以交并比作为分类指标选取得分排名前300的目标建议框。

Step 3.平均池化网络将共享特征层和目标建议框作为输入,将不同大小的感兴趣区域通过池化操作降维成7×7尺寸的特征向量,使得输入图片不要求固定尺寸。

Step 4.利用Softmax损失函数完成分类任务,利用smoothL1损失函数完成回归定位任务。

2.2 RPN网络损失函数

区域建议网络总体损失函数的定义如下所示:

(1)

分类损失函数Lcls的定义如下所示:

(2)

回归损失函数Lreg的定义如下所示:

(3)

其中,R为smoothL1函数,其公式如下所示:

(4)

3 基于Faster R-CNN的多尺度改进实现

本文在Faster R-CNN中使用ResNet50作为特征提取网络,并添加注意力机制模块增加火焰相关特征通道重要性,然后通过多尺度结构在深层特征中添加浅层特征,增强火焰特征表达能力,以提高火焰识别精度。

3.1 改进残差网络

深度学习中,加深网络深度会遇到梯度爆炸和梯度消失问题。传统对于该问题的解决方法主要是对数据进行初始化和正则化,但是此方法伴随着网络深度的加深,误报率和错报率提升,造成网络性能的退化。何凯明在使用多达152层的ResNet网络在ImageNet上进行实验,结果表明深度残差网络在深度增加的情况下,有效提高了准确率,解决了因深度增加造成的梯度消失和网络性能退化的问题。本文特征提取网络部分采用ResNet50网络进行特征提取,增加SENet注意力机制模块,简称为SE-RCSNet50,ResNet和SE-ResNet模块分别如图2、图3所示。

图2 ResNet模块Fig.2 Block diagram of ResNet module

图3 SE-ResNet模块Fig.3 Block diagram of SE-ResNet module

在深度残差网络模块中,存在两种映射关系,一种为恒等映射,指的是把当前网络输入当作输出直接传输到下一层网络中,跳过当前网络。另一种为残差映射,最终的输出为H(x)=F(x)+x,此时当F(x)=0时,则H(x)=x。在此基础上,改变了残差网络的学习目标,直接学习H(x)和x的差值,就是残差映射F(x)=H(x)-x。

本文在深度残差模块中添加了SENet注意力机制模块,通过学习的方式自动获取每个特征通道的重要程度,并且根据该通道的重要程度提升有用特征,抑制无用特征,以此来使提取到的特征具有更强的表征能力。压缩和激励网络结构如图4所示。

图4 注意力机制模块Fig.4 Block diagram of attention mechanism module

压缩和激励网络执行步骤如下:

(1)首先对特征U进行挤压(Squeeze)操作,该操作通过全局平均池化(Global average pooling)将二维特征压缩成一个1×1×C的实数数列。该实数数列在一定意义上具有全局感受野,使得低层网络也可以具有全局信息。全局平均池化计算方式为:

(5)

(2)接入激励(Excitation)操作,自主学习每个特征通道之间的非线性交互关系,根据重要性的不同赋予不同的权重。先通过全连接层,减少计算量,然后连接ReLu函数,使得输出的维度不变。激励操作计算方式为:

s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))).

(6)

(3)经过重新赋值(Reweight)操作,如式(7)所示,经过激励操作后的结果输出可以看作是经过特征选择后的每个特征通道的重要性,然后通过乘法将每个通道加权到之前的特征上,完成对原始特征的重新赋值,实现注意力机制。

(7)

uc表示u中第c个二维矩阵,sc表示激励操作的输出权重。

3.2 多尺度网络结构

由于卷积神经网络通过逐层抽象的方式来提取目标的特征,提取到的高层特征的感受野比较大,语义信息表征能力强,但是特征分辨率小,几何信息的表征能力弱,适合处理大目标;而提取到的低层特征的感受野比较小,语义信息表征能力弱,但是特征分辨率大,几何信息的表征能力强,适合处理小目标。为了节省计算量,使用Block4特征图进行火焰目标检测,Block5用做最后的分类和回归。Block4层特征图的语义信息较为丰富,能更好地反映火焰图像全局特征,但是分辨率低,细节信息表征能力弱,所以不能精确地对火焰进行检测。通过分析,本文提出一种基于Faster R-CNN的多尺度特征融合算法,通过在深层特征上添加浅层特征信息进行特征增强,提高对火焰目标的识别检测准确率。

网络结构如图5所示,分别对Block1,2,3的输出用1×1的卷积做通道变换,将其通道数从64,256,512变换为256,512,1 024,并引入批规范化(Batch Normalization,BN)处理,将数据规范到N(0,1)的正态分布,然后将Block2,3,4的输出分别和上一层进行通道变化后的输出进行concatenate通道相加,然后使用Rule函数进行激活,以此作为Block2,3,4的输出。利用该结构,能够增强火焰目标的特征表达能力,并且任意下一层的输入都来自前面两层的输出,加强了对特征的重用[22],使得网络更利于训练,具有一定的正则化效果,缓解了梯度消失和模型退化问题。同时引入批规范化处理,能够加快训练速度,并提高网络泛化能力。

图5 多尺度结构Fig.5 Block diagram of muti-scale feature fusisn mechanism

4 实验与结果分析

本文所使用的主要硬件参数为:操作系统为Windows10 64 bit,内存为8 GByte,GPU设备为GTX2070,使用python3.6语言,搭建平台为Keras,训练和测试软件为Pycharm。

4.1 数据集处理

在实际情况中,火焰图片都是采集于视觉模块。通过查找有关火焰检测实验的公开数据集,并且添加从不同角度拍摄的火焰图像数据,扩充原本公开数据集以作为本文的实验数据集,使得该样本数据集更接近实际数据。由于原始图像的尺寸过大,在进行模型训练时导致计算量增加,在不影响整体细节的情况下,将图像裁剪为224×224像素大小,并将格式转变PNG格式,按照PSACAL VOC格式构建火焰数据集。本次实验共采用数量为10 078的火焰图像数据集,从扩充以后的图像数据中随机选择8 163图像作为训练集,907张作为验证集,剩余1 008张作为测试集。

4.2 评价指标

深度学习中对分类器模型进行评估主要使用精确率(Precision)和召回率(Recall)。通过混淆矩阵进行计算,混淆矩阵如表1所示。

表1 混淆矩阵Tab.1 Confusion matrix

表中,TP(True Positive)表示将正类预测为正类数;TN(True Negative)表示将负类预测为负类数;FP(False Positive)表示将负类预测为正类数,也称为误报率;FN(False Negative)表示将正类预测为负类数,也成为漏报率。

精确率表示预测为正的样本中有多少为正确的预测,如下所示:

(8)

召回率表示在正例样本中被正确地预测,如下所示:

(9)

同时在目标检测任务中,使用平均精度均值(Mean average precision,mAP)作为衡量模型性能的指标。在本任务中,对火焰的识别检测为单类识别,平均精度均值指标与平均精度(Average precision,AP)等价,所以使用平均精度来作为本任务中模型评价指标,平均精度指标计算如式(10)所示:

(10)

式中,R表示测试集中所有正样本的个数;M表示测试集总样本个数;Ii=1表示第i个样本是正样本,若是负样本,则Ii=0;Ri表示前i个样本中正样本的个数。

4.3 实验结果分析

使用本文算法和改进前算法在本文测试集上进行测试,实验结果如表2所示。

表2 改进前后对比Tab.2 Comparison before and after improvement

通过表中数据对比可以发现,改进前算法以ResNet50作为特征提取网络,与本文方法进行比较,本文算法的平均精度、召回率、精确率分别提高了7.78%、9.05%、12.54%,证明本文方法提取到的火焰目标特征对于火焰识别精度有较高影响。原因是加入了SENet注意力机制模块的ResNet50特征提取网络抑制了与火焰目标相关度低的无关特征通道,并且将火焰的通道重要性提高,同时,因为多尺度结构在提取到的深层特征上加入了浅层的细节特征,增强了火焰目标特征的表征能力,有效提高了模型对于火焰目标的识别性能。

为进一步对比本文算法在特征提取部分的优势,进行特征图可视化对比实验,结果如图6所示。由图中可以看出,随着网络深度加深,火焰目标的位置、形状等细节信息随着感受野的增大而稀疏化,使得无法分辨火焰的轮廓、纹理等信息。通过对比本文方法与ResNet50,在火焰目标深层特征中,因为使用了多尺度特征融合结构,使得本文提取到的火焰目标有着更为明显的纹理、颜色以及轮廓等浅层特征中的细节信息,同时,由于SENet的作用,对提取到的特征通道进行了重新标定,抑制了与目标特征相关性低的通道,增强了相关性高的颜色等通道信息,使得提取到的火焰特征信息表达能力更强。

图6 特征图可视化Fig.6 Visualization of feature map

在测试集中,选取不同场景下的火焰图像对本文算法模型以及改进前算法进行性能测试对比,结果如图7所示。可以看出,以ResNet50作为特征提取网络进行火焰目标识别时,存在识别率低的问题,同时在复杂背景下,有复检问题存在,并且对于小目标的检测效果不好。而本文方法能够适应不同背景下对火焰目标的识别检测,对于不同环境下的火焰都有较好的识别结果。

图7 检测结果对比Fig.7 Comparison of test results

对图片识别时间进行对比,其结果如表3所示。本文算法对比改进前对每张图片的消耗时间增加了0.03 s。原因是本文添加了SENet模块,并且采用了多尺度特征融合机制,增加了模型参数量,导致识别时间增加。

表3 改进前后参数量和时间的比较Tab.3 Comparison of parameter quantity and time before and after improvement

为进一步验证本文算法的效果,将本文算法与已有学者完成的火焰识别检测方法进行比较。实验结果如表4所示。本文方法对比文献[14]和文献[23]的结果有所提高,其中文献[14]使用改进的双流卷机神经网络进行火焰目标提取,文献[23]通过采用多个不同尺度融合的方式进行目标检测。在特征提取方面,本文方法能够提取到信息更丰富的火焰特征,使得本文算法效果较好。

表4 与现有学习算法准确率对比Tab.4 Comparison with accuracy of existing learn algorithms

5 结 论

针对火焰目标检测,本文提出一种基于Faster R-CNN模型的改进算法,提高深度学习网络对火焰识别的准确率。首先使用ResNet50作为基础特征提取网络进行特征提取,接着添加SENet模块通过通道注意力机制,增强目标相关性高的特征通道,然后使用多尺度结构将浅层特征进行通道变换并和深层特征进行通道相加,最后完成对火焰区域的识别检测。实验证明该方法能够克服深度网络中深层特征几何信息的缺失问题,并抑制无用特征,提取更有效的火焰特征,完成对火焰目标的识别检测。对比改进前的算法,其火焰识别检测平均精度提高了7.78%,召回率提高了9.05%,精确率提高了12.54%。有效地提高了火焰识别效果。

猜你喜欢
特征提取火焰深度
最亮的火焰
缤纷的火焰
深度理解一元一次方程
漂在水上的火焰
深度观察
深度观察
基于Daubechies(dbN)的飞行器音频特征提取
深度观察
Bagging RCSP脑电特征提取算法
吹不灭的火焰