许明广 李玉溪 刘润宇 刘星宇 郑学谦
摘要:正确的实现花卉分类是对该植物进行深入研究的前提条件。针对开源花卉数据集单一和分类效果不佳的问题,本文整理了一个基于国内五种花卉的图像数据集并使用VGG16网络模型完成图像分类任务。为了更好的表征花卉图像特征信息,本文对VGG16网络模型参数进行了优化,同时,引入一种基于多特征融合的VGG16网络模型,与原始VGG16网络模型进行对比试验。实验结果表明,原始VGG16网络和基于多特征融合的VGG16网络在国内五种花卉图像数据库上均取得了良好的分类效果,并且基于多特征融合的VGG16网络模型要由于原始VGG16网络模型。
关键词:深度学习;花卉分类;VGG16;多特征融合
Abstract: Correct flower classification is a prerequisite for further study of the plant. Aiming at the problems of unitary open source flower data set and poor classification effect, this paper sorted out an image data set based on five kinds of domestic flowers and used VGG16 network model to complete the image classification task. In order to better represent the flower image feature information, the parameters of VGG16 network model were optimized in this paper. At the same time, a VGG16 network model based on multi-feature was introduced to conduct a comparative test with the original VGG16 network model. The experimental results show that both the original VGG16 network and the VGG16 network based on multi-feature have achieved good classification effects on the five domestic flower image databases, and the VGG16 network model based on multi-feature fusion is due to the original VGG16 network model.
Keywords: deep learning;Flower classification;VGG16;Multi-feature fusion
0 引言
植物学研究领域中最基础的一项研究任务就是花卉图像分类[1],不同类别的花卉具有不同的特征,辨别一束花卉的种类往往需要综合颜色、花瓣形状等等多个方面的特征。花卉分类的难点主要在于不同花卉间的特征相似性和同种花卉间的特征差异性。
花卉分类研究在早期基本都是运用基于人工设计的特征和传统机器学习算法相结合的方法,例如基于人工设计的特征,尺度不变性(SIFT)[2]结合支持向量机(SVM)[3]的算法结合构成一个分类网络模型。注意到花卉具有多个特征这一特点,Nilsback M.E和 Zisserman[4]提出了一个新的视觉词包作为分类特征,这个视觉词包包括花卉的形状、纹理以及颜色等特征。同时,Nilsback M.E 和 Zisserman还创建了花卉图像分类领域经典的开源数据集Oxford Flowers系列数据集。
基于人工设计的图片特征,其表达能力非常有限,分类效果并不理想。并且由于人工设计的特征大多依赖大量的人工標注信息,耗费资源的同时也限制了该类算法的应用场景。随着硬件资源的提升,需要依靠大量数据运算的深度学习又重回人们的视野。
ILSVRC(ImageNet Large Scale Recognition Challenge),俗称ImageNet挑战赛,是机器视觉领域最受追捧也是最具权威的学术竞赛之一,代表了图像领域的最高水平。在挑战赛上涌现出了许多优秀的图像分类算法,例如AlexNet[5]、VGG16[6]、GoogLeNet[7]等。
目前,在花卉图像分类领域,基于深度学习的算法模型并不常见[8]。Liu[9]等人运用了一种基于显著性检测的算法对花卉图像进行初步的提取,再通过卷积神经网络进行特征提取,最后完成图像分类。杨旺功和淮永建[10]提出一种基于多特征融合及兴趣区域的花卉图像分类算法。并在花卉图像分类任务上取得了良好效果。本文将选取VGG16网络模型和基于多层融合及兴趣区域的花卉图像分类算法进行实验分析。
在以往的研究中,研究人员往往采取Oxford Flowers系列数据集作为实验数据集,Oxford Flowers数据集中为英国常见花卉图像,并且每一类花卉图像数据样张较少。针对上述问题,本文创建了一个基于国内五种常见花卉的图像数据集,用作本文实验的数据集。
1 基于多特征融合的花卉图像分类网络
1.1 花卉图像数据集
中国植物图像库[11](Plant Photo Bank of China,PPBC)正式成立于2008年,是中国科学院植物研究所在植物标本馆设立的专职植物图片管理机构。该图库采用最新分类系统,已经收录各类植物图片511科5419属38968种7199505幅。本文选取了五种国内常见花卉:牡丹花、菊花、荷花、风信子、洛神花作为研究对象,采用网络爬虫[12]技术,从中国植物图像库分别搜集了若干张图片作为素材,经筛选后,每类图片设定为112张,所有图像总共560张。五种花卉图像样张如图1所示。
经过筛选后的图像数据库,按照18:5:5的比例随机划分训练集、验证集和测试集。所有图片均在data文件夹内,并将训练集放在子文件夹train文件夹内,验证集在valid文件夹,测试集在test文件夹,每个文件夹中含有五个部分,均以花卉名字的拼音命名,作为其种类的label。
1.2 VGG16网络模型
VGG系列网络模型包括VGG13、VGG16以及VGG19,其设计之初主要是为了探究在大规模图像识别任务上,卷积网络深度对模型精确度的影响。本文将着重探究VGG16网络模型,VGG16网络模型由Simonyan K和Zisserman A在文献[4]中所提出。该网络模型在2015年的ImageNet挑战赛上获得了第二名的成绩。
VGG16网络模型主要包含8个卷积层、5个池化层、3个全连接层,共计16个权重层。具体结构如图2所示。
该网络模型输入指定的是224 × 224的RGB图像,所有卷积层用的卷积核大小固定,均为3 × 3,每次卷积行使相同卷积,即卷积操作不改变图像尺寸大小,仅改变其通道数。卷积层和全连接层的激活函数均使用ReLU函数,池化操作均使用最大池化。
最后一次池化后,数据通过Flatten函数展开,连接到三个全连接层。前两个全连接层包含4096个通道,第三个全连接层的通道个数根据分类目标个数确定,第三个全连接层后连接softmax函数进行分类。
1.3 基于多特征融合的VGG16网络模型
研究表明,在卷积神经网络中,随着卷积层的叠加,网络所提取的特征将由具体变得抽象,浅层卷积可以得到分类对象的形状轮廓等特征,而深层卷积可以得到分类对象的抽象特征,于是基于此特点,文献[错误!未定义书签。]中作者设计出一个多特征融合的VGG16网络模型,其网络模型结构如图3所示。
与原始VGG16网络模型不同,多特征融合VGG16网络模型将Block5中的Conv2层,即VGG16网络中倒数第二个卷积层作为感兴趣区域(roi),将感兴趣区域与原始VGG16网络的最后一个池化层输出进行拼接,然后通过全局平均池化(GAP),变成一个一维张量再连接全连接层,最后通过softmax分类器进行分类。图5为多特征融合VGG16网络模型结构图。
网络模型中的全局平均池化取代了原来的Flatten操作,使得网络的参数量和原网络相比大大减少。这样做的好处是,在面对大型分类任务时,将会节省很多训练时间,节约计算资源。
2 实验结果及分析
实验环境采用云服务器环境,服务器配置为:CPU采用64核Intel(R) Xeon(R) Gold 5218 ,CPU内存为256G,实际配置为8核32GB。GPU为一块NVIDA系列的GeForce RTX 2080Ti,显存为11GB。实验代码采用python语言编写,深度学习工具为keras。本文所有实验均训练三次和测试三次,取三次实验的平均值作为实验结果。
2.1 原始VGG16网络模型实验结果与分析
VGG16网络设计之初是面对1000分类的大分类任务,面对小分类任务,容易出现过拟合现象,本文为了减少过拟合现象的发生,提高网络泛化能力,对VGG16网络模型以及训练方法进行了一些调整。训练方面,采用了Early Stopping的策略,当训练过程中验证集的准确率连续20个epoch不再增加时便停止训练。参数方面,更改Dropout的值以及全连接层的通道数,测试最佳参数。
调整Dropout的参数,分别测得Dropout的值为0.4、0.5和0.6时网络模型对于五种花如表1所示,Dropout为0.5时,网络模型的分类准确率最高。
表1 不同Dropout值下的VGG16分类测试结果
Table 1 VGG16 classification test results under different Dropout values
Dropout參数 Dropout = 0.4 Dropout = 0.5 Dropout = 0.6
平均准确率(%) 91.00 91.33 90.67
图4和图5分别为原始VGG16网络模型Accuracy图和运用Early Stopping训练策略,Dropout等于0.5调整后的VGG16网络模型Accuracy图,可以看到,调整后的网络模型极大的改善了过拟合的现象,提高了网络模型的泛化能力。
修改全连接层前两层通道数,分别设置为:1)4096,4096;2)4096,2048;3)2048,2048;4)1024,1024。实验结果如表2所示,随着通道数的减少,分类准确率也在下降,分析原因为:花卉图像分类属于细颗粒分类任务,需要表征的信息较多,而减少全连接层中的节点数可能会导致表征的信息不全,无法更好的实现分类任务。
2.2 基于多特征融合VGG16网络模型实验结果与分析
(1)两种VGG16网络模型测试结果及对比分析
基于多特征融合的VGG16网络模型(VGG16_Roi)仍然采用Early Stopping的训练策略,Dopout和全连接层的值与原始VGG16网络模型保持一致。
表3给出了两种VGG16网络模型在各个方面的对比,可以看到,基于多特征融合的VGG16网络模型虽然拥有更少的参数,但是其网络模型在全连接层,相当于连接了两个网络层次的特征,使其具有更强大的表征能力,拥有更高的分类准确率。
(2)数据增强对网络模型的性能影响
数据增强最早由斯坦福大学的李飞飞教授提出,当时研究人员们还不清楚海量数据集对于深度学习网络模型性能效果的影响。本文通过:1)水平、竖直翻转;2)加入高斯噪声;3)左右旋转90°三种方法扩充国内五种花卉图像数据集,在扩充后的国内花卉图像数据集上对两种VGG16网络模型进行分类测试实验,对比分析网络模型性能。
两种VGG16网络模型在扩充后的数据集上表现优异,表4给出了两种网络模型在扩充后数据集上的分类测试结果,与在小规模数据集上测得的分类准确率相比,原始VGG16网络模型提高了2.78%,基于多特征融合的VGG16网络模型提高了2.89%。印证了大规模数据集对深度学习网络模型性能提升有关键作用的观点。
3 结论
在国内五种花卉图像数据集上,VGG16网络模型采取Early Stopping的训练策略,Dropout值为0.5时,可以很好的防止过拟合现象的发生。面对花卉之类的细颗粒分类任务,即使分类对象种类较少,减小全连接层通道数仍然会降低分类的准确率,因为,全连接层通道数的减少会使全连接层表征的信息更少,无法实现更精确的分类。基于多特征融合的VGG16网络模型在全连接层前将两个隐藏层的特征进行了重叠连接,并通过GAP的方法将特征矩阵转化为一个一维张量,即表征了更多的信息,又减少了网络的参数量,同时,其模型的分类准确率要优于原始VGG16网络模型。最后,本文通过数据增强的方式扩充了实验所用数据集,在扩充后的数据集上测得两种网络模型的分类准确率均有所提高,印证了海量数据集对深度学习网络模型性能提升有关键作用的观点。实验中仍有值得优化的部分,未来可以扩充国内花卉图像数据集,加入更多种类的花卉图像,继续研究。
参考文献
基金项目:中国矿业大学(北京)大学生创新训练项目资助(项目编号:C202004894)
第一作者:许明广(1999-),男,本科生,主要从事信息工程,图像处理方面研究。
注释:
[1]尹红. 基于深度学习的花卉图像分类算法研究[D].南昌航空大学,2018.
[2] LOWE D G.Distinctive image features from scale-invariant keypoints[J] . International Journal of Computer Vision,2004,60(2):91-110.
[3]Burges C J C. A tutorial on support vector machines for pattern recognition[J]. Data Mining and Knowledge Discovery, 1998, 2(2): 121-167.
[4]M. E. Nilsback, A. Zisserman. A visual vocabulary for flower classification[C]. Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, IEEE, 2006,1447-1454.
[5]Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C].Proceedings of International Conference on Neural Information Processing Systems, 2012,1097-1105.
[6]Simonyan K., Zisserman A.. Very deep convolutional networks for large-scale image recognition[C] //Preceedings of International Conference on Learning Representations. San Diego, USA, 2015.
[7]Cheng G , Han J , Guo L , et al. Effective and Efficient Midlevel Visual Elements-Oriented Land-Use Classification Using VHR Remote Sensing Images[J]. IEEE Transactions on Geoscience and Remote Sensing, 2015, 53(8):4238-4249
[8]尹紅,符祥,曾接贤,段宾,陈英.选择性卷积特征融合的花卉图像分类[J].中国图象图形学报,2019,24(05):762-772.
[9]Liu Y Y, Tang F, Zhou D W, et al. Flower classification via convolutional neural network[C]// Proceedings of 2016 IEEE International Conference on Functional-Structural Plant Growth Modeling, Simulation, Visualization and Applications. Qingdao:IEEE,2016: 110-116.[DOI: 10.1109/FSPMA.2016.7818296]
[10]杨旺功,淮永建.多层特征融合及兴趣区域的花卉图像分类[J].哈尔滨工程大学学报,2021,42(04):588-594.
[11]中国科学院植物研究所植物标本馆,中国植物图像库[EB/OL].[2021-03-27].http://iplant.cn.
[12]温娅娜,袁梓梁,何咏宸,等.基于Python爬虫技术的网页解析与数据获取研究[J].现代信息科技,2020,4(01): 12-13.
中国矿业大学(北京)机电与信息工程学院 北京 100083