基于改进VGG-16网络模型的苹果病害识别

2023-10-26 12:00赵慧勐刘向举金彬峰
白城师范学院学报 2023年5期
关键词:池化层卷积准确率

赵慧勐,刘向举,金彬峰

(安徽理工大学计算机科学与工程学院,安徽 淮南 232001)

0 引言

苹果是我国重要的水果之一,截至2015 年,我国已成为世界最大的苹果生产国,苹果种植面积和产量均占世界50%以上.但在2021年6月,美国农业部(United States Department of Agriculture,USDA)发布报告称“预计全球苹果减产40%”[1].据统计,苹果病害目前有100多种,给农民造成了不同程度上的损失,当前发生最为严重的是花叶病、锈病、灰斑病、斑点落叶病以及褐斑病.这些病害极大地阻碍了苹果的生长,降低了品质.如何及时有效地检测识别苹果病害,是当前研究的重点问题.

近年来,卷积神经网络在图像识别任务中取得了巨大的进展,并逐渐应用于植物病害识别领域,也为叶片病害识别和研究提供了一种新的方法,目前也收获了众多的研究成果.Wang[2]设计了一种基于轻量级的网络结构MobileNetV2,通过数据增强方法放大原始因子数量,对少量数据集分类准确率有一些提升,但对于大的数据量准确率仍有待提高;梅莹等[3]在对水稻害虫识别的研究中,将VGG-16 的卷积层和池化层作为特征提取层,训练时冻结部分卷积层,虽然可移植性强,但分类效率不高;汪泉等[4]对VGG16网络进行改进,重组了卷积核排列,更好地适应高光谱分类任务,但增加了训练时长;邱靖等[5]使用EfficientNet 构建水稻病害识别模型,并进行迁移学习,解决了病害识别中样本不足问题,但识别效率并不是很高;Bin等[6]对残差网络(ResNet)模型进行了适当改进,并采用灰色共生矩阵作为特征训练,取得了较好的分类效果,但对叶片进行了灰度预处理,并未考虑到颜色对识别精度的影响;何前等[7]使用LeNet-5 模型在公开数据集cifar 中进行图像识别,但识别准确率还有待进一步提高;Yan 等[8]在VGG16模型的基础上使用Adam 优化,但仅降低苹果叶片病害识别中结构的复杂性,对分类准确率却并不理想;郭小燕等[9]在ResNet50 中引入双层注意力机制与通道特征提取机制设计一个基于全局特征提取的深度学习网络,有效提升了网络泛化能力与鲁棒性,但耗时略长;吴云志等[10]在密集卷积网络(Densely Connected Convolutional Networks,DenseNet)中引入Focal 损失函数来对植物病害进行识别分类,解决了梯度消失问题,但模型复杂度高,过程相对繁琐;李鑫然等[11]通过特征金字塔网络将图像特征和语义信息进行融合,解决了苹果叶片病害造成的像素偏差问题;Wang 等[12]设计了一种新的SubNet进行特征分割,采用点感知分类子网络,提高分类精度,但并未考虑到图像颜色对其识别准确率的影响;孟志超等[13]对VGG16 网络模型进行结构调整,提出了Enhanced VGG16 网络模型,提高了测试准确率,但训练中准确率波动较大.

针对在苹果病害识别过程中分类准确率不高这一问题,本文在卷积神经网络模型的基础上,对该网络模型进行改进,以期构建一个准确、稳定适用于不同场景下的苹果病害识别模型.

1 数据预处理

1.1 数据集的获取

本文的苹果叶片数据集是由西北农林科技大学制作,分别在西北农林科技大学白水苹果试验站、洛川苹果试验站和庆城苹果试验站进行采集,数据集主要是在晴天光线良好的条件下获取,有部分图像在阴雨天进行采集,不同的采集条件增强了数据集的多样性.由于原始的病害图像中有斑点落叶病411张、褐斑病435张、花叶病375 张、灰斑病370 张和锈病438 张,共计2 029 张图像,其数量有限,无法满足神经网络训练的条件.

为防止训练数据不足造成的过拟合问题,同时为提高模型的泛化能力,本文在原数据集的基础上通过对图像预处理来增强样本多样性,对数据集进行扩展,从而提高模型鲁棒性,满足训练过程中对样本数量的要求.最终样本数量分别为斑点落叶病4 521张、褐斑病4 785张、花叶病4 125张、灰斑病4 070张和锈病4 818张,共计22 319张图片.苹果叶片病害如图1所示.

图1 苹果叶片病害

1.2 图像预处理

在数据集获取中,没有对叶片病害图像进行各个角度拍摄,使得数据单一化.因此,为提高模型的多样性,对图像进行旋转变换以及翻转等操作扩充数据集.

1.2.1 图像旋转和翻转

图像旋转是指以图像某一点为中心,顺时针或逆时针旋转一定的角度,从而形成一幅新的图像.

图像翻转分为垂直翻转和水平翻转.垂直翻转是指以图像中的水平线为轴翻转,即从上向下或从下向上180°翻转;而水平翻转则是以图像中的垂直线为轴翻转,即从左向右或从右向左180°翻转.

1.2.2 光照因素调整

在图像采集过程中,难免会受到各种因素的影响,其中天气是影响图像效果最主要的因素之一,而光照这一条件往往是最复杂的,不仅会影响图片的亮度,还影响叶片的光泽和纹理等多方面.为提高模型的泛化能力,需要对模型进行不同光照条件下的拍摄,但这是比较困难的.于是根据原图,通过调整锐度、饱和度、对比度及亮度,从而生成新的叶片图像.

2 VGG-16网络改进

当AlexNet 模型在2012 年的ImageNet 大赛上成为冠军模型后,视觉几何组(Visual Geometry Group,VGG)将卷积神经网络进一步进行了改进,获得了2014年ImageNet的亚军结构.“VGG”隶属于1985年成立的机器人研究小组,该小组研究范围包括了机器学习到移动机器人.其中VGG-16是VGG Net中性能最好的网络之一,相较于其他网络模型,结构较为简单,其网络结构如图2所示.

图2 VGG-16网络结构

2.1 增设BN层

大部分数据之间的关系都是非线性关系,而非线性单元的输出分布形状会在训练过程中变化,无法消除方差偏移,从而造成梯度消失问题.而BN 层则是通过一定的方式,使得梯度变大,加快网络的训练和收敛的速度,防止过拟合.

2.2 池化层改进

池化层采取的是一种降采样的方式,池化层会不断地减小数据的空间大小,因此,在一定程度上起到降低过拟合的作用.但现在最大池化层大约去掉了75%的激活函数,导致空间信息损失,无法使用来自多层激活函数的信息.因此,文献[13]在网络模型的概念框架中提出将VGG-16模型结构中的最大池化层改为sort-pool2d结构,从而解决最大池化层中的问题.

将sort-pool2d应用到改进后的VGG-16模型中,为保证模型的稳定性,决定仅将最后两个卷积块中的最大池化层进行替换.这样既可减少网络参数,又能加强模型特征提取能力,同时又解决了最大池化层无法使用来自多层激活函数信息的问题.在VGG-16模型中加入BN层以及替换最大池化层后的网络结构如图3所示.

图3 VGG-16-BN-sort网络结构

3 结果与分析

3.1 实验环境与参数设置

本文实验环境为Windows 10 的64 位操作系统,并采用NVIDIA GeForce GTX 1050Ti 显卡加速图像处理,使用Python 语言,Tensorflow 框架进行搭建,最终通过Tensorboard 可视化输出效果,其中Python 版本为Python 3.9,Tensorflow版本为2.0的GPU版本.

3.2 评估指标

准确率是指在分类过程中,分类正确的样本占全部样本的比例.本文主要以分类准确率(Accuracy)作为实验的评估指标,模型准确率越高,说明模型分类效果就越好.下列公式中设计TP,FP,TN,FN这几个参数,引入正、负例进行描述.设目标对象为正例,于是,其余的全为反例,TP(True Positive)分类器预测结果为正样本,实际也为正样本,即正样本被正确识别的数量.FP(False Positive)分类器预测结果为正样本,实际为负样本,即误报的负样本数量.TN(True Negative)分类器预测结果为负样本,实际为负样本,即负样本被正确识别的数量.FN(False Negative)分类器预测结果为负样本,实际为正样本,即漏报的正样本数量.准确率的计算公式为

召回率即正确预测为正的占全部实际为正的比例,计算公式为

F1分数是准确率和召回率的调和平均值,它兼顾了分类模型的准确率和召回率,是用来衡量二分类模型精确度的一种指标,其范围是0~1,值越大意味着模型越好.计算公式为

3.3 实验结果对比

通过在数据集中对改进后的模型训练及测试后,结果表明该模型具有较好的分类能力,其精确度达到96.67%.将原始VGG-16网络与VGG-16-BN,VGG-16-sort,VGG-16-BN-sort网络进行了准确率与损失函数的对比,如图4和图5所示.

图4 Loss对比

图5 Accuracy对比

由图4和图5可知,未加入BN层的曲线收敛较慢,在15个epoch后才趋于稳定,而加入BN层的模型曲线收敛得较快,在5个epoch就基本趋于稳定.实验表明,在模型加入BN层后,能够利用小批量上的均值和标准差,使网络中间层参数服从于相同的分布,加快了网络的训练和收敛的速度,防止梯度爆炸及梯度消失,使模型变得更加稳定.

同时,为更直观地验证该模型在图像分类可取得更好的结果,将本文所取的数据集应用在其他模型的训练中,其中有ResNet,AlexNet,CaffeNet,GoogLeNet以及VGG网络模型,结果如表1所示.

表1 在不同模型上的测试结果

由表1 可以看出,使用VGG-16-BN-sort 模型在训练中其准确率有了一定的提高,同时召回率及F1分数也同样得到了提高.结果表明,本文在VGG-16基础上对其改进,使得模型在准确率、召回率及F1分数等方面取得了较好的结果,整体性能有了一定的提升.

为验证改进后的模型对各类图像的识别能力,表2为通过不同模型识别时得到的F1分数.

表2 在不同模型中的F1分数对比

由表2可知,VGG-16-BN-sort对病害类别的识别效果较好,F1分数同样也略高于其他模型,整体识别能力较优.

4 结论

本文在VGG-16 模型的基础上进行改进,生成了一个新的网络——VGG-16-BN-sort,该网络主要是将原始模型中后两块卷积层中的最大池化层替换为了sort-pool2d池化层.此外,为加快模型的训练和防止模型训练过拟合,在每一卷积层后增设了BN 层.通过实验表明改进后的VGG-16 模型识别准确率高,泛化能力强,具有较强的图像分类能力,数据集的准确率比未加入BN层前有较大的提升.

猜你喜欢
池化层卷积准确率
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络模型研究分析*
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于卷积神经网络的纸币分类与点钞
基于深度学习卷积神经网络的人体行为识别研究
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于全卷积神经网络的SAR图像目标分类*