融合Focal Loss与典型卷积神经网络结构的水稻病害图像分类

2023-08-27 21:19杨非凡徐伟诚陈盛德兰玉彬
江苏农业科学 2023年14期
关键词:卷积神经网络

杨非凡 徐伟诚 陈盛德 兰玉彬

摘要:快速高效地识别水稻病害的种类并及时采取有效的防治措施对避免水稻减产具有重要意义,为解决人工识别水稻病害效率低、识别精度不高、深度学习样本不平衡导致识别准确率不高等问题,融合Focal Loss与4种典型卷积神经网络结构对7种水稻病害进行分类识别。利用TensorFlow的Keras深度学习框架搭建卷积神经网络的图像识别分类系统,使用Focal Loss损失函数解决数据集不平衡导致识别准确率低的问题,采用ResNet50、ResNet101、MobileNetV2、VGG16作为特征提取骨干,对7种水稻病害进行识别。通过imgaug库增强数据,将13 543张水稻病害图像按照9 ∶1的比例划分为训练集和验证集并参与训练模型,将1 404张水稻病害图像作为测试集来验证模型的准确性。结果表明,所搭建的数据集中ResNet50、ResNet101、MobileNetV2、VGG16的识别准确率分别为98.06%、94.26%、92.47%、97.83%。可见,在融合Focal Loss损失函数的情况下,ResNet50作为特征提取骨干训练出的模型在水稻病害图像分类中拥有最高的准确率,该成果可在实际生产中实现水稻病害的自动分类识别,有助于水稻病害的防治工作。

关键词:水稻病害识别;卷积神经网络;Focal Loss;ResNet;MobileNetV2;VGG16

中图分类号:TP391.41文献标志码:A

文章编号:1002-1302(2023)14-0198-07

水稻作为我国南方的主要粮食作物,占全国粮食种植面积的1/3[1]。在水稻生长期内伴生的多种病害常导致水稻减产,因此水稻病害的诊断与防治具有重要意义。传统水稻病害识别方法主要为专家目视观察水稻患病部位,根据患病部位的特征判断患病种类。该方法具有效率低、工成本高、专业技能要求高等缺点,不利于及时对水稻病害进行精准防控[2]。基于深度学习技术在图像识别领域具有无损、高效的特点,已有部分研究人员将其应用到植物病害识别领域中。Bikash等将神经网络用于识别茶树的5种疾病[3]。Astani等使用深度学习识别番茄病害种类,准确率为95.98%[4]。徐振南等将MobileNetV3用于识别马铃薯叶部病害,准确率为98%[5]。邓小玲等采用基于无人机遥感的BP神经网络结合XgBoost算法对柑橘病害进行分类,准确率达95%[6]。Deng等提出一种基于高光谱反射率的机器学习算法,对田间柑橘黄龙病进行无损检测[7]。Huang等基于卷积神经网络对小麦叶锈病进行分类,总体准确率和标准误差分别为91.43%和0.83%[8]。谢军等将ResNet模型经过二次迁移后对稀疏样本的茶树病害进行识别,验证样本识别率为98%[9]。王利伟等利用数字图像处理和支持向量机技术对葡萄的白粉病、黑腐病、霜霉病进行分类,识别正确率为95%[10]。还有学者针对深度学习在水稻病害识别领域开展研究,姜敏等将FasterR-CNN应用于水稻病虫害检测中,准确率在90%以上[11]。杨颖等提出基于方向梯度直方图与局部二值模式混合特征结合支持向量机的水稻病虫害识别方法,检出率可达90.7%[12]。Rahman等提出一种两阶段小型卷积神经网络结构,收集1 426张图片用于识别水稻病虫害,精确度达93.3%[13]。Zhang等采用基于swin变换的水稻病害识别方法,准确率达93.4%[14]。Krishnamoorthy等提出一种InceptionResNetV2神经网络来预测水稻叶片疾病,准确率为95.67%[15]。另外,在深度学习领域,非平衡数据集对模型结果影响巨大,针对非平衡数据集识别准确率低的问题,Lin等于2020年提出Focal Loss损失函数,用来解决一阶段(one-stage)目标检测任务中因正负样本比例不平衡导致检测准确率低的问题,该损失函数通过减少大量简单负样本在训练中所占的权重来改善目标检测效果[16]。上述学者针对植物病害识别的研究虽然取得了不错的效果,但是针对水稻病害识别的研究仍然存在准确率不够高,研究的水稻病害种类少,且未对主流神经网络在水稻病害识别上的效果进行对比。本研究融合Focal Loss损失函数与4种优秀的卷积神经网络MobileNetV2、ResNet50、ResNet101、VGG16,在非平衡数据集上对7种常见水稻病害进行分类,对训练出的4种水稻病害识别模型的收敛速度,识别效果进行对比[17-19],以探究一种可自动、准确识别水稻病害的方式,并为智慧农业和精准农业实践提供参考。

1 材料与方法

1.1 材料

本研究数据集来源为自采集结合网络图片,网络图片来源为中国科学院合肥智能机械研究所智能研究组公开的水稻数据集。自采集部分通过数码相机与手机在不同时间、不同拍摄角度的自然光照下拍摄,以保证样本多样性,拍摄地点位于华南农业大学增城教学科研基地和广东省佛山市三水区三水农场,根据不同病害产生的时间,拍摄时间分布于2021年6—10月,拍摄后的图片经过筛选裁剪后得到原始图片集,收集的图片通过缩放、镜像、翻转、旋转、平移、改变色度、高斯模糊等方式随机组合对图像进行增强,增强效果见图1。

图像增强主要用于图片库的扩增,防止因样本量少而导致模型产生过拟合现象,增强模型的鲁棒性,最终得到用于水稻病害识别的数据集,包括7种病害共14 947张图片。其中,训练集13 543张,测试集1 404张,7种水稻病害类型对应图片见图2,每种病害所包含的图片数量见表1。

1.2 方法

1.2.1 遷移学习

大规模的数据集是训练出优秀模型的重要条件。迁移学习是指运用已有(源领域)知识求解不同但相关领域(目标领域)问题的一种新的机器学习方法。运用迁移学习可以在少量水稻病害数据的条件下训练出精准的水稻病害识别模型。迁移学习可分为3类:基于权重的迁移学习、基于特征选择的迁移学习、基于特征映射的迁移学习[20]。

1.2.2 损失函数优化

深度学习领域的传统损失函数为交叉熵损失函数,交叉熵损失函数计算公式为

模型经过1个batch训练并激活后,结果通过softmax归一化为概率值输出, 代表图像预测为每个类别的概率,在公式(1)中用p表示,p在0~1之间,取最大概率类别为预测类别。y=1表示该图片的真实类别,由公式(1)可得出交叉熵损失函数对于正样本(y=1)而言,p越大,表示正样本越容易分类,其损失值越小;对于负样本而言(其他),p越小表示负样本越容易分类,其损失值越小,此时的损失函数在大量简单样本(易分类)的迭代过程中缓慢变化,难以达到最优;另外,在深度学习领域,样本均匀性对模型结果影响巨大,当样本分布失衡时,损失函数也会随之倾斜,由于损失函数的倾斜,模型在训练过程中会侧重于样本量多的类别,导致模型对样本量少的类别识别效果变差。

Focal Loss损失函数可解决上述2个问题,计算公式分别为

验证一:γ能够有效降低易分类样本的Loss值;仅考虑γ不考虑at,对于易分类正例样本,假设为 p=0.98,γ=2。

可以验证γ能够有效降低易分类样本的Loss值,易分类样本的概率越大效果越好。

验证二:at能增加稀疏样本的损失权重。假设负样本数为100 000,pt=0.94;正样本数为10,pt=0.06,at=0.8,γ=2,结合交叉熵损失函数。

负样本:-lgpt×样本数=0.026 9×100 000=2 690;

正样本:-lgpt×样本数=1.221 8×10=12(保留整数);

总和Loss=2 690+12=2 702;

正样本占比=12/2 702=0.004 4。

结合Focal Loss损失函数。

负样本:-at(1-pt)γ(lgpt)×样本数=0.8×(1-0.94)2×0.026 9×100 000=7.747 2;

正样本:-at(1-p)γ(lgpt)×样本数=0.8×(1-0.06)2×1.221 8×10=8.636 6;

正负样本损失总和Sum Loss=8.636 6+7.747 2=16.383 8;

正样本占比=8.636 6/16.383 8=0.527 1(相比0.004 4增加明显)。

可以验证at能够增加数量较少样本的损失权重。

1.2.3 ResNet

对于传统的深度神经网络,模型准确率会随着网络层数的持续加深,先不断上升、达到饱再下降,这是因为传统的卷积层和全连接层在信息传递时时常存在信息丢失的问题,ResNet可以解决该问题。ResNet网络由大小不同的残差块构成(图3)。将原始输入信息经过旁路支线连接到后续层,即shortcut结构,使得后续层可以直接学习残差,通过特征映射的方法缓解梯度消失的问题,其中第1层的1×1卷积对特征矩阵进行降维操作,将特征矩阵的深度由256降为64,第3层的1×1的卷积对特征矩阵进行升维操作,将特征矩阵的深度由64升维到256,使得输入和输出特征矩阵形状相同以便相加。ResNet系列网络结构名称后缀的数字表示卷积层和全连接层层数,残差网络50(ResNet50)和残差网络101(ResNet101)的完整网络层次见表2。

1.2.4 MobileNetV2 MobileNetV2是一种轻量级深度神经网络,其主要特点是采用深度可分离卷积替换普通卷积,引入线性瓶颈和倒残差来提高网络的表征能力,倒残差模块(bottleneck)见图4。先通过1×1的卷积将特征图的通道扩张(升维),经过 3×3的深度卷积提取特征,再经过1×1的卷积将特征图压缩(降维),由于非线性激活函数ReLu6在负半轴为0(图5),输入特征若为负数,该通道的特征会被清零,在降维阶段特征已经经过压缩,如果使用ReLu6激活函数,则会进一步损失特征信息,故在降维阶段引入线性激活函数(linear)代替ReLu6激活函数。由于从输入到输出会损失部分特征图信息,故将输入与输出特征图相加,整体形成“两头小,中间大”的结构,与Resnet残差模块“两头大,中间小”的结构相反,呈倒置结构,故称其为倒残差。MobileNetV2的完整网络结构见表3,其中:t表示倒残差结构中1×1卷积相比输入通道升维的倍率;c表示输出特征矩阵的通道数channel;n表示倒残差模块的重复次数;s表示第1个倒残差模块中DW卷积的步长;后续重复的倒残差模块步长均为1。

1.2.5 VGG16 由图6可知,该网络的构建方法为重复堆叠3×3的小型卷积核和2×2的最大池化层,该方法比单独使用1个卷积层拥有更多的非线性变换,同时比单独使用1个大的卷积核参数量更少。卷积层实现特征提取,池化层将特征图长度和宽度压缩为原来的1/2,全连接层将分布式特征映射到样本标记空间,以减少特征位置对分类的影响,softmax层将分类结果归一化为概率值。

1.2.6 本研究采用的方法 本研究采用基于权重的迁移学习方法,分别采用ResNet50、ResNet101、MobileNetV2、VGG16作为特征提取骨干,将其在ImageNet数据集上训练出的权重作为水稻病害识别的预训练权重,进行迁移学习,采用的4种卷积神经网络结构均融合Focal Loss作为损失函数,对比4种网络结构在水稻病害识别效果上的差异。

2 结果与分析

2.1 试验环境

本试验基于Python和TensorFlow的Keras框架搭建模型,采用Windows10操作系统,GPU为NVIDIA GRID T4-16Q,显存15 G,CPU型号为Intel Xeon Gold 6130 CPU @ 2.10 GHZ,内存64 G。设置模型迭代次数(epoch)为100,监测测试集损失值(val_loss),如果连续迭代10次,测试集损失值仍不下降,说明模型已经收敛,则设置早停;批次大小设置为16;ResNet50、ResNet101和MobileNetV2初始學习率设为0.001,VGG16初始学习率为0.000 1,并对学习率设置动态调整,通过监测测试集损失值的变化自动调整学习率,具体规则设置为如果连续迭代3个世代,测试集损失值仍未下降,则自动将学习率以0.5倍的系数下降;使用TennsorBoard监测训练集精确度(acc)、损失值(loss)、学习率(lr)、验证集精确度(val_acc)、验证集损失值(val_loss)的变化情况。

2.2 试验设计

为了对比4种模型训练速度及识别效果的差异,4种模型的数据集均保持一致,输入模型的数据尺寸统一为224像素×224像素,通道数为3,损失函数保持一致,在相同硬件条件下对不同模型进行对比试验。将13 543张水稻病害图片按照分层抽样的规则以9 ∶1的比例划分为训练集和验证集,训练集和验证集参与模型的训练过程,1 404张水稻病害图片作为测试集,测试集仅用于评价模型精度。

2.3 试验结果与分析

2.3.1 模型在訓练过程中指标对比及分析 试验使用TensorBoard监测模型训练过程中训练集精确度、训练集损失值、测试集精确度、测试集损失值的变化情况(图7)。在模型训练的开始阶段,损失值和精确度波动幅度较大,随着训练的逐步进行,模型精确度和损失值渐趋稳定,损失值随着训练的进行逐步下降,精确度随着训练的进行逐步上升,验证集损失值和精确度波动大于训练集,这是由于验证集样本数量少于训练集样本导致的。4种模型收敛速度对比显示,MobileNetV2迭代45个epoch达到收敛状态,ResNet50迭代35个epoch达到收敛状态,ResNet101迭代53个epoch达到收敛状态,VGG16迭代38个epoch达到收敛状态,ResNet50收敛速度最快。

2.3.2 模型测试结果对比 采用精确率(P)、召回率(R)、F1得分、top-1准确率4个指标来评价4种水稻病害识别模型在测试集的识别效果,其中top-1准确率是指识别出的概率最大的分类结果为正确结果的图片数与该类别图片总数的比率。精确率(P)、召回率(R)、F1得分计算公式分别为

式中:TP是指模型将正样本正确预测为正例的样本数量;TN是指模型将负样本正确预测为负例的样本数量;FP是指模型将负样本错误预测为正例的样本数量;FN是指模型将正样本错误预测为负例的样本数量。

由表4可知,ResNet50和VGG16的精确率、召回率和F1得分整体高于MobilenetV2和ResNet101,在7种水稻病害的识别任务中,纹枯病的识别精确率、召回率、F1得分整体高于其他6种病害,识别效果最好。测得各模型的top-1准确率见表5,其中ResNet50的top-1准确率最高。

3 讨论与结论

在本研究搭建的数据集中,ResNet50、ResNet101、MobileNetV2和VGG16作为特征提取骨干训练出的模型top-1的准确率分别为98.06%、94.26%、92.47%、97.83%,模型达到收敛所需训练世代数分别为35、53、45、38。综合精确率、召回率、F1得分与收敛速度,ResNet50模型性能整体优于ResNet101、MobileNetV2和VGG16。本研究可以解决现有针对水稻病害研究种类少、准确率不高、传统水稻病害分类方法效率低、人工成本高等问题,使用本研究训练出的模型,无需水稻病害专业知识即可实现田间水稻病害的自动识别,不仅可以提高智慧农业水平,且在实际生产中有助于农业人员及时采取针对性的防治措施避免水稻减产,实现精准农业。未来的研究方向为水稻虫害分类任务,以丰富水稻病虫害分类数据集,解决因虫害防治不及时导致的水稻减产问题。

参考文献:

[1]吕 明,李鹰航,冉小琴,等. 推进南方水稻机械化种植工作思考和建议[J]. 农业机械,2022(5):59-62,65.

[2]袁 媛,陈 雷,吴 娜,等. 水稻纹枯病图像识别处理方法研究[J]. 农机化研究,2016,38(6):84-87,92.

[3]Bikash C,Mohammad S U,Md K S,et al. Tea leaf diseases recognition using neural network ensemble[J]. International Journal of Computer Applications,2015,114(17):27-30.

[4]Astani M,Hasheminejad M,Vaghefi M. A diverse ensemble classifier for tomato disease recognition[J]. Computers and Electronics in Agriculture,2022,198:107054.

[5]徐振南,王建坤,胡益嘉,等. 基于MobileNetV3的马铃薯病害识别[J]. 江苏农业科学,2022,50(10):176-182.

[6]邓小玲,曾国亮,朱梓豪,等. 基于无人机高光谱遥感的柑橘患病植株分类与特征波段提取[J]. 华南农业大学学报,2020,41(6):100-108.

[7]Deng X L,Huang Z X,Zheng Z,et al. Field detection and classification of citrus Huanglongbing based on hyperspectral reflectance[J]. Computers and Electronics in Agriculture,2019,167:1-7.

[8]Huang H S,Deng J Z,Lan Y B,et al. Detection of helminthosporium leaf blotch disease based on UAV imagery[J]. Applied Sciences,2019,9(3):558.

[9]谢 军,江朝晖,李 博,等. 基于二次迁移模型的小样本茶树病害识别[J]. 江苏农业科学,2021,49(6):176-182.

[10]王利伟,徐晓辉,苏彦莽,等. 基于计算机视觉的葡萄叶部病害识别研究[J]. 江苏农业科学,2017,45(23):222-225.[HJ2mm]

[11]姜 敏,沈一鸣,张敬尧,等. 基于深度学习的水稻病虫害诊断方法研究[J]. 洛阳理工学院学报(自然科学版),2019,29(4):78-83.

[12]杨 颖,文小玲,章秀华. 基于方向梯度直方图和局部二值模式混合特征的水稻病虫害识别方法研究[J]. 河南农业大学学报,2021,55(6):1089-1096.

[13]Rahman C R,Arko P S,Ali M E,et al. Identification and recognition of rice diseases and pests using convolutional neural networks[J]. Biosystems Engineering,2020,194:112-120.

[14]Zhang Z H,Gong Z J,Hong Q Q,et al. Swin-transformer based classification for rice diseases recognition[C]//2021 International Conference on Computer Information Science and Artificial Intelligence.Kunming,2021:153-156.

[15]Krishnamoorthy N,Prasad L,Kumar C,et al. Rice leaf diseases prediction using deep neural networks with transfer learning[J]. Environmental Research,2021,198:111275.

[16]Lin T Y,Goyal P,Girshick R,et al. Focal loss for dense object detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,42(2):318-327.

[17]Sandler M,Howard A,Zhu M L,et al. MobileNetV2:inverted residuals and linear bottlenecks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake,2018:4510-4520.

[18]Shafiq M,Gu Z Q. Deep residual learning for image recognition:a survey[J/OL]. Applied Sciences,2022,12(18).(2022-08-09)[2023-01-20]. https://www.mdpi.com/2076-3417/12/18/8972.

[19]Simonyan K,Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. International Conference on Learning Representations,2015,1409(1):1-14.

[20]莊福振,罗 平,何 清,等. 迁移学习研究进展[J]. 软件学报,2015,26(1):26-39.

收稿日期:2022-09-09

基金项目:华南农业大学-碧桂园校地校企合作项目;广东省引进领军人才项目(编号:2016LJ06G689);广东省重点领域研发计划(编号:2019B020214003);高等学校学科创新引智计划(编号:D18019);岭南现代农业实验室科研项目(编号:NT2021009)。

作者简介:杨非凡(1994—),女,陕西咸阳人,硕士研究生,主要从事计算机视觉与无人机遥感研究。E-mail:1653669244@qq.com。

通信作者:兰玉彬,博士,教授,博士生导师,主要从事精准农业航空与遥感技术研究。E-mail:ylan@scau.edu.cn。

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