基于多层信息融合和显著性特征增强的农作物病害识别
2023-07-31杜海顺张春海安文昊郝欣欣
杜海顺 张春海 安文昊 周 毅 张 镇 郝欣欣
(1.河南大学人工智能学院, 郑州 450046; 2.河南省车联网协同技术国际联合实验室, 郑州 450046)
0 引言
我国作为农业大国,粮食产量稳居世界首位。粮食丰收的前提是农作物的健康成长,而农作物病害是造成农产品产量和品质下降的重要原因[1]。合理施用农药是防治农作物病害的主要手段,而合理施用农药的前提是准确识别农作物病害的类型[2]。传统农作物病害识别主要靠农民凭经验进行。受专业知识的限制,农民常常对一些农作物病害无法判断或误判,从而使农作物病害难以得到准确及时的防治。因此,若能及时准确地识别农田中出现的农作物病害,不仅可以减少农药化肥的使用,降低生产成本、节约资源,而且可以减少化学污染、保护环境,进一步增加农民的收入,提高农产品的产量与品质,推动国家农业现代化的进程。
20世纪80年代以来,国内外学者在农作物病害图像识别方面展开了诸多研究,提出许多传统的农作物病害图像识别方法[3-9]。例如,张燕等[3]提出了一种基于核相互子空间法的番茄病害快速识别模型。该模型通过将叶部病害图像的颜色及纹理特征映射到高维空间进行主成分分析,建立非线性病害特征空间,并基于非线性特征空间的最小正则角实现了番茄病害识别。虽然这些传统病害识别方法大多已经用于实践,但是它们过于依赖病斑分割的效果和特征设计的质量,从而无法满足现代农业生产对农作物病害准确识别的需求。
近年来,随着人工智能技术的快速发展,国内外学者开始尝试采用卷积神经网络对农作物病害进行识别[10-12]。例如,赵恒谦等[10]对VGG16和ResNet网络进行分步迁移训练,取得了较好农作物病害识别效果。刘洋等[11]通过对MobileNet和Inception V2 2种轻量级卷积神经网络的迁移学习,得到2种作物病害识别模型并将它们分别移植到Android手机端,实现了识别精度、运算速度以及网络尺寸之间的平衡。虽然这些方法在农作物病害识别方面取得了较好的效果,但是它们都没有对网络提取的特征做进一步处理,也没有引导网络去关注更具判别力的显著性特征。为了解决这一问题,一些学者通过在网络中引入注意力机制或特征融合策略来改善农作物病害识别精度[13-23]。例如,黄林生等[13]提出一种多尺度卷积结构与注意力机制结合的农作物病害识别模型,不仅通过引入Inception模块对不同尺度的病害特征进行提取,提高了特征的丰富度,还通过在残差结构中引入注意力模块,增强了网络对显著性特征的提取能力。于明等[14]提出了一种基于颜色掩膜和通道自适应自注意力机制的农作物病害识别网络,根据叶片颜色变化、病斑范围与病斑间的位置关系,有效地提取了叶片病害颜色和位置特征,实现了农作物叶部病害的识别。姜红花等[21]提出了一种基于ResNet18的苹果叶部病害分类模型,通过引入空间和通道注意力机制,来增强网络对显著性特征的提取,从而提高识别精度;还通过采用随机裁剪分支来扩充样本,训练网络模型,达到了更好的分类效果。虽然这些方法通过在网络中使用注意力机制来提取农作物病害图像的显著性特征,取得了较好的病害识别效果,但是这些方法提取的病害图像显著性特征大多不足,且对网络不同层特征中包含的判别信息挖掘不够。
为了更加有效地提取农作物病害图像中的判别特征,提高农作物病害识别精度,本文提出一种基于多层信息融合和显著性特征增强的农作物病害识别网络(MISF-Net)。MISF-Net主要由ConvNext[24]主干网络、多层信息融合模块(Multi-layer information fusion module, MIFM)以及显著性特征增强模块(Saliency feature enhancement module, SFEM)组成。其中ConvNext主干网络主要用于提取农作物病害图像的特征;MIFM模块主要用于提取和融合主干网络浅层、中层、深层特征中的判别信息;SFEM模块主要用于提取和增强农作物病害图像中的显著性特征。
1 本文方法
本文提出的MISF-Net整体架构如图1所示。由图1可以看出,整体网络模型由ConvNext主干网络、多层信息融合模块(MIFM)以及显著性特征增强模块(SFEM)组成。
图1 MISF-Net基本框架
如图1所示,在训练阶段,首先对输入农作物病害图像进行随机裁剪、亮度与对比度调整等预处理;然后,将预处理的图像输入嵌入SFEM模块的ConvNext主干网络处理得到浅层特征图F1、F2,中层特征图F3及深层特征图F4;更进一步,将F1、F2、F3、F4输入多层信息融合模块,进一步提取和融合它们包含的判别信息,得到最终融合特征Fm;最后,将深层特征图F4经全局平均池化处理得到的特征和融合特征Fm分别输入相应的全连接层FC处理得到输出预测值,同时采用交叉熵损失函数监督网络训练。在测试阶段,采用融合特征Fm作为农作物图像的最终特征。
1.1 多层信息融合模块
卷积神经网络浅层的感受野较小,其输出的特征图包含丰富的边缘、纹理、形状等细节信息。随着网络层数加深,感受野越来越大,其输出的特征图包含的抽象语义信息也越来越多。为了充分挖掘主干网络浅层、中层、深层特征图中包含的判别信息,本文设计1个多层信息融合模块(MIFM),如图2所示。由图2可以看出,该模块主要由2个浅层信息处理模块(Shallow information processing module, SIM)、1个全局自适应平均池化操作(Global adaptive average pooling, GAP)和1个深层信息处理模块(Deep information processing module, DIM)组成。其中,2个浅层信息处理模块分别用于处理主干网络Layer1和Layer2输出的浅层特征图F1和F2,全局自适应平均池化操作用于处理主干网络Layer3输出的中层特征图F3,而深层信息处理模块用于处理主干网络Layer4输出的深层特征图F4。
图2 多层信息融合模块
(1)浅层信息处理模块(SIM)
如图3所示,浅层信息处理模块由1个自适应平均池化Adp、1个全连接层FC和1个ReLU激活函数组成。
图3 浅层信息处理模块
As=δ(W1Reshape(Adpk(Fs)))
(1)
其中
式中 Adpk(·)——将尺寸为C×H×W的特征图自适应平均池化为尺寸为C×k×k的特征图函数
Reshape(·)——将尺寸为C×H×W的特征图改变形状为C×HW的特征图函数
W1——全连接层权重
r——降维比
δ(·)——ReLU激活函数
首先将输入的浅层信息进行自适应平均池化处理得到C×k×k的特征图,以保留更多的有助于病害分类的浅层信息;然后,采用全连接层对浅层信息进一步处理,以提取更具有判别力的病害图像特征。
(2)深层信息处理模块(DIM)
如图4所示,深层信息处理模块由1个通道池化操作Cmp、1个全局自适应平均池化层GAP、1个全连接层FC和1个ReLU激活函数组成。
图4 深层信息处理模块
Ad=δ(W2GAP(Cmpn(Fd)))
(2)
其中
式中 Cmpn(·)——将特征图按通道顺序均分为C/n组后,对每组进行沿通道方向最大池化处理函数
GAP(·)——全局自适应平均池化
W2——全连接层权重
在DIM中,通过通道池化Cmpn(·)操作,对特征图的每n个通道沿通道方向进行最大池化处理,能够保留较多的重要深层语义信息。此外,采用全连接层对深度语义信息进一步处理,能够提取其中更具判别力的病害图像特征。
(3)多尺度特征融合
将浅层特征图F1和F2经浅层信息处理模块(SIM)处理得到特征A1和A2,中层特征图F3经全局自适应平均池化操作处理得到A3,深层特征图F4通过深层信息处理模块(DIM)处理得到A4后,将它们进行拼接融合,得到的融合特征Fm为
Fm=Cat(A1,A2,A3,A4)
(3)
式中 Cat(·)——通道维度上拼接函数
特别地,本文采用参数k=4和r=4的SIM来处理主干网络Layer1输出的浅层特征,采用参数k=2和r=2的SIM来处理主干网络Layer2输出浅层特征,采用参数n=2和r=2的DIM来处理由主干网络输出的深层特征。
1.2 显著性特征增强模块
显著性特征对农作物病害识别至关重要。为了增强农作物病害图像的显著性特征,设计1个显著性特征提取增强模块(SFEM),如图5所示。
图5 显著性特征增强模块
给定一个输入特征图F∈RC×H×W,首先对输入特征分别沿H维度和W维度进行平均池化得到A1、A2;然后,分别对A1、A2进行二维卷积和Sigmoid激活操作后,将得到的2个特征图对应元素相乘得到权重特征图h;更进一步,将权重特征图h与输入特征图F进行对应元素相乘得到显著性特征图,将输入特征图F经tanh函数激活处理后的特征图与1-h相乘得到非显著性特征图;最后,将显著性特征图与非显著性特征图进行拼接后再经过二维卷积处理,得到增强后的显著性特征图FA∈RC×H×W。上述过程可公式化为
(4)
式中gW(·)、gH(·)——沿着宽和高维度进行平均池化
Reshape1(·)——将尺寸为C×H×W的特征图改变形状为C×W×H的函数
Conv1(·)、Conv2(·)——C×C×1×1、2C×C×1×1的卷积函数
由于深层特征的显著性信息更有益于农作物病害识别,因此本文将显著性特征增强模块插入到主干网络的Layer3与Layer4之后,如图1所示。
1.3 损失函数
如图1所示,在训练阶段,主干网络输出的特征F4和多层信息融合模块输出的融合特征Fm分别输入相应的全连接层FC,得到相应的预测输出值。采用预测标签与真实标签的交叉熵损失来训练网络模型。综上,模型的总损失为
L=λLce1+Lce2
(5)
式中Lce1——融合特征分支预测标签与真实标签的交叉熵损失
Lce2——主干网络预测标签与真实标签的交叉熵损失
λ——Lce1与Lce2间的平衡参数
特别地,在交叉熵损失函数中采用标签平滑策略来增强网络的泛化能力,带标签平滑的交叉熵损失函数定义为
(6)
其中
式中N、K——一个批次中的图像数量和类别数
y(n)——第n幅图像的真实标签值
ε——标签平滑系数
2 实验
2.1 数据集和相关设置
2.1.1数据集
本实验在AI challenger 2018农作物病害数据集和自制RCP-Crops数据集上验证MISF-Net的有效性。2个数据集的相关信息如表1所示。
表1 AI challenger 2018与RCP-Crops数据集信息统计
(1)AI challenger 2018数据集
该数据集共包含番茄、草莓、马铃薯、辣椒、桃、柑桔、葡萄、玉米、樱桃、苹果等10种农作物,划分了59种病害类别。其中,健康类别10种,病害类别26种。病害类别中有23种病害还分为一般和严重两种程度,如图6所示。该数据集是在原有公开数据集Plant Village[25]的基础上,根据不同病害类型的病害程度进行更细的划分,同时也增加了新的农作物病害图像。该数据集共包含36 258幅图像,其中的31 718幅用于训练,4 540幅用于测试。
图6 AI challenger 2018数据集中部分病害图像
(2)RCP-Crops数据集
RCP-Crops数据集中的图像均在河南省信阳市固始县和新县的农田中拍摄。图像采集时间为2022年3—10月,采集装置为荣耀v20手机。采集对象为玉米、水稻、小麦、棉花和花生5种农作物。该数据集共包含花生褐斑病、玉米锈病、玉米小斑病、小麦白粉病、棉花网纹型枯萎病以及水稻叶黑粉病等25种农作物病害,共包含1 665幅图像。与AI challenger 2018数据集相比,RCP-Crops数据集的训练样本数占比较低,这是由于农作物病害数据集采集的时间成本和投入成本较高,为了实现高效训练,将其中的1 011幅用于训练,654幅用于测试。该数据集部分图像如图7所示。
图7 RCP-Crops数据集中部分病害图像
2.1.2实验设置
本实验使用PyTorch 深度开源框架实现,并在搭载i7-10700F CPU和NVIDIA 3090 GPU的计算平台上训练。采用在ImageNet数据集[26]预训练的ConvNext作为主干网络。在训练阶段和测试阶段,所有图像的分辨率都调整为224像素×224像素。在训练阶段,对所有训练图像进行裁剪、亮度和对比度随机转换、水平翻转等数据增强处理。采用权重衰减因子为0.05的Adam优化器训练网络,共训练100个周期,设置训练批次大小为64。优化器的初始学习率设置为5×10-4,并使用学习率预热策略。在训练过程中,优化器的学习率将在第40、50、70个周期分别减小为原来的1/10。采用准确率和F1值作为评价指标。
2.2 与目前先进方法对比
为了验证MISF-Net的有效性,在AI challenger 2018公开数据集和RCP-Crops自制数据集上与其他方法进行了实验对比。
MISF-Net与其他方法在AI challenger 2018数据集上的实验结果如表2所示。由表2可以得出,MISF-Net的准确率、F1值分别达到87.84%、87.72%。相比于GoogleNet,MISF-Net在准确率上提升1.48个百分点,在F1值上提高1.50个百分点。相比于文献[13]方法,MISF-Net在准确率上提升1.37个百分点,在F1值上提高1.38个百分点。这说明本文的MISF-Net能够更加精确地识别农作物病害。
表2 MISF-Net和目前先进方法在AI challenger 2018数据集上的性能对比
MISF-Net与其他方法在RCP-Crops数据集上的实验结果如表3所示。由表3可以得出,MISF-Net的准确率、F1值分别达到95.41%、95.31%。相比于TL-SE-ResNeXt-101[18],MISF-Net在准确率上提升1.83个百分点,在F1值上提高2.06个百分点。相比于ResNet50,MISF-Net在准确率上提升0.61个百分点, F1值提高0.72个百分点。这进一步说明了本文的MISF-Net可以实现农作物病害的高精度识别。
表3 MISF-Net与目前先进方法在RCP-Crops数据集上的性能对比
2.3 消融实验与超参数分析
2.3.1消融实验
为了评估MIFM和SFEM模块对模型整体性能的贡献,在AI challenger 2018数据集上进行了消融实验。采用ConvNext作为主干网络(Baseline),并在此基础上构建了3个网络:①Baseline+SFEM。②Baseline+MIFM。③Baseline+SFEM+MIFM。
消融实验结果如表4所示。从表4可以看出,相比于Baseline,Baseline+SFEM的准确率提高1.11个百分点, F1值提高1.06个百分点。这说明SFEM模块能够有效地增强农作物病害图像中的显著性判别特征,进而提高网络的病害识别精度。与Baseline相比,Baseline+MIFM的准确率提高1.26个百分点, F1值提高1.37个百分点。这说明MIFM模块能够有效地提取和融合主干网络浅层、中层、深层特征中的判别信息,进而提高网络的性能。此外,与Baseline相比,Baseline+SFEM+MIFM的准确率提升2.01个百分点, F1值提高2.01个百分点。这充分说明在主干网络中同时加入SFEM和MIFM模块,可以显著地提高网络性能。
表4 AI challenger 2018数据集上的消融实验结果
2.3.2超参数分析
MISF-Net中只有损失函数平衡参数λ一个超参数。为了研究这个超参数的取值对网络整体性能的影响,在AI challenger 2018数据集上进行了实验,实验结果如图8所示。
图8 准确率和F1值随损失函数平衡参数λ的变化曲线
由图8可以看出,随着损失函数平衡参数λ的增大,网络模型的准确率和F1值都呈先上升后下降的趋势,这表明了较小的损失函数平衡参数会过度强调SFEM模块作用,而较大的损失函数平衡参数又会过度强调MIFM模块作用。因此,当λ=1时效果最优。
2.4 模型混淆矩阵
根据AI challenger 2018数据集中8类共353幅农作物病害图像的识别结果,得到如图9所示的农作物病害分类混淆矩阵。
从图9可以看出,MISF-Net的农作物病害种类识别效果很好,极少出现错误。虽然MISF-Net在识别农作物病害程度时也取得了很好的效果,但仍存在一些将农作物病害程度识别错误的现象。这可能是因为农作物病害程度不仅取决于病斑面积,还取决于病斑的颜色、分布等诸多因素,从而增加了病害程度的识别难度。为此,在今后将重点研究病斑部位的特征提取策略。
2.5 特征图可视化
图10为可视化的Baseline 和MISF-Net提取的农作物病害图像特征。从图10可以看出,虽然Baseline能够提取到病害图像的部分显著性信息,但是它对病斑部位的显著性信息提取不足,进而导致提取特征的判别力较弱。与Baseline相比,MISF-Net能够提取到更多的显著性信息,从而取得了更高的病害识别精度。
图10 特征图可视化
3 结论
(1)为了充分挖掘ConvNext主干网络浅层、中层、深层特征中包含的判别信息,设计了一个多层信息融合模块,对主干网络的浅层、中层、深层特征进行提取和融合,得到了更具判别力的农作物病害特征表示。
(2)设计了一个显著性特征增强模块并将其插入在ConvNext主干网络的Lyayer3和Layer4之后,有效地增强了农作物病害图像中的显著性特征。
(3)基于设计的多层信息融合模块和显著性增强模块,设计了一个端到端的农作物病害识别网络MISF-Net,并分别在农作物病害数据集AI challenger 2018和自制数据集RCP-Crops上对其进行了测试。
(4)在农作物病害数据集AI challenger 2018上,MISF-Net的病害识别准确率和F1值分别达到87.84%和87.72%,高于ResNet50(86.67%、86.59%)和TL-SE-ResNeXt-101(86.96%、86.80%)。在自制数据集RCP-Crops上,MISF-Net的病害识别准确率和F1值分别达到95.41%和95.31%,高于ResNet50(94.80%、94.59%)和TL-SE-ResNeXt-101(93.58%、93.25%)。