APP下载

基于深度迁移学习的烟雾图像检测

2019-04-25韩超慧吴文俊

武汉纺织大学学报 2019年2期
关键词:特征向量烟雾卷积

韩超慧,马 俊,吴文俊,陈 佳



基于深度迁移学习的烟雾图像检测

韩超慧,马 俊,吴文俊,陈 佳*

(武汉纺织大学 数学与计算机学院,湖北 武汉 430200)

针对乡村焚烧秸秆的烟雾预警问题,提出一种基于深度迁移学习的烟雾图像检测方法。该方法使用TensorFlow框架,引用已在ImageNet数据集上训练好的Inception-v3网络模型作为源模型,将其在ImageNet数据集中提取到的边缘、色彩、纹理等特征用于构建新的烟雾检测模型。利用真实场景的监控图像进行实验验证,实验结果表明,和传统的烟雾图像检测方法相比,该方法取得了较高的检测准确率,测试准确率达到了90%。

深度学习;烟雾检测;迁移学习;TensorFlow

烟雾作为焚烧秸秆的明显特征之一,对其检测可以有效对焚烧秸秆进行预警,减少生命财产的损失,防止大气污染,保护生态环境。为保护人民群众的生命财产安全,根据《大气污染法》和国家《秸秆禁烧和综合利用管理办法》等有关法规,对焚烧秸秆的预防与告警已经刻不容缓[1]。

传统的烟雾检测方法多采用物理信号进行监测,使用大量的传感器来检测温度、光声等信号[2],[3],耗费大量人力和物力来布置和安装传感器,虽然检测精度较高,但其检测的范围太小,在乡村农田或是森林这种广阔开放并且环境复杂的地带,其检测能力会大大降低甚至失效。近年,基于图像的识别方法受到了广泛重视,如基于光流法、帧差法和高斯背景建模的一系列烟雾检测方法[4][5],其共同的特点就是首先通过背景建模或运动目标检测提取出疑似烟雾区再进行判别,该类方法相对于传统的烟雾检测方法,人力物力需求更小,检测范围更大,但其针对的场景单一,泛化能力差,这样就在受到外界环境干扰的情况下很容易产生误报(例如大风使摄像头产生晃动)。近年随着计算机计算能力的提升与卷积神经网络在图像处理方面的应用[6],[7],深度学习图像处理发展飞速,目前已经相当成熟,这就为烟雾检测提供了更优的解决途径。深度学习区别于传统框架,它无需人工设计检测算子,自动从数据中学习特征并经过训练不断优化。然而深度学习需要大量的数据样本,并要求训练集和测试集符合相同的数据分布。目前网络上并没有乡村焚烧秸秆的烟雾数据集,而一般的烟雾数据集中,烟雾与摄像头距离较近,烟雾的背景环境过于简单,与现实中的乡村环境差距太大,无法应用于深度学习神经网络的训练,所以只能从乡村农田监控视频中截取焚烧秸秆烟雾图像来制作数据集。但由于人力物力与时间的有限,且焚烧秸秆较少发生,所以烟雾图像数据集数量并不足以支撑整个复杂的深度神经网络的训练。为解决烟雾小数据集这一问题,采取迁移学习方法[8]利用少量的乡村烟雾图像来训练复杂的深度神经网络模型。通过迁移学习,将源模型在大数据集上训练出来的优秀特征提取能力迁移到目标模型上。

本文引入在ImageNet[9]数据集上训练好的Inception-v3[10]网络,将Inception-v3网络中的最后一层全连接层(FullyConnectedLayers,FC)删除并重新设定,然后将之前的隐藏层中的卷积层与池化层参数全部冻结,再利用收集到的乡村烟雾小数据集进行训练,对重新设定的全连接层进行微调,得到深度迁移学习卷积神经网络烟雾检测模型。最后采用乡村监控截取到的最新烟雾图片数据进行实验测试,结果证明即使在小数据集的情况下,由Inception-v3迁移得到的烟雾检测模型仍能达到90%以上的准确率。

1 相关研究

1.1 Inception-v3

表1表示Inception-v3网络的结构,其中有6个卷积层,2个池化层,2个全连接层,与三种不同的Inception模块。卷积层均采用3×3的卷积核,1、5层步长为2,其余步长为1。两个池化层分别采用3×3、8×8的卷积核,步长分别为2和1。

表1 Inception-v3网络结构

Inception模块通过4个分支中不同尺寸的小型卷积将相关性很高的节点连接在了一次,构建出了高效的符合Hebbian原理的稀疏结构,减轻了过拟合并降低计算量[11]。图1为原始Inception模块,图2的模块1将原始模块中的5×5卷积使用两个3×3代替,如图5,这样既可以有相同的视野,还具有更少的参数。图3是用n×1卷积来代替5×5与3×3卷积,这里设定n=7来应对17×17大小的特征图(feature map)。图4则是用Asymmetric方法,即使用3×1与1×3卷积来代替3×3卷积,视野同样不变参数减少,如图6。这样的改进使得计算量大大降低,使用2个2×2卷积代替3×3卷积可以节省11%的计算量,而使用Asymmetric则可以节省33%的计算量[12]。

图1 原始Inception模块

图2 Inception模块1

图3 Inception模块2

图4 Inception模块3

图5 5×5卷积变为3×3卷积

图6 3×3卷积变为3×1与1×3卷积

除了模型的改进,Inception-v3还改进了目标函数。原来的目标函数,在单类情况下,如果某一类概率接近1,其他的概率接近0,那么会导致交叉熵取对数后变得很大,这样会引起两个问题:过拟合导致样本属于某个类别的概率非常的大,模型太过于自信自己的判断,所以,使用了一种平滑方法,可以使得类别概率之间的差别减小。这个方法考虑标签u(k)的分布和平滑参数ϵ,与训练样本x相互独立。对于一个真实标签为y的训练样本,标签分布为:

使用平滑方法使标签分布变为:

原本目标函数为:

平滑分布后目标函数变为:

在k=1000类的ImageNet实验中,使用了u(k)=1/1000和ϵ=0.1来做标签平滑正则化(LSR),这使得实验中的top-1错误率和top-5错误率,降低了大约0.2%。

1.2 迁移学习

迁移学习是机器学习技术的一种,其中在一个任务上训练的模型被重新利用在另一个相关的任务上[13]。迁移学习也是一种优化方法,可以在对另一个任务建模时提高进展速度或者是模型性能。迁移学习是指针对新问题重新使用预先训练的模型,由于它能用较少的数据训练深度神经网络,这使得目前它在深度学习领域非常流行。在迁移学习中,能够使用预先训练模型的问题只能是与之不同但相类似的问题。迁移学习的总体思路是利用已有知识,即一个模型从一项任务中学到的很多被标记的训练数据可以用在另外一个数据较少的新任务中[14],如图7。迁移学习主要用于需要大量计算能力的计算机视觉和自然语言处理任务。在计算机视觉领域,神经网络通常会尝试检测早期图层的边缘,中间图层的形状以及底图层中的一些特定的特征。通过迁移学习,可以利用最初训练留下的早期层和中间层,并仅对底图层进行重新的训练。迁移学习的主要优点是节省训练时间,在大多数情况下神经网络不需要大量数据就能使得性能更好。通常情况下,从头开始训练一个神经网络需要大量的数据[18],但并不总是能够获得足够的数据。目前网络上还没有开源的大型烟雾图像视频库,而我们所采集到的烟雾图像视频也十分有限,并不足以支撑从头开始训练深层网络,所以采用迁移学习的办法来解决烟雾小数据集的问题。

图7 迁移学习

1.3 TensorFlow框架

TensorFlow是谷歌于2015年11月9日正式开源的计算框架。TensorFlow计算框架可以很好地支持深度学习的各种算法,但它的应用也不限于深度学习[14]。如今在谷歌内部,TensorFlow已经得到了广泛的应用,并且也受到了工业界和学术界的广泛关注。如今,包括优步(Uber)、Snapchat、Twitter、京东、小米等国内外科技公司也纷纷加入了使用TensorFlow的行列。正如谷歌在TensorFlow开源原因中所提到的一样,TensorFlow正在建立一个标准,使得学术界可以更方便地交流学术研究成果,工业界可以更快地将机器学习应用于生产之中。本文将使用TensorFlow框架搭建迁移神经网络,并将训练的神经网络参数保存在checkpoints文件中以供调用和将来继续训练。

2 迁移神经网络模型

2.1 模型流程

先对数据进行预处理,将所有图片大小归一化为299×299×3;再加载调用已经在ImageNet上训练好的Inception-v3网络参数,将图片输入Inception-v3网络,计算得到图片的特征向量;将图片的特征向量分为训练集和测试集;利用训练集特征向量对新设定的全连接层进行训练;最后用测试集进行模型验证;再根据验证结果对模型进行分析,对数据及网络超参数调整之后重新训练。

图8 模型流程

图9 迁移神经网络结构

2.2 迁移神经网络结构

迁移神经网络主要由两个部分组成:(1)由Inception-v3迁移得到的特征提取模块,包含卷积层、池化层和Inception-v3特有的3种特殊卷积层;(2)根据图片特征向量大小和分类数量新设定的FC层。

3 实验

3.1 实验数据

3.1.1 数据的收集

实验采用的数据均为乡村监控摄像头所拍摄的真实场景图片。对布置在340个乡镇的监控摄像头,进行了历时一个月的烟雾监测抓拍,得到了共计2437张烟雾图片作为正样本,然后再让每个摄像头在不同时段随机抓取了共约5344张图片作为负样本。

3.1.2 数据预处理

由于大多情况下乡村是没有烟雾的,所以造成了二分类样本数据不均衡,这样会导致训练出来的模型失效,容易将所有图片都误判为没有烟雾。所以采取过采样与欠采样的方法来解决样本不均衡的问题[15]。对无烟雾的场景图片进行欠采样,删除部分样本,对有烟雾的场景图片进行过采样,采取裁剪、翻转等方式对烟雾图片进行数据增强。最后对两类样本进行清理,将其中分类错误和夜间抓取的图片删除。最终得到有烟雾图片2700张,无烟雾图片5000张。

图10 实验数据

3.1.3 训练集与测试集的划分

随机将正样本与负样本中的烟雾图片分为训练集、测试集,其中训练集占90%,测试集占10%。当训练全部结束以后使用测试集测试准确率。

3.2 系统环境

本文使用TensorFlow来搭建迁移网络的架构,使用Anaconda的JupyterNotebook和python完成编程。使用的工作环境包括一个a3.70GHzIntel(R)Core(TM)i7-8700kCPU和一个NVIDIAGeForczzeGTX1080TiGPU。

3.3 模型性能评估

3.3.1 模型评价指标

二分类模型一般有四种评价指标:

准确率(Accuracy),即所有样本被正确分类的占比:

精确率(Precison),即预测为正类的样本中,实际为正类的占比:

召回率(Recall)即实际为正类的样本中,正确预测为正类的占比:

F1 Score,即精确率和召回率的调和平均数[16]。(TP、FP、FP、FP见表2) F1 Score公式如下:

本实验采取F1 Score来评估模型性能。

表2 混淆矩阵

3.3.2 实验设置

分别使用支持向量机、深度神经网络、卷积神经网络、与本文的迁移网络四种方法来进行实验。为方便表述本文依次称之为SVM(Support Vector Machine)、DNN(Deep Neural Network)、CNN(Convolutional Neural Network)、TLBI(Transfer Learning Based on Inception-v3)。

SVM模型将特征向量输入支持向量机进行训练和预测,模型误差项惩罚参数为100,模型采用高斯核函数(RBF)。

DNN模型设置了3层隐藏层,其中的神经元个数分别为2048、1024、512。CNN模型隐藏层由3个卷积层与2个池化层交替连接组成,卷积核分别为7×7、6×6、5×5,池化的核分别为2×2、3×3、4×4,步长分别为2、3、4。最后一层为全连接层使用softmax进行二分类。

TLBI模型先将已在ImageNet上训练好的Inception-v3模型(除去最后一层全连接层)保留参数进行迁移,然后将烟雾图片输入其中,获取由迁移的Inception-v3模块计算得到的特征向量,再利用特征向量训练新设定的全连接层。如图9所示,将迁移过来的Inception-v3模块与新设定的全连接层进行对接,开始模型训练,在训练过程中对全连接层参数进行微调(Fine-tuning)。TLBI采用的是Adam优化算法[17],学习率为0.001,迭代次数为5000。

表3 几种方法实验结果对比(a)训练集与测试集精度

(b)准确率、召回率与F1分数

模型Precison/%Recall/%F1 Score/% SVM37.952.944.2 DNN49.762.255.3 CNN71.679.275.2 TLBI89.096.292.6

3.3.3 实验结果分析

从表3中看出SVM在训练时间与测试时间上均领先其它模型很多,但其在训练集与测试集上的准确率却非常低,并没有很好地提取出烟雾图片的特征。DNN与CNN虽然在训练时间上相对于SVM大大增加,但同时在训练集与测试集上的准确率也大大提高,这得益于深度人工神经网络自动提取特征的能力,不足之处在于DNN与CNN在测试集的表现上并没有达到在训练集上的水平,这说明两种模型均对数据产生了过拟合,这是由于乡村烟雾背景过于复杂且烟雾图片数量不足,这样就导致两种模型的泛化能力不足。TLBI在训练时间与测试时间上最长,这是由于Inception-v3本身比较复杂,权重参数比较多,在对TLBI网络训练之前需在Inception-v3上计算出烟雾图片的特征向量,这样就大大增加了训练与测试的时间,但这样也同样使得Inception-v3在ImageNet数据集上训练出来的优秀特征提取能力迁移到了TLBI上,所以其在训练集与测试集上的准确率均大大超过了其他模型,而且测试集与训练集的准确率差距非常小,说明模型的泛化能力十分优秀。最终的评分F1 Score也在四个模型中遥遥领先。

3.3.4 模型改进方法

由于TLBI模型采取的是将批量图片输入Inception-v3模块计算得到特征向量再进行训练,所以每次训练迭代都需要重复调用Inception-v3运算,这样就浪费了大量时间在重复运算上。为了提高训练的效率,可以先将所有训练图片输入Inception-v3计算,然后将得到的特征向量保存到指定的文件夹中,之后的每次迭代无需重新调用Inception-v3计算,直接提取文件夹中的特征向量作为输入,这样就避免了训练时每次迭代的重复运算,可以节省训练所耗费的时间,提高训练模型的效率。

4 结语

在乡村农田与森林的烟雾检测中,由于地形广阔开放并且环境复杂多样,所以必须采用较为复杂的神经网络进行特征提取。但复杂的神经网络必须使用大量的数据样本对其进行训练,而烟雾图片的样本数量并不能达到这一要求,迁移学习在针对小数据集的问题上表现十分优秀,所以运用迁移学习帮助模型提取烟雾特征可以有效的提高模型的精度,增加模型的泛化能力。实验表明,TLBI模型在针对乡村烟雾的检测问题中具有良好的准确性,相对于传统的SVM、DNN与CNN,TLBI的准确率与泛化能力都更加优秀。同时,由于本文针对的是单张烟雾图片的检测,所以并没有考虑到烟雾的动态特征,在之后的工作中将研究对连续的烟雾图片的检测,将烟雾的动态特征也纳为重要特征之一,拟引入C3D神经网络与伪3D深度残差网络对连续的烟雾图片检测进行迁移学习的研究。

[1] 李涛,卓海峰,王文富,等. 探讨秸秆焚烧的危害与秸秆的综合利用[J]. 科技信息:科学教研,2008,(20):35-35.

[2] Yamada M, Shiratori S S. Smoke sensor using mass controlled layer-by-layer self-assembly of polyelectrolytes films[J]. Sensors & Actuators B Chemical, 2000, 64(1): 124-127.

[3] Keller A, Rüegg M, Forster M, et al. Open photoacoustic sensor as smoke detector[J]. Sensors & Actuators B Chemical, 2005, 104(1): 1-7.

[4] 姚太伟, 王慧琴, 胡燕. 基于小波变换和稀疏光流法的火灾烟雾检测[J].计算机工程, 2012, 38(6):204-206.

[5] Yu C, Zhang Y, Fang J, et al. Video smoke recognition based on optical flow[A].// International Conference on Advanced Computer Control[C]. IEEE, 2010.16-21.

[6] Huang G B, Lee H, Learned-Miller E. Learning hierarchical representations for face verification with convolutional deep belief networks[A].// Computer Vision and Pattern Recognition[C]. IEEE, 2012.2518-2525.

[7] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[A].// International Conference on Neural Information Processing Systems[C].Curran Associates Inc. 2012: 1097-1105.

[8] Sinno Jialin Pan, Qiang Yang. A Survey on Transfer Learning[J]. IEEE Transactions on Knowledge and Data Engineering, 2010, 22(10):1345-1359.

[9] Olga Russakovsky, Jia Deng, Hao Su, et al. ImageNet Large Scale Visual Recognition Challenge[J]. International Journal of Computer Vision, 2015, 115(3):211-252.

[10]Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the Inception Architecture for Computer Vision[A].// Computer Vision and Pattern Recognition[C].IEEE, 2016.2818-2826.

[11]C. Szegedy et al. . Going deeper with convolutions[C]. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Boston, MA, USA, 2015.1-9.

[12]Ioffe S, Szegedy C. Batch normalization: accelerating deep network training by reducing internal covariate shift[C]. ICML'15 Proceedings of the 32nd International Conference on International Conference on Machine Learning, 2015,(37):448-456.

[13]Taylor M E, Stone P. Transfer Learning for Reinforcement Learning Domains: A Survey[J]. Journal of Machine Learning Research, 2009, 10(10):1633-1685.

[14]Abadi M,Agarwal A,Barham P,et al. TensorFlow: large-scale machine learning on heterogeneous distributed systems[M].Google Research whitepaper,2015.

[15]Yap B W, Rani K A, Rahman H A A, et al. An Application of Oversampling, Undersampling, Bagging and Boosting in Handling Imbalanced Datasets[C].// International Conference on Data Engineering,2014.13-22.

[16]Jorge M. Lobo, Alberto Jiménez-Valverde, Raimundo Real. AUC: a misleading measure of the performance of predictive distribution models[J]. Global Ecology and Biogeography, 2010, 17(2):145-151.

[17]Kingma D P, Ba J. Adam: A Method for Stochastic Optimization[A].//the 3rd International Conference on Learning Representations[C].ICLR, 2015.

Smoke Image Detection based on Deep Transfer Learning

HAN Chao-hui, MA Jun, WU Wen-jun, CHEN Jia

(School of Mathematics and Computer Science,Wuhan Textile University, Wuhan Hubei 430200, China)

Aiming at the problem of smoke warning in rural burning straw, a smoke image detection method based on deep transfer learning is proposed. The method uses the TensorFlow framework to reference the Inception-v3 network model trained on the ImageNet dataset as the source model, and uses the edges, colors, textures and other features extracted in the ImageNet dataset to construct a new smoke detection model. Experiments are carried out using the monitoring images of real scenes. The experimental results show that compared with the traditional smoke image detection methods, the method achieves high detection accuracy and the test accuracy reaches 90%.

deep learning; smoke detection; transfer learning; TensorFlow

陈佳(1982-),女,副教授,博士,研究方向:图像处理,模式识别.

湖北省教育厅科研计划项目(D20181705);湖北省高等学校优秀中青年科技创新团队计划(T201807).

TP181

A

2095-414X(2019)02-0065-07

猜你喜欢

特征向量烟雾卷积
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
薄如蝉翼轻若烟雾
影视剧“烟雾缭绕”就该取消评优
从滤波器理解卷积
三个高阶微分方程的解法研究
基于傅里叶域卷积表示的目标跟踪算法
咸阳锁紧烟雾与尘土