基于改进Xception 的玉米大斑病识别

2023-02-01 01:35吕盛强刘建新
关键词:病斑准确率叶片

吕盛强,刘建新,刘 伟,王 强

(西华大学机械工程学院,四川 成都 610039)

近年来,深度学习被广泛应用于农作物的生长监测、叶片计数以及病害检测[1]。搭载RGB 相机的无人机平台能够快速、大规模地对农作物病害进行病害检测和生长状况监测[2],因此在玉米、大豆和萝卜等农作物的病害检测方面得到了应用。Tetila 等[3]首先使用SLIC 算法[4]对无人机拍摄的图像进行大豆叶片提取并构造数据集,然后训练CNN 实现对大豆病害的识别。Dang 等[5]为实现对萝卜枯萎病患病程度的检测,首先利用SLC 算法[6]将无人机拍摄图像分为土地、萝卜等类别并构造数据集,训练CNN 完成对萝卜的识别,最后通过对萝卜叶片阈值化处理实现对萝卜枯萎病患病程度的判断。上述方法需要先对图像进行分割,提取植物叶片子图,然后才能进行作物病害检测,实际使用时,需要根据环境的变化选择不同的分割参数才能有效提取植物叶片,而这是极其费时、费力的。

目前结合无人机平台对玉米病害的检测研究较少。Ishengoma 等[7]将无人机拍摄得到的图像进行裁剪,然后使用裁剪后的图像训练不同的CNN 模型对玉米是否患病进行识别。但是该方法仅在裁剪后的叶片图像上进行了评估,对完整图像的检测效果仍然值得探究。Dechan 等[8]首先使用低分辨率病斑图像进行训练得到具有较好分类效果的CNN,然后利用训练好的模型通过滑动窗口的方式在完整图像上获得病斑热力图,最后根据热力图以确定整幅图像中是否有患病叶片。该方法完成了利用无人机拍摄图像的病斑识别任务,但利用滑动窗口是一个十分耗时的步骤,且不能完成端到端的识别。Wu 等[9]使用了和文献[8]相同方法,但简化了热力图生成步骤,同时使用在Imagenet数据集上预训练的神经网络进行特征提取,减少了训练时间。但该方法依然没有实现端到端的检测,检测过程依旧相当耗时。

由于图像采集距离远,无人机拍摄的图像中的病斑远小于手持相机拍摄的图像中的病斑,所以现有方法并未实现直接对无人机拍摄图像中的农作物病斑进行检测,需要经过多个步骤才能完成,检测准确率依赖于各个步骤的处理效果,存在检测效率低、检测时间长、检测效果不稳定等问题。基于此,本文以玉米大斑病识别作为研究对象,提出了一种直接利用无人机拍摄图像进行农作物病害检测的方法:首先对公开数据集进行重构,获得新的数据集;然后以Xception 网络为骨干网络,增加密集连接模块和注意力模块,以增强信息融合,减少特征信息丢失,最终实现对玉米大斑病的识别。

1 数据集构造

研究者使用搭载RGB 相机的无人机对患有大斑病的玉米叶片进行图像采集,创建了公开的、带标注信息的玉米大斑病检测数据集: Imagesdrone[10]。该数据集中图像分辨率为6000×4000,注释文件提供病斑较长主轴端点坐标,图像具有背景复杂、病斑在图像中占比小等特点。根据文献[10]提供的病斑标注文件,本文将患病叶片以病斑为中心进行裁剪,健康叶片则随机裁剪,得到1200×800 分辨率的病斑子图像。同时,保持长宽比不变将Images-drone 数据集中的图像缩小为600×400。重构后的数据集包含裁剪后的健康叶片和病斑叶片、缩小后的健康叶片和病斑叶片等4 种类型的图片。处理后的数据集样本如图1 所示。患病叶片中的病斑实验的训练数据和验证数据包括裁剪和缩小处理后的图片,而测试数据仅采用缩小后的图片,数据集的具体划分如表1 所示。

表1 数据集划分Tab.1 Dataset division

图1 处理后的部分样本图片Fig.1 Pictures of the processed partial samples

2 本文模型

Xception 网络将特征图中跨通道相关性和空间相关性的映射完全解耦,具有在减少参数的同时增强模型的表达能力和梯度传播的优点[11]。但是该网络在底层的信息融合仅使用残差连接,对于小目标的特征传递、重用和信息传递能力不足。Dense Net 能在卷积层之间增加更多的短连接,能有效减轻梯度消失、加强特征的传递和重用且减少参数量,避免残差结构中可能出现信息阻塞等问题,能够提取到更多的特征[12]。但是更多的短连接在增强特性信息传递的过程中,也引入了更多的非特征信息,这将影响最终的识别效果。SE 注意力机制允许网络进行特征重新校准。通过该机制,网络可以学习使用全局信息来选择性地强调信息特征和抑制无用的特征。而且该机制能够有效嵌入主流网络中,提高网络性能的同时仅增加极少量的参数[13]。如果将3 种网络结构的优点进行组合,能够提取更多的有效目标特征,消除干扰信息,提升对小目标的特征提取效果。

由于无人机平台采集的玉米图像背景复杂,病斑在图像中占比小,同时在数据集构造时对图像进行了缩小处理,造成了病斑特征的部分丢失,所以在网络结构的改进中应当尽量避免病斑特征的进一步丢失,同时加强各个卷积层之间的特征信息融合,提高网络对病斑特征的提取。

基于以上原因,本文采用Xception 网络为骨干网络,在Xception 网络的Entry Flow 的残差连接中增加卷积层和短连接,将SE 注意力模块嵌入到Xception 网络的Middle Flow 中,其余部分保持和Xception 完全相同,不做任何改变。本文改进后的网络采用大小为400×600 的图片作为网络输入,其总体结构如图2 所示,图中SE_Module 为注意力模块,Dense_Module 为改进后的残差连接。Dense_Module 共包含4 次卷积核、1 次池化,前3 层卷积采用密集连接,以增强特征信息融合,减少特征信息损失,经过密集连接操作后的数据被送入池化层进行主要特征的提取并对数据张量进行降维,降低网络运算量,最后一层卷积进行卷积核为1×1 的卷积操作,用于特征图的数量匹配,结构如图3 所示。

图2 总体网络结构图Fig.2 Overall network structure diagram

图3 Dense_Module 结构图Fig.3 Dense_Module structure diagram

3 实验及分析

3.1 算法的性能验证

模型是在Ubuntu18.04LTS 操作系统中采用Python3.8、Tensorflow2.0 框架开发的。训练采用Adam 作为优化器,交叉熵函数作为损失函数,学习率为0.0001。主要硬件包括Inteli7-6700@3.4 GHz、NVIDIA 1080TI显卡。

为了提高模型的精度和泛化能力,减小模型过拟合的可能性,对用于训练的图像进行随机的水平翻转、旋转等操作,同时加入早停函数。

本文采用对病斑识别的准确率和单张图片的识别时间作为评价指标。最终,本文模型使用测试集进行测试,得到的准确率为95.23%,对单张图片进行识别的时间为0.5476 s。

模型准确率变化曲线如图4 所示,图中,横坐标为模型迭代次数,纵坐标为准确率,红色曲线为验证集准确率变化曲线,蓝色曲线为训练集准确率变化曲线。由图4 可见,本文模型迭代30 次开始收敛,模型准确率逐渐达到最佳值,最终在测试集上进行测试得到的准确率为95.23%。

图4 模型准确率变化曲线Fig.4 Model accuracy change curve

混淆矩阵是深度学习中总结分类模型预测结果的情形分析表,以矩阵的形式将数据中的记录按照真实的类别与分类模型预测的类别判断进行汇总。图5 给出了本文模型对测试集进行测试得到的混淆矩阵,数字0 表示健康叶片,数字1 表示患病叶片。从图5 可以看出,测试集中共有22 张图片被预测错误,在196 张健康叶片中,本文模型将7 张健康叶片错误识别为患病叶片,其余识别正确,在204 张患病叶片中将15 张患病叶片错误识别为健康叶片,其余识别正确。混淆矩阵的结果表明,本文模型有较高的准确率。

图5 测试结果混淆矩阵Fig.5 Test results confusion matrix

3.2 消融实验

为了研究密集连接模块和注意力模块对网络实际性能的影响,本文进行了消融实验。实验分别研究不对Xception 网络进行任何改进(Xception)、Xception 网络中只加入密集连接(Xception+Dense)、Xception 网络中只加入SE 注意力模块(Xception +SE),以及Xception 网络中同时加入密集连接和SE 注意力模块(Xception+Dense+SE)等4 种网络结构对病斑识别的准确率,其结果如表2 所示。由表2 可见,改进的Xception 网络提高了对玉米大斑病的识别效果。

表2 消融实验结果Tab.2 Results of ablation experiments

从表2 可知,在Xception 网络单独加入密集连接模块后,模型的准确率提高0.0125,单独加入SE 注意力模块后,模型的准确率提高0.0175,在同时加入密集连接模块和SE 注意力模块后,网络性能提升0.025,达到了最佳准确率。实验结果表明,本文对Xception网络结构的改进是有效的,能够有效增强Xception网络对病斑的识别能力。注意力模块通过通道信息的调整,在对病斑的识别中起到了更大的作用,增加密集连接模块对网络性能的提升略小,二者的组合具有相互促进的效果,且检测时间相差不超过0.1 s。

3.3 裁剪图片加入训练集与验证集的比例实验

在数据集重构过程中,本文对图像病斑部分进行裁剪并加入到训练集和测试集中。为了验证加入病斑子图像对模型性能的影响,实验将缩小后的图片按照70∶15∶15 的比例划分为训练集、验证集和测试集,将裁剪后的叶片按照不同比例划分后分别加入到训练集和验证集中,测试集中不加入任何裁剪图像。最终对模型性能的影响结果如表3 所示。

表3 加入病斑子图像数量对模型性能的影响Tab.3 Effect of adding the number of diseased spot images on the model performance

由表3 可知,将裁剪图片按照2∶1 和4∶1 加入训练集和测试集中,其效果均不如按照3∶1 比例加入的,但是总体效果差距不大,准确率最差的也可达到93.48%。基于对单张病斑图像的识别时间最短的考虑,本文选择了3∶1 的比例来构成实验数据集。

3.4 相关文献方法对比

为了进一步验证本文方法对农作物识别的准确率和识别效率上的优势,将本文方法与文献[7]和文献[9]方法进行了对比实验。实验同样选取准确率和单张图片识别时间作为评价指标。本次实验采取了相同的数据集划分比例,模型推理过程在CPU 上完成,实验结果如表4 所示。

表4 相关文献对比结果Tab.4 Comparison results of related literature

本文方法的主要目的是在保证对农作物病斑准确识别的情况下,减少识别时间,提高识别效率。从表4 可见,文献[9]方法与本文方法得到的准确率相近,但文献[9] 方法使用了滑动窗口方法,导致图片识别时间远高于本文方法。文献[7]方法与本文方法识别时间相近,但是仅使用Inception V3 作为骨干网络时的效果较好,使用VGG16 和Mobile Net 作为骨干网络时,并不能有效地进行农作物病斑的检测。相较于文献[7]和文献[9],本文通过改进Xception 网络结构和改造数据集的方法,在保证了识别准确率的情况下,提高了效率。

4 结论

本文针对无人机图像中的农作物病斑识别需要进行多次处理的问题,以玉米大斑病检测为研究对象,通过改造数据集和改进神经网络模型的方式来实现直接对农作物病斑的检测。通过裁剪和缩小2 种方式重构数据集;通过对Xception 网络进行改进,增加注意力模块,改善了通道信息,并抑制无用的信息,提高对病斑的识别能力,增加卷积层和密集连接,改善特征信息的传递和融合,减少了特征信息的丢失。最后的实验结果表明,本文方法在保证对农作物病斑识别准确率的情况下,减少了病斑识别的时间和繁琐的图像处理步骤,实现了直接利用无人机拍摄的图像对玉米大斑病进行检测。后期将通过目标检测网络实现对病斑在作物叶片上的具体位置的精确定位,同时对模型进行枝减,降低对硬件平台的要求,实现对农作物病害的实时检测。

猜你喜欢
病斑准确率叶片
月季叶片“雕刻师”
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
两种喷涂方法在TRT叶片上的对比应用及研究
改进自适应分水岭方法分割棉花叶部粘连病斑
一种桑轮纹病病叶发病程度的评价指数
9种药剂防治山核桃干腐病试验研究
高速公路车牌识别标识站准确率验证法
苹果树腐烂病斑季节扩展动态