APP下载

基于并行残差卷积神经网络的多种树叶分类

2020-06-19魏书伟曾上游周悦王新娇

现代电子技术 2020年9期
关键词:卷积神经网络

魏书伟 曾上游 周悦 王新娇

摘  要: 树叶分类识别对于鉴定新的或者稀缺树种至关重要,采用卷积神经网络算法可以实现对树叶图像特征的自动提取,减少繁琐的人工成本,实现使用人工智能的方法来分类树叶。实验采用一种并行残差卷积神经网络和一种加入残差学习的传统Alexnet网络在制作的30种分类树叶的数据集上测试效果并作对比。以上两种方式分别比传统Alexnet网络提高了15.36%和9.36%,而且使网络更轻量化,最高准确率为90.67%,为树种识别研究提供了有效的分类方法。

关键词: 树叶分类; 卷积神经网络; 残差学习; 图像特征提取; 批量归一化; 测试效果对比

中图分类号: TN711?34; TP391.4                  文献标识码: A                     文章编号: 1004?373X(2020)09?0096?05

Multiple types of leaves′ classification based on parallel

residual convolution neural network

WEI Shuwei, ZENG Shangyou, ZHOU Yue, WANG Xinjiao

(College of Electronic Engineering, Guangxi Normal University, Guilin 541004, China)

Abstract: The leaf classification and identification are of great importance for identifying new or scarce tree species. The convolution neural network algorithm can be used to automatically extract leaf image features, reduce fussy labor costs and classify leaves with the artificial intelligence method. In the experiment, a parallel residual convolution neural network and a traditional Alexnet network with residual learning are used to test the 30 kinds of classified leaves in the produced data set, and the testing effects of the two networks are contrasted. The accuracy obtained with the above two methods are respectively 15.36% and 9.36% higher than that obtained with the traditional Alexnet network, and the highest accuracy reaches 90.67%, which makes the network lightweight. Therefore, it provides an effective classification method for the research on tree species identification.

Keywords: leaf classification; convolutional neural network; residual learning; image feature extraction; batch normalization; testing effect contrast

0  引  言

世界上沒有完全相同的两片树叶,但是同一种树木的树叶会存在很多相似特征。现阶段对各种树木分门别类地建立数据库,使用人工智能的方法对其进行分类和识别,这对稀有树种的管理有着重要的保护意义。

目前的树叶识别与分类主要由人工完成,但树叶的种类成千上万种,面对如此庞大的树叶世界,植物学家也很难区分所有树叶的种类,这给进一步研究树叶带来了困难。为了解决这一问题,一些模式识别方法,诸如支持向量机(Support Vector Ma?chine,SVM)[1]、K最近邻(K?Nearest Neighbor,KNN)[2]等被引入,然而,随着大数据时代的到来,这些传统的分类算法暴露出越来越多的不足,比如难以提取特征和训练时间过长等。

20世纪60年代开始,学者们相继提出了各种人工神经网络[3]模型,其中,卷积神经网络通过数据集训练可以使网络自己学习图像中的纹理特征[4],采用卷积神经网络算法省去了人工定义树叶纹理特征的步骤[5],以及神经网络对于非线性问题处理能力强的优点[6],综上所述,本文选择卷积神经网络算法对树叶图像进行分类识别[7]。

1  卷积神经网络概述

1.1  卷积神经网络

卷积神经网络目前被广泛应用于图像领域[8?9],原因是其对几何、形变、光照具有一定程度的不变性,其主要特点有:输入图像不需要预处理;特征提取和识别可以同时进行;权值共享,大大减少了需要训练的参数数目,使训练变得更快,适应性更强。

1.2  卷积神经网络的一般结构

传统的卷积神经网络主要结构有卷积层、池化层及全连接层。

1.2.1  卷积层

卷积层是由多个特征图组成,每一个特征图是由多个神经元组成,而每一个神经元通过卷积核与上一层的特征图进行卷积运算得出。卷积核为一个权值矩阵,涵盖网络需要学习的内容,它包括权值和偏置。此处的卷积运算不同于信号处理中一维的卷积运算,而是二维平面上两个二维数据对应位置上的数据相乘后的总和而成。其计算公式为:

[xlm=fxl-1n*klnm+b]       (1)

式中:[f(? )]代表激活函数;[xlm]表示下层输出;[xl-1n]表示上层的输出;[k]代表该层卷积核的权值;[b]代表该层卷积核的偏置。

在卷积神经网络的结构中,卷积的层次越深,网络的学习能力就越强,特征图得到的信息就越全。但是,随着网络层次结构的加深,网络的计算量将会随之增加,也就导致网络变得更复杂,这样很容易会出现过拟合的现象。在一般的卷积神经网络结构中,提取的特征都是逐级递进的,由简单的颜色、边缘特征逐渐变为复杂的纹理特征,最后的网络结构将提取关键特征,以便精确地辨别特征图的属性。

1.2.2  池化层

池化层也被称为采样层,指的是对每张特征图进行下采样,池化层一般跟在卷积层之后,也是由多个特征图组成,池化层在网络结构中有对特征图进行下采样的同时对特征图进行尺度缩小的作用。在搭建网络过程中,之所以会使用池化层是因为在网络结构中如果一直采用卷积操作,会使得整体网络中的计算量过大而延长计算时间。

池化的方法有多种,通常用到的池化操作有:最大池化(max?pooling),即选取图像区域的最大值作为该区域池化后的值;平均池化(mean?pooling),即计算图像区域的平均值作为该区域池化后的值。简单池化过程如图1所示。

1.2.3  全连接层

在卷积神经网络中经过多次卷积层和池化层后,紧接着会跟一个或多个全连接层,其作用是将提取的特征图转化为一维特征向量,转化的一维特征向量即为学习到的图片的空间分布向量,将其作为分类器的输入,通过分类器进行分类。

[Sj=fxi*wji+bj]  (2)

2  基于并行残差卷积神经网络模型

2.1  残差学习和批量归一化

残差网络结构的提出主要是为了解决在原始的卷积神经网络随着深度的增加而伴随的网络难以训练的问题。其原理是在卷积层结构的外部使用一个短接(shourtcut)操作,构成一个基本的残差模块,通过逐级累加残差模块可以成功缓解网络随深度而增加的退化问题,从而提升整体网络的性能。

传统网络结构(Tra?net)如图2a)所示,输入图像后先经过卷积层(conv)再经过激活函数(relu),经过局部响应归一化处理(LRN),最后经过池化层(pool)后输出,作为下一层卷积的输入;残差网络(Res?net)的结构如图2b)所示,与传统网络不同的是,在输入(input)和池化(pool)之间增加了一个残差模块,而且在卷积层后均接入一层BN(Batch Normalization)[10]层,即批量归一化层,加入BN层的主要优点如下:

1) 网络在选择较大学習率时可以减缓梯度弥散[11]的现象,加快网络的收敛速度;

2) 在一定程度上有防止过拟合的作用,网络可以减少对Dropout[12]参数的需求;

3) 很完美地取代局部响应归一化层;

4) 可以彻底打乱训练数据。

BN层的计算公式可由式(3)给出:

[μB←1mo=1mxoσ2B←1mo=1m(xo-μB)2xo←xo-μBσ2B+εyo←γxo+β] (3)

式中:[o=1mxo]表示卷积层的输出,即所学归一化的数据;[μB]和[σ2B]分别表示均值和方差;[yo]是归一化之后的输出。

2.2  分组瓶颈结构

传统的卷积神经网络是通过不同的卷积层和池化层级交替堆叠而成的通道,通过对卷积核大小及不同池化的设计来实现所需要的效果。而在一系列的操作过程中,一条通道、一种网络对特征图进行卷积,可能提取的图像特征不够充分。本文提出结合三条不同网络对相同的特征图进行卷积操作,最后再通过级联操作使三条网络的输出结果结合在一起。本文的具体操作是将特征图并行分为三条支路,采取分组瓶颈结构,先通过[1×1]的卷积核降维,再通过一条[3×3]或[5×5]的卷积核进行传统的卷积操作,最后通过一条[1×1]的卷积核来升维。

模块间的参数可以用式(4)表示:

[P=I*K*O] (4)

式中:[I]和[O]分别表示输入输出特征图的个数;[K]表示卷积核的面积大小。

一般来说,1×1卷积核的作用可以归纳为三点:

1) 可以有效地减少网络参数,如输入输出特征图数量均为256,使用3×3卷积核参数[P=]256×3×3×256,使用1×1卷积核参数[P=]256×1×1×256,参数减少到原来的[19]。

2) 可以起到降维或升维的作用,这在三层卷积的瓶颈结构中有所体现,瓶颈结构如图3所示,第一个1×1卷积用来降维,第三个1×1卷积用来升维。

3) 可以将各分组通道信息进行融合,这在MobileNet和Xception中取得了很好的效果。

MyNet中block模块网络结构如图4所示。可以很清楚地看出:本文所采用的并行残差卷积网络(MyNet)将各个支路网络,即含有残差模块的卷积神经网络,通过级联(concat)操作将三个不同大小卷积核提取的特征整合在一起,然后整体输出。

2.3  模型设置

并行残差网络的基本网络架构参数设置如表1所示。

网络采用模块化设计,通过堆叠Block模块以及在模块中间穿插多个池化层而形成,池化层的操作经过多次试验发现,采用Max?Max?Max?Ave(Max指最大值池化,Ave指平均池化)架构效果较好,网络架构清晰明了,易于扩展和推广。整体流程图如图5所示。

如图5所示,输入训练数据集的图像,先经过预处理,将图片随机修剪成统一大小规模后,再输送给卷积神经网络的数据层,经过前向传播,计算网络损失熵的大小,再通过随机梯度下降不断更新参数,反向传播,使得损失熵不断减小,寻找到最优参数,把测试集图片输入给当前正在训练的网络,测试当前网络的准确率,当迭代到设定好的次数或者准确率达到一定要求后停止训练,保存训练好的模型参数,生成一个训练好的网络。

3  实  验

3.1  图像数据采集和预处理

卷积神经网络需要大量样本进行训练。实验采集了30种树叶,包含国内10种树叶和国外20种树叶,每种树叶采集20张,共计600张图像。使用佳能550D相机拍摄,以1[∶]3 的比例分为测试样本与训练样本后,将文件名分类标注。由于单反相机拍摄照片尺寸较大,为了确保计算速度和计算机可承受数据量,使用OpenCV调整图像尺寸,统一缩小为256×256像素,部分样本如图6所示。

将原始图片数据通过cropcize分别对左上角、左下角、右上角、右下角、中心位置进行随机剪裁为227×227大小图片,再进行镜像反转操作,使得原数据集通过数据增强的方法扩增了10倍,将数据集变成6 000张图片。

3.2  实验设置

实验主要对比Alexnet网络即传统卷积网络(Tra?net)、采用残差结构的传统网络(Res?net)以及本文改进后的并行残差卷积网络(MyNet),在制作的30种树叶分类的数据集上进行分类准确度测试。为了使本实验结果更具有说服力,三种网络的整体结构的层次深度保持一致。

实验环境:整个实验过程中所有网络结构都是基于caffe框架[13]布置的。本实验所用的计算机配置为i7?6700K四核CPU、Ubuntu 14.04操作系统、32 GB内存以及NVIDIA?GTX 1070的GPU。

参数设置:在卷积神经网络中,学习率大小的选取对网络训练至关重要,学习率较大,网络虽然收敛较快,但有可能跨过了全局最小点;但是学习率较小的情况下,网络训练速度比较慢,从而需要较长时间才能达到收敛。下面列出本实验中所设定的学习率参数以及变化值,此时设置的参数值有较好的效果:学习率初始大小设置为0.001,学习率变化方式为step,[γ]为0.1,momentum为0.9,weight_decay为0.000 5,stepsize设置为100,最大迭代次数为1 000。

3.3  实验结果及分析

表2表示传统网络Tra?net、残差网络Res?net以及改进后网络的MyNet在数据集上的分类精度、实验所花时间以及实验保存的Caffemodel大小。图7给出了各模型在数据集上的准确率曲线。

从图7中可以看出,在计算机仅迭代约400次后,网络性能就趋于稳定,改进后的网络MyNet和残差网络Res?net在数据集中都有较好的分类精度;传统网络Tra?net整体的参数较多,准确率不高,但是训练的时间相对较少;加了残差结构的Res?net整体参数与传统网络Tra?net的参数大致相同,引入残差学习后增加了整个网络的计算量,导致训练所耗时间稍微加长,精度与传统Alexnet相比有所提高。而改进后的并行残差网络,由于结合三条支路的特征,所得出的分类精度比其他两种网络任意一种都要高,而且网络最后采用全局均值池化替代全连接层,使得整个网络的参数大大减少,更轻量化,但由于网络的加宽使整个实验的训练耗时有所加长。随着计算机硬件的提升,网络改进导致训练时间加长的问题,很轻易得以解决,所以在准确率提高一定的前提下,训练时间的改变对整个网络增益没有很大的影响。

综合三种网络的对比实验可知:

1) 本文加入的Block模块能有效地提升网络性能。

2) 采用并行多支路多卷积核的特征提取对整体识别率有很大贡献。

3) 1×1卷积层的降维操作可以有效控制网络参数。

4  结  语

本文提出了一种结合瓶颈结构网络和并行残差结构网络的新型网络结构,将这个新网络与传统网络和加入残差的传统网络进行对比讨论,并在数据集上进行实验验证。理论上,并行残差网络加宽了整体网络结构的宽度,提高了网络的复杂度,效果会更好。实验结果也表明,并行残差网络比两条传统网络中的任何一条网络的精确效果都好,后面的工作是在本文模块的基础上继续改进,进一步测试本文模块在其他领域中的表现,例如,目标检测、图像分割等,并在更大规模的数据集上进行测试和优化来比较网络的性能优劣,进一步提升网络性能,减少模型大小。

参考文献

[1] CAMPBELL W M, CAMPBELL J P, REYNOLDS D A, et al. Support vector machines for speaker and language recognition [J]. Computer speech & language, 2006, 20(2/3): 210?229.

[2] ZHANG N, LIU W P. Plant leaf recognition method based on clonal selection algorithm and K nearest neighbor [J]. Journal of computer applications, 2013, 33(7): 2009?2013.

[3] SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions [C]// 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, MA, USA: IEEE, 2015: 1?9.

[4] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE, 2016: 770?778.

[5] HUANG G, LIU Z, MAATEN L V D. Densely connected convolutional networks [EB/OL]. [2017?09?28]. https://blog.csdn.net/lyy354500/article/details/78122165?locationNum=6&fps=1.

[6] LU Fang, WU Fa, HU Peijun, et al. Automatic 3D liver location and segmentation via convolutional neural network and graph cut [J]. International journal of computer assisted radiology and surgery, 2017, 12(2): 171?182.

[7] HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks [J]. Science, 2006, 313: 504?507.

[8] GAO L G, CHEN P Y, YU S M. Demonstration of convolution kernel operation on resistive cross?point array [J]. IEEE electron device letters, 2016, 37(7): 870?873.

[9] ZEILER M D, FERGUS R. Stochastic pooling for regularization of deep convolutional neural networks [EB/OL]. [2016?02?29]. http://www.doc88.com/p?7753169296976.html.

[10] IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift [EB/OL]. [2019?03?26]. https://blog.csdn.net/TeFuirnever/article/details/88802880.

[11] HOCHREITER S. The vanishing gradient problem during learning recurrent neural nets and problem solutions [EB/OL]. [1998?04?05]. https://dl.acm.org/doi/10.1142/S0218488598000094.

[12] SRIVASTAVA N, HINTON G, KRIZHEVSKY A. Dropout: a simple way to prevent neural networks from overfitting [J]. Journal of machine learning research, 2014, 15(16): 1929?1958.

[13] JIA Y, SHELHAMER E, DONAHUE J, et al. Caffe: convolutional architecture for fast feature embedding [C]// ACM International Conference on Multimedia. Orlando, FL, USA: ACM, 2014: 675?678.

猜你喜欢

卷积神经网络
基于深度神经网络的微表情识别
卷积神经网络中减少训练样本时间方法研究
卷积神经网络语言模型研究
基于卷积神经网络的车辆检索方法研究
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
深度学习技术下的中文微博情感的分析与研究
基于卷积神经网络的树叶识别的算法的研究