张正华,吴 宇,金志琦
(扬州大学 信息工程学院(人工智能学院),江苏 扬州 225127)
小麦作为亚洲、欧洲和北美等地区的主要作物,是仅次于玉米和大米的第三大消费谷物[1]。小麦赤霉病是在全球范围内影响比较大的植物病害之一,赤霉病的流行不仅会降低粮食产量、造成严重的经济损失,还会污染成熟的谷粒并产生毒素,对全世界的人类和动物健康构成严重威胁[2],小麦赤霉病引起的安全问题和经济损失是当前迫切需要解决的问题。赤霉病菌对于所有种类的小麦而言,都是一种毁灭性的病菌[3],因此培育优质的小麦抗病品种是最为理想和有效的防控策略。
在抗病育种中,小麦赤霉病感染率是衡量小麦籽粒抗性表型鉴定的重要指标。目前小麦赤霉病感染率的常用检测方法主要集中在视觉观察、酶联免疫测定(ELISA)、聚合酶链反应(PCR)、气相色谱质谱(GCMS)和高光谱靶标检测(HTD)等[4]。基于形态特征和经验的视觉观察依据肉眼,具有高度的主观性,检测成本高且评价标准因人而异,因此在育种实际操作中难以系统性运用该方法;ELISA、PCR、GCMS和HTD检测方法虽然准确可靠,但通常需要使用的硬件设备要求高、操作过程繁琐、检测时间长、无法完成现场检测且检测方式破坏植株,其局限性明显,不适用于大规模筛查检测[5]。
随着计算机GPU的快速发展,计算机算力得到大幅度增强,基于计算机视觉的技术正在被研究人员广泛应用于作物病害识别,为实现农作物的无损诊断创造了条件[6]。目前传统的快速颗粒检测和计数方法依赖于图像处理技术,典型做法是选择一个单一的色板作为背景,然后使用颜色提取算法将对象从背景中分离出来,并使用现有的相邻晶粒分割算法,包括膨胀腐蚀算法、分水岭算法和特征点匹配算法。现有的图像处理算法虽然精度不断提高,但由于需要特定的环境,如定制的背景板、固定的摄像头和固定的角度等,实际应用效果仍然较差[7]。
自基于区域的卷积神经网络 (R-CNN) 算法被提出以来,目标检测算法进入了一个新的阶段,深度学习在农作物检测领域取得了重大进展。此后,深度卷积网络中的空间金字塔池(SPP)、基于区域的快速卷积神经网络(Fast R-CNN)、基于区域的更快卷积神经网络(Faster R-CNN)、基于区域的全卷积神经网络(R-FCN)以及YOLO系列,通过不断改进模型结构简化模型计算的复杂度,提高对深层语义特征的提取和融合能力,并使用数据增强技术得到大规模的农作物数据样本进行模型训练[8],达到提高模型检测精度的目的。与传统依赖先验知识的特征提取算法相比,卷积神经网络(CNN)具有较好的鲁棒性,解决了农作物外观变化带来的识别困难,表现出更好的灵活性和泛化能力。
YOLOv7作为YOLO系列中的目标检测算法,具有更高的检测精度和更快的检测速度。针对麦穗籽粒高度聚合的小目标检测以及目前感染率检测方法中存在的问题,本文以YOLOv7网络为基础框架,设计了一种适用于麦穗籽粒此类小目标检测的混合网络模型——MHSA-YOLOv7。
本文的主要工作如下:
① 针对小麦单穗籽粒高度聚合容易导致漏检的问题,通过在YOLOv7主干网络中融合多头自注意力(Muti-Head Self-Attention,MHSA)机制来提高网络对深层重要语义特征的提取能力;
② 考虑到模型各个模块对特征的提取能力不同,通过使用加权双向特征金字塔网络(Bidirectional Feature Pyramid Network,BiFPN)实现模块间的跨层连接,使模型能够提取和传递更丰富的语义特征;
③ 通过数据增强技术扩充小麦单穗赤霉病数据样本,并采用迁移学习,初始化模型权重参数,最终完成模型的训练。
MHSA-YOLOv7混合网络模型由卷积层和MHSA层结合而成,该模型将MHSA机制模块集成在YOLOv7的主干网络中,并使用BiFPN加强特征融合能力。模型架构如图1所示。
图1 MHSA-YOLOv7网络架构Fig.1 MHSA-YOLOv7 network architecture
MHSA-YOLOv7网络模型主要包含了输入端(Input)、主干网络(BackBone)、颈部(Neck)以及头部(Head)四部分。
MHSA-YOLOv7模型的Input模块将输入的图像缩放至统一像素大小,以满足主干网络的要求; BackBone模块主要由基础卷积块(Conv2D)、扩展高效聚合网络(E-ELAN)、最大池化卷积模块(MPConv)、特征降维嵌入模块(PatchEmbed)以及MHSA模块构建而成,对输入图像进行特征提取,得到大、中、小3种尺度的特征。其中E-ELAN模块在高效聚合网络(ELAN)的基础上保持原有梯度路径,利用分组卷积增加新增特征的基数,增强了网络学习的能力[9],E-ELAN模块结构如图2所示。而在MPConv模块中,使用最大池化操作将当前特征层的感受野进行扩张,再与正常卷积处理后的特征信息进行融合,以提高模型的特征提取能力,MPConv模块结构如图3所示。Neck模块主要由E-ELAN模块、MPConv模块以及SSP模块构成,对提取到的特征进行多尺度特征融合。其中SSP模块通过最大池化来获得不同的感受野,用于区别不同大小的目标,SSP模块结构如图4所示。在原双向特征金字塔的基础上使用加权BiFPN,额外增加了一条跨尺度路径,通过跨层连接来提取和传递更丰富的特征信息;Head模块对3种不同尺度的特征进行通道数的调整,最终得到检测结果。
图2 E-ELAN模块Fig.2 E-ELAN module
图3 MPConv模块Fig.3 MPConv module
图4 SSP模块Fig.4 SSP module
卷积神经网络中卷积运算的局部性质限制了模型获取全局上下文信息的能力,而对于籽粒高度聚合的小麦麦穗图像,通过MHSA提高语义特征识别能力有助于学习对象间的关系,使模型能够从大邻域中收集和关联特征信息。
考虑到YOLOv7主干网络在特征提取过程中,MHSA若被过早地用于强制回归边界,网络相对较浅而特征映射相对较大,极有可能丢失重要的上下文信息[10]。因此,在MHSA-YOLOv7模型中将L个MHSA模块应用于主干网络最顶层以提取更多的差异化特征,MHSA模块如图5所示。
图5 MHSA模块Fig.5 MHSA module
为了使MHSA模块利用序列的顺序信息,特征序列中加入了关于序列的位置信息,并生成了3个完全相同的特征矩阵Q、K和V,通过线性投影将特征矩阵投影h次到Cq、Ck和Cv维度来并行计算点积注意力[12],计算如下:
(1)
MHSA-YOLOv7模型使用了8个并行自注意力层,对于每一层,特征矩阵的通道数为:Cq=Ck=Cv=Cp/h=256。
CNN中单个尺度的特征图所包含的语义特征具有局限性,因此能够有效融合多尺度特征至关重要。多尺度融合通过对不同分辨率的特征进行聚合,使得拼接后的特征图具有更多的语义特征。YOLOv7网络模型使用特征金字塔网络(PANet),通过增加一条额外的自底向上的路径实现双向信息传输,解决了传统自顶向下的特征金字塔网络(FPN)结构受到单向信息流的限制[10]。
与PANet结构相比,BiFPN提出了一种简单高效的加权双向特征金字塔网络,通过引入可学习的权重来学习不同输入特征层的重要性,并且可以模块化地重复应用[13], BiFPN结构如图6所示。
图6 BiFPN结构Fig.6 BiFPN structure
BiFPN涉及跨尺度连接和加权特征融合2个方面:一方面,在同一层中增加了输入和输出特征之间的跨层连接以更好地提取和传递特征信息;另一方面,在组合低级特征和高级特征的同时,引入了可学习的权重来学习不同的输入特征[14]。BiFPN的2个融合特征计算如下:
(2)
(3)
本实验利用白色背景板对田间麦穗进行样本数据的拍摄,并使用LabelImg工具分别对健康籽粒与患病籽粒进行位置标注,通过数据增强完成了小麦赤霉病数据集的制作,样本数据增强示例如图7所示。
图7 麦穗赤霉病样本数据增强Fig.7 Data enhancement of wheat gibberella samples
在模型训练中使用数据增强的数据集可以提高模型的准确性[15],通过对小麦单穗原始图片进行随机剪裁、平移、改变亮度、加噪声、旋转、镜像以及遮挡等操作,最终得到由1 870张图像构成的数据集,为满足实验需求,该数据集以9∶1比例划分为训练集和验证集。
实验环境的相关硬件配置和模型参数如表1所示。各模型输入的图像大小统一设为640 pixel×640 pixel,训练代数epoch设为300,MHSA模块数量设为4,优化器选择SGD,权重衰减为5×10-4,初始学习率为1×10-2,并采用余弦退火算法调整学习率。
表1 相关配置及参数
深度学习算法可以在许多问题上实现更高的功能或性能,然而其依赖于大量的训练样本以及训练时长[16]。考虑到小麦赤霉病数据集相对较小容易导致模型训练的过拟合,本实验采用迁移学习的方式,在大数据集上预训练自己的权重参数以解决数据集不足的问题[17]。模型训练开始前利用在VOC数据集上获得的权重参数初始化各模型的主干网络,并通过小麦赤霉病数据集完成模型训练,实现网络中权重参数的微调。
实验采用精度(P)、召回率(R)、F1分数、平均精度均值(mAP) 以及浮点运算(FLOPs)作为评价指标,对改进后的MHSA-YOLOv7模型的性能进行综合评价。相关指标计算如下:
(4)
(5)
(6)
(7)
(8)
式中:TP表示真正例,FP表示假正例,FN表示假负例,P表示精度,R表示召回率,C表示目标检测的总类别数[18]。
在模型性能的评价中,精度高或者召回率高并不一定意味着模型是准确的,通常使用精度和召回率的调和平均值,即F1分数作为模型的综合评价指标。而mAP是用来评估模型检测所有类别综合能力的指标,通过取所有类平均精度(AP)的平均值来度量算法的精度[19]。此外,为了比较不同模型的计算复杂度,使用FLOPs表示不同算法之间的差异[20]。
在保证配置环境以及初始训练参数一致的情况下,将MHSA-YOLOv7网络模型与YOLO系列目标检测算法进行对比实验,对比结果如表2所示。改进后的模型添加了MHSA模块,并使用加权BiFPN以加强特征融合能力,mAP值超过了其他网络模型,模型对麦粒此类小目标物体具有更强的检测能力。MHSA-YOLOv7相较于原YOLOv7模型,在增加少量模型计算量的情况下,将检测精度、召回率、F1值、mAP@0.5以及mAP@0.5:0.95分别提高了0.33%、1.83%、0.011、1.19%和0.38%。
表2 MHSA-YOLOv7与YOLO系列算法对比结果
此外,为进一步分析MHSA-YOLOv7的检测性能,通过消融实验来验证各个改进方法的有效性,消融实验结果如表3所示。将MHSA融合到原YOLOv7的主干网络中,mAP@0.5提升了0.70;而使用加权BiFPN实现模块间的跨层连接,mAP@0.5提升了0.59。结果表明,通过MHSA关联全局语义信息,并使用BiFPN实现跨尺度连接及加权特征融合,对于麦穗籽粒此类小目标物体的精确检测起到了有效的促进作用。
表3 MHSA-YOLOv7消融实验
小麦赤霉病感染率的实际检测结果如图8所示。在小麦籽粒高度聚合的检测任务中,MHSA-YOLOv7相比于YOLOv7模型,利用MHSA获取全局语义信息学习籽粒对象间的关系,可以更精确地检测到小麦籽粒,有效降低了籽粒的漏检率,针对小目标物体表现出了更好的检测效果,保证了小麦赤霉病感染率检测的可靠性。
图8 检测结果Fig.8 Detection results
本文针对当前小麦赤霉病感染率的检测方法存在检测时间长、硬件成本高、操作要求高以及破坏植株等问题,以YOLOv7网络为基础框架,设计了一种适用于小目标物体检测的网络模型——MHSA-YOLOv7。该模型通过在原主干网络中添加MHSA以提高语义特征识别能力,并使用加权BiFPN实现跨尺度连接和加权特征融合。实验结果表明,改进后的网络对于麦穗籽粒类高度聚合的小目标物体具有更高的精度与召回率,检测效果优于原网络以及其他经典目标检测网络。该模型实现了对小麦赤霉病单穗感染率的快速、无损、精确检测,方便了育种人员对小麦植株病害走势的长期观测以及籽粒抗性的准确评估。