APP下载

基于改进SSD模型的柑橘叶片病害轻量化检测模型

2024-04-08李大华

浙江农业学报 2024年3期
关键词:柑橘特征提取注意力

李大华,孔 舒,*,李 栋,于 晓

(1.天津理工大学 电气工程与自动化学院,天津 300380; 2.天津市新能源电力变换传输与智能控制重点实验室,天津 300380)

柑橘作为世界范围内具有重要经济价值的农产品,近些年来种植规模不断扩大,但柑橘生产容易受到真菌和病菌引起的各种病害的破坏[1]。柑橘病害易发生于叶部,再逐渐蔓延至枝蔓和果实部位,最终影响柑橘的产量和品质,因此,柑橘保果的前提是保叶[2]。传统柑橘病害识别依靠农户经验和大量人工,其识别效率低且易误判。对植物叶片病害的快速准确诊断有助于对病害部位精准施药,从而提高作物产量[3]。

随着计算机视觉和深度学习技术越来越广泛地应用于作物病害检测,病害识别变得更加简单[4]。Barman等[5]提出了一种自监督序列卷积神经网络(self-supervised sequential CNN, SSCNN),对柑橘叶片病害进行检测和分类,其准确率达到98%。樊湘鹏等[6]通过改进的VGG16模型,对6类葡萄叶部病害图像进行训练,平均精度达98%以上。李鑫然等[7]提出一种改进的Faster R_CNN模型,通过增加特征融合机制和感兴趣区域池化来提高检测精度,对5种苹果病害的检测平均精度达82%以上。Sharif等[8]通过使用多支持向量机对柑橘病害进行区分,其准确率达到了90.4%。Dananjayan等[4]建立了CCL’20数据集,利用Scaled YOLOv4P7网络实现了病害的早期快速预测,CenterNet2与Res2Net 101 DCN-BiFPN对柑橘叶部病害的早期预测精度高于其他模型。王云露等[9]利用改进的Faster R_CNN模型,对5种苹果叶部病害进行识别,模型采用ResNest作为骨架,并增加了特征融合结构(feature pyramid networks, FPN)来进一步提高网络精确度,改进后的模型平均精度达到86.2%。虽然上述学者基于深度学习的叶片病害检测都取得了较高的精度,但是其模型深度较高、运算量较大,对硬件要求高,不易嵌入到移动设备中。

基于上述问题,本文基于改进SSD(single shot multibox detector)模型设计了柑橘叶片病害轻量化检测模型,该模型是在经典CNN网络SSD模型的基础上进行改进。SSD[10-11]是单级目标检测模型的典型代表,该模型检测速度快、精度高;但对柑橘叶片小病斑的检测效果不理想,且模型体积较大,难以运用到嵌入式平台中。针对此问题,本文做出了以下3点改进:1)使用MobileNetV2代替SSD模型的VGG16作为SSD的特征提取网络,并使用倒残差块结构搭建SSD的4个额外预测特征层,减小模型规模;2)通过引入感受野模块(receptive field block, RFB)至浅层预测特征图,来扩大其感受野使其特征图具有更多语义信息,进而加强对小病斑目标的检测效果;3)增加CA(coordinate attention)注意力机制,以强化不同深度的特征信息,进一步提升柑橘叶片病害的识别精度。

1 SSD模型原理

SSD是Liu等[12]在ECCV2016上提出的一种目标检测模型。SSD模型集合了Faster R_CNN的Anchor Boxes机制,以及YOLO(you only look once)的回归思想,在保证检测速度的同时确保了有较高的检测精度[11]。传统SSD模型的骨架是VGG16,在SSD模型中是用卷积层来替换VGG16的全连接层,并舍弃了其池化层部分,然后在骨架后面添加一系列卷积层生成4个额外预测特征层,进一步提高模型特征提取能力[13]。SSD网络选取Conv4_3、Conv7等6个不同尺度的特征层作为预测特征图,来预测不同尺度的目标[13],利用这些特征回归得到锚点框(default box)的位置信息和类别置信度,最终通过非极大值抑制(non-maximum suppression, NMS)算法得到最终结果[13-14]。SSD网络模型结构如图1所示。

Conv,卷积;s,步长。Conv, Convolution; s, Stride.图1 SSD网络模型结构Fig.1 SSD network model structure

SSD网络模型规模较大,对图形处理器(graphics processing unit, GPU)算力要求较高,不易嵌入到无人机等移动设备中;且SSD模型主要通过较浅层预测特征图来识别小目标病斑,但浅层特征的卷积规模较小,特征提取能力差,语义信息较少。柑橘叶片病害多呈现小目标,在使用传统SSD目标检测模型检测柑橘叶片病害时,由于对叶片细节的检测能力不足,容易出现对小目标病斑的漏检和定位不准确。为改善病斑漏检等缺点,本研究对传统SSD模型进行优化,提出了MR-CA-SSD网络模型。

2 SSD模型改进方法

为改善SSD模型的模型规模大、对小目标的检测效果较差等问题,本文提出了基于改进SSD的新模型MR-CA-SSD。首先用轻量化网络MobileNetV2替换SSD模型的前端特征提取网络VGG16,除去MobileNetV2全连接层,以4组倒残差块结构(inverted residual)替换SSD网络的Conv8_2、Conv9_2、Conv10_2、Conv11_2这4个输出预测特征层,构建出新检测模型MobileNetV2-SSD,从而减小模型规模、提高检测速度。其次,网络的6个不同尺度的预测特征图都通过CA注意力机制后输出,强化特征层对特征信息的表达。最后在Conv14后面添加RFB-s,在Conv19后面添加RFB,以扩大浅层特征层的感受野,增强其语义信息,进一步提高对小病斑目标的检测能力。MR-CA-SSD网络模型结构如图2所示。

Conv,卷积;CA,坐标注意力机制;RFB,感受野模块。Conv, Convolution; CA, Coordinate attention; RFB, Receptive field block.图2 MR-CA-SSD网络模型结构图Fig.2 MR-CA-SSD network model structure

2.1 引入MobileNetV2作为特征提取网络

MobileNetV2是Google于2018年提出的基于MobileNetV1改进的新轻量级网络,模型更小,准确率更高,更适合嵌入到移动设备中进行目标检测[15]。MobileNetV2网络主要是通过使用深度可分离卷积(DW卷积)来代替大量标准卷积,从而压缩模型计算量,实现轻量化处理。DW卷积由深度卷积和逐点卷积2部分组成。使用DW卷积进行训练时,会产生大量训练失败的卷积核,在输出的低维度特征图上通过修正线性单元(rectified linear unit, ReLU)激活函数时,会造成低维特征信息大量损失。因此,MobileNetV2设计了与标准残差结构相反的倒残差块结构,先通过1×1卷积核进行升维,再通过3×3 DW卷积进行特征提取,随后通过1×1卷积核进行降维。使用倒残差块结构可以使DW卷积在深层特征图上提取更多特征信息,从而获取更多语义信息。在倒残差块结构中为了解决ReLU激活函数造成信息丢失的问题,采用其他激活函数来代替ReLU激活函数。在经过第1个1×1卷积和3×3卷积后使用ReLU6激活函数,增强模型的稳定性。在降维后将ReLU激活函数换成线性激活函数,将低维信息映射到高维中,从而避免了特征信息丢失。倒残差块结构如图3所示。

图3 倒残差块结构Fig.3 Inverted residual block structure

综合考虑模型适用于柑橘叶片病害数据集上的性能和效果,本文选用MobileNet系列网络中的MobileNetV2作为SSD模型的特征提取网络,除去MobileNetV2网络的FC层,原SSD网络的4个额外预测特征层由4组倒残差块结构代替,其提取默认框的6个预测特征层分别是主干网络中的conv14、conv19,以及额外层conv20、conv21、conv22和conv23。MobileNetV2-SSD的特征图尺寸分别是19 Pixel×19Pixel、10 Pixel×10 Pixel、5 Pixel×5 Pixel、3 Pixel×3 Pixel、2 Pixel×2 Pixel、1 Pixel×1 Pixel。这6个不同尺度的特征图生成不同比例的锚点框进行回归预测,通过NMS模型得到最终预测结果。

2.2 引入CA注意力机制

目前常用于轻量级网络的是传统通道注意力机制SE(squeeze-and-excitation),其仅考虑了通道间的信息,忽略了位置信息。柑橘叶片的病斑有些位于叶片边缘,有些位于叶片中央又或者是遍布叶面。对于病斑在柑橘叶片上任意分布的情况,本文选择将位置信息嵌入到通道注意力中的新型注意力机制——CA,它是Hou等[16]在CVPR 2021上提出的一种用于移动端的高效坐标注意力机制。CA注意力机制不仅获取了通道间信息,还考虑了方向相关的位置信息,有助于模型更好地定位和识别柑橘叶片病害,继而提高模型的病害识别精度。

CA注意力机制以中间特征张量X作为输入,输出与X相同尺寸的增强特征张量Y。X、Y取值如式(1)和(2)所示。

X=[x1,x2,…,xc]∈RC×H×W;

(1)

Y=[y1,y2,…,yc]∈RC×H×W;

(2)

(3)

yc的取值如公式(3)所示,其中fh∈RC/r×H、fw∈RC/r×W,C为通道数,H为高度,W为宽度。最终得到的增强特征张量Y在宽、高2个方向上均带有注意力权重。

通过CA注意力机制的特征图包含了通道间信息、横向空间信息和纵向空间信息,对叶片病斑区域进行特征强化,能够使网络更准确地定位柑橘叶片病害的信息,增强网络识别能力。CA注意力机制结构如图4所示。

Avg Pool,平均池化;BatchNorm,批量归一化;Non-linear,非线性分类;Sigmoid,激活函数;C是通道数,H和W分别是高度和宽度。Avg Pool, Average pool; BatchNorm, Batch normalization; Non-linear, Non-linear classification; Sigmoid, Activation function; C, channel number; H, Height; W, Width.图4 CA注意力机制结构Fig.4 Structure of CA attention mechanism

2.3 引入RFB

由于SSD模型对于柑橘叶片病害小目标的识别多依靠较浅层预测特征层,但浅层特征的卷积层数较少,特征提取不充分,导致识别效果不佳。故本文通过引入RFB来扩大浅层特征感受野,进而加强对小病斑目标的检测效果。RFB是Liu等[17]基于ECCV2018提出的一种新特征提取模块,它在inception网络基础上加入了膨胀卷积,其内部结构主要包括多分支卷积层和膨胀卷积层,通过对初始卷积核设置不同的膨胀系数来获取不同的感受野[18]。在2种RFB结构中,RFB-s通过对RFB中部分卷积层的替换,进一步减少运算量。RFB和RFB-s模型结构如图5、图6所示。

图5 RFB模型结构Fig.5 RFB model structure

图6 RFB-s模型结构Fig.6 RFB-s model structure

本文通过在第1个输出预测特征层(conv14)后面添加RFB-s,在第2个输出预测特征层(conv19)后面添加RFB,来扩大浅层特征层的感受野,增强其语义信息,进一步提高对小病斑目标的检测能力。

2.4 实验环境与参数配置

本实验在Windows10操作系统下进行,使用CPU处理器为Intel(R) Core(TM) i5-11260H@2.60 GHz、运行内存为16 GB、GPU为Nvidia Geforce RTX 3050Ti、显卡内存4 GB的笔记本电脑。使用的深度学习框架为Pytorch1.12.1,GPU加速库为CUDA11.3。

使用随机梯度下降(stochastic gradient descent, SGD)算法作为优化器进行训练,默认权重衰减系数为0.000 5,其参数动量为0.9,初始学习率为0.01,训练时采用余弦退火方法动态调整学习率。其中批大小(batch size)设置为8,模型一共迭代200次。

2.5 实验数据集

选用Dananjayan等[4]建立的CCL’20数据集作为实验数据,包含3种柑橘叶片病害,共1 895张图像,其中,炭疽病图像701张、黑素病图像663张、细菌性褐斑病图像531张,分别包含炭疽病病害区域5 828处、黑素病病害区域648处、细菌性褐斑病病害区域1 424处,3种病害的病斑区域样本数量不均衡。本文使用留出法来划分数据集,将数据集随机选择划分成训练集、验证集和测试集,其中(训练集+验证集)∶测试集=9∶1,训练集∶验证集=9∶1,训练集、验证集和测试集分别有1 535张、170张和190张图片。

2.6 评价指标

在本实验中,采用平均精度均值(mAP)、每秒检测帧数(frames per seconds, FPS)、内存大小(MB)和F1值等评价指标来评估模型对柑橘叶片病害的综合检测性能。其中mAP是由召回率(recall)和精确率(precision)组成的P-R曲线计算得到[18]。针对3种病害区域样本不平衡的现象,利用综合指标F1来评估每个类别检测效果。计算公式如下:

(4)

(5)

(6)

(7)

(8)

式(4)~(8)中:P表示精确率(precision);r表示召回率(recall);TP表示正确识别的病害样本数;FP表示错误识别的病害样本数;FN表示未识别到的病害样本;AP表示平均精度;mAP代表mAP的值;APi指一个类别的平均精度;n表示柑橘叶片病害类别数目。

3 结果与分析

3.1 模型改进前后性能效果对比

为验证模型改进的有效性和实用性,采用2.6节提到的参数,将MR-CA-SSD模型和原SSD模型进行对比,结果见表1。与传统SSD模型相比,本文所提出的MR-CA-SSD模型具有更好的检测性能,其mAP@0.5和mAP@0.5:0.95分别提高了4.4百分点和7.1百分点,模型减小52.3 MB,每秒检测帧数提升了3.15,叶片炭疽病的F1值也有明显提升。

表1 模型改进前后实验结果对比Table 1 Results comparison before and after improvement of algorithm

由图7可以看出,MR-CA-SSD模型的收敛速度快于SSD模型,并且在迭代200次后,MR-CA-SSD模型的mAP@0.5比SSD的更高。说明Mobile NetV2作为轻量化主干网络可以较大程度地减少计算量,提高检测速度,通过引入RFB和CA注意力机制,弥补了轻量化带来的不足,提高了模型检测精度,改进模型整体性能优于基线模型SSD,更适合嵌入到无人机等移动设备中。

图7 MR-CA-SSD模型和原SSD模型的损失曲线和平均精度均值对比Fig.7 Comparison of loss curve and mean average precision between MR-CA-SSD and original SSD model

图8为改进前后模型的检测效果可视化示意图,其中Disease-A、Disease-B和 Disease-C这3种标注名称分别指柑橘叶片的炭疽病、黑素病和褐斑病。由图8可看出,改进后的MR-CA-SSD模型对于小目标和边缘不明显的病害检测效果较好,提高了检测准确率,能够对病害进行有效检测。

Disease-A、Disease-B和Disease-C分别代表柑橘叶片的炭疽病、黑素病和褐斑病。Disease-A, Disease-B and Disease-C represent anthracnose, melanosis and brown spot disease of citrus leaf, respectively.图8 MR-CA-SSD模型和原SSD模型的检测效果Fig.8 Detection effect of MR-CA-SSD and original SSD model

3.2 不同模型检测结果对比

将本文方法与Faster R-CNN 、YOLOv4、CenterNet,以及轻量级模型Efficientnet-YoloV3等模型进行比较,结果见表2。MR-CA-SSD模型的mAP、模型大小和每秒检测帧数均优于Faster R-CNN和CenterNet模型。虽然YOLOv4的每秒检测帧数比MR-CA-SSD多,但其mAP@0.5和mAP@0.5∶0.95分别比MR-CA-SSD模型低23.6百分点和39.2百分点,其模型大小也是MR-CA-SSD模型的3倍。MR-CA-SSD的mAP、模型大小和每秒检测帧数也均优于Efficientnet-YoloV3模型;Ghostnet-YoloV4模型的每秒检测帧数优于MR-CA-SSD模型,但其mAP、模型大小比MR-CA-SSD模型稍差。虽然YoloV4-tiny的每秒检测帧数比MR-CA-SSD模型快83.32,模型大小比MR-CA-SSD模型小16.9 MB,但YoloV4-tiny模型的mAP@0.5和mAP@0.5:0.95分别比MR-CA-SSD模型低9.8百分点和23.7百分点。

表2 不同模型结果对比Table 2 Comparison of results from different models

4 结论

针对传统柑橘叶片病害检测方法存在检测速度慢、精度低、模型内存占比大等问题,提出了一种基于改进SSD模型的柑橘叶片病害轻量化检测方法。以MobileNetV2作为SSD模型的特征提取网络,利用MobileNetV2模型的倒残差块结构和线性瓶颈结构进而实现网络的轻量化,提高模型检测速度。此外,通过引入RFB来扩大浅层特征感受野,增强其语义信息,以加强网络对小目标的检测能力。并将CA注意力机制插入6个输出预测特征层后,对叶片病斑区域进行特征强化,进一步提升柑橘叶片病害的识别能力。结果表明,所提出SSD改进模型MR-CA-SSD能对3种柑橘叶片病害进行有效检测,在提高检测准确度的同时小幅度提高了检测速度,减小了内存占比,达到了轻量化的目的,也更适用于种类样本数量不平衡的数据集。MR-CA-SSD模型在CCL’20数据集上的mAP@0.5、模型大小和每秒检测帧数分别为97.1%、39.3 MB、57.80。该改进模型的综合性能优于SSD、YOLOv4、CenterNet、Efficientnet-YoloV3等模型,可实现对柑橘叶片病害的快速准确诊断,满足农业实际使用要求。

猜你喜欢

柑橘特征提取注意力
让注意力“飞”回来
吃柑橘何来黄疸——认识橘黄病
基于Daubechies(dbN)的飞行器音频特征提取
“扬眼”APP:让注意力“变现”
Bagging RCSP脑电特征提取算法
A Beautiful Way Of Looking At Things
柑橘大实蝇综合治理
“五及时”柑橘冻害恢复技术
柑橘实蝇防治一法
基于MED和循环域解调的多故障特征提取