APP下载

基于深度卷积神经网络的水稻纹枯病检测识别

2020-11-30曹英丽江凯伦于正鑫刘亚帝

沈阳农业大学学报 2020年5期
关键词:纹枯病病斑边界

曹英丽,江凯伦,于正鑫,肖 文,刘亚帝

(沈阳农业大学 信息与电气工程学院/辽宁省农业信息化工程技术中心,沈阳 110161)

纹枯病是水稻发生最为普遍的主要病害之一,其致病病原菌为立枯丝核菌,在叶鞘表面形成侵染结构并吸收水稻营养,使叶鞘、叶片和谷壳感染病菌,造成谷粒不饱满,空壳率增加,严重的可引起植株倒伏枯死,导致水稻减产20%~50%[1]。 近20 年来,中国北方稻区纹枯病发生逐渐加重,由于此病发生面积广、流行频率高,所致损失往往超过稻瘟病[2]。 在实际生产中,农民和从事相关研究人员通过人工目测来识别水稻纹枯病,但由于光线、杂草、枯叶等外在自然因素,加上自身的判断能力有限,导致对水稻的病害等级误判,从而延误对水稻病害的防治或者药剂使用量不当,造成水稻减产、经济成本的增加、环境污染等不利后果。 因此,对水稻病害检测的传统方法不仅效率低,而且严重影响病害预报的准确率。

计算机图像处理和识别技术的发展给水稻的病害准确识别带来了可能。 袁媛等[3]采用图像切割方法提取水稻纹枯病病斑特征,通过支持向量机对其进行识别。 其特征提取具有非实时性[4],而且基于颜色空间特征的图像分割法有一定的局限性,难以对不同性状的病斑进行识别检测。 LIANG 等[5]将图像分割成子图形式,通过传统的CNN 来提取子图中的水稻病斑的特征,实现对水稻稻瘟病的识别。 但准确率受背景影响较大,如将水珠、光斑、枯叶等错误识别成病斑,不能在原有的复杂背景下准确识别病害。谭云兰等[6]采用卷积神经网络模型,对自然场景下的多类水稻病害图像进行分类,运用fine-tune 方法使识别精度大幅提高,但其不能对病斑进行准确定位,而且当一张图中同时存在多种病害会影响识别精度。而对于传统的CNN 分类网络,是采用不同大小的窗口在整张图像上,以一定的步长进行滑动,再对这些窗口对应的区域做图像分类,以实现对整张图像的检测。由于检测目标大小的不确定性,需要设置不同大小和比例的滑动窗口和合适的步长,导致产生很多需要通过分类器做预测的子区域,使计算量变得庞大,具有网络训练和检测效率低的特点。 而对于YOLO 系列[7-8]的检测算法,则是采用全卷积将原始图像分割成互不重合的网格,再通过卷积产生特征图,而每个元素都对应原始图像的一个网格,利用每个元素来预测那些中心点在该网格内的目标,可以极大提高了检测速度[9]。

鉴于此,本研究通过深度卷积神经网络,综合借鉴YOLOv1、YOLOv2 和Faster R-CNN[10]算法,设计了一个完全基于水稻纹枯病的检测识别网络,该网络具有优越的特征提取能力和良好的实时识别效果,能够对自然场景下水稻图像中的纹枯病病斑进行目标检测和识别,为病害诊断提供有用信息。为了验证该网络在此目标检测下的优异性,将其与相同条件训练之后的YOLOv1、YOLOv2 和Faster R-CNN 3 种网络进行性能对比。 另外,为了使做为训练样本的水稻图像具有多样性,试验田内栽种5 个不同的水稻品种,另外设置了4 个不同的施氮水平,并在不同的天气下采集图像样本,而且对所采集的图像进行扩增处理,使训练样本达到千量级别,以保证该网络对于水稻纹枯病的目标检测识别,具有一定的普适性和鲁棒性。

1 材料和方法

1.1 试验材料

试验于2019 年在沈阳农业大学北方粳型超级稻成果转化基地进行,试验设计4 个施氮水平N0-N3:N0对照(0kg·hm-2)、N1(150kg·hm-2)、N2(240kg·hm-2)、N3(330kg·hm-2);5 个辽宁地区主栽品种 V1~V5:V1(399)、V2(盐丰 47)、V3(桥润粳)、V4(美丰稻)、V5(盐粳糯 66),共 20 个小区,分布图如图 1,每个小区面积为5m×20m=100m2。 水稻纹枯病影像从水稻抽穗期到齐穗期分3 次进行采集,3 次测试的天气分别是阴、晴、小雨,在不同的气候条件下,手持数码相机(摄像头型号为索尼 imax586,分辨率为 2250×4000pixel)入田采集水稻茎秆下部1/3 处,平行水稻茎秆方向,正射拍摄,每个试验小区采集图像15 张,共采集900 张水稻纹枯病的植株图像,以JPG 格式存储,所有图像调整为450×800pixel,人工对数据集进行标注,对形状不规则的纹枯病病斑采用形状规则的矩形离散化标记,用鼠标框选取目标物,使矩形框和纹枯病病斑包含的像素点面积尽可能一致,构建水稻纹枯病图像数据集,如图2,其中1 张图片中可包含多个待检测的纹枯病病斑目标。

图1 试验田俯瞰图,V1~V5 为5 种不同的水稻品种,N1~N4为不同的氮肥处理Figure 1 Field view, V1-V5 shows five different rice varieties, and N1-N4 shows different nitrogen treatments

图2 部分水稻纹枯病图像数据集Figure 2 Part of the image data set of rice sheath blight

1.2 数据增强

数据增强可通过在训练期间随机变换原始数据来提高网络准确度[11]。 通过使用数据增强,可以为训练数据添加更多变化,但又不必增加带标签训练样本的数量。 对原有900 张图像数据集增强处理,应用随机水平翻转和随机X/Y 缩放,如果缩放后目标框与边界外重叠大于0.25 将会被裁剪。 同时,对图像进行色彩抖动(Color jit鄄tering)和对比度变换(Contrast transformation)[12]。

色彩抖动:HSV 颜色空间随机改变图像原有的饱和度和亮度(即,改变S 和V 通道的值)或对色调(Hue)进行小范围微调。

对比度变换:在图像的HSV 颜色空间,改变饱和度S 和V 亮度分量,保持色调H 不变。 对每个像素的S 和V 分量进行指数运算(指数因子在 0.25~4 之间,随机选取),增加光照变化。

通过随机水平翻转图像和相关颜色空间来增强训练数据。 但数据增强不适用于测试数据,测试数据应代表原始数据并且保持不变,以便进行无偏差的评估。 网络训练随机选取70%的图像样本作为训练集,10%作为验证集,剩余20%作为测试集。

2 建立水稻纹枯病检测识别模型

图3 数据增强示例Figure 3 Data augmentation example

2.1 模型架构

本研究综合借鉴YOLOv1、YOLOv2 和Faster R-CNN 算法,设计了一个基于深度卷积神经网络的水稻纹枯病识别网络,结构如图4,以下简称为YRSNHT。 该网络通过图像特征预测水稻纹枯病病斑的边界来实现对水稻纹枯病的检测识别。 在YOLOv1 算法中,是采用由24 个卷积层构成的卷积网络来提取特征,然后使用全连接层来输出边界框(bounding box)的信息。 Darknet-19 作为优异的特征提取网络而被广泛应用[13],因此对于YRSNHT,CNN 部分采用Darknet-19 作为基础结构,但对其进行了部分调整,并删除冗余的卷积层和池化层,结构信息如图5。 另外,YRSNHT 对于边界框的坐标不是由卷积后的全连接层得到,而是与YOLOv2 相同,借鉴Faster R-CNN 算法,利用锚盒(anchorbox)机制[9]来输出边界框。

YRSNHT 将输入的图像分割成大小相等、互不重合的Sr×Sc个网格,并为每个网格产生B 个预测器,输出B组预测值。 如果图像中的1 个网格内含有某个检测目标的中心点,则由该网格对应的B 个预测器来负责检测该目标。 每个预测器输出1 个边界框信息,包括该边界框中心点偏移相关的tx、ty和尺寸相关的tw、th,以及与其中包含待检测目标置信度相关的tCI,由于本网络不涉及分类,只有1 类目标,所以与YOLO 算法不同的是不计算边界框类别得分项,一定程度上减少了计算量。 因此,YRSNHT 的CNN 部分输出特征图的维数应为(B×5)×Sr×Sc,B 表示预测器个数,B×5 为特征图的通道数,Sr×Sc表示图像网格的个数。 B、Sr和 Sc为 YRSNHT 的超参数。

图 4 水稻纹枯病识别网络(YRSNET)架构 ,Sr 、Sc 为网格行、列数,B 为预测器数,tx 、ty 、tw 和 th 为预测值Figure 4 Rice sheath blight identification network (YRSNET) framework

图5 水水稻纹枯病识别网络(YRSNET)CNN 结构信息Figure 5 CNN structure information of rice sheath blight identification network (YRSNET)

2.2 目标边界框的预测

边界框的大小与位置可以用 4 个值(bx,by,bw,bh)来表征:由预测器输出,实现目标的位置预测。 其中,bx和 by为边界框的中心坐标,是对应网格左上角坐标(cx,cy)的偏移值,用归一化值描述该偏移,即偏移范围为0~1,保证每个边界框的中心点均落在其对应的网格中,用Sigmoid 函数σ 使σ(tx)、σ(ty)落入该范围。 每层预测器关联1 种预定义尺寸的锚盒,宽和高表示为pw和ph。 而锚盒的尺寸和数量通过使用K-means[14]方法对数据集中的目标框维度聚类得出。

bw、bh是边界框的宽与高,由对应的关联锚盒的横纵方向的缩放因子 ηwσ(tw)和 ηhσ(th)间接计算得出,ηw、ηh表示输入图像和最小锚盒的横纵比值。 网格的左上角坐标用网格编号表示,锚盒尺寸用相对于输入图像的归一化尺寸表示。 则边界框的归一化坐标表示为:

而每个边界框的预测值包含 5 个元素,bx、by、bw、bh,CI,其中,前 4 个元素表征边界框的大小与位置,CI 表示置信度,定义为 Pr(object)×10Utruthpred。 其中,Pr(object)表示该边界框含有目标的概率,当该边界框是背景时,即不包含目标,此时 Pr(object)=0,而当该边界框包含目标时,Pr(object)=1,即:

10Utruthpred表示该边界框的准确度,反映预测框和目标真实框的吻合程度,用预测框与实际框(groundtruth)的面积交并比IOU(intersectionoverunion)计算得出,即:

而置信度范围为 0~1,YRSNHT 用 σ 函数使 σ(tCI)落入该范围,即:

对于锚盒的数量是由水稻纹枯病的图像的数据集中的目标框维度聚类得到,锚盒个数与k 值相等;使用不同的 k 值得到不同的 Mean IOU, 随着 k 值的增加,Mean IOU 的值也增大, 变化曲线如图 6。 当 k<5 时,Mean IOU 变化得较快;当k>5 时,Mean IOU 变化较慢。 综合考虑网络模型的复杂度和检测速度,选择锚盒的个数为5,锚盒尺寸参数:(54,25),(167,31),(125,48),(330,43),(90,33),Mean IOU 值为 0.7417。

另外当一个目标被多次检测时,采用非极大值抑制算法(nonmaximumsuppression,NMS)[15],只输出其中唯一的最优预测框。首先从同一目标的所有预测框中找到置信度CI 值最大的预测框,逐个计算其与剩余框的IOU值,若其值大于预定义的阈值,表示重合度过高,那么就将该预测框剔除; 然后对剩余的检测框重复上述过程,直到处理完所有的检测框。 NMS 对YOLO 算法的影响是显著的,采用NMS 算法可以提高识别的精确度[16]。

2.3 网络训练目标

YOLO 算法对于目标检测具有回归思想,采用最小化均方差损失函数作为训练目标。本研究不涉及分类问题,只考虑坐标误差,无分类误差。坐标误差,即边界框实际坐标与预测坐标的误差,但其中不同的部分采用了不同的权重值。 区分不含目标的边界框与含有目标的边界框的置信度,对于前者,采用较小的权重值λnoobj=0.5,其它权重值均设为1;对于均方误差,由于较小的边界框的坐标误差要比较大的边界框更为敏感[7],所以将网络的边界框的宽与高的预测改为对其平方根的预测,即数Loss 计算为:

图6 不同k 值下的Mean IOU 变化曲线Figure 6 Mean IOU change curve under different k values

式中:第1 项是边界框中心坐标的误差项,Iobjij指的是第i 个网格存在目标,且该网格中的第j 个边界框负责预测该目标:第2 项是边界框的高与宽的误差项;第3 项是包含目标的边界框的置信度误差项;第4 项是不包含目标的边界框的置信度误差项。

2.4 网络训练

计算机配置信息:显卡为Inter(R)HDGraphics620,处理器为Inter(R)Core(TM)i5-7200U,主频为2.5GHz,内存为64G,操作系统为Windows10。 网络的训练目标是最小化目标函数Loss(式4)。

设置YRSNHT 的网络超参数Sc=15,Sr=25,B=5,其输入图像大小为450×800pixel。网络训练参数:训练阶段动量项(momentum)为 0.9,衰减系数(decay)为 0.0005;batch 大小为 32,每个 Hpoch 设置为 1000 次。 共迭代训练30 个Hpochs。 其中分为3 个训练阶段,快速训练(1th-5th Hpoch)、精准训练(6th-15th Hpoch)和优化训练(16th-30th Hpoch)。 在快速训练阶段,为加速模型的收敛,权值学习率的值较大,设置为0.02;精准训练阶段是为精调模型,将权值学习率减小为0.002;优化训练阶段,权值学习率为0.0002。 模型训练过程中,保存每个Hpoch 的权重文件。 模型迭代训练过程中的, 训练模型在迭代代数为25 时之后的损失值趋于平稳 (图7), 因此对于YRSNHT 选择迭代训练第25 个Hpoch 中最优的权重文件作为识别模型。

本研究从查准率(precision)、查全率(recall)、平均精度(mAP)和F1 这4 个参数对YRHSNHT 检测网络的性能进行评估。 在不同网络模型中,与置信度相关的检测阈值的差异会导致PR(precision-recall)曲线变化,而由PASCALVOC[18]提 出 的 mAP(meanAveragePrecision)可 作为任何模型的评估指标,其由特定检测阈值下的查准率和查全率计算得出。

式中:tp 为正确检测的样本数量 (truepositives,tp);fp 为错误检测值样本数量 (false positives,fp);fn 指漏检的物体数(false negatives,fn);F1 为衡量二分类的模型精度的指标,其值越大代表模型训练效果越好[17]。

阈值取值越大,平均精度就越高,平均查全率就越低;阈值越小,则反之[19]。对于本研究检测阈值的设定,采用不同的检测阈值在训练集和测试集检测后得到的结果如表1, 其中综合训练集和测试集的平均精度和平均查全率,最终选取检测阈值为0.4,在此检测阈值下,precision-recall 曲线变化如图8。

表1 不同检测阈值下的检测结果Table 1 Detection results under different detection thresholds

3 结果与分析

图 8 PR(precision-recall)曲线Figure 8 PR(precision-recall) curve

为了比较YRSNHT 与其他3 种网络对于水稻纹枯病的检测识别能力,在相同条件下用相同图像数据集,分别在这YOLOv1、YOLOv2 和Faster R-CNN 上进行网络训练,在相同的测试集上测试,试验对比效果见表2。可以看出, 在此研究中,YRSNHT 对于水稻纹枯检测识别的性能优于其他3 种网络,mAP 和recall 分别达到84.97%和 77.62%,检测一张 450×800pixel 大小的图像速度到达 31.45 帧·s-1。

Faster R-CNN 的背景的误判率远大于其他3 种网络(其中背景误判率定义为只含有背景预测框的数目与预测框总数的比值),而且检测速度较慢,那是因为Faster R-CNN 是针对特征图的每个像素都产生先验框,而YOLO 算法中是将原图分成网格的策略,所以其检测速度更快、背景误判率会更低,但Faster R-CNN 的查准率高于YOLOv1 和YOLOv2,其中锚盒扮演着关键性的作用[20]。而YRSNHT 采用YOLOv1、YOLOv2 中具有回归思想的网络结构,又借鉴Faster R-CNN 的锚盒机制,其对于水稻纹枯病的检测表现更出色的识别能力。

综上可见,对于水稻纹枯病的检测识别,YRSNHT 模型更能满足实时性的要求。由图9 可知,YRSNHT 能有效识别水稻植株图像中的纹枯病病斑,其输出的预测框(图9 中包围病斑的矩形框)能较好的覆盖所识别的目标对象。 也可以看出,YRSNHT 能够很好的区分枯叶和病斑,对未聚焦的模糊病斑也具有一定的识别效果。

表2 试验效果对比Table 2 Comparison of test results

图9 YRSNET 的识别结果示例Figure 9 Examples of YRSNET's recognition results

4 讨论与结论

在本研究中, 基于深度卷积神经网络, 综合借鉴具有回归思想的YOLOv1、YOLOv2 和具有锚盒概念的Faster R-CNN,设计了一种完全基于水稻纹枯病检测识别网络:YRSNHT。 本研究将特征提取能力强的Darknet-19 应用在YRSNHT 的卷积部分,并对其进行调整,删除部分冗余的卷积层和池化层,来提高网络的检测速度和训练速度。通过对源图像数据进行k 均值聚类,得到特定数量和特定尺寸的锚盒,结合应用在此检测网络中,来提高检测性能。 另外,在网络训练中,不同于传统机器学习中使用固定不变的学习率,而是采用不同大小的数值,将训练阶段分成快速训练、精准训练和优化训练3 个阶段,使目标函数值更快速的达到收敛,从而高效率地完成网络训练。 在最终训练好的YRSNHT 上采用不同的检测阈值,对测试集和训练集进行测试,根据结果确定0.4 作为最佳的检测阈值。

YRSNHT 对水稻纹枯病病斑的自动识别取得了令人满意的结果,而且YRSNHT 具有实时性检测的要求,平均检测一张大小为 450×800pixel 的图像仅需 32.26ms,查准率、查全率分别达到 90.21%、77.62%。本研究在不同的同自然光线下,采集了染有纹枯病的不同种类水稻植株的样本图像,并做了图像扩增处理,使训练网络的数据集充足,保证了YRSNHT 具有一定的普适性和鲁棒性。 此外,将其与另外3 种网络进行了对比,基于此研究中的水稻纹枯病图像测试集,YRSNHT 表现出了更高的识别精度,相比于YOLOv1、YOLOv2 和Faster RCNN,mAP 分别提高 22.08%、17.54%和 11.43%。

在未来的试验验研究中,将会采集不同种类的水稻病害图像,构建水稻病害图像集,来设计出一种能够对多种不同水稻病害检测和分类的网络模型,实时识别和分类水稻病害,为水稻病害诊断提供有用信息。

猜你喜欢

纹枯病病斑边界
拓展阅读的边界
意大利边界穿越之家
改进自适应分水岭方法分割棉花叶部粘连病斑
一种桑轮纹病病叶发病程度的评价指数
9种药剂防治山核桃干腐病试验研究
论中立的帮助行为之可罚边界
四川水稻品种对纹枯病抗性的评价
小麦纹枯病大田防治药剂筛选试验
水稻纹枯病防治药剂的筛选及田间防效
“伪翻译”:“翻译”之边界行走者