柑橘病害现场图像数据集及深度学习模型测试
2023-11-03蔡泳恒郭建文李宇琛陈凤宜
蔡泳恒,郭建文,李宇琛,陈凤宜
(东莞理工学院,广东东莞 523808)
早期发现作物疾病是保护作物和控制疫情的主要手段[1]。植物疾病一般都会影响叶片,叶片对病害的鉴定起着至关重要的作用[2]。通过图像能直观地识别健康作物和病害作物以及病变种类[3],但需要全面的植物病原学知识[4,5],依靠人力来快速、科学解读病害图像信息很困难。
基于深度学习的智能诊断应用得到广泛关注,深度学习模型可以在保证识别效果的前提下有效地减弱专家经验的干扰[6]。现有研究多基于实验室公开数据集,如Plantvillage,具有现场病害数据库不足又弱化样本携带的信息量,对深度学习智能诊断模型的建立提出了更高的要求。
本研究以柑橘为例,收集制作柑橘病虫害数据集,在此基础上,采用ResNet50、DenseNet121、MobileNetV2、Vit Transformer、ECA_ResNet 5 种模型分别进行训练,评估深度学习算法在该数据集上的效果,为相关研究提供支持。
1 病虫害数据集制作
研究小组制作了柑橘叶片数据集(图1)。数据集包含受感染的叶片共2 648 张,为黄龙病、缺镁症、正常叶片3 个总类,如表1 所示。
表1 现场数据集的制作
图1 叶片数据集
2 方法
2.1 算法
采用ResNet50[7]、DenseNet121[8]、MobileNetV2[9]、Vit Transformer[10]、ECA_ResNet[11]5 种模型分别进行训练,探究深度学习应用于柑橘叶片识别中的优势。各种方法的简介和特点如表2 所示。
表2 5 种深度学习模型的简介及特点
2.2 参数
使用MistGPU 云平台进行数据训练,采用3070显卡,Python 环境为3.8。首先将图片数据集进行归一化处理,统一裁剪成224×224 相素大小的图片,导入神经网络,将分类层(全连接层)修改为3,设置使用Adam 优化器,使用余弦退火学习率调整策略,并设置初始学习率为0.01。在使用Vit Transformer 模型进行训练时,Adam 优化器效果较差,使用SMG 优化器替换,将最小学习率设置为10-6,学习率在以100 个epoch 为1/4 个余弦周期下进行训练。
3 结果与分析
训练集试验数据包括准确率和损失值,分别用Train_Acc 和Train_Loss 表示。验证集试验数据也是准确率和损失值,分别用Val_Acc 和Val_Loss 表示。损失值是用于衡量模型预测的好坏,反映训练模型预测与实际数据的差距,一般训练结果的损失值越小,模型的鲁棒性就越好,使用交叉熵损失函数(Cross entropy loss)计算训练结果的损失值,如算式(1)。
5 种算法经过100 次训练得到的5 组训练数据如表3 所示。训练100 次,5 种模型的验证集与训练集的准确率和损失值如图2 至图5。
表3 经过100 次训练模型的主要参数
图2 100 次训练中训练集的损失值变化
图3 100 次训练中训练集的准确率变化
图4 100 次训练中验证集的损失值变化
图5 100 次训练中验证集的准确率变化
从训练结果来看,Vit Transformer 最终的训练精度最高,在训练了10 次左右就达到了98%的训练精度。ResNet50、DenseNet121、MobileNetV2 在相同的训练参数下,DenseNet121 的训练精度最高,Mobile-NetV2 其次,ResNet50 最小,而且MobileNetV2 前30次训练波动较大,训练100 次后损失值最小,采用MobileNetV2 时,最好提高训练轮次。
在对比ResNet50 和加入注意力机制后的ECA_ResNet,加入注意力机制后精度更高,损失值更小。在训练时间对比上,ResNet50、DenseNet121、MobileNetV2 的训练用时相差不大,Vit Transformer训练用时略微增加,ECA_ResNet 训练用时最长。Vit Transformer 模型无论是在训练精度还是训练轮次上都有优势,加入注意力机制的ECA_ResNet 相比其他3 个神经网络模型在训练集有一定优势,但使用的训练时间和资源也会提高。
4 小结
采用5 种深度学习模型对研究小组收集制作的柑橘叶片数据集进行训练,验证了数据集能支持深度学习的研究和应用。在深度模型比对的结果中,Vit Transformer 模型更加适合于解决该数据集的识别任务,接下来将进一步优化Vit Transformer 模型,提升性能。