Processing math: 50%
  • Scopus收录期刊
  • CSCD(核心库)来源期刊
  • 中文核心期刊
  • 中国科技核心期刊
  • F5000顶尖学术来源期刊
  • RCCSE中国核心学术期刊
高级检索

基于Sparse-DenseNet模型的森林火灾识别研究

周浪, 樊坤, 瞿华, 吕媛媛, 张正宜

周浪, 樊坤, 瞿华, 吕媛媛, 张正宜. 基于Sparse-DenseNet模型的森林火灾识别研究[J]. 北京林业大学学报, 2020, 42(10): 36-44. DOI: 10.12171/j.1000-1522.20190371
引用本文: 周浪, 樊坤, 瞿华, 吕媛媛, 张正宜. 基于Sparse-DenseNet模型的森林火灾识别研究[J]. 北京林业大学学报, 2020, 42(10): 36-44. DOI: 10.12171/j.1000-1522.20190371
Zhou Lang, Fan Kun, Qu Hua, Lü Yuanyuan, Zhang Zhengyi. Forest fire identification based on Sparse-DenseNet model[J]. Journal of Beijing Forestry University, 2020, 42(10): 36-44. DOI: 10.12171/j.1000-1522.20190371
Citation: Zhou Lang, Fan Kun, Qu Hua, Lü Yuanyuan, Zhang Zhengyi. Forest fire identification based on Sparse-DenseNet model[J]. Journal of Beijing Forestry University, 2020, 42(10): 36-44. DOI: 10.12171/j.1000-1522.20190371

基于Sparse-DenseNet模型的森林火灾识别研究

基金项目: 国家自然科学基金项目(71502015),北京市社会科学基金项目(16GLC059),中央高校基本科研业务费专项(2017ZY68),北京林业大学教育教学研究项目(BJFU2018JY040),北京高等学校青年英才计划项目(YETP0776)
详细信息
    作者简介:

    周浪。主要研究方向:图像识别、智能优化算法、系统优化。Email: 2136524365@qq.com 地址:100083北京市海淀区清华东路35号北京林业大学经济管理学院

    责任作者:

    樊坤,教授,博士生导师。主要研究方向:生产系统优化、智能算法、电子商务、管理系统系统。Email: fankun@bjfu.edu.cn 地址:同上

  • 中图分类号: S762.2

Forest fire identification based on Sparse-DenseNet model

  • 摘要:
      目的  森林火灾的频繁发生给森林防治工作带来很大的难度,传统的森林火灾识别算法存在准确率低、处理效率不够高等问题,同时由于森林火灾图像数据本身具有很强的复杂性,需要从识别精度和泛化能力等多方面进行综合考虑,因此本文将利用稀疏化的DenseNet模型展开森林火灾的识别研究。
      方法  首先,对DenseNet模型进行稀疏化改造,通过随机屏蔽Dense Block模块中节点的方式来产生稀疏化效果,使得算法具备减轻过拟合、缓解梯度消失以及加快收敛速度等优点。其次,在林区进行图像采集时,由于摄像设备与被采集物体之间的相对运动以及光影作用,会出现图片数据被干扰的情况,因此本文利用python相关的图片处理工具对图片进行变换,从而对图片数据集进行相应的扩充,使其能够契合实际的应用场景。最后,本文将Sparse-DenseNet模型与其他经典深度学习模型在森林火灾数据集以及cifar10数据集上的表现进行对比,观察其效果。
      结果  Sparse-DenseNet模型拥有在结构上更加轻量的特点,并且训练更快,避免过拟合的效果更好,在森林火灾数据集和标准数据集cifar10上都具有较好的表现。
      结论  本文所提出的Sparse-DenseNet模型在森林火灾识别问题上,可以有效优化传统模型存在的问题,并取得良好的识别效果,其准确率可达到99.33%,优于DesenNet的98.15%,并且相同轮次训练时间只有DenseNet训练时间的3/4左右。
    Abstract:
      Objective  The frequent occurrence of forest fire brings great difficulty to forest prevention and control. Traditional forest fire identification algorithms have problems such as low accuracy and insufficient processing efficiency. At the same time, forest fire image data itself has strong complexity. It is necessary to comprehensively consider the recognition accuracy and generalization ability. For this reason, this paper uses the Sparse-DenseNet model to carry out the identification research of forest fire.
      Method  Firstly, the DenseNet model was sparsely transformed, and the sparse effect was generated by randomly shielding the nodes in the Dense Block module, so that the algorithm had the advantages of reducing over-fitting, mitigating gradient disappearance and accelerating convergence speed. Secondly, when image acquisition was carried out in the forest area, due to the relative motion between the camera device and the object being collected and the effect of light and shadow, the image data may be disturbed. Therefore, this paper uses python image processing tools to transform the image. The image dataset was expanded accordingly to fit the actual application scenario. Finally, this paper compares the performance of the Sparse-DenseNet model with other classical deep learning models on the forest fire dataset and the cifar10 dataset, and observes its effects.
      Result  The Sparse-DenseNet model had the characteristics of being lighter in structure, training faster, better effect of avoiding over-fitting. It had a good performance in the forest fire data set and the standard data set cifar10.
      Conclusion  The Sparse-DenseNet model proposed in this paper can effectively optimize the problems existing in traditional forest models and achieve good recognition results. The accuracy rate can reach 99.33%, which is better than DesenNet’s 98.15%, and the training time is only about three-quarters of DenseNet in same round.
  • 一直以来,森林火灾严重地威胁着生态系统的安全,对森林的林分结构造成了巨大破坏[1]。目前我国的森林防火工作存在理论及科研落后、预警方式效率低下[2]等问题。在当今林业资源的管理模式下,森林防火工作重点不仅在于事前防控,还在于事发林火的快速识别、预警与处理。虽然较多林区还在采用人工监控火灾的方式,但有一些林区已经开始应用森林防火无线视频监控系统,并可以实现24 h无人全天候和全方位的火灾监控和预警[3],而视频采集到的图像可以利用自动化的图像识别技术进行林火识别以代替人工方式。传统的火灾图像识别方式多是数学建模或者利用浅层网络结构进行处理[4],然后进行识别,此方式无法突破识别率的瓶颈,并且操作较为复杂,难度较高,而深度学习已经在解决图像识别问题上得到了广泛的应用[5],但将其应用到森林火灾识别的相关研究鲜见报道。因此,利用深度学习开展森林火灾的图像识别研究具有重要的理论与现实意义。

    深度学习算法通过模拟人的大脑神经网络结构,从而使其具备强大的拟合能力,能够处理高维度图像数据,承载大规模数据计算。在深度学习算法中,卷积神经网络(convolutional neural networks,CNN)为最常用的算法模型,其利用卷积层、池化层和全连接层等基本结构学习并提取相关特征,整个过程无需人工参与即可取得好的效果[6],从而能够有效解决传统机器学习算法无法克服的高维度图片计算以及特征提取效率低下等问题。

    事实上,除了目前企业级的商业应用领域之外,植物和林业也存在着CNN的广泛应用,包括常规植物检测、植物虫害和疾病等农林业方面的识别[7-9]。在森林防火领域,信息监测技术被视为一项重要的组成部分,给森林防火带来了一定的便利性。近年来,越来越多的林业部门引入了信息技术来进行林业管理,包括GPS和遥感技术[10]。在森林火灾图像识别问题上,传统的方式在数据量大幅增长以及精度要求不断被提高的情况下,显现出了先天的不足,无法应对日益增长的需求。已有研究者利用人工智能算法处理森林火灾问题[11-14],其中包括利用CNN模型处理拥有复杂背景的火灾图片,并且对小样本林火做进一步处理,也包括利用模糊神经网络算法对森林火灾进行识别,以及分别针对视频烟雾和光谱分析进行研究。

    将深度学习技术应用于森林火灾识别的研究仍然停留在初步阶段,没有对深度学习算法的一些常见问题进行讨论,例如:业界一直探讨的深度学习模型训练过程中出现的梯度消失、参数爆炸、结构复杂等问题[15]没有进一步讨论。近年来,一种新型的基于密集连接的深度学习模型DenseNet(dense convolutional network),通过在任意两层之间建立连接使得模型更好地传递特征,优化了梯度消失问题,并极大地减少了参数量[16]。虽然DenseNet模型囊括上述优点,然而其密集的连接方式并非必要且增加了计算机内存的消耗,因而在实际的应用过程中仍然具备很大的优化空间。因此,本文提出一种稀疏化的DenseNet模型(Sparse-DenseNet),在优化DenseNet模型的同时能够有效地对森林火灾进行识别。

    人工神经网络(artificial neural network,ANN)是按照生物的神经结构原理进行的一种计算机模拟,通过将大量的神经元按照一定的结构和形式进行连接并训练,从而拥有强大的非线性拟合能力。在此基础之上,Hinton等[17]提出利用多层隐藏层的ANN可以具备更加强大的训练能力的观点,并设计了相应的多隐层网络结构,从而使得具备深层网络结构的深度学习(deep learning,DL)逐渐成为时代潮流。

    CNN是深层神经网络的一种经典实例并且在实际应用中广受欢迎。CNN结构主要有输入层(input)、卷积层(conv)、激活函数(ReLu)、池化层(pooling)、全连接层(FNN),这种结构使得CNN相较于其他的网络更容易提取特征。由于在进行卷积操作的过程中,使用的是共享参数,这使得CNN的参数数量相较于传统的ANN大幅下降。然而,在CNN不断实践的过程中,随着网络层次的加深,深层的神经网络在训练过程中会出现梯度消失、过拟合以及参数过多等问题,这些弊端在很大程度上影响了其训练效率和性能。

    在DenseNet出现之前,Szegedy等[18]通过加宽网络结构提出Inception模型来提高CNN的效率,He等[19]利用深度残差学习(deep residual learning,ResNet)缓解了深层网络梯度消失的问题。但Inception和ResNet的设计方案使得模型过于复杂,容易产生过拟合,仍然具备很大的改进空间。因此Huang等[16]提出了DenseNet深度学习模型,相比于前两者,DenseNet的设计思想是通过充分利用特征(feature)的方式来优化网络结构中信息的传输。其基本思想是在保证网络中层与层之间最大程度的信息传输的前提下,直接将所有层连接起来。

    DenseNet网络结构核心思想为:每一层的输入来自前面所有层的输出。DenseNet提升了信息和梯度在网络中的传输效率,每层都能直接从前面各层拿到梯度并得到输入信号,这样就能训练更深的网络,同时具备正则化的效果。不同于其他CNN模型主要利用深度和宽度来提升性能,DenseNet重点在于从特征重用的角度来实现模型的优化,并且其密集操作是在Dense Block(密集连接块)中实现的,整体的网络架构是将多个Dense Block串联起来。

    一个Dense Block的结构(假设网络通道数为4)如图1所示。

    图  1  Dense Block模块基本结构
    x0x1x2x3x4表示的是模型中的数据,H1H2H3H4为一个由批量正则化(batch normalization, BN)、激活函数ReLu(线性修正单元)和一个卷积层构成的中间层即f (x)。x0, x1, x2, x3, x4 represent the data in the model; H1, H2, H3 and H4 mean an intermediate layer composed of batch normalization (BN), activation function ReLu (linear correction unit) and a convolution layer, namely f (x).
    Figure  1.  Basic structure of Dense Block module

    一个完整的DenseNet如图2所示,可以看到多个Dense Block之间没有密集连接,而是建立了过渡层(transition layer),一般而言该层由BN+Conv(1 × 1)→Pooling(2 × 2)组成,也可以不需要BN层。正是由于这种优良的模型构建方式,使得其能够有效解决传统深度学习所遇到的问题。本文所提出的稀疏化模型将在DenseNet思想基础之上进行展开。

    图  2  DenseNet模型基本结构
    Figure  2.  Basic structure of DenseNet model

    在传统的CNN模型中,如果模型的层数为L,那么其总的连接数为L;而在DenseNet中,可以看出,一个层数同样为L的DenseNet总的连接数Ld满足:

    Ld=L(L+1)/2 (1)

    下列公式表现了层与层之间的数据传递关系:

    xl=Hl([x0,x1,,xl1]) (2)

    式中:xl表示l层的输入,Hl表示BN、ReLu和Conv操作,[x0,x1,,xl1]表示将前l1层的输出特征图(feature map)进行矩阵上的连接操作,也称为通道合并。可以看出第l层的输入来源于其前面l1的数据信息。

    由式(1)和式(2)可得,DenseNet的优良性能很大程度上得益于密集连接的过程中对特征的充分利用。然而,在DenseNet模型不断实践的过程中,不少研究者发现,由于网络结构连接密集,该网络模型存在对计算机资源,特别是内存,消耗巨大并且训练过程仍然无法令人满意的问题。因此,本文设计出一种稀疏化的密集连接方式,来优化上述问题。

    利用稀疏化来减少神经网络的计算量并增强泛化能力是业界一直以来使用的办法,且取得了很好的效果,而选取的稀疏化策略对网络效果有着很重要的影响。对于一个全连接的网络结构而言,其连接数过多导致网络训练困难且容易过拟合,适当的稀疏化能够有效地缓解这些问题[20-21]

    本文将采用一种随机断开连接的稀疏化方式进行网络结构的改造,并且这种改造作用于Dense Block。相比于固定断开连接,随机的方式会产生很多的子模型,多个子模型组合在一起可以加强模型的拟合能力,经典机器学习算法随机森林[22]很好地说明了这一点。此处用一个简单的神经网络模型进行简要说明:在全连接的网络训练过程中,随机屏蔽神经元节点,如此一来这个节点以及与之相应的连接将会消失,不过在下一轮训练的时候,将再次随机选择节点,该稀疏化方式将会使得模型具备更好的性能。具体示意如图3

    图  3  随机屏蔽示意图
    Figure  3.  Random shielding diagram

    依据此设计,本文对DenseNet进行改进后的模型理论上将同时具备信息有效传输和减轻过拟合及计算负担的特点,进而可以构建更深层次的结构,使模型在泛化能力和识别精度上获得良好的效果。从模型结构上来说,在同样的网络层数上Sparse-DenseNet将会比DenseNet具备更高的训练效率。

    Sparse-DenseNet的结构建立在DenseNet基础之上,并对Dense Block内部层与层之间的连接进行优化。具体做法如下:将卷积、正则化以及激活操作组合成一个基本数据操作节点,即图4中的f (x),并利用概率p将这些节点随机屏蔽,类似于图3的神经网络,且设置q=1p,而p显然属于伯努利分布:

    图  4  稀疏化的Dense Block
    Figure  4.  Sparsed Dense Block
    f(x|p)={pxq1x,x=0,10,x0,1 (3)

    当某一节点被屏蔽后,该节点以及节点之后的输出将消失并且不对网络的训练产生影响,而一个连接将会产生两种子模型结构,假如一个Dense Block有n个节点,那么理论上某一个Dense Block的子模型的数量将会达到2n个,多个子模型的组合将会拥有更好的拟合能力和泛化能力。

    一个稀疏化的Dense Block总体如图4所示,其中虚线框内表示的是被屏蔽的节点和其产生的输出数据。本文所采用的Sparse-DenseNet包含3个Dense Block,并且Sparse-DenseNet整体结构信息如图5所示。

    图  5  本文Sparse-DenseNet网络框架
    Input为输入数据,C1、C2、C3为卷积层(Conv),D1、D2、D3代表Dense Block,P1、P2、P3为池化层,R为数据维度转换操作,FC为全连接层,Softmax为分类层,mnk为该数据在第3维度的随机数。Input is the input data, C1, C2, C3 are convolutional layers, D1, D2, and D3 are Dense Blocks, P1, P2, and P3 are pooling layers, R is the data dimension conversion operation, FC is the fully connected layer, and Softmax is the classification layer; m, n, k are random numbers of the data in the third dimension.
    Figure  5.  Network framework of Sparse-DenseNet in this study

    以下详细解释整个网络框架的结构:

    (1)输入层。图5中Input为输入层的图片数据。森林火灾的图片较为复杂,通常有大量的非火灾元素,并且收集到的数据集图片尺寸往往大为不同。首先,将所有图片统一缩放为32 × 32 × 3大小。图片为RGB图片,即有3个颜色通道。

    (2)卷积层。图5中C1、C2、C3为卷积层,C1采用的是3 × 3的卷积,C2、C3采用的是1 × 1卷积。另外,实际上C2、C3各自前后会经过ReLu激活函数和dropout操作。卷积层为CNN最主要的层,该层用来提取特征,而特征提取的效果将直接影响图片的识别精度。每张图片由多个卷积核进行卷积操作,而卷积核的大小决定了图片上感受视野的范围,卷积操作后所得图片大小由卷积核大小、卷积操作的补0规则所决定。一张图片经过相应的卷积操作后的尺寸大小为:

    Ow=IwFw+2PS+1 (4)
    Oh=IhFh+2PS+1 (5)

    式中:OwOh分别代表输出图片尺寸的宽和高,IwIh分别代表输入图片的宽和高,FwFh分别代表卷积核的宽和高,P为每一条边上补0的数量,S为卷积操作过程中的步长。

    为了增强神经元的非线性特性,从而增强其拟合能力,卷积层过后往往需要利用一类函数对其进行非线性变换,这类函数称之为激活函数,常用的激活函数为sigmoid函数、tanh函数、ReLu(非线性修正单元)函数以及softplus函数。近些年来,大量的实验表明ReLu的效果更好[23],也更符合人类神经元处理信息的方式,因此本文将采用ReLu函数对其进行处理,其表达式[24]如下:

    ReLu(x)=max (6)

    函数图像如图6所示。

    图  6  ReLu函数示意图
    Figure  6.  Schematic diagram of ReLu function

    函数屏蔽掉了值小于0的数据信息,从而造成了稀疏化的效果,性能上便是增强了表达能力,其中{x}满足:

    {x} = {{w}^ {\rm T}}{{x}_0} + {b} (7)

    式中:{{x}_0}代表卷积后的数据,与相应的权重系数矩阵{w}^{\rm T }相乘后加上偏置项 b,计算后的整体作为ReLu的函数输入值 {x}

    在ReLu函数图像中可以看到,当数值大于0时其导数值恒为1,这使得神经网络的梯度能够很好地进行传递,不会产生较大波动,所以训练的过程将会大大加快,这种特点对于复杂的图片数据来说是非常必要的。

    (3)Dense Block。图5中D1、D2、D3代表Dense Block,每个Dense Block包含12个卷积模块,其中卷积采用3 × 3的大小。Dense Block操作的特点在于密集连接,如果没有被稀疏化,那么输出数据的深度将会是一个定值,但是采用随机稀疏化的操作后,由于Dense Block内部某些节点会被随机屏蔽,叠加后的数据深度不是一个定值,此处用mnk表示。

    (4)池化层。图5中P1、P2、P3为池化层,窗口采用2 × 2大小。经过卷积层处理后的数据往往需要进行规模上的压缩,目的在于保留图像特征的同时能够减少计算,进行此类操作的层称为池化层。基本方法是将数据矩阵分割成相同规模的子矩阵,然后计算子矩阵的均值或最大值,前者称之为均值池化(avg-pooling),后者称之为最大值池化(max-pooling),两者的思想都是选取最具备代表性的子矩阵进行下一轮计算。此处本文选择max-pooling,其表达式为:

    f( x) = \max ({{ x}_i}) (8)

    式中:{{x}_i}为输入的数据。同卷积层一样,在分割出子矩阵的过程中,如果原矩阵大小不合适将会产生补0操作。

    (5)全连接层。图5中FC为全连接层。在进行最后分类之前,利用传统的神经网络中常用的全连接层进行计算,目的在于将之前网络结构学习到的所有特征进行综合提取,为分类层做好数据准备,这一层也是数据量相对较大的层次。本文设置一个全连接层,神经元为1 024个,经过全连接计算后仍然利用激活函数对其结果进行修正,并且依然选择ReLu函数。

    (6)分类层。图5中Softmax层为分类层。事实上此层仍然为全连接层,只是神经元个数为图片分类的个数,此处为2,对应有火和无火,目的在于将高维数据变化为所需要分类的数据,并且计算后的数据利用softmax函数进行处理,得到每个类别概率值,并选择最大概率所对应的类别作为本张图片分类后的类别。

    图4可知,如果一个Dense Block里面有L个节点,每一个节点都有概率p被屏蔽,那么连接数{L_{\rm ds}}为:

    {L_{{\rm{ds}}}} = \dfrac{1}{2} {L(1 - p)} (L(1 - p)+1) (9)

    对于Sparse-DenseNet,因为其连接断开服从伯努利分布,假设整个网络具备n个节点,那么可以用到的子网络个数为2n,而且当n趋近于很大时,经过伯努利分布断开后重新组成的子网络基本不会重复,这就相当于训练了2n个网络结构,从而有效地避免了网络在训练集上过拟合的现象。

    深度学习的训练是一个很耗时耗资源的过程,目前训练的基本算法叫做反向传播,而反向传播的主要计算核心为梯度求导,当网络层次深或参数多的时候,链式求导的复杂度增长得很快,并且会对结果的准确性造成影响,甚至在某些极端情况下出现训练无法继续进行下去的情况,而合理的稀疏化能够在确保性能不受影响的情况下尽可能减少模型参数的数量,从而加快训练速度。从公式上解释,由公式(9)可知,Sparse-DenseNet的连接数要小于DenseNet,从而在理论上使其训练得更快。

    Sparse-DenseNet模型的训练过程分为2步,即前向运算和后向运算。

    (1)前向运算。该步骤利用图片的原始数据作为输入,经过图5的网络框架处理后,最终得到分类的结果,并和图片的标签进行对比。

    (2)后向运算。计算前向运算的结果和标签之间的误差(error),然后利用error和BP算法(Backpropagation Algorithm)对网络中的参数进行调整,将调整后的模型再次进行前向运算,直到error最终变化到可接受的范围内。其中,BP算法的核心思想是梯度下降法,公式如下:

    {{w}^{l + 1}} = {{w}^l} - \alpha \nabla {J}({w}^l) (10)

    式中:{{w}^l}表示上一轮的权重,{{w}^{l + 1}}表示更新后的权重,\alpha 表示学习率, \nabla J({{w}}^l)表示{{w}^l}的梯度。

    本研究的应用目的在于促进森林火灾的自动化识别与预警。为了使得本文提出的模型能够更好地契合实际问题,训练数据的数据集将同时采用森林火灾图片和公开数据集。前者森林火灾数据主要采用网上公开的图片,后者主要用来测试模型在不同数据集下的适应能力。本文利用python爬虫技术对网络上的森林火灾图片进行采集,一共有2 826张,包括火灾初发时图片和正在燃烧时的图片,另外还采集了非森林火灾图片932张。

    在森林防火工作中,图像采集设备和目标物之间由于相对运动,使得采集的图片往往会出现像素失真、清晰度不高、图像扭曲等问题,此外风雨等恶劣天气的出现、摄像头的转动也会导致上述问题。为了得到能够更加适用于具体场景的模型,本文将采用处理后的图像数据进行训练和测试,处理方式包括对图片进行运动模糊、高斯模糊、旋转变换以及仿射变换等。以某一张图片为例,变换效果如图7所示。

    图  7  图片经过4种变换处理后的效果
    Figure  7.  Effects of images after four transformations

    以下说明变换原理,并以代表性较强的高斯模糊为例。高斯模糊是利用二维高斯密度函数对图片进行平滑操作后的效果。对于图片某一个像素点O而言,一般平滑操作将其值取周边像素的平均值,但是由于距离O远近不同的点对O的像素的关联性不同,所以需要根据离O距离不同的点附加不同的权重,权重的分配来源于二维高斯分布,因此称作高斯模糊,计算过程如图8。此处以O为坐标原点,所以分布函数的\;\mu = 0,因此此处二维高斯分布数学表达式如下:

    图  8  高斯模糊像素权值计算图
    Figure  8.  Calculation chart of Gaussian fuzzy pixel weight
    f(x,y) = \frac{1}{{2{\text{π}}{\sigma ^2}}}{{\rm e}^{ - \frac{{{x^2} + {y^2}}}{{2{\sigma ^2}}}}} (11)

    \sigma = 1.5,然后计算O周边像素点的权重。当权值计算完毕后点(0,0)处的值便是9个点的加权均值,其他像素点以此类推。

    经过上述4种变换方式所得到的图像实际上可以模拟很多自然条件变化时采集的图像,例如,当森林植被因为刮风的原因产生运动时,图片采集设备拍摄的图片会发生模糊,而高斯模糊和运动模糊能够有效地对此情形进行模拟,前者利用二维高斯分布概率密度函数对图像进行卷积运算,从而模糊图像的细节,而后者主要模糊整体。在实际的森林防火管理过程中,视频监控图片质量不够高是一个普遍存在的现象,通过对图片进行上述4种人为处理,可以达到扩充数据集和模拟真实场景图片的目的,进而使得训练得到的模型能够更好地进行实际应用。

    验证Sparse-DenseNet的性能,并同时和传统的CNN代表ResNet以及原始DenseNet作对比。运行环境如表1

    表  1  实验环境
    Table  1.  Experimental environment
    项目
    Item
    操作系统
    Operating system
    编程环境
    Programming environment
    GPU显存大小
    GPU memory size
    内存大小
    Memory size
    规格 SpecificationUbuntu19.04pycharm 2019.2Geforce GTX 1080Ti11 G16 G
    下载: 导出CSV 
    | 显示表格

    在深度学习模型的训练过程中,往往采用分批次的训练方式,采用多个样本得到的数据进行权值更新,由于综合了很多样本的信息,使得权值的更新更加合理。

    本文使用3种深度学习模型进行对比,分别是ResNet、DenseNet以及Sparse-DenseNet,3种模型层数为50,训练300轮,并设置学习率为0.01,批量大小为64,使用交叉熵函数(cross entropy function)作为损失函数。3种模型的参数大小、训练时间和测试结果见表2

    表  2  森林火灾数据在3种模型上的测试结果
    Table  2.  Test results of forest fire data on three models
    模型 ModelResNetDenseNetSparse-DenseNet
    层数 Layer505050
    总参数 Total parameters23 602 9041 477 058768 626
    训练时间 Trainingt time/s724.941 153.9867.8
    准确率 Accuracy/%94.3398.1599.33
    下载: 导出CSV 
    | 显示表格

    表2可知,Sparse-DenseNet在训练时间上大幅优于DenseNet,并且准确率仍然具备一定优势。如果一个模型在训练集上取了良好的准确率,但是在测试集上准确率明显更低,那么该模型产生了过拟合的效果,或者说是泛化能力差。实验结果的信息曲线图如图9所示。

    图  9  3种模型训练准确率曲线
    红色曲线为训练集准确率曲线,蓝色为测试集准确率曲线。Red curve is the accuracy curve of training set, and the blue one is the accuracy curve of the test set.
    Figure  9.  Training accuracy curves of three models

    图9可知,ResNet训练集准确率和测试集准确率相差较大,并且不稳定,因此收敛性较差,泛化能力不足,而DenseNet和Sparse-DenseNet在训练集和测试集上的准确率最终能够趋近并保持稳定,说明泛化能力理想,能够有效避免过拟合。以上说明了DenseNet和Sparse-DenseNet的设计思想具备减轻过拟合的效果,而Sparse-DenseNet相比于DenseNet泛化能力更好,最终训练集准确率和测试集准确率更加靠近。虽然Sparse-DenseNet在训练速度上劣于ResNet,但是在更加重要的性能指标收敛效果和准确率上,Sparse-DenseNet都要优于另外两种模型,特别是准确率明显高于ResNet。总体来说,本文提出的Sparse-DenseNet模型在收敛速度和准确率以及减轻过拟合上实现了优化,综合了另外两种模型的优点。

    为得到更加适用性的结论,接下来将3种模型分别用标准数据集cifar10进行测试,并取10 000张图片作为训练集和2 000张图片作为测试集。由于cifar10数据量大,模型更容易收敛,经过多次试验,最终发现在训练100轮的情况下,并采用学习率0.01的情况下准确率已经趋近收敛,结果如表3所示。同样地,Sparse-DenseNet仍然可以取得满意的效果,在训练速度上依然大幅领先原始DenseNet,而在准确率上明显领先于ResNet。

    表  3  cifar10数据集在3种模型上的测试结果
    Table  3.  Test results of cifar10 dataset on three models
    模型 Model训练时间 Training time/s准确率 Accuracy/%
    ResNet4 335.0584.28
    DenseNet7 525.3489.91
    Sparse-DenseNet4 659.5190.11
    下载: 导出CSV 
    | 显示表格

    以上验证了Sparse-DenseNet模型在训练时间以及准确率上的优势,相比于以往的传统模型,Sparse-DenseNet具备的稀疏化特征使其在训练过程中能够节省大量时间,收敛更快,训练更加有效率,同时在准确度上也得到了令人满意的结果。

    本文在简要介绍传统火灾识别方式的特点和局限性的基础上,对原始的DenseNet模型进行改造,通过随机断开Dense Block结构中的相关连接达到稀疏化的效果,然后将多个Dense Block连接在一起之后生成了Sparse-DenseNet模型。该模型继承了DenseNet具备的多种优点,并且理论上会比DenseNet具备更强的泛化能力以及更快的训练速度。

    为了验证Sparse-DenseNet模型识别森林火灾的效果,本文通过与传统的CNN代表ResNet、DenseNet进行对比,结果表明:Sparse-DenseNet的误差收敛速度比原始的DenseNet明显要快,进行相同轮次的训练所花费的时间显著减少,同时准确率也十分理想,而相较于ResNet泛化能力更强,准确率更高。总之,Sparse-DenseNet能够在有效地缓解计算压力的同时使得误差收敛加快,为处理森林火灾图片这类复杂的数据提供了更加切实可行的方案。

  • 图  1   Dense Block模块基本结构

    x0x1x2x3x4表示的是模型中的数据,H1H2H3H4为一个由批量正则化(batch normalization, BN)、激活函数ReLu(线性修正单元)和一个卷积层构成的中间层即f (x)。x0, x1, x2, x3, x4 represent the data in the model; H1, H2, H3 and H4 mean an intermediate layer composed of batch normalization (BN), activation function ReLu (linear correction unit) and a convolution layer, namely f (x).

    Figure  1.   Basic structure of Dense Block module

    图  2   DenseNet模型基本结构

    Figure  2.   Basic structure of DenseNet model

    图  3   随机屏蔽示意图

    Figure  3.   Random shielding diagram

    图  4   稀疏化的Dense Block

    Figure  4.   Sparsed Dense Block

    图  5   本文Sparse-DenseNet网络框架

    Input为输入数据,C1、C2、C3为卷积层(Conv),D1、D2、D3代表Dense Block,P1、P2、P3为池化层,R为数据维度转换操作,FC为全连接层,Softmax为分类层,mnk为该数据在第3维度的随机数。Input is the input data, C1, C2, C3 are convolutional layers, D1, D2, and D3 are Dense Blocks, P1, P2, and P3 are pooling layers, R is the data dimension conversion operation, FC is the fully connected layer, and Softmax is the classification layer; m, n, k are random numbers of the data in the third dimension.

    Figure  5.   Network framework of Sparse-DenseNet in this study

    图  6   ReLu函数示意图

    Figure  6.   Schematic diagram of ReLu function

    图  7   图片经过4种变换处理后的效果

    Figure  7.   Effects of images after four transformations

    图  8   高斯模糊像素权值计算图

    Figure  8.   Calculation chart of Gaussian fuzzy pixel weight

    图  9   3种模型训练准确率曲线

    红色曲线为训练集准确率曲线,蓝色为测试集准确率曲线。Red curve is the accuracy curve of training set, and the blue one is the accuracy curve of the test set.

    Figure  9.   Training accuracy curves of three models

    表  1   实验环境

    Table  1   Experimental environment

    项目
    Item
    操作系统
    Operating system
    编程环境
    Programming environment
    GPU显存大小
    GPU memory size
    内存大小
    Memory size
    规格 SpecificationUbuntu19.04pycharm 2019.2Geforce GTX 1080Ti11 G16 G
    下载: 导出CSV

    表  2   森林火灾数据在3种模型上的测试结果

    Table  2   Test results of forest fire data on three models

    模型 ModelResNetDenseNetSparse-DenseNet
    层数 Layer505050
    总参数 Total parameters23 602 9041 477 058768 626
    训练时间 Trainingt time/s724.941 153.9867.8
    准确率 Accuracy/%94.3398.1599.33
    下载: 导出CSV

    表  3   cifar10数据集在3种模型上的测试结果

    Table  3   Test results of cifar10 dataset on three models

    模型 Model训练时间 Training time/s准确率 Accuracy/%
    ResNet4 335.0584.28
    DenseNet7 525.3489.91
    Sparse-DenseNet4 659.5190.11
    下载: 导出CSV
  • [1] 马岩, 张明松, 杨春梅, 等. 森林火灾的危害及重要灭火手段的分析[J]. 森林工程, 2013, 29(6):25−27.

    Ma Y, Zhang M S, Yang C M, et al. Analysis of forest fire hazards and important means of fighting fires[J]. Forest Engineering, 2013, 29(6): 25−27.

    [2] 林燕, 岩糯香. 森林防火现状及火灾控制措施[J]. 现代园艺, 2017(2):223.

    Lin Y, Yan N X. Current situation of forest fire prevention and fire control measures[J]. Xiandai Horticulture, 2017(2): 223.

    [3] 邹全程, 王丽娜. 我国县(区)级单位森林防火能力建设研究: 以威海市环翠区为例[J]. 林业调查规划, 2017, 42(6):33−37.

    Zou Q C, Wang L N. Study on the capacity construction of forest fire prevention of counties (districts) in China: a case study of Huancui District, Weihai City[J]. Forest Inventory and Planning, 2017, 42(6): 33−37.

    [4] 孙立研, 刘美玲, 周礼祥, 等. 基于气象因子深度学习的森林火灾预测方法[J]. 林业工程学报, 2019, 4(3):132−136.

    Sun L Y, Liu M L, Zhou L X, et al. Research on forest fire prediction method based on deep learning[J]. Journal of Forestry Engineering, 2019, 4(3): 132−136.

    [5] 张军阳, 王慧丽, 郭阳, 等. 深度学习相关研究综述[J]. 计算机应用研究, 2018, 35(7):1921−1928, 1936.

    Zhang J Y, Wang H L, Guo Y, et al. Review of deep learning[J]. Application Research of Computers, 2018, 35(7): 1921−1928, 1936.

    [6]

    LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521: 436−444. doi: 10.1038/nature14539.

    [7] 李卫. 深度学习在图像识别中的研究及应用[D]. 武汉: 武汉理工大学, 2014.

    Li W. Research and application of deep learning in image recognition[D]. Wuhan: Wuhan University of Technology, 2014.

    [8] 梁万杰, 曹宏鑫. 基于卷积神经网络的水稻虫害识别[J]. 江苏农业科学, 2017, 45(20):241−243, 253.

    Liang W J, Cao H X. Rice pest identification based on convolutional neural network[J]. Jiangsu Agricultural Sciences, 2017, 45(20): 241−243, 253.

    [9]

    Mohanty S P, Hughes D P, Salathé M. Using deep learning for image-based plant disease detection[J]. Frontiers in Plant Science, 2016, 7: 1−10. doi: 10.3389/fpls.2016.01419.

    [10] 刘恒旭, 刘凯. 森林防火信息化建设技术问题与措施[J]. 科学技术创新, 2017(1):280.

    Liu H X, Liu K. Technical problems and measures for forest fire prevention information construction[J]. Science and Technology Innovation, 2017(1): 280.

    [11] 傅天驹, 郑嫦娥, 田野, 等. 复杂背景下基于深度卷积神经网络的森林火灾识别[J]. 计算机与现代化, 2016(3):52−57.

    Fu T J, Zheng C E, Tian Y, et al. Forest fire recognition based on deep convolutional neural network under complex background[J]. Computer and Modernization, 2016(3): 52−57.

    [12] 赵亚琴. 基于模糊神经网络的火灾识别算法[J]. 计算机仿真, 2015, 32(2):369−373.

    Zhao Y Q. Forest fire recognition algorithm based on fuzzy nerual network[J]. Computer Simulation, 2015, 32(2): 369−373.

    [13] 李诚, 唐李洋, 潘李伟. 城镇森林交界域视频烟雾检测算法[J]. 计算机工程, 2018, 44(1):258−262.

    Li C, Tang L Y, Pan L W. Video smoke detection algorithm for wildland-urban interface[J]. Computer Engineering, 2018, 44(1): 258−262.

    [14] 卢柯楠, 胡晓惠, 李小涛. 安防大数据技术与应用:基于多光谱大数据分析的智能森林火警检测[J]. 中国安全防范认证, 2017(3):10−15.

    Lu K N, Hu X H, Li X T. Security big data technology and application: intelligent forest fire alarm detection based on multispectral big data analysis[J]. China Security Protection Certification, 2017(3): 10−15.

    [15]

    Ioffe S, Szegedy C. Batch normalization: accelerating deep network training by reducing internal covariate shift[C/OL]//Proceedings of the 32nd International Conference on Machine Learning. 2015: 448−456 [2019−05−06]. https://arxiv.org/pdf/1502.03167.pdf.

    [16]

    Huang G, Liu Z, Van Der Maaten L, et al. Densely connected convolutional networks[C]//Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 2261−2269.

    [17]

    Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313: 504−507. doi: 10.1126/science.1127647.

    [18]

    Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]//Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas: IEEE, 2016: 2818−2826.

    [19]

    He K M, Zhang X Y, Ren S Q, et al. Deep residual learning for image recognition[C]//Proceedings of the 2016 IEEE Conference on Computer Vision & Pattern Recognition. Las Vegas: IEEE, 2016: 770−778.

    [20]

    Liu B Y, Wang M, Foroosh H, et al. Sparse convolutional neural networks[C]//Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Boston: IEEE, 2015: 806−814.

    [21]

    Xu Q, Pan G. SparseConnect: regularising CNNs on fully connected layers[J]. Electronics Letters, 2017, 53(18): 1246−1248. doi: 10.1049/el.2017.2621

    [22]

    Rodriguez-Galiano V F, Ghimire B, Rogan J, et al. An assessment of the effectiveness of a random forest classifier for land-cover classification[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2012, 67: 93−104. doi: 10.1016/j.isprsjprs.2011.11.002.

    [23]

    Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]//Advances in neural information processing systems 25. Lake Tahoe: Curran Associates, Inc., 2012: 1106−1114.

    [24] 王红霞, 周家奇, 辜承昊, 等. 用于图像分类的卷积神经网络中激活函数的设计[J]. 浙江大学学报(工学版), 2019, 53(7):1363−1373.

    Wang H X, Zhou J Q, Gu C H, et al. Design of activation function in CNN for image classification[J]. Journal of Zhejiang University (Engineering Science), 2019, 53(7): 1363−1373.

  • 期刊类型引用(7)

    1. 周浪,樊坤,瞿华,张丁然. 基于ECA注意力机制改进的EfficientNet-E模型的森林火灾识别. 华南理工大学学报(自然科学版). 2024(02): 42-49 . 百度学术
    2. 王宇虹,陈仲榆,杨晓丹,赵鲁强,袁晓玉,梁莉. 重庆两场森林火灾蔓延特征的数值模拟. 气象科技. 2024(02): 205-217 . 百度学术
    3. 何乃磊,张金生,林文树. 基于深度学习多目标检测技术的林火图像识别研究. 南京林业大学学报(自然科学版). 2024(03): 207-218 . 百度学术
    4. 李宝民,王小鹏,孙茜容,张军平. 基于概率两阶段CenterNet2的林火图像预警检测方法. 计算机工程与科学. 2023(10): 1884-1890 . 百度学术
    5. 刘九庆,项前,王宇航. 基于SIFT算法和改进的RANSAC算法对森林火灾的图像识别与试验研究. 森林工程. 2022(06): 96-103 . 百度学术
    6. 李梓雯. 森林防火现状问题与防火体系建设对策研究——以河南省新乡市为例. 森林防火. 2022(01): 6-9+14 . 百度学术
    7. 骆晨,潘卫军,朱新平,王玄. 通用航空森林火灾救灾决策模型研究. 消防科学与技术. 2021(12): 1784-1787 . 百度学术

    其他类型引用(9)

图(9)  /  表(3)
计量
  • 文章访问数:  1866
  • HTML全文浏览量:  619
  • PDF下载量:  108
  • 被引次数: 16
出版历程
  • 收稿日期:  2019-09-24
  • 修回日期:  2019-11-13
  • 网络出版日期:  2020-09-08
  • 发布日期:  2020-10-24

目录

/

返回文章
返回