APP下载

融合分组注意力机制的水稻病虫害图像识别算法

2021-02-14高雨亮徐向英章永龙顾逸枫张力峰

关键词:准确率卷积分组

高雨亮, 徐向英, 章永龙, 顾逸枫, 张力峰, 李 斌

(扬州大学信息工程学院, 江苏 扬州 225127)

随着智慧农业的发展, 图像处理技术在传统农业中的应用颇有成效[1].疫情当下, 许多国家停止出口化肥和粮食, 全球粮食危机风险增大, 对水稻种植的保障要求也越来越高.随着人工智能的热潮兴起,利用深度学习网络进行水稻病虫害的图像分类识别成为研究热点[2].黄双萍等[3]使用GoogLeNet模型检测水稻穗瘟病, 准确率达92%; 范春全等[4]利用基于ResNet50的迁移学习模型在样本较少的情况下完成识别; 王敬贤[5]通过迁移学习和多个神经网络模型融合的方法识别玉米和杂草种类, 准确率达89.5%; Jiang等[6]使用深度卷积网络和支持向量机进行水稻叶病害识别,准确率达96.8%; Knoll等[7]使用卷积神经网络识别不同生长阶段的杂草和作物,准确率达98.0%; Rahman等[8]使用两阶段小型卷积神经网络识别水稻病虫害,准确率达93.3%; Ayan等[9]通过结合多种卷积神经网络来识别虫害,准确率达98.8%.上述深度学习网络的泛化能力较强且精度较高, 但由于使用的传统深度学习模型缺乏注意力权重机制,导致准确度偏低.本文拟针对水稻病虫害图像分类问题, 将Inception-ResNetV1模块[10]与分组注意力机制(shuffle attention, SA)[11]相结合, 提出一种新的分组残差(SA-Inception-ResNetV1, SIR)识别算法, 以期使得模型更好地关注病虫害的图像特征, 提高识别能力.

1 水稻病虫害图像识别分组残差算法

本文设计的模型由Inception-ResNetV1模块和分组注意力模块组成.Inception-ResNetV1模块主要通过叠加不同大小的卷积核来提升网络的宽度, 从而提高分类的准确度.分组注意力机制则赋予图像特征注意力权重, 以提高识别准确度.

1.1 Inception-ResNetV1模块

Inception卷积神经网络模型首先增加神经网络的网络宽度, 然后分多条支路以不同卷积核对输入的特征进行特征提取得到多个尺度的信息, 最后进行特征叠加得到输出特征.残差网络ResNet则将输入略过中间的参数层,直接输给输出层, 即若输入为X, Inception层为F(X), 则输出Y=F(X)+X.Inception-ResNetV1是将传统的Inception模块与ResNet模块相结合, Inception-ResNetV1模块共有如图1所示的5种结构.Inception-ResNetV1-A/B/C通过不同卷积核的叠加来提取不同维度的特征, Reduction-A/B是通过卷积网络改变特征维度从而输入下一层.

图1 Inception-ResNetV1 模块Fig.1 Models of Inception-ResNetV1

1.2 分组注意力机制

分组注意力机制的算法流程如图2所示.先将输入特征在通道维度上按照分组数G进行分组,将每组特征平均分为Xk1和Xk2, 再分别赋予通道注意力和空间注意力权重.

图2 分组注意力模块Fig.2 Shuffle attention block

特征Xk1经过通道注意力处理.首先根据Avgpool函数得到通道统计数据, 再利用Fuse线性函数增强特征表示, 最后经Sigmod函数激活后与原特征值相乘嵌入全局信息.通过上述3个函数共同组成通道注意力机制, 得到含有通道注意力权重的X′k1以强化特征的类别表现,

X′k1=σ(Fc1(FA(Xk1)))·Xk1=σ(W1S1+b1)·Xk1,

(1)

其中Fc1为线性函数,σ为Sigmod激活函数,FA为Avgpool平均池化函数,S1为经过平均池化后的特征,b1和W1为线性函数参数.

特征Xk2经过空间注意力处理.首先根据GroupNorm归一化函数获取空间统计数据, 再利用Fuse线性函数增强特征表示, 最后经Sigmod函数激活后与原特征值相乘嵌入全局信息.通过上述3个函数共同组成空间注意力机制, 得到含有空间注意力权重的X′k2以强化特征对于特定区域的重视程度,

X′k2=σ(Fc2(FGN(Xk2)))·Xk2=σ(W2S2+b2)·Xk2,

(2)

其中FGN为GroupNorm归一化函数,S2为经过归一化后的特征,b2,W2为线性函数参数.

合并经通道注意力机制和空间注意力机制赋予权值的特征X′k1,X′k2, 回到分组后的维度CG-1×H×W, 其中C为通道维度,H,W为特征的长和宽.随后, 再次合并分组后的各区块, 回到最初的维度C×H×W.

1.3 SA-Inception-ResNetV1(SIR)模型

采用3种Inception-ResNetV1模块对图像特征进行多维度提取,通过分组注意力机制对叠加特征进行注意力权重赋值, Reduction用于改变特征维度输出至下一层,设计的SIR模型如图3所示.由图3可见,整个模型的输入病虫害图片样本,输入的样本图像先经过2个分别由3个卷积核组成的卷积块,2个卷积块之间由池化层相连接;上一层的输出特征即为下一层的输入特征,依此类推, 随后在经过1个分组注意力模块后再经过3种Inception-ResNetV1模块, 每种Inception-ResNetV1模块之后经过了1个分组注意力层, 最后通过一个全连接层和激活函数完成输出.

图3 SIR图像识别模型Fig.3 SIR image identification model

2 实验过程与结果分析

2.1 数据集设置

由于国内外缺乏完善的公开水稻病虫害数据库[12], 故笔者通过互联网收集了白叶枯病、稻瘟病、稻曲病、褐斑病和纹枯病等5种常见水稻病虫害图像作为数据集, 并采用镜像、放大和旋转等方法对图像进行数据扩充,最终所得数据集共含图像6 305幅, 其中每种病虫害图像约1 200幅.训练集和测试集按9∶1划分.训练集用于模型训练, 在训练过程中采用随机剪裁的方式进行数据扩充.测试集用于检测模型的准确率.此外, 为了验证本文算法的通用性,笔者选择CIFAR-10数据集进行验证.水稻病虫害样本图像如图4所示.

图4 水稻病虫害图像示例Fig.4 Examples of incidence rice disease and insect pest images

2.2 结果与分析

本文使用Pytorch作为深度学习框架,硬件设置: GTX1080显卡, AMD Ryzen5 3500 CPU, 内存为16 GB.采用随机梯度下降优化算法(stochastic gradient descent, SGD)为优化算法, 学习率为0.01, 每50轮调整一次学习率, 共训练150轮次.在此环境参数下, 以水稻病虫害图像识别的准确率(测试集中正确识别数/总图像数)为评价指标, 测试Inception-ResNetV1、ResNet50及SIR算法的识别效果, 结果如图5所示, 训练后的最高准确度如表1所示.

表1 各模型参数量与不同数据集下的识别准确率

图5 训练过程中ResNet50、 Inception-ResNetV1及SIR准确率Fig.5 The accuracy of ResNet50, Inception-ResNetV1 and SIR during training

由图5及表1可知: 各模型在训练50轮次后渐近收敛, 在训练过程中本文所提SIR模型的准确率明显高于传统模型的, 且其最高准确度与ResNet50和Incption-ResNetV1相比分别提高了1.8%、1.21%, 参数量分别下降了62.7%、32.5%, 表明分组注意力机制能提升神经网络的准确性.

不同模型对病虫害图像的注意力权重如图6所示, 相较于原图,颜色越深的区域说明模型对此区域的注意力权重越大, 对最终分类结果的影响也越大.由图6可见, Inception-ResNetV1模型更加关注背景环境, 而SIR模型可以更好地关注图像中的病虫害部分.这表明分组注意力机制降低了模型对背景信息的依赖,减少了过拟合,在提高传统网络准确度的同时增强了神经网络模型的可解释性.

图6 SIR模型与Inception-ResNetV1注意力热力图Fig.6 SIR model and Inception-ResNetV1 attention heatmap

3 结论

本文针对传统水稻病虫害识别算法缺乏注意力机制和识别率偏低的问题, 提出SIR模型.通过在自制的5类水稻病虫害数据集上进行测试, 结果表明SIR模型能在小参数量的情况下对水稻病虫害图像识别实现较高的准确率,并且分组注意力机制可优化Inception模块.此外, 在CIFAR-10数据集上的测试结果验证了本文算法的通用性.

猜你喜欢

准确率卷积分组
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
分组搭配
怎么分组