1. 引言
辣椒是我国种植面积最广的蔬菜之一,其种植面积达到约223万公顷,随着居民生活条件的持续改善,以及全球市场对调味品业务和蔬菜需求的快速增长,对辣椒批量化生产加工的需求也日益增长[1]。然而,在辣椒种植和生长过程中,极易受到各种病害的侵扰,这些都给辣椒的产量和质量带来了重大影响。因此,辣椒病害的早期识别和防治对于保障辣椒的高产和质量极其重要[2]。
传统的作物病害识别主要依靠专家人眼观察或者依据经验判断,这些方法耗费时间精力,主观性强容易造成误判,导致错过最佳治疗时间。早期图像识别主要依赖手工设计特征(如SIFT、HOG、LBP)结合传统分类器(如SVM、随机森林),从而实现图像识别的目的。针对传统虫害识别方法的不足,Ling等[3]提出一种融合深度学习与机器学习的番茄害虫智能识别方案。通过构建专业图像数据集采用CNN模型进行特征提取,结合DA、SVM和KNN三种分类器,并引入贝叶斯优化调参。实验表明,经图像增强后VGG16模型准确率达94.95%,而ResNet50 + DA组合模型最优准确率达97.12%。该混合方法显著提升了识别效率与精度,为农业生产提供可靠的技术支持。李玲等[4]利用灰度共生矩阵法来实现纹理特征的快速提取,结合支持向量机分类器,实现了90.88%的土地覆被分类。魏丽冉等[5]基于Lab色彩空间的a、b分量实现了叶片的高效分割与特征提取,在此基础上结合K均值聚类算法优化分割效果,同时运用核函数支持向量机完成4类病害的检测识别与分类,识别准确率达到了89.5%。Han等[6]提出基于模糊识别理论的机器视觉优化算法,设计农业害虫识别系统。实验表明该算法识别率最高达98.06%,错误率低至5.83%,显著优于传统方法,可有效提升病虫害监测能力,助力农业减损增效。针对农业害虫图像的长尾分布问题,Chen等[7]提出基于实例的数据增强(IDA)和约束特征调优(CFT)方法。IDA通过重采样和混合增强提升稀有类特征提取,CFT实现精准特征分类。实验表明,优化后的ViT模型在多个数据集上表现优异,最高准确率达98.21%,较基线模型显著提升,有效解决了长尾分布下的害虫识别难题。然而早期机器学习识别方法依赖于人工特征工程,分类性能受特征质量制约,泛化能力差。
随着人工智能的迅速发展,基于计算机视觉和深度学习算法的技术被广泛应用于医学[8] [9]、金融[10]和农业[11] [12]等各种领域。深度学习采用包含大量处理层的人工神经网络架构,通过有监督或自监督学习进行训练,利用反向传播算法优化网络参数,显著提升了模型在图像识别等任务中的性能[13]。赵法川等[14]利用层级金字塔结构,在结合深度可分离残差和循环全连接残差的基础上提出一种融合多头注意力机制的轻量级网络,该模型在实现轻量化的基础上,同时在PlantVillage病害数据集上实现了大于99.7%的Top5准确率以及大于95.9%的Top1准确率。戴敏等[15]通过引入CBAM注意力机制和L2正则化,提出了轻量化CBAM-GoogLeNet模型在保持高精度(准确率为99.5%)的同时,显著减小模型体积和缩短训练时间,实现了辣椒病虫害的高效识别,为防治提供技术支持。Ferentinos等[16]开发了一种用于植物病害检测与诊断的卷积神经网络,在87,848张公开图像数据集上经过训练,达到了99.53%的准确率,可直接应用于真实种植环境。谢琬等[17]利用无参数注意力模块和空洞卷积改进EfficientNet V2模型,对玉米4种病害Top1准确率达到95.99%。相较于原模型提高1.52个百分点。
本研究选取轻量级MobileNetV2模型作为主干提取网络,结合CBAM注意力机制使网络更加关注于病虫害特征,避免嘈杂背景的影响,同时在损失函数中加入L2正则化,平滑损失函数的梯度,以缓解模型过拟合。本研究提出的模型便于在移动设备端部署,同时为复杂背景下辣椒病虫害的快速识别提供帮助。
2. 数据和方法
2.1. 数据及预处理
本研究所使用的辣椒图像数据均来自于科大讯飞开放平台,这些图像均由人用手机在复杂环境下真实拍摄,选取其中4种类型辣椒作为研究对象:疫病、用药不当、病毒病以及温度不适。同时为了验证模型的泛化能力,本文也使用了Plant Village公开数据集的苹果病害图像数据,包括苹果健康叶片1645张,黑星病叶片1000张,锈病叶片1000张,疮痂病叶片1000张,各类别图像示例如图1所示。
Figure 1. Partial data display
图1. 部分数据展示
为了能够对模型更好的训练,将模糊、变易等图像剔除,剩余图像按照7:1:2的比例划分为训练集、验证集和测试集。为避免数据量较少导致模型训练效果差等问题,本研究通过亮度增强、对比度增强和随机旋转角度等多种数据增强方法对训练集数据进行扩充处理。同时将所有图像尺寸调整为224 × 224 × 3,并对输入图像进行归一化处理。表1为扩充前后各个类别的数量。
Table 1. Types and data distribution of chili pepper diseases and pests
表1. 辣椒病虫害种类及数据分布
病虫害 类型 |
图像数量(张) |
训练集 |
验证集 |
测试集 |
扩充后训练集 |
疫病 |
274 |
39 |
78 |
822 |
用药不当 |
230 |
33 |
66 |
690 |
病毒病 |
312 |
45 |
89 |
936 |
温度不适 |
283 |
40 |
81 |
849 |
2.2. 辣椒病虫害图像分类模型
2.2.1. MobileNetV2模型
MobileNetV2 [18]模型由Google团队于2008年提出,其采用深度可分离卷积替代标准卷积,将计算复杂度降低为传统CNN的1/8~1/9;同时该网络使用倒残差结构,如图2所示,对输入到网络中的特征先升维后降维,在更高维空间进行深度卷积和特征变换,最后压缩回低维,有效提升特征多样性;最后将倒残差结构中逐点卷积降维后的ReLU6激活函数替换为线性激活函数,有效提升了降维后的特征信息保留率[19]。
Figure 2. Inverted residual structure diagram
图2. 倒残差结构图
通过倒残差结构和线性瓶颈结构,MobileNetV2模型在加深网络层数的同时,每秒浮点运算次数、参数以及CPU耗时都比MobileNet的各项得到了提升。MobileNetV2的网络结构如表2所示。
Table 2. MobileNetV2 network architecture
表2. MobileNetV2网络结构
Input |
Operator |
t |
c |
n |
s |
224 × 224 × 3 |
Conv2d |
- |
32 |
1 |
2 |
112 × 112 × 32 |
Bottleneck |
1 |
16 |
1 |
1 |
112 × 112 × 16 |
Bottleneck |
6 |
24 |
2 |
2 |
56 × 56 × 24 |
Bottleneck |
6 |
32 |
3 |
2 |
28 × 28 × 32 |
Bottleneck |
6 |
64 |
4 |
2 |
14 × 14 × 64 |
Bottleneck |
6 |
96 |
3 |
1 |
14 × 14 × 96 |
Bottleneck |
6 |
160 |
3 |
2 |
7 × 7 × 160 |
Bottleneck |
6 |
320 |
1 |
1 |
7 × 7 × 320 |
Conv2d 1 × 1 |
- |
1280 |
1 |
1 |
7 × 7 × 1280 |
AvgPool 7 × 7 |
- |
- |
1 |
- |
1 × 1 × 1280 |
Conv2d 1 × 1 |
- |
k |
- |
|
注:Bottleneck代表MobileNetV2的倒残差结构;t代表扩张因子;c代表输出通道数;n代表该层重复数;s代表步距。
2.2.2. 通道与空间注意力模块
卷积块注意力模块(Convolutional Block Attention Module, CBAM)由通道注意力模块和空间注意力模块构成[20],是一种轻量级的注意力模块,其模型框架如图3所示,具体表达式如下所示:
, (1)
, (2)
其中,
表示输入特征图,
和
分别表示通道和空间注意力。
Figure 3. CBAM module structure diagram
图3. CBAM模块结构图
通道注意力模块主要是学习不同通道之间的相关性,增强通道的特征表达,具体表达式如下所示。
, (3)
式中,
、
分别表示平均池化和最大池化操作,
表示一个由2层全连接构成的卷积操作,
的权重
和
对于两个输入是共享的,
表示Sigmoid激活函数。
空间注意力模块是学习图像中不同区域的重要性,对不同区域的特征进行加权融合,空间注意力模块的输入是通道注意力模块的输出特征,具体表达式如下所示:
, (4)
式中,
表示大小为7 × 7的卷积操作。
CBAM的通道注意力使用瓶颈结构的
,空间注意力仅使用两层卷积,增加的参数量极少,同时针对辣椒病虫害区域大小不一,CBAM注意力机制可以聚焦关键空间区域,忽略背景干扰,增强模型特征表达能力。
2.2.3. L2正则化
正则化是机器学习中常用于防止模型过拟合的技术,通过向学习过程引入额外约束或惩罚项,在降低训练误差的同时控制模型复杂度,提升泛化能力。其数学本质是在损失函数中引入模型参数的范数惩罚项:
, (5)
其中
代表正则化项,
控制正则化强度,
为模型可训练参数。
交叉熵损失函数仅关注预测概率与真实标签的匹配程度,可能导致模型在训练集上表现优异,但在测试集上泛化能力差,L2正则化通过惩罚模型权重参数的平方和来防止过拟合。同时较大的权重可能导致模型对输入数据的微小变化过于敏感,加入L2正则化后,权重值被约束在较小范围内,模型输出更平滑。在交叉熵损失的基础上加入L2正则项后,总损失函数为:
, (6)
在上述公式中,第一部分是原交叉熵损失函数,第二部分是L2正则项。
2.2.4. 模型总体框架
本文采用轻量级MobileNetV2网络,针对其在复杂背景下注意力分散、识别准确率不高等问题,引入CBAM注意力机制对基线模型进行改进,在原模型平均池化操作之前添加CBAM操作,加强特征的聚焦。同时在损失函数中引入L2范数,对参数权重进行约束,有效防止模型过拟合。模型整体框架结构如图4所示。
Figure 4. Model framework diagram
图4. 模型框架图
2.3. 环境配置和超参数设置
本实验训练所用工具包版本和硬件环境参数为PyTorch 2.0.0,Python 3.8(ubuntu20.04),CUDA 11.8,编译软件为Pycharm3.8,操作系统为Windows 11,GPU为RTX 3080x2(20GB) * 1,CPU为12 vCPU Intel(R) Xeon(R) Silver 4214R CPU @ 2.40GHz。
训练过程中均采用Adam优化器,一阶动量为0.9,二阶动量为0.999,初始学习率为0.0001,详细参数如表3所示。
Table 3. Experiment parameter settings
表3. 实验参数设置
参数设置 |
值 |
批处理大小 |
32 |
训练总轮数 |
100 |
学习率 |
0.0001 |
损失函数 |
交叉熵损失函数 |
优化器 |
Adam |
正则化参数 |
0.00001 |
2.4. 评价指标
为了评估各个模型对辣椒病虫害图像的分类能力,选择准确率、精确率、召回率和
值作为模型评价指标,各个指标的计算公式如下所示:
, (7)
, (8)
, (9)
, (10)
其中,
是真阳性样本数;
是假阳性样本数;
是假阴性样本数;
是真阴性样本数。
3. 实验结果与分析
3.1. 与经典CNN模型的结果比较
本研究提出基于注意力机制改进轻量级卷积神经网络的辣椒病虫害识别算法,为验证本文提出改进方法的有效性,将本模型与经典卷积模型进行对比,包括AlexNet [21]、MobileNetV2和VGG16 [22]模型,各个分类模型除主干网络不同外,均使用相同的训练集、验证集、预处理以及优化算法等。同时本文采用迁移学习方法[23],利用各个模型在ImageNet数据集的1000个类别上的预训练模型权重,加快模型收敛。利用上述模型进行训练,各模型训练过程中的准确率变化如图5所示,实验结果见表4。
Figure 5. Accuracy variation curves of different models during training
图5. 各模型训练过程中准确率变化曲线图
上图5展示了训练过程中,各个模型的识别准确率随迭代次数的变化。从上图可以发现VGG16作为深层网络,其训练效果明显由于其它两个轻量级模型,但其参数量大,导致训练过程收敛缓慢,而基线MobileNetV2模型通过轻量化设计实现了后期性能跃升,体现了深度可分离卷积的效率优势,但最终识别效果在该数据集上无明显优势。整体来看,本研究提出的改进模型在训练过程中上升迅速,在迭代20次左右趋于稳定,不仅收敛速度快,而且识别准确率高,明显优于其它模型。
下表4给出了实验中各个模型的详细结果,本研究方法准确率相较于AlexNet、MobileNetV2和VGG16模型分别提高了6.83%、3.56%、2.44%,相较于基线模型,改进后模型精确率提升了4.38%,召回率提升了3.38%,F1值提升了3.88%,同时可以发现改进模型使用了较少的参数量(2.43M)。综上结果,本文提出的辣椒病虫害图像识别模型在添加少量参数的基础上实现了较好的分类效果。
Table 4. Performance comparison of different models
表4. 不同模型性能对比
模型 |
准确率/% |
精确率/% |
召回率/% |
F1值/% |
模型大小/MB |
参数量/M |
AlexNet |
87.60% |
87.57% |
86.98% |
87.27% |
55.66MB |
14.59M |
MobileNetV2 |
90.87% |
88.77% |
89.98% |
89.37% |
8.51MB |
2.23M |
VGG16 |
91.99% |
90.87% |
89.41% |
90.13% |
512.24MB |
134.28M |
本研究方法 |
94.43% |
93.15% |
93.36% |
93.25% |
9.28MB |
2.43M |
为了深入了解各模型对各类辣椒病虫害的识别情况,利用混淆矩阵分析模型在各个类别的分类效果,结果如下图6所示。
Figure 6. Model confusion matrix
图6. 模型混淆矩阵
上图6清晰地展示了各个模型错分的情况,各经典模型都有一定的概率将用药不当和病毒病两种类别互相错误分类的情况,导致这两个类别的召回率相对偏低,而改进模型在注意力机制的作用下,增强了对病害特征的识别,显著提升了各个病害类别的召回率,可以看出利用CBAM和L2正则化进行改进的模型有效降低了病虫害误识率。
3.2. 可视化分析
为进一步验证CBAM模块在辣椒病虫害识别中的有效性,本研究采用梯度加权类激活图[24] (Gradient-weighted Class Activation Mapping, Grad-CAM)进行可视化分析,结果如下图7所示。观察发现,其他模型在病害识别时普遍存在识别分散和受复杂背景干扰的问题,相比之下,本文提出的改进模型通过CBAM注意力机制有效解决了上述问题,能够精确定位到病害位置,从而改善病害识别效果。
Figure 7. Gradient-weighted class activation mapping visualization results of the model
图7. 模型梯度加权类激活可视化结果
3.3. 模型鲁棒性分析
为进一步评估本研究方法的鲁棒性,将本方法应用于PlantVillage苹果叶病害公开数据集。在此实验中将本研究方法与其他模型进行对比实验,具体试验结果见表5。与其他模型相比,本方法在测试集的准确率达到97.52%,模型在该数据集上准确率较高是由于公开数据集中叶片图像均在纯白色背景下拍摄,消除了复杂背景噪声的干扰(如土壤、杂草等),使模型更专注于病害特征,且每个类别的样本量均衡,避免类别不平衡导致的模型偏见,从而便于模型提取特征。结果表明本研究方法对PlantVillage苹果叶病害公开数据集具有较好的识别效果,具有良好的鲁棒性。
Table 5. Experimental results of various models based on the PlantVillage apple leaf disease dataset
表5. 基于PlantVillage苹果叶病害数据集的各模型试验结果
模型 |
准确率/% |
AlexNet |
91.26% |
MobileNetV2 |
93.41% |
VGG16 |
94.48% |
本研究方法 |
97.52% |
4. 结论
针对真实环境下辣椒病虫害特征较小以及传统模型难以在复杂背景下提取特征等问题,本研究在MobileNetV2模型的基础上引入通道注意力和空间注意力机制模块,强化了模型在辣椒病害特征区域的注意力。研究表明,改进后模型识别准确率达到94.43%,能够更好地识别辣椒病害。相较于基线模型,改进后模型精确率提升了4.38%,召回率提升了3.38%,F1值提升了3.88%,同时改进后模型参数量仅为2.43 M,相较于原模型只增加了约0.2 M,便于在移动设备端部署。同时本文还在PlantVillage苹果叶病害公开数据集上进行了实验,准确率达到了97.52%,该模型在PlantVillage这一标准化的公开数据集上表现出优异的泛化能力。综上,本研究方法在实现轻量化的同时提高了对辣椒病虫害的特征提取与识别能力,具有一定的优势。