曾凡婧 雷鸣
摘要:近年来,花卉种类识别主要是根据植物的叶、茎、花等不同部位的形状和纹理进行的,但由于世界各地拥有数百万种花卉且花卉还具有类间相似性和类内异构性,使得这类方法缺乏健壮性。在该文的研究工作中,采用了卷积神经网络的深度学习方法来实现对花卉种类的高精度识别,先是对原始图像进行预处理;然后是以LeNet-5卷积神经网络模型为基础建立网络模型,再通过梯度下降和BP算法进行模型训练后得到花卉识别分类器;最后分析实验结果并与其它花卉识别的算法进行对比。通过在Oxford 102 Flowers数据库进行的实验,识别正确率达到了91.18%。
关键词:深度学习;卷积神经网络;花卉识别;BP算法
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2019)11-0185-04
1 引言
基于花卉的植物物种识别由于其广泛存在花卉图像背景复杂且种类繁多的特性,在图像处理和计算机视觉领域中仍然是一个挑战,国内外学者对于花卉识别做了大量的研究。柯逍等[1]提出基于RGB的图像分割方法,并采用多特征融合方法进行花卉图像的识别。Nilsback等[2]通过分析花朵的颜色、形状、纹理等特征在分类过程中的贡献度,构建相应的单词表模型,最后利用K近邻算法实现花卉识别。Tiay T等[3]开发了一套花卉识别系统利用花卉图像的邊缘特征和颜色特征对花卉进行分类。Zhang等[4]使用Harr特征和SIFT特征将花卉图像的空间信息与局部特征相结合,从图像中提取的特征使用非负稀疏编码方法进行编码,然后用K近邻方法进行分类。
随着深度学习技术的发展,研究人员开始尝试通过深度学习来解决花卉图像的分类问题。林思思等[5]提出融合深度特征提取和人工特征提取的方法实现花卉图像的分类。Yoo 等[6-8]基于大型图像数据库,通过训练深度学习网络模型在花卉图像分类中取得了较好的效果。卷积神经网络(Convolutional neural networks, CNNs)[9]是目前用于图像处理与模式识别的主要形式,卷积神经网络具有局部连接、权值共享及池化操作等特性可以有效地降低网络复杂度,减少训练参数且具有强鲁棒性和容错性。因此,本文在传统的卷积神经网络的基础上,建立并训练了一个良好的网络模型用于花卉种类识别。
2 基础理论
2.1 深度学习模型
深度学习模型由计算机与人工智能泰斗Geoffrey Hinton及其学生于2006年提出,他们的主要观点包括:(1)多个隐层条件下的神经网络可以自主的从输入图像中学习到更为本质的特征。(2)对于多个隐层的神经网络在训练的时候容易陷入局部极小值,可以通过逐层的初始化来解决。本文使用的LeNet-5[10]卷积神经网络模型是第一个真正的多层网络结构学习算法,网络结构如图1所示,最早由Yann LeCun 与 YoshuaBengio 提出,该算法被应用在物体和图像区域的检测、分割和识别,并取得了巨大成功。
2.2 图像卷积与池化
池化层是通常作为网络的中间层与卷积层交替设置,池化操作通过不同的过滤器对特征图进行下采样。池化不会改变特征图的个数,只降低特征图的分辨率,有效地降低了神经网络的参数。目前常用的池化方法有两种,分别为最大池化和均值池化。最大池化法在局部接受域中选取最大的值,均值池化是在局部接受域中所有值求平均值。
2.3 Dropout技术
Dropout[12]是解决深度神经网络模型训练过程中过拟合问题的一种技术,主要思想是在深度神经网络训练的过程中,随机丢弃神经元以及其连接。对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。
2.4 Softmax与Softmax Loss
3.1 数据预处理
实验数据来自Oxford 102 Flower数据库[14],其中有102类常见花卉,总共8189张图像。花卉图像的背景一般都比较复杂,这些复杂的背景在进行特征提取时会造成一定的干扰,因此在运行CNN模型之前需要进行数据预处理。首先将原始数据以8:2的比例随机划分为训练集和测试集两个部分,且采用One-Hot编码。然后对数据进行数据标准化,本文采用数据标准化的方法是标准差标准化,经其处理过的数据符合标准正态分布,均值为0,标准差为1。标准差标准化(Z-score standardization)如式(4)所示。
3.2 花卉识别卷积神经网络结构
基于花卉种类识别的网络结构如表1所示,Input_Layer为输入层,输入图片统一大小为100×100×3(100×100表示图像分辨率,3表示图像通道);C1、C3为卷积层,分别使用32和64个尺寸为5×5的卷积核进行特征提取;S2、S4为池化层,都采用最大池化方式(核为2×2,步长为2)对上一个卷积层提取的特征图进行下采样;F5为全连接层,采用2048个节点与上一个池化层S4输出进行全连接;Dropout层是为了防止过拟合引入,以40%的概率随机丢弃部分数据;最后一层Output_Layer为输出层,采用Softmax回归进行分类输出,通常也称之为Softmax层。
3.3 模型训练
在建立卷积网络模型时各个层的参数都是依据经验而设定,对于不同的物体在识别过程中可能不是最优参数,导致最终输出的结果与期望值差异较大,反向传播是训练多层前馈神经网络最通用的方法之一。其算法思想是:通过求解正向输出标签值与实际标签值的误差作为参数反向由输出层向输入层传播,然后利用梯度下降法( Gradient Descent,GD)求解损失函数的最小化,从而对神经元权值进行更新调整。本文采用Softmax损失函数和小批量梯度下降算法(Mini-Batch Gradient Descent,MBGD)对卷积神经网络模型进行训练,设定批大小为100,如图4所示当训练迭代次数为2500步时损失值loss接近于0,表示预测值与标签值基本一致模型训练完成,总用时3小时1分38秒。
4 实验结果分析
本实验的实验环境:Intel Core i5 双核 CPU,3.6GHz,8G内存,macOS操作系统,Python编程语言及其加载的Numpy库、TensorFlow框架,开发工具VS Code。
4.1 效果展示
卷积神经网络的输出值经过Soft-max回归处理后得到的是概率向量,分别表示当前图像為每一类别的概率,最终识别结果由其概率最大值确定。识别结果演示(部分)如图5所示,其中识别类别21、概率为99.728%,识别类别38、概率为99.947%。
4.2 误差分析
通过已训练的CNN模型,使用测试集数据对分类器的准确率进行测试,测试集中共102个类别花卉图像的识别结果如下图6所示,准确率为91.18%。
4.3 与其它算法对比分析
本文方法与其它的花卉识别方法在识别正确率的对比如表2所示,结果表明本文提出的方法识别率高于其它方法,具有实际应用性。
5 结束语
本文卷积神经网络结构的设计是以Yann LeCun 与 YoshuaBengio 提出的LeNet网络结构为基础,并在训练过程中使用误差反向传播方式不断更新卷积神经网络的各个权值,多次迭代后找出最佳参数得到合适的网络模型,然后与其它算法对比。结果表明本文提出的方法在Oxford 102 Flowers数据库中的实验与其它几种传统方式以及一些深度学习的方式相比有更高的识别率,达到了91.18%。通过研究表明神经网络模型深度越深效果会越好[15],但是越复杂的模型越容易过拟合且训练时间过长,于是如何减少训练时间以及避免过拟合状态的发生是今后进一步研究的方向。
参考文献:
[1] 柯逍, 陈小芬, 李绍滋. 基于多特征融合的花卉图像检索[J]. 计算机科学, 2010, 37(11):282-286.
[2] Nilsback M E, Zisserman A. A visual vocabulary for flower classification[C]. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Chicago, USA:IEEE Computer Society, 2006:1447—1454.
[3] Tiay T , Benyaphaichit P , Riyamongkol P . Flower recognition system based on image processing[C]// 2014 Third ICT International Student Project Conference (ICT-ISPC). IEEE, 2014.
[4] Zhang C, Liu J, Liang C, et al. Image classification using harr-like transformation of local features with coding residuals[J]. Signal Processing, 2013,93:2111-2118.
[5] 林思思,叶东毅,陈昭炯. 多特征融合的花卉图像深度学习分类算法[J]. 小型微型计算机系统, 2018, 39(7):72-76.
[6] Yoo D, Park S, Lee J Y, et al. Multi-scale pyramid pooling for deep convolutional representation[C]. 2015 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). IEEE, 2015.
[7] 沈萍,赵备.基于深度学习模型的花卉种类识别[J].科技通报,2017,33(3):115-119.
[8] 王丽雯. 基于AlexNet的Oxford花卉识别方法[J]. 科技视界, 2017,(14):83-83.
[9] Lecun Y L, Bottou L, Bengio Y, et al. Gradient-Based Learning Applied to Document Recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
[10] 周飞燕, 金林鹏, 董军. 卷积神经网络研究综述[J]. 计算机学报,2017,40(6):1229-1251.
[11] 郭子琰, 舒心, 刘常燕, 等. 基于ReLU函数的卷积神经网络的花卉识别算法[J]. 计算机技术与发展, 2018, v.28;No.253(05):160-163+169.
[12] Srivastava N, Hinton G, Krizhevsky A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15(1):1929-1958.
[13] 陈芷薇, 陈姝. 基于深度学习的人脸跟踪自动初始化方法[J]. 计算机工程与科学, 2017(4).
[14] Nilsback M E, Zisserman A. Automated Flower Classification over a Large Number of Classes[C]. Sixth Indian Conference on Computer Vision, Graphics & Image Processing, ICVGIP 2008, Bhubaneswar, India, 16-19 December 2008. IEEE, 2008.
[15] 纪荣嵘, 林绍辉, 晁飞, 等. 深度神经网络压缩与加速综述[J]. 计算机研究与发展, 2018, 55(09):47-64.
【通联编辑:梁书】