APP下载

基于迁移学习的花类图像分类方法研究

2022-10-31邵良玉

农业装备与车辆工程 2022年7期
关键词:花卉准确率卷积

邵良玉

(200082 上海市 上海理工大学 机械工程学院)

0 引言

花卉分类识别是植物识别领域的研究热点之一,随着人们生活水平的提高,花卉图像的识别与分类能满足非专业人员对花卉的认知需求。目前针对花卉图像分类识别的方法主要有2 种,一是基于手工特征的传统方法,二是基于深度学习的方法。手工提取特征的传统方法,指人为手动设计一些算法,提取花卉的颜色、形状、纹理等,通常分为4大类:阈值分割方法、边缘分割方法、区域分割法、特定的理论工具,如基于模式识别和小波分析。NILSBACK 和 ZISSERAMAN[1]提出将花卉图像的SIFT 特征和HOG 特征融合,使用支持向量机 SVM进行花卉分类识别,分类准确率达76.3%;谢晓东[2]提出基于显著性检测图像分割法,采用特征融合的方法对花卉分类。

近几年,随着科学技术的发展,卷积神经网络出现了史无前例的技术革新。其中郭子琰[3]等基于卷积神经网络模型,并选用ReLU 激活函数代替传统的 Sigmoid 函数,提高识别率。沈萍[4]等基于多隐层的深度卷积神经网络,对花卉进行识别分类。对于大量的图片数据,任意平[5]等基于改进后的Alexnet 的花卉识别网络,效果良好。

本文提出基于VGG19 网络模型,进行对花卉的迁移学习,通过对网络的参数迁移,保留底层卷积,池化,对相关参数进行微调,构建适合研究的花卉识别方法。实验表明,与未迁移的卷积神经网络相比,识别效果有明显提升。

1 数据集

1.1 数据集

本文所用到的图像数据来自于中国植物主题数据库,以5 种常见花卉作为研究对象,分别是雏菊、蒲公英、玫瑰花、向日葵和郁金香。5 类花卉试验样本图像共采集3 670 张,其中雏菊633 张,蒲公英898 张,玫瑰花641 张,向日葵699 张,郁金香799 张。

1.2 数据增强

因数据数量较小,需要对原始数据进行增加。使用keras 中的ImageDataGenerator 函数对图片进行水平翻转,随机缩放,随机剪切,对数据进行扩增,从而避免训练过拟合。共11 010 张图片,其中2 000张作为测试集样本,9 010张作为训练样本,如图1 所示。

图1 花卉数据集Fig.1 Flower data set

2.1 卷积神经网络

2.1.1 VGGNet

VGG16net 网络结构如图2 所示。包括16 个隐藏层(13 个卷积层和3 个全连接层)。从模块1到模块5 的卷积核数目分别是64,128,256,512和512,所有卷积核大小为 3×3,步长为 1。共有5 个大小都为 2×2 的最大池化层,步长为 2。共有3 个全连接层,前2 个全连接层都有 4 096 输出节点,第3 个全连接层共 1 000 输出节点。最后一层为softmax 层。所有隐藏层后都带有 ReLU 非线性激活函数。通过网络层数和通道加深,VGGNet 可以提取更多的图像信息。

图2 VGG16 网络模型Fig.2 VGG16 network model

2.1.2 VGG16 迁移学习与模型构建

(1)实验1

利用 ImageNet 上预先训练好的VGG16 模型[8],去掉已有的全连接层和 Softmax 层部分,输入层、池化层和13 个卷积层都保留,并且保留其输入图像格式 150×150,保留其权重。将卷积和池化层迁移到花卉图像分类模型上,并在模型后面添加3层全连接层,每层的激活函数是ReLU 函数;最后一层全连接,激活函数采用softmax 函数,得到5种花卉的分类。最后将预训练好的网络去微调花卉数据库的训练,采用随机梯度下降法对样本进行优化,如图3 所示。

图3 花卉图像分类迁移学习模型图Fig.3 Flower image classification transfer learning model

(2)实验2

将原始图片继续数据增强。在实验1 的基础上,先对整个卷积层进行“冻结”,再对部分卷积层进行“解冻”[9],使解冻的卷积层的权重发生改变,然后再进行全连接层的训练,进行微调,重新验证训练,得出实验结果,如图4 所示。

图4 “解冻”卷积层示意图Fig.4 Schematic diagram of "thawing" convolution layer

2.1.3 模型分类器参数设置

本文使用ReLU 激活函数为网络添加非线性因素,计算速度快,公式为:

最后一层采用Softmax[10],它是全连接层后接的常用激活函数,其函数是Sigmoid 函数的改进。此函数主要用于多分类,公式为:

从式(2)可知,Softmax 函数计算出每个值所占比率,保证总和为 1,输出向量即为各类的概率,可以对所有函数做归一化。

由于批量梯度下降法实验过程较慢,所有本研究采用随机梯度下降(Stochastic Gradient Descent,SGD)法,随着权值ω迭代到最优解,如式(3)所示,避免多个极小值的出现。

式中:h(x)——要拟合的函数;J(ω)——损失函数;m——条数记录;i——参数的个数。

3 实验结果与分析

3.1 实验平台

训练环境为Windows10 系统,计算机配置为Intel(R)Core(TM)i5-9400 CPU @ 4.00 GHz,内存16 GB,显卡为NVIDIA GeForce 1650,训练使用的深度学习框架为Tensorflow 2.3.0,编程语言为Python3.7.4。

3.2 实验结果分析

3.2.1 实验1 训练结果

首先下载ImageNet 上训练过的VGG16 模型,将模型的全连接层替换为适合本研究的5 分类的分类层,加载卷积的权重参数保持不变,不加载全连接层。将图片批量放进模型,采用平移、裁剪和亮度调整等方法进行图像归一化和图像增强,采用随机取样的方法,将数据集划分为训练集和测试集,比例8∶2,保存结果。模型设置初始学习率设置为0.001,动量为0.9,迭代次数为20 次,输入批量大小为64。得到训练集的准确率为96.75%,验证集的准确率为80.15%。实验结果如图5 所示。

由图5 可知,图片只进行数据增强操作,然后利用VGG16 网络卷积基进行特征提取,再对新添加的全连接层进行训练,从而导致训练层的增加,使代码更加复杂,导致出现过拟合情况,无法提高验证准确率。

图5 实验1 结果Fig.5 Results of Experiment 1

3.2.2 实验2 训练结果

为提高训练准确率,降低训练过程中的过拟合,仍选择实验一中的预处理模型,接着对前10层卷积层进行“冻结”,其余的层保证参数不变,同样保证全连接层和优化器的参数不变,迭代50次,得到的训练集的准确率为99.56%,验证集的准确率为89.1%。实验结果如图6 所示。

图6 实验2 结果Fig.6 Results of Experiment 2

由图6 可知,通过对部分卷积层的“冻结”,使网络结构得到优化,不仅提高了网络模型的性能,而且验证准确率也得到大幅提升,在小规模图像集上也可以取得较好的识别效率,使迁移学习确实对小样本识别分类具有可行性。

3.2.3 不同分类算法实验对比

本研究采用的图像数据来自中国植物主题数据库,选取的训练样本占80%。实验发现,用本文的测试方法具有较高的识别率,达到89.1%。具体实验结果见表1。

表1 不同算法的实验结果对比Tab.1 Comparison of experimental results of different algorithms

4 结语

本文提出一种迁移学习模型的花卉图像识别分类方法,构建了VGG16 的花卉迁移学习识别模型,并且进行微调实验,构建新的全连接层,进行训练验证,得到新的识别模型。实验结果表明,将ImageNet 数据集得到1 000 类的训练模型迁移到小规模图像集中分类得到5 种花卉的识别,再进行网络结构微调,从而得到良好的训练结果,验证方法可行。这种方法不仅避免训练模型的不足,而且节省了大量时间,得到良好的结果。本文仅提出一种模型的迁移学习对5 种花卉进行识别,是否能在其他数据集中也能达到良好效果,下一步的工作,应该应用到其他种类的数据集,增加样本集种类和数量,提高分类识别率。

猜你喜欢

花卉准确率卷积
李鱓·花卉十二开
基于3D-Winograd的快速卷积算法设计及FPGA实现
三招搞定花卉病虫害
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
《花卉之二》
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法