基于ECA 注意力机制改进的EfficientNet-E 模型的森林火灾识别

2024-03-28 15:15周浪樊坤瞿华张丁然
关键词:注意力准确率卷积

周浪 樊坤 瞿华 张丁然

(北京林业大学 经济管理学院,北京 100083)

森林火灾防治是建设生态文明的重要内容,是保护生态资源必须完成的任务。近几年我国接连发生重大火灾事故,给社会带来了巨大的经济损失和人员伤亡[1]。森林火灾防治往往采用“政策宣传”、“火灾隔离”和“技术运用”的方式,而在此过程中,预防火灾的发生是降低损失的最好方式,它可以从源头上杜绝森林火灾。因此,森林火灾发生的前期识别显得极为重要,而自动化识别又是成本最低的一种识别方式。

近几年,人工智能领域的大量研究结果表明,深度学习技术在解决图像识别问题时具有高效率和易操作特性,因此不少学者也尝试将其应用到森林火灾识别领域。这些研究可以自动化识别明火和烟雾,充分展现出深度学习相较传统森林火灾识别技术的明显优势[2-4]。不仅如此,在常规的深度学习模型上,不少学者通过优化网络模型结构进一步提升识别效果,包括改进卷积神经网络结构、颜色以及纹理特征提取的方式等[5-7]。可以看出,深度学习模型解决森林火灾识别问题的手段更为多样,其既可以直接对模型进行应用,也可以通过改进其结构进行优化,还可以针对图像的特征进行相关操作。

然而上述深度学习模型较为基础,没有跟上深度学习发展迭代的步伐,未将更为先进的模型应用在森林火灾识别领域,从而限制了这项技术在森林火灾防治上的发展,且本身存在的缺陷也没有进行优化和讨论,例如模型中存在的训练梯度消失和爆炸,以及火灾数据复杂难以训练等问题。为此,本文以目前因具备注意力机制而备受关注的Efficient-Net 模型为基础,通过改进其注意力模块,提出新模型EfficientNet-E,以进一步提升森林火灾识别效果。

1 深度学习

1.1 深度学习的应用及其模型

目前,深度学习技术在各个领域和行业发挥着巨大的作用,也带来了可观的经济效益。广泛的使用和相关概念的传播使得该技术为大众所熟知,例如面容支付和疫情期间频繁使用到的人脸识别门禁系统。不仅如此,深度学习模型也在采摘定位[8]、癌细胞识别[9]、农作物虫害鉴定[10]等领域发挥着重要作用。这些研究充分反映出深度学习技术在应用领域的火热程度。

从时间线上来看,深度学习的基础模型包括AlexNet、VGGNet、GoogleNet、ResNet 和DenseNet,上述5种模型成为很多其他改进模型的基础,并被应用到各个领域的图像识别问题上,取得了很好的应用效果。然而,这些经典模型在设计上大多依靠工程经验,难以把握模型的设计思路。简单来说,这些模型的设计难以显示模型参数(模型宽度、模型深度和输入图片大小等)之间的内在联系[11-12]。

为解决上述问题,2019 年出现的EfficientNet模型通过混合缩放的方式同时兼顾了网络深度、网络宽度和图像大小3要素来设计模型,成为能够在一定程度上把握这3个维度之间关系的网络。

1.2 EfficientNet模型

在很长一段时间,经典模型的改进往往是从深度(δ)、宽度(σ)和输入图形分辨率(r)等方面入手,即分别通过比例α、β和γ对三者进行缩放,然而这3 个参数的设定往往取决于工程经验,三者之间对性能影响的关系往往没有较强的规律性总结。为此,Google Brain发布了EfficientNet来解决此问题,即通过参数搜索和复合系数来确定三者之间的关系,使得模型的改进不再是单纯取决于工程经验,而是更加有规律可循。最终,EfficientNet在标准数据集上的效果要明显高于经典的深度学习模型[13],且在很多领域得到了验证[14-16]。

神经网络搜索技术的目标是替代人工进行自动化设计合适的深度学习网络结构,EfficientNet设计思想即为自动化设计深度、宽度和图像分辨率的参数以及发现它们之间的关系。当然,为了减少搜索的时间,可以在搜索过程中加入研究人员的先验知识。

原始EfficientNet中3要素之间的基本公式为

先以MBConv 为基础模块搜索出一个基准网络EfficientNet-B0,随后设置θ=1,然后通过参数搜索方法来得到基础的α、β、γ值,再变换θ的值得到多个延伸模型。这个过程中,模型上述的3个维度会在θ系数的约束下规律性地同步扩张或收缩。

在结构上,EfficientNet 模型是由如图1 所示的多个称之为MBConv的基本结构(单元)堆叠而成。

图1 EfficientNet模型的基本单元MBConvFig.1 Basic unit MBConv of EfficientNet model

图1中:n为输入数据的宽高,k、s为深度可分离卷积(DW,Depthwise Separable Convolution)尺寸和步长,Conv 为卷积操作,BN 为批量正则化(Batch Normalization),Swish 为激活函数,Dropout为随机失活。DW 卷积更改了卷积操作的方式,以牺牲微弱准确性为代价使得卷积操作更加轻便,但不改变通道数。SE 模块主要用来学习通道之间的相关性,获取注意力信息。注意力机制的作用是找到图像数据中真正感兴趣的区域,能够更高效率地完成识别任务。残差连接(ShortCut)通过保留一定程度的原始信息,来缓解网络训练过程中的梯度消失和爆炸等问题,后文图中此类连线皆为残差连接。

EfficientNet 有着其他常规模型所不具备的优势,除了具备网络结构参数之间的关联性,另一个重要的优势是其自带注意力机制SE模块。

1.3 SE注意力模块

SE 注意力模块的主要功能是分配图像中各个通道的权重。有了不同的权重之后,模型就可以关注重要度不同的地方,从而提取到不同的特征信息。SE模块如图2所示。

图2 SE注意力机制结构模块Fig.2 Structural module of SE attention mechanism

SE 模块的缺点表现在会对信息流进行降维,这就造成了信息会在此过程发生一定程度的丢失,而丢失的信息需要用更复杂的模型结构作为代价进行弥补。图3中,信息流在“降维”和“升维”的过程中发生了较大的变化,信息损失便产生于此过程中。

图3 SE模块数据变换示意图Fig.3 Schematic diagram of SE module data transformation

2 EfficientNet-E模型设计

针对SE 模块对信息流进行降维会产生数据信息丢失的问题,本文通过使用注意力提取性能更好的ECA模块(高效通道注意力模块)替换原Efficient-Net中的SE模块来规避上述问题。ECA模块没有信息降维操作,而是捕捉跨通道之间的交互信息,从而使得模型只花费较小复杂度的代价获得最终效果的提升[17]。

2.1 基于ECA模块改进的MBConv设计

不同于SE 模块,ECA 模块在信息传递时利用大小为k的一维卷积操作实现局部跨通道交互,保留了通道间的依赖关系,具体步骤如下。

步骤1和SE模块一样,对输入的特征图进行全局平均池化(GAP)。

步骤2利用一个卷积核大小为k、维度为1的卷积模块(Convk)对步骤1的特征图进行卷积操作。

步骤3将步骤2中的结果输入到Sigmoid 激活函数(Sig)中获取每个通道的权重w。步骤2 和3 的计算公式为

步骤4将步骤3 中得到的权重与原始的特征图相乘,即图1中的残差连接操作,从而得到新的特征图。

整个过程如图4所示。

图4 ECA模块数据变换示意图Fig.4 Schematic diagram of ECA module data transformation

由图4 可以看出,ECA 模块依然保留了通道的信息和通道间的依赖关系权重w,并且计算量增加幅度很小,使得信息传递更加充分。因此,本研究利用ECA 模块替代SE 模块构建新的EfficientNet 变体,即EfficientNet-E,需要说明的是,EfficientNet-E由多个MBConv 结构组合而成。带有ECA 模块的MBConv的基本结构见图5。

图5 改进后的MBConv基本结构图Fig.5 Improved MBConv basic structure diagram

本节所涉及到的注意力机制改进和模型的设计是整个项目的基础,森林火灾图像识别的核心功能由EfficientNet-E来完成,基本框架的设计可以让整个设计思路明确,从而可以更好地完成程序上的设计。

2.2 EfficientNet-E模型的总体设计

EfficientNet-E 模型由多个包含了ECA 模块的MBConv 组成。将2.1 节中的设计进行简要的概括可以得到图6 中EfficientNet-E、MBConv 和ECA 三者之间的关系。

图6 EfficientNet-E、MBConv和ECA的关系图Fig.6 Diagram of relationship of EfficientNet-E, MBConv and ECA

3 EfficientNet-E的实现

由于更换了性能更好的注意力机制模块,EfficientNet-E能够保留更多的图片数据信息,使得模型在训练的过程中能更好地提取特征,从而促进准确率和训练效率的提升。对于森林火灾这类背景复杂、干扰信息众多的图像数据,该模型从理论上来说是更好的选择。

为此,本文首先设计出适合该识别任务的模型结构,然后进行训练和测试。EfficientNet-E架构由多个MBConv 结构组成,而每个MBConv 在参数设置上又不尽相同。

3.1 MBConv数据架构

包含了ECA 模块的MBConv 数据架构图如图7所示,假设此处输入数据大小为(32,112,112)。图中立方体代表训练过程中的数据,本图以EfficientNet-E 中的第1 阶段MBConv 为例。下面将介绍重要环节所涉及的数据操作,C、D、E为数据维度。

图7 MBConv模型数据架构图Fig.7 MBConv model data architecture

(1)C1、C2为卷积操作,且都为1×1的卷积层,其中C1 主要用于升维,C2 用于降维。卷积操作是深度学习模型中最为常见的操作之一,功能十分广泛,其中的特征提取为其最主要功能,在模型的最后也可以起到全连接层的作用。

(2)B1、B2为正则化操作。正则化通过控制数据的分布状态来达到抑制过拟合的效果。模型中使用的正则化方式为批量正则化,即BN操作。

(3)DW 为深度可分离卷积,也是卷积操作中的一种,该结构同样用来提取特征,和常规的卷积操作不同之处在于每个卷积核只负责计算一个图片颜色通道,而常规的卷积操作每个卷积核的3个颜色通道都进行计算。由此可见,DW 卷积操作的计算量会小于常规卷积操作。

DW 卷积的计算量和常规卷积计算量的比例关系为

其中,DK×DK×M为输入特征图的尺寸,DF×DF×M为卷积核的尺寸,N为卷积核数量。

(4)S1 和S2 为自适应激活函数(Swish)。Swish函数的特点是没有函数上界,但存在函数下界,函数平滑且具备非单调性等。整体而言,Swish 的性能优于常见的Relu函数,其函数为

(5)ECA 模块数据架构如图8 所示。由于输入图片在进入第1 阶段的MBConv 时进行了一次卷积操作,所以此时的数据大小为(32,112,112)。在ECA 模块中,首先进行了全局平均池化操作(GAP),而图8 中的C 操作为1×1 的卷积操作,用来学习通道的注意力,且保持了特征的形状,得到了1×1×32的特征图;然后将此特征图与原始的(32,112,112)特征图进行逐通道相乘,最终输出具备通道注意力的特征图。

图8 ECA模块数据架构图Fig.8 ECA module architecture

在对1×1×h特征图进行1×1 的卷积学习时,如果通道数h(图8中h为32)较大,用较小尺寸的1×1卷积核进行通道信息获取显然不太合适,无法扩大感受野,从而使得信息获取不全面。同样地,如果h比较小,使用较大尺寸的1×1卷积核也不太合适。因此,在ECA 模块中使用了动态卷积核[17]来做1×1卷积,从而更好地学习不同通道之间的信息。

(6)残差连接。在MBConv 模块中,只有当原始数据的形状和学习到的特征数据形状相同,即数据维度E与C相同的时候才会出现,作用在于抑制过拟合以及缓解梯度消失和爆炸等问题。

3.2 EfficientNet-E模型参数

本文提出的EfficientNet-E 模型的整体架构如图9 所示,其中FC 表示全连接操作。以一张(3,224,224)图片为输入,首先进行卷积操作,然后依次经过7 个MBConv 结构,最后进行一个全连接层计算得到一个分类结果。 本文所使用的EfficientNet-E 网络参数为θ= 1、α= 1.2、β= 1.1和γ= 1.15。

图9 EfficientNet-E模型的简要整体架构图Fig.9 Brief overall architecture of EfficientNet-E model

值得注意的是:每一个MBConv 都有各自的数据参数,这也使得每个MBConv 输入数据的大小也会存在着不同(即MBConv 上方数字)。MBConv1 和MBConv6 中的1 和6 表示1×1 卷积操作的升维度倍数。本文所使用的EfficientNet-E的参数见表1。

表1 EfficientNet-E模型参数1)Table 1 EfficientNet-E model parameters

4 基于EfficientNet-E模型的森林火灾图像识别实验

为了验证EfficientNet-E 模型的性能,下文将开展相关实验,并与多种经典模型以及原始EfficientNet的实验进行对比。

4.1 数据集的准备

本文数据集为三分类数据,一共3 303张图片,3 个类别为火灾、无火灾和烟雾,分别有1 246、1 086和971张图片。对比模型为经典的ResNet-50、DenseNet-121、EfficientNet-B0。3 种数据集典型的图片代表如图10所示。

图10 3种数据集典型的图片代表Fig.10 Typical image representations for three datasets

4.2 模型的训练

将数据集以4∶1 的比例分割为训练集和测试集,前者用来训练模型,后者用来计算准确率,本文将以模型在测试集上的准确率为主要参考指标。训练过程分为“前向传播”和“反向传播”两个环节。

(1)前向传播。前向传播实际上就是数据流经过3.1节中的模型框架,整体操作可表示为

式中:x为输入数据,本文为图像的三维数据;o为偏置项;f(x)为一系列函数即数据变换的抽象;y*为预测结果。

(2)反向传播。BP 算法的核心思想是利用梯度下降法对参数进行迭代。具体来说就是先利用正向传播的计算结果和实际结果进行误差综合计算,得到Etotal,然后利用梯度下降算法计算更新的w和o。迭代公式为

式中,wi为反向计算过程中上一轮的权重,为迭代后的权重,oi为反向计算过程中上一轮的偏置项,为迭代后的偏置项,η为学习率,也就是梯度的步长。BP算法就是通过尽可能减小Etotal来不断调整模型的参数值,使得模型性能尽可能提升。

4.3 EfficientNet-E模型实验结果与性能验证

本实验的软件和硬件环境描述如下:深度学习框架为Pytorch1.13.1,NVIDIA 显卡驱动版本为517.48,显卡CUDA加速版本为11.7.1,使用的显卡为英伟达1080Ti,显存为11 GB,操作系统为Windows11。

实验对4.1 节中每个模型训练300 轮,其中训练集和验证集的分割比例为4∶1,训练过程使用的学习率为0.01,学习率衰减率为0.001,模型参数的优化器为随机梯度下降法(Stochastic Gradient Descent)。为了减少因训练偶然性误差造成的影响,所有模型均训练5次,每种模型的准确率和花费时间取平均值进行比较,并且选取具有代表性的图像进行展示。

表2 和图11 给出了ResNet-50、DenseNet-121、EfficientNet-B0 和EfficientNet-E 的实验结果。其中表2 数据为训练5 轮的平均结果,由表2 可知,ResNet-50、DenseNet-121 训练过程波动较大,EfficientNet-B0 训练过程较为平稳,损失值下降同样较为平稳。EfficientNet-E 平均最高准确率达到90.04%,整体处于EfficientNet-B0 上方,训练过程较为平稳,和EfficientNet-B0 相比,EfficientNet-E的损失值下降速度较快。 EfficientNet-B0 和EfficientNet-E的准确率和总的训练时间验证了之前的理论,不仅准确率相较于其他两种模型更高,同时收敛性也更好。 而EfficientNet-E 相较于EfficientNet-B0 的表现说明ECA 模块可以通过牺牲很少的计算资源来获得准确率的提升。

表2 森林火灾数据集在4种模型上的测试结果Table 2 Test results of forest fire data on four models

图11 4种模型准确率和损失值实验结果Fig.11 Experimental results of accuracy rate and loss value of four models

由图11 的结果可以看出,EfficientNet-B0 和改进的EfficientNet-E 相较于经典的ResNet-50 和DenseNet-121 拥有明显的优势,这也验证了EfficientNet 的设计思想,而改进后的EfficientNet-E 相较于EfficientNet-B0在准确率上依然取得了优势。

为在直观上进行定性对比,找出了EfficientNet-E 能够正确识别但是其他3 种模型都识别错误的2张典型图片,如图12所示。

图12 模型识别对比图Fig.12 Comparison of model recognition

图12中,第1张图EfficientNet-E正确识别为火灾,而其他3 种模型识别为烟雾。第2 张图EfficientNet-E正确识别为烟雾,而其他3种模型识别为火灾。需要说明的是,虽然第1张图片也有烟雾,但是火灾特点更为明显,归类为“火灾”更为合理,而第2张图片虽然也有火灾图像,但是火灾区域过小,归类为“烟雾”更加合理。另外,根据单张图片预测时间可知,火灾图像的预测能够在毫秒级时间内完成,可以很好地满足火灾预警的及时性需求。

5 结语

深度学习已在多个领域展现出较强的优势,但常规深度学习模型在设计上难以把握网络深度、宽度和图片大小3 要素之间的规律。EfficientNet 模型设计理念可以很好地解决上述问题,且在图像识别性能上得到了提升,然而鲜有研究人员将Efficient-Net 应用到森林火灾识别问题上,客观上限制了森林火灾防治工作的发展。本文通过改进EfficientNet的注意力机制模块来优化模型,从而提出了EfficientNet-E模型。改进后的模型在充分吸收原始EfficientNet的优点之上,具备更好的准确率和更加稳定的训练效果优势。

然而,森林火灾的识别预警系统需求实际上很复杂,在很多场景下不仅仅需要能够识别出是否有火灾,还要能够对火灾的程度进行分级,这样有助于对火灾发生程度进行把控,为施救提供更好的参考,此类后续工作可以在本文研究基础上展开。

猜你喜欢
注意力准确率卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things