基于改进CenterNet的小麦条锈病菌夏孢子自动检测方法

2021-02-14 01:56周晋兵何东健曾伟辉
农业机械学报 2021年12期
关键词:条锈病中心点孢子

雷 雨 周晋兵 何东健 陈 鹏 曾伟辉 梁 栋

(1.安徽大学农业生态大数据分析与应用技术国家地方联合工程研究中心, 合肥 230601; 2.安徽大学互联网学院, 合肥 230601;3.西北农林科技大学机械与电子工程学院, 陕西杨凌 712100; 4.农业农村部农业物联网重点实验室, 陕西杨凌 712100)

0 引言

条锈病是小麦最主要病害之一[1],常年在我国西北、西南、华北、长江中下游等冬麦区和西北春麦区广泛流行,该病会引起小麦大幅减产,甚至绝收,对小麦安全生产具有重大威胁[2]。小麦条锈病是由条形柄锈菌(Pucciniastriiformisf. sp.tritici)[3]引起,其发病具有分布广、流行性强、危害大等特点。首先在田间出现条锈菌源中心,然后借助气流由发病中心向周边扩散感染,以条锈病原真菌夏孢子的形态在异地越夏和越冬,完成条锈病害的周年循环,并在不同区域往返流行传染[4-6]。因此,快速准确地检测出田间空气中真菌夏孢子数量,可加强对小麦条锈病的早期预测预报,对于减少经济损失、控制农药滥用、保证粮食安全具有重要意义。

随着计算机视觉技术的发展,国内外学者对真菌孢子识别已经取得了一定的进展[7-9]。李小龙等[10]对小麦条锈病菌夏孢子显微图像进行基于最近邻插值法的缩放处理、基于K-means聚类算法的分割处理、形态学操作修饰和分水岭分割等处理,实现了夏孢子的自动计数,但当孢子大面积重叠时,算法效率会降低。齐龙等[11]通过分块背景提取法校正光照,根据Canny算子进行边缘检测,利用椭圆度、复杂度和最小外接矩阵宽度等形态学特征进行分类,最后利用距离变换和改进的分水岭算法对粘连孢子进行检测,准确度达到了98.5%,但特征提取过程较复杂。王震等[12]通过提取孢子图像的梯度方向直方图特征(HOG特征)作为输入向量,提出了一种加性交叉核支持向量机(IKSVM)的稻瘟病孢子检测方法,实现了98.2%的检测率,但平均检测耗时需5.5 s。上述研究表明,使用传统机器视觉方法检测孢子,需预先针对孢子图像提取目标特征,然后采用算法进行目标拟合和检测,其特征提取过程较繁杂,费时费力。近年来,随着深度学习算法不断改进和计算机算力提高,深度学习在农业领域得到广泛应用[13-14]。LIANG等[15]对小麦白粉病孢子采用改进U-Net网络进行图像分割,分割率达到了91.4%。姚青等[16]基于改进CornerNet自动检测方法,实现了对2种稻飞虱检测,平均精确度为95.53%。杨蜀秦等[17]基于改进CenterNet模型对无人机遥感影像的玉米雄蕊识别精度达到了92.4%,检测速度达到了36 f/s。目前国内外学者采用深度学习方法检测真菌孢子类的研究较少,大部分研究是基于Anchor(锚框)的农作物和病虫害目标检测,该类方法虽能满足实时检测要求,但需预置锚框的尺寸、比例,大量的锚框会导致运算复杂度高,影响训练的效率。当前以CornerNet[18]、CenterNet[19]为代表的基于Anchor-Free的模型应用较为广泛,其中,CenterNet模型具有扩展性强、推理速度快以及检测精度高等优点,在快速检测的同时识别准确率高,具有复杂背景下微小夏孢子实时检测识别的潜力。

针对显微图像中小麦条锈病菌夏孢子自动检测存在严重的误检和漏检问题,本文拟通过优化特征提取网络提取目标特征,减少网络参数防止过拟合,同时改进CenterNet检测框为带角度的椭圆框以增强分割重叠度,提出一种基于改进CenterNet模型的小麦条锈病菌夏孢子自动检测方法。

1 材料与方法

1.1 孢子显微图像采集

本研究供试小麦条锈病菌夏孢子于西北农林科技大学小麦抗病种质资源创制与利用研究中心东南窑低温温室内繁育,真菌孢子显微图像采用文献[20]中的小麦条锈病菌夏孢子显微图像远程采集设备采集,设备可自动完成取载玻片、涂脂、空中孢子捕捉、孢子显微图像采集、载玻片回收等一系列功能,能够远程实时采集放大400倍的夏孢子显微图像。在实验室条件下,用洗耳球在采集设备进气口上方缓慢持续吹起新鲜的小麦条锈病菌夏孢子,使孢子扩散到空气中,由机体内置风扇使捕捉仓内形成负压,将上方夹带着孢子的空气从上到下垂直抽入仓内粘附在载玻片上,根据矩形点阵式采集方法,设备通过驱动模块输出不同的脉冲数在载玻片中间50 cm×25 cm区域完成孢子显微图像的采集,分辨率为1 024像素×822像素,BMP格式,所采集的部分供试夏孢子原始图像如图1所示。

由图1可以看出:①夏孢子外形似椭圆,个体小且大小不一。②夏孢子相互粘连现象严重。③由于涂抹凡士林出现的晶体状杂质和空气中灰尘影响,图像中存在晶体状杂质和灰尘。上述夏孢子图像特点为真菌孢子自动检测增加了难度。获得的原始孢子显微图像经过人工挑选和预处理后,共获得数据集21 420幅。由于经预处理的图像边缘会超出原始图像,因此,在边缘填充与凡士林颜色相近的背景,并将图像分辨率修改为1 366像素×1 366像素,jpg格式。

1.2 数据集构建与处理

通过统计,每幅图像中存在1~50个夏孢子。当孢子数量增多,大量孢子密集粘连,若使用矩形框标注数据,会导致框间重复交叠,影响检测效果。因此,本文使用椭圆框标注数据集,以减少背景对分割效果的影响。经人工使用带角度的椭圆框进行标注,使用18 000幅用于训练,按照8∶2划分为训练集与验证集,剩余3 420幅作为测试集。由于使用Via 2.0标注的COCO类型数据集未保存物体的长短轴长度和角度,因此需对标注数据进行预处理。使用保存数据的144个离散点,计算出椭圆的长短轴长度和旋转角度,最终得到标注数据格式为bbox[x,y, 2a, 2b, angle]。x和y为椭圆中心点坐标,2a和2b为长短轴长度,angle为长轴相对于X轴正方向的角度,范围是0°~180°。

2 CenterNet模型构建与改进

近年来,深度学习已在农作物识别和病害检测等方面获得了较好的效果[13,21-23]。基于CenterNet模型[19]具有检测速度快、识别精度高以及泛化能力强等优点,具有快速识别孢子的潜力。夏孢子形态学特征为近椭圆或圆形,且孢子易粘连在一起,使用传统机器视觉方法进行粘连分割难度较大。基于此,本文选择CenterNet模型进行孢子自动检测方法的研究。

2.1 基于改进CenterNet的孢子检测网络

CenterNet[19]是无锚框模型目标检测算法的典型代表,与CornerNet[18](检测左上角点和右下角点)和ExtremeNet[24](检测最上、最下、最左、最右、中心点)类似,CenterNet通过检测物体的中心点和长宽来确定检测框的位置、尺寸。模型结构主要包括特征提取网络和预测头2个模块。第1模块的特征提取网络负责提取特征生成特征图,第2模块的预测头部分用来预测目标的热图、中心点偏置和预测框的长宽。CenterNet模型将目标检测问题转换为检测目标中心点问题,检测时通过特征提取网络输出的特征图经过预测头得出检测目标的中心点位置,并通过偏置量微调中心点的位置,使预测的中心点位置更加准确。

直接将原始CenterNet模型用于检测小麦条锈病菌夏孢子图像,易出现目标孢子的误检和漏检问题。针对误检问题,本研究采用简化网络结构的方式构建了参数更少的特征提取网络ResNet10,减少模型的过拟合,降低了误检率;针对漏检问题,将原始的矩形检测框改进为带角度的椭圆检测框,同时,使用映射矩形计算出热图的高斯核半径,减少检测框中的无效背景,提高了模型检测的精确率与分割度。改进后的小麦条锈病菌夏孢子CenterNet检测模型网络框架如图2所示,图中W为输入图像的宽度,H为输入图像的高度。

2.2 特征提取网络的改进

特征提取网络是目标检测中的重要一环,目标检测模型的检测精度、速度等直接受到特征提取网络的影响。原始CenterNet模型的特征提取网络有很多,一般选择Hourglass Net[25]、DLANet[26]或ResNet[27]等。这些网络主要用于提取输入图像的特征。

由于夏孢子显微图像的数据集数量不够庞大,且显微图像中有夏孢子目标尺寸较微小,孢子种类较少的特点,若使用结构参数量较大的Hourglass Net和DLANet网络提取特征,易导致模型过拟合;基于此,本研究基于ResNet网络结构,构建了参数更少的ResNet10网络作为改进CenterNet模型的特征提取网络结构,以降低夏孢子检测模型的过拟合,ResNet10结构如图3所示。

2.3 损失函数设计

由于需要检测孢子的角度,在原始CenterNet损失函数的基础上,需添加角度损失Lang进行训练。改进CenterNet模型的损失函数Ldet由4部分组成:热力图损失Lheatmap、物体长短轴损失Lab、中心偏置损失Loffset和角度损失Lang,计算式为

Ldet=λheatmapLheatmap+λabLab+λoffsetLoffset+λangLang

(1)

式中λheatmap——热图损失系数

λab——长短轴损失系数

λoffset——中心偏置损失系数

λang——角度损失系数

孢子长短轴损失和角度损失较大,因此λab和λang取值0.1,其他损失值较小,因此系数λ均取1。Lheatmap使用改进的Focal loss[28]损失

(2)

式中N——图像中关键点的数量

Yxyc、xyc——真实、预测孢子像素点(x,y)的置信度

α、β——超参数,分别取2和4

经下采样后,原始检测框的中心点会产生偏差,因此对每个中心点添加一个偏移损失Loffset

(3)

式中R——下采样倍数

p——真实中心点

类似地,Lab和角度损失亦采用L1损失

(4)

式中pk——检测框的中心点

sk——检测框的长短轴长度(或角度)

2.4 Heatmap高斯核半径计算方法

原始CenterNet模型训练过程中预测后的矩形框与人工标注的矩形框一般会出现3种位置关系,如图4所示。

从图4可看出,3种绿色的预测框均能很好地包围目标。所以,为了能得到效果好的预测框,需准确计算出图4中的半径r(即高斯核半径)。Heatmap热图[29],起初在人体关键点检测任务中得到应用,后来在目标检测任务中表现出很好的性能。在CenterNet模型中,可通过

(5)

式中 (x,y)——图中点的坐标

σp——标准差C——类别数

将目标标注框中心点的关键信息散射到高斯核半径为r的热图上,使得关键点的检测转换成可进行全卷积的热图,最后通过热图、偏置和长宽信息得到预测结果。

对于矩形检测框,最小高斯核半径r计算式为

r=min(r1,r2,r3)

(6)

其中

(7)

(8)

(9)

式中Ioverlap——真实框与标注框最小重叠度,取0.7

w——矩形框宽h——矩形框高

由于本文使用椭圆检测框检测目标,不能直接使用上述原始CenterNet模型的高斯核半径计算方法。因此,本文提出使用图5中的6种方式将孢子的椭圆框映射成矩形框,再通过式(6)~(9)间接计算出最小的高斯核半径r。当椭圆的角度为0°、90°和180°时,R5取图5b红色矩形,其余情况使用图5a方式计算。将椭圆框中心点的关键信息散射到高斯核半径为r的热图上,最后通过热图、偏置、长短轴长度和角度信息得到预测结果。

2.5 模型评价方法

目标检测领域的评价指标除使用平均精度均值(Mean average precision, MAP)以外,对于图像分割,还经常使用COCO数据集的评价指标平均交并比(Mean intersection over union,MIOU)。对于原始CenterNet检测结果,由于预测框均使用矩形,计算MIOU较方便。但本文的检测框使用带角度的椭圆形检测框,计算MIOU比较困难。因此,本文使用蒙特卡洛计算方法。对于真实的椭圆标注框Rgt和预测框Rpre,生成随机N×N个坐标点,统计落在2个框内的落点个数,计算IOU的方法为

IIOU=Ninter/(Num(Rgt)+Num(Rpre)-Ninter)

(10)

其中

Ninter=Num(Rgt&Rpre)

(11)

式中IIOU——交并比(IOU)

&——同时落在2个检测框的情况

Ninter——同时落在Rgt和Rpre的数目

Num——计数函数

为更加全面地评估不同模型对孢子的检测精度,还需使用精确率(Precision)、召回率(Recall)与F1值作为评价指标。

2.6 模型训练环境与方法

所有网络均在同一硬件环境下训练,操作系统为Windows 10,处理器为AMD 3700X,显卡为GPU1080Ti,显存11 GB。训练使用Pytorch 1.6深度学习框架,图像为21 420幅,18 000幅作为训练和验证集,按照8∶2划分,剩余图像作为测试集。训练使用的样本批尺寸(Batch size)为8,训练过程采用自适应矩估计(Adaptive moment estimation, ADAM)方法进行优化。训练共20个迭代周期(Epoch),每个周期1 800次,共计迭代3.6×105次。训练学习率设为1.25×10-4,权重衰减设为0.000 1。

3 实验与结果分析

使用同一数据集分别使用不同特征提取网络和不同椭圆映射矩形,在相同模型训练环境和方法下进行相同批次训练,特征提取网络分别使用ResNet10、ResNet18、ResNet34和ResNet50,椭圆映射矩形分别使用图5的R1、R2、R3、R4、R5、R6进行对比实验,实验对比结果如表1、2所示。

表1 不同特征提取网络的精确率和召回率Tab.1 Precision and recall of different feature extraction networks %

表2 不同特征提取网络的F1值和分割率Tab.2 F1 value and segmentation rate of different feature extraction networks %

从表1、2中可看出,随着特征提取网络层数的增多,孢子的检测指标并未一直减小,使用ResNet34作为特征提取网络的模型综合性能最差。当使用结构简单的ResNet10特征提取网络检测孢子图像,识别准确率未受到影响,网络的训练速度反而更快。使用R1、R2、R3、R4映射矩形计算高斯核半径时,ResNet10的准确率与ResNet18、ResNet50接近,平均精确率优于ResNet34模型0.40个百分点。特征提取网络使用ResNet10网络时,高斯核半径计算方法使用R1和R4矩形的检测精确率较高,与R5矩形和R6矩形相比,检测精确率提高0.56~1.26个百分点。使用R4映射矩形计算高斯半径时(特征提取网络使用ResNet10网络),取得的分割效果最好,优于ResNet34(使用R2映射矩形)方法2.47个百分点,与ResNet50网络相近,但训练速率更快。因此,本文选择ResNet10网络作为改进CenterNet模型的特征提取网络,高斯核半径使用R4映射矩形计算,能够使用更少的参数训练网络,加快训练速率,并得到很好的检测效果。

在相同条件下,分别使用原始CenterNet模型(特征提取网络使用ResNet50)与改进CenterNet模型(高斯核半径计算使用R4矩形)进行训练,实验对比数据如表3所示,检测结果如图6所示。

表3 2种算法对不同密度孢子的检测结果对比Tab.3 Comparison of detection results of two algorithms for spores with different densities

从表3可以看出,随着孢子数量的增多,原始CenterNet算法和改进CenterNet算法的精确率和召回率均减小。当孢子数量在10~30时,原始CenterNet算法的精确率下降了3.14个百分点,召回率下降了5.08个百分点。改进CenterNet算法的精确率下降了2.57个百分点,召回率下降了3.62个百分点。随着孢子数量的增多,原始CenterNet算法容易受粘连孢子的影响导致多孢一框及漏检的现象,对粘连孢子的检测精度明显下降。而改进CenterNet算法使用椭圆框分割孢子,减少了检测框中的无效背景,能够预测更精确的检测框,在粘连孢子的检测上取得了较好的检测效果。改进CenterNet模型的识别精确率达到了98.77%,重叠度为83.63%,检测速度为41 f/s,与原始的CenterNet模型相比,识别精确率提高0.23个百分点,重叠度提高7.53个百分点,检测速度加快11 f/s。此外,同等条件下,以ResNet10作为特征提取网络的改进CenterNet模型占用内存为43.8 MB,是原始CenterNet模型的31.5%,模型占用内存降低了68.5%,更易于部署到服务器或远程设备上。因此,本文提出的改进CenterNet模型,能够满足小麦条锈病菌夏孢子自动检测的应用要求,与原始CenterNet模型相比,在同等条件下,改进CenterNet模型能够取得更高的识别精度和更快的检测速度,并获得更高的分割率,减少误检率和漏检率。

从图6可以看出,在孢子数量较少的情况下,2种方法均能检测出所有孢子。但当孢子数目增多到10个以上时,原始CenterNet模型出现了漏检的现象,如图6b第4幅图红框所示,这是由于孢子的密度增大、孢子粘连与重叠增加了模型识别的难度。此外,由于孢子图像中会存在一些杂质(灰尘等),在原始CentetNet模型检测结果中出现了误检的现象,如图6b第3幅图所示。由于改进CenterNet模型的检测框是带角度的椭圆框,更加贴合孢子的形状,在框中出现的背景更少。改进CenterNet模型可显著地关注孢子区域,并减少背景区域,在保证检测精准率的前提下,获得更高的孢子检测分割率。因此,本文使用的改进CenterNet模型的椭圆框检测方法效果优于原始CenterNet模型,出现误检和漏检的概率更低。

4 结论

(1)为解决小麦条锈病菌夏孢子自动检测存在严重的误检和漏检问题,以实现快速、准确地检测真菌夏孢子,本研究根据孢子形态学特点,从特征提取网络、检测框和热图高斯核半径计算3方面改进了CenterNet模型。首先基于ResNet18网络,减半网络中的Basic Block层数,构建孢子特征提取网络ResNet10,其次将CenterNet模型的矩形检测框改进为带角度的椭圆检测框以增强分割重叠度,最后使用椭圆映射矩形计算出热图的高斯核半径,最终提出了一种基于改进CenterNet模型的小麦条锈病菌夏孢子自动检测方法。

(2)在测试集上的实验表明,改进后的CenterNet模型的识别精确率达到了98.77%,重叠度为83.63%,检测速度为41 f/s,达到了实时检测的应用需求,比原始CenterNet模型平均重叠度提高了7.53个百分点,检测速度快了11 f/s,模型占用内存降低了68.5%,使得改进模型更易于部署到服务器或者远程设备上。因此,本文提出的基于改进CenterNet的真菌孢子检测模型可以为小麦条锈病病害检测提供一种有效的方法支持。

猜你喜欢
条锈病中心点孢子
隐孢子虫入侵相关蛋白分子研究进展
降低体表孢子含量对僵蚕总灰分的影响
陕西安康:农技专家开展小麦条锈病普防工作
一种基于标准差的K-medoids聚类算法
Scratch 3.9更新了什么?
小麦条锈病的防控技术
如何设置造型中心点?
河南省小麦条锈病的病因分析及防控措施
小麦条锈病持续控制的策略
制作孢子印