摘要:
针对传统机器学习方法对于小样本和多类别的农作物叶片病虫害识别效果和时间不理想的问题, 本文利用改进的ResNet模型来实现农作物病害识别. 通过加入dropout层、激活函数、最大池化层和注意力机制来提高模型的鲁棒性、特征捕捉能力、实现了用较低的模型参数量来提高病虫害识别的准确率. 首先对从公共数据集 Plant Village获取的图像进行预处理和增强, 将ReLU激活函数替换为PReLU, 解决ReLU函数在小于0部分神经元坏死的问题; 然后在全局平均池化层之前加入dropout层, 设置合理的阀值, 有效避免过拟合现象的发生, 增强模型的鲁棒性; 此外, 在dropout与全局平均池化层之间加入最大池化层, 不仅能扩大神经元的感受野, 还能帮助模型获取局部病虫害的最显著特征, 减小图片背景的噪声影响, 实现二次特征提取; 最后嵌入CBAM注意力机制, 使模型自动学习输入特征图中最重要的通道信息, 并对其进行通道与空间之间加权, 从而更好地捕捉图像中的语义信息. 实验结果表明, 改进后的模型对测试集识别准确度达99.15%, 模型参数量仅为9.13M, 与Xception、InceptionV3、原ResNet等模型相比, 准确率分别超过了1.01, 0.68, 0.59个百分点, 降低了模型参数量, 为农作物病虫害识别提供了一种先进的深度学习方法.