基于迁移学习的卷积神经网络森林火灾检测方法 下载: 1650次
1 引言
森林火灾是世界八大自然灾害之一,具有速度快、突发性强、破坏性大的特点,救灾处置较为困难,一旦发生火灾,大火就会迅速向四面八方蔓延,是森林安全的最大威胁。近年来,随着退耕还林、森林增绿增效等工程建设,我国森林面积不断扩大,火源管理难度大,森林火灾时常发生,森林防火形势十分严峻[1]。因此,森林火灾检测以及及时预警显得愈发重要。
近年来,图像处理技术的不断进步,使得基于图像的火灾识别及检测技术得到迅速发展。文献[ 2]中提出使用基于YUV颜色模型的亮度闪烁情况来对火灾疑似区域进行识别。文献[ 3]中将火灾检测与反向传播(BP)神经网络相结合,实现对火灾的识别。文献[ 4]中针对森林火灾的特点,提出一种基于颜色模型的火灾分类算法。文献[ 5]中使用改进ViBe算法以及随机森林和支持向量机(SVM)组成的两级分类器对早期火焰进行分类。
尽管图像型火灾检测方法相比于传统的检测方法具有明显优势,但这种方法的好坏取决于人工特征的选取。人工特征选取得合适,检测效果就好,反之,则无法达到理想的效果。除此之外,如果处在背景复杂的环境中时,就很难提取理想的特征,且不同的数据集对应不同的特征,使用一个数据集训练的模型用在其他数据集上往往识别率较低,适应性较差[6]。
卷积神经网络(CNN)是一种具有复杂结构的前馈神经网络,它通过使用大量标注图像数据来对一种深层非线性网络结构进行学习,能够直接将图片作为网络的输入,自动提取特征,对图片的变形具有高度不变性。文献[ 7]中设计了一个9层的CNN,使用大量样本训练模型,最终能分类出火焰、烟雾或无火灾情况。文献[ 8]以AlexNet卷积神经网络模型为基础设计了火焰与烟雾分类器。文献[ 9]中实现了一种用于森林火灾识别的12层CNN,该网络取得了比较好的分类效果。由于CNN中的众多参数需要大量数据来训练,所以数据集的规模是影响网络性能的关键因素之一。然而在实际应用过程中,针对某些特定任务,往往无法获取足够多的数据。因此,考虑预先进行一个无监督的预训练过程或者从相关甚至不相关的任务中迁移知识,通过替换相关数据集中预训练过的网络模型的输出层并利用目标数据集对网络中的深层卷积层进行微调[10],来克服训练样本不足的问题,从而提高网络模型的性能。
本文以火灾现场为研究对象,采用基于CNN的算法来对森林火灾疑似区域以及火灾图像中的火焰及烟雾进行检测。由于缺少相关数据集,难以获得足够多的图像样本,因此采用迁移学习的训练策略来克服训练CNN样本不足以及训练时间过长的问题。首先使用ImageNet数据集来预训练CNN,以预训练的参数来初始化目标任务模型参数;然后在PASCAL VOC数据集上进行fine-tuning;最后再用森林火灾图像样本精调网络模型,提高检测算法的精度。本文方法为进一步使用无人机对火灾现场进行检测提供了模型支持,对于火灾救援决策的制订具有重要意义。
2 森林火灾目标检测模型
本文中森林火灾检测模型将区域建议与CNN相结合,借助CNN良好的特征提取能力和分类性能,采用区域建议方法实现目标检测问题的转换。
火灾检测网络模型主要由3个模块构成:第1个模块用来产生与类别无关的区域建议框,定义网络可以获得的候选目标;第2个模块是AlexNet[11]卷积神经网络,用于提取特征;第3个模块是一个指定类别的SVM。森林火灾网络模型的检测过程如
2.1 候选区域
产生候选区域最直接的方法是滑动窗口法:按照子块大小在整幅图像上穷举所有子图像区域。但是这种方法具有在面临计算复杂度高的问题时效率低下的缺点,因此在本文检测模型中使用选择性搜索[12]的方法来产生候选区域。
选择性搜索法的思想是先使用图像分割的方法来获得一些初始分割区域,然后利用层次分组策略将这些初始区域进行合并,将得到的区域作为目标定位的候选区域。算法流程如
选择性搜索算法用分割不同区域的方法来识别潜在的物体,在分割的时候,合并具有相似性的小区域。相比滑动窗口法,选择性搜索算法将像素分配到少数分割区域中,因此最终产生的候选区域数量要少得多,大幅度降低了搜索空间,从而减少了运行物体识别算法的次数,提高了算法速度。
2.2 AlexNet模型
本文采用的特征提取网络是经典的AlexNet卷积神经网络模型。模型包含8层深度神经网络,前5层为卷积层,最后由3个全连接层(FC)来进行高层特征的分类。网络输入图像尺寸为227×227×3;输出层能够对1000个类别进行分类;采用ReLU函数作为激活函数,能解决sigmoid函数在网络层数较深时的梯度弥散问题;在最后几个全连接层中使用Dropout,不仅能够随机除去一些神经元,还能够很好地避免模型产生过拟合现象;另外模型还采用重叠的最大池化,这一操作可以避免平均池化的模糊化效果。
AlexNet模型的基本网络结构如
2.3 支持向量机(SVM)
将SVM用于分类问题,即
式中:fs(x)为预测结果;y为实际类别。通过寻找一个分类界限将所有数据分为两类,并用线性函数f(x)=w·x+b对分类器进行构造,其中w和b分别表示分类界限的法向量和截距。
文中要通过训练多个SVM分类器来判断候选框中物体的类别。每一个类别对应一个SVM,判断它是否属于这个类别,如果是则为正样本,反之则为负样本。本文检测模型不用AlexNet模型直接进行多分类,而是使用SVM构造多个二分类器,这是因为训练AlexNet需要更多的样本,但是样本数量又不足以训练AlexNet,而SVM分类器更适用于小样本分类,选择训练样本时也更加严格。
在检测火灾图像时,当检测窗口只包含部分目标物体时,设置预测框与原标注框重叠度的阈值为0.3,即当重叠度小于0.3时,就把它标注为负样本,其余情况均标注为正样本。一旦物体的特征被提取出来,将使用其对应的SVM分类器对物体是否属于该类别进行判断。
2.4 迁移学习
由于森林火灾的检测缺少相关数据集,为了减少训练时间,提高检测精度,本文采用基于迁移学习的方法进行森林火灾目标检测。
迁移学习是一种使用已有知识对不同但是具有相关性的领域进行求解的机器学习方法,该方法以小数据量的样本集作为目标域,以大量标注的数据集作为源域[13]。针对不同的任务,普通的CNN模型每次都要重新从头训练,因此可以使用迁移学习的方法将模型已经学到的知识通过某种方式来共享给新模型,从而加快并优化网络模型的学习效率。本文的迁移过程如
2.5 模型训练
对CNN模型进行训练得到最终的森林火灾检测网络模型,训练的具体步骤如下。
1)输入森林火灾图片,利用选择性搜索算法找出候选区域。改变每个候选区域的尺度和长宽比,使其与CNN要求的图片输入大小保持一致。
2)使用经过预训练的AlexNet参数初始化森林火灾检测模型,将最后的1000类分类器替换成3类(2类+背景)分类器,随机初始化这层权重,然后使用火灾数据集对整个网络进行fine-tuning。在训练的候选区域中,将与标定的数据集中的grand-true box产生的交并比(IOU)大于0.5的样本标为正样本,其余为负样本。
3)利用2)中的网络来提取特征,使用SVM进行分类。将候选区域中与grand-true box产生的交并比小于0.3的样本标为负样本,其余的舍去。
4)进行检测边框(bounding box)回归:候选区域的位置为P=(Px,Py,Pw,Ph),其中Px和Py为区域的中心点坐标,Pw与Ph分别为区域的宽度和高度。定义转换参数dx(P)、dy(P)、dw(P)和dh(P),根据映射关系,得到检测目标的真实位置G=(Gx,Gy,Gw,Gh),即
3 实验结果及分析
实验在Windows 10下的MATLAB R2017a平台完成,计算机处理器为Intel(R) Core(TM)i7-8550U CPU,其标准频率为1.80 GHz,睿频为1.99 GHz,内存为8 GB。森林火灾图像数据集从6段小视频中采样得到,其中正样本1000张,负样本600张,初始学习率为0.0001。
3.1 模型分类性能测试
利用森林火灾图像数据集直接训练AlexNet卷积神经网络得到网络模型1;利用迁移学习,保持卷积层的参数不变,只训练全连接层得到网络模型2;利用迁移学习,将原始网络中的所有参数进行微调得到网络模型3。
表 1. 不同模型的分类性能
Table 1. Classification performances of different models
|
从
3.2 模型检测结果
根据3.1节得出的结果,使用经过精调的基于迁移学习的CNN模型来对森林火灾图像进行检测,得到的检测结果如
图 5. 森林火灾检测结果。(a)检测结果①;(b)检测结果②;(c)检测结果③;(d)检测结果④
Fig. 5. Forest fire test results. (a) Test results ①; (b) test results ②; (c) test results ③; (d) test results ④
从
3.3 算法比较
为验证本文算法的有效性,将其与其他CNN检测算法进行比较。其中
从
表 2. 不同CNN算法的对比
Table 2. Comparison of different CNN algorithms
|
本文算法还能够进一步验证迁移学习方法在使用小样本数据进行目标检测时的优势。
表 3. 不同迁移学习CNN算法的对比
Table 3. Comparison of different migration learning CNN algorithms
|
4 结论
以森林火灾为研究对象,提出一种基于迁移学习的CNN森林火灾检测方法。该方法能够很好地解决在训练深度CNN模型时,目标任务标签样本数量不足以及训练时间过长的问题。该方法将已经在大型公共数据集上预训练好的CNN模型迁移到森林火灾检测任务中,再使用目标数据集精调网络模型得到最终的森林火灾检测网络。实验结果表明:本文森林火灾检测网络模型具有较高的检准率,能够很好地对森林火灾疑似区域以及森林火灾现场进行检测。此外,还证明了将本文方法运用在小样本数据目标检测中具有很强的优越性及有效性。本文方法为进一步使用无人机对火灾救援提供了模型支持,对火灾救援决策的制订具有重要意义。
[1] 高文. 森林防火存在的问题及建议[J]. 现代农业科技, 2018( 21): 142- 143.
GaoW. Problems and suggestions for forest fire prevention[J]. Modern Agricultural Science and Technology, 2018( 21): 142- 143.
[3] KandilM, SalamaM. A new hybrid algorithm for fire vision recognition[C]∥IEEE EUROCON 2009, May 18-23, 2009, St. Petersburg, Russia. New York: IEEE, 2009: 1460- 1466.
[4] Vipin V. Image processing based forest fire detection[J]. International Journal of Emerging Technology and Advanced Engineering, 2012, 2(2): 87-95.
[5] 梅建军, 张为. 基于ViBe与机器学习的早期火灾检测算法[J]. 光学学报, 2018, 38(7): 0710001.
[6] 傅天驹. 基于深度学习的林火图像识别算法及实现[D]. 北京: 北京林业大学, 2016.
Fu TJ. Forest fire image recognition algorithm and realization based on deep learning[D]. Beijing: Beijing Forestry University, 2016.
[7] FrizziS, KaabiR, BouchouichaM, et al. Convolutional neural network for video fire and smoke detection[C]∥IECON 2016-42nd Annual Conference of the IEEE Industrial Electronics Society, October 23-26, 2016, Florence, Italy. New York: IEEE, 2016: 877- 882.
[8] Wu XH, Lu XB, LeungH. An adaptive threshold deep learning method for fire and smoke detection[C]∥2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC), October 5-8, 2017, Banff, AB, Canada. New York: IEEE, 2017: 1954- 1959.
[9] 傅天驹, 郑嫦娥, 田野, 等. 复杂背景下基于深度卷积神经网络的森林火灾识别[J]. 计算机与现代化, 2016( 3): 52- 57.
Fu TJ, Zheng CG, TianY, et al. Forest fire recognition based on deep convolutional neural network under complex background[J]. Computer and Modernization, 2016( 3): 52- 57.
[10] 王立伟, 李吉明, 周国民, 等. 深度迁移学习在高光谱图像分类中的运用[J]. 计算机工程与应用, 2019, 55(5): 181-186.
Wang L W, Li J M, Zhou G M, et al. Application of deep transfer learning in hyperspectral image classification[J]. Computer Engineering and Applications, 2019, 55(5): 181-186.
[11] KrizhevskyA, SutskeverI, Hinton GE. ImageNet classification with deep convolutional neural networks[C]∥Advances in Neural Information Processing Systems, December 3-6, 2012, Lake Tahoe, Nevada, United States. [S.l:]: NIPS, 2012: 1097- 1105.
[13] 褚晶辉, 吴泽蕤, 吕卫, 等. 基于迁移学习和深度卷积神经网络的乳腺肿瘤诊断系统[J]. 激光与光电子学进展, 2018, 55(8): 081001.
Article Outline
富雅捷, 张宏立. 基于迁移学习的卷积神经网络森林火灾检测方法[J]. 激光与光电子学进展, 2020, 57(4): 041010. Yajie Fu, Hongli Zhang. Forest Fire Detection Method Based on Transfer Learning of Convolutional Neural Network[J]. Laser & Optoelectronics Progress, 2020, 57(4): 041010.