基于RSTCNN的小麦叶片病害严重度估计

2021-02-14 01:56鲍文霞胡根生黄林生杨先军
农业机械学报 2021年12期
关键词:细粒度尺度病害

鲍文霞 林 泽 胡根生 梁 栋 黄林生 杨先军

(1.安徽大学农业生态大数据分析与应用技术国家地方联合工程研究中心, 合肥 230601;2.中国科学院合肥物质科学研究院, 合肥 230031)

0 引言

准确地估计小麦病害的严重度,有助于麦田病情的精准防控,同时针对性施用农药,减少种植成本和农业生态环境污染,对于病害的科学防治尤为关键[1]。

目前小麦病害严重度估计主要依靠有经验的工作人员到现场进行目视观察,人工方法耗时且费力,而且依赖于经验。利用可见光、多光谱或者红外传感器可以获得作物病害信息,结合计算机视觉和机器学习技术实现高效监测作物病害的严重程度,从而实时科学地精细化管控农业生产,提升作业效率,对于实施“智慧农业”有着积极意义。染病组织的光谱反射率有效地反映作物病害发生过程中的内部结构和形态等差异,因而利用光谱成像技术可以进行小麦病害的严重度估计[2-3],但该方法的计算成本较大,而且野外环境对高光谱图像的采集造成一定影响。与传统的人工检测和高光谱成像相比,红外和可见光图像技术在小麦病害严重度估计工作中应用更广泛[4-5]。通过采集的红外热成像探明病害过程中的温度变化规律,以及对RGB图像的分析和处理,可实现对小麦叶锈病的快速检测和分级。目前基于经典机器视觉的病害严重度估计方式特征提取难,由于小麦病害叶片图像易受复杂的背景环境干扰,尤其是同类别病害的不同严重度之间的颜色纹理特征相似,细粒度差异较小,传统方法难以准确地对小麦叶片病害进行严重度估计。

随着深度学习技术的发展,卷积神经网络(Convolutional neural networks,CNN)在图像处理和分类中的应用日益广泛[6-9]。与传统机器学习算法相比,CNN能够自动检索图像的全局信息和局部特征,不需要人工检测和提取,具有更好的性能[10-12]。

相比于作物病害的识别[13-15],病害的严重度估计对方法的有效性和精确度的要求更高。由于作物病害不同严重度之间的特征差异小,准确进行病害严重度估计往往需要大量的数据对网络进行训练[16-19]。上述严重度估计方法均是直接对原始数据集进行学习以实现对作物病害的严重度估计,学习的对象是病害图像的全局信息,缺乏作物病害图像局部区域之间的相互关联性[20]。

小麦叶片病害的严重度等级之间的颜色纹理特征差异较小,可以归属于细粒度分类问题。目前,细粒度分类问题的解决方式可以分为两类:基于图像注意力区域检测的方法[21-22]和基于图像细粒度特征表达的方法[23-24],分别通过弱监督的信息检测图像中的注意力区域和使用高维图像特征对图像信息自适应提取,实现精细化分类。文献[25]研究表明,针对细粒度图像的处理和分类问题,形态、轮廓特征的重要性表现较小,而局部细节特征则至关重要。针对小麦条锈病和白粉病症状主要位于叶片的局部区域的特征,运用传统分类方式对全局信息进行卷积操作,势必会影响最终的分类准确率。本文通过注意力区域检测和局部细粒度特征表达的联合优化和递归学习,构造基于循环空间变换的卷积神经网络(Recurrent spatial transformer convolutional neural network,RSTCNN)方法用于小麦叶片病害的严重度估计。将图像由卷积池化后生成的特征图,通过空间变换(Spatial transformer,ST)层实现叶片的病害区域检测,提取出病害特征的关键区域,接着以交替促进的方式对注意力区域检测和局部细粒度特征表达进行联合优化,由分类子网络实现图像分类并依次递归学习。最后对各尺度全连接层的输出进行特征融合,再并入到Softmax层预测最终的概率,以实现病害的严重度估计。

1 材料与方法

1.1 数据来源

本文所用小麦叶片病害图像来源于安徽省农业科学研究院试验基地(31°89′N,117°25′E),该试验基地作为国家级科研平台,同时也是国家小麦育种分中心,长期以来一直承担小麦、水稻等多种农作物育种科研试验任务。叶片病害数据采集于2019年4月26日至2019年5月10日09:00—16:00,天气晴朗且少云,相对湿度和温度分别在30%~50%和18~25℃之间。此时该基地的小麦叶片正值青翠繁茂期,主要遭受条锈病、白粉病的侵扰。拍摄设备为EOS80D型佳能数码相机(图像尺寸6 016像素×4 000像素,焦距4 mm,光圈f/22,曝光时间1/2 000 s)。采集并经过筛选后得到两类小麦叶片病害图像各计180幅。研究区域和数据采集工作图如图1所示。

为了更好地检验模型性能,针对获取的数据集样本有限和不平衡的情况,先将原始样本通过裁剪的方式,切分图像的长边为4等份,每幅图像可扩充得到4幅病害图像,如图2所示。接着对扩充后的病害图像按照病斑面积占叶片总面积的百分比R来界定病害严重程度[26]:0

表1 数据集样本分布Tab.1 Sample distribution of dataset 幅

1.2 小麦病害严重度估计

针对同种病害不同严重度间的颜色、纹理特征差异较小以及细粒度图像难以分类问题,本文构建RSTCNN网络模型,该网络由图像分类和区域检测两个子任务的多层结构构成,运用区域检测和图像分类两个子网络交替训练的思想,通过交替促进的方式对注意力区域检测和局部细粒度特征表达进行联合优化和递归学习,从而达到精确估计小麦叶片病害严重度的目的。

1.2.1RSTCNN

RSTCNN主要包含3个尺度网络(可根据需要叠加多个尺度),每个尺度网络的结构都一样,均以基础分类网络模型为框架,并插入空间金字塔池化(Spatial pyramid pooling,SPP)层固定输出特征图维度,各尺度网络间通过ST层连接并进行区域检测。本文实验的每个尺度网络以VGG19作为子网络,图像通过卷积池化层生成的特征图,一方面输入该尺度网络的SPP层和全连接层,另一方面由空间变换层进行区域检测后,作为下一个尺度网络的输入。RSTCNN网络架构如图3所示,其中as(s=1,2,3)表示各尺度网络(Scale 1、Scale 2、Scale 3),以VGG19作为框架,其网络结构如图4所示;bs表示各尺度网络的卷积层和池化层,从输入病害叶片图像中提取特征;cs表示各尺度网络的SPP层,用来在全连接层前统一输出不同特征图维度;ds表示各尺度网络的全连接层和Softmax层,可得到单个分类子网络的输出结果。

在更高尺度的网络中,以上层尺度网络卷积池化后的特征图作为研究对象,一方面由ST层(e1、e2)进行区域检测,由粗到细迭代生成病害细粒度表征的注意力区域并提取,另一方面通过分类子网络,送入SPP层和全连接层。接着将注意力区域特征图以循环的方式在下一个尺度网络再次进行迭代训练,然后对全连接层的输出规范一致化后以Concat方式对特征图通道合并以达到特征融合[27]的目的,最后并入到Softmax层预测该图像病害严重度类别的概率,获得更佳的分类效果。算法流程如下:

(1)将数据集通过分类子网络提取特征并分类,然后在全连接层前将提取特征图送入ST层区域,检测得到叶片病害的注意力区域。

(2)将注意力区域生成的特征图在分类子网络的全连接层前通过SPP层,统一规范化特征图的尺寸,并送入下级尺度网络,再次进行局部细粒度特征的学习和区域检测。

(3)通过尺度内分类损失和尺度间排序交叉熵损失联合优化,以相互强化的方式对图像注意力区域检测和局部细粒度特征表达进行递归学习,并可根据需要决定尺度和迭代次数。

(4)综合各尺度网络全连接层的输出,规范一致化后通过Concat进行特征融合,再并入到Softmax层得到最终预测值,达到更佳的分类结果,实现叶片病害严重度的精准估计。

1.2.2区域检测和提取

区域检测子网络位于各个尺度网络之间,通过空间变换有效检测出上级尺度网络特征图中的注意力区域,提取并作为下级尺度网络的输入。ST层基本架构如图5所示,通过区位网络和采样映射机制[28-29],在网络中对数据进行空间变换处理。其核心为空间转换模块,主要由3部分组成,其中区位网络用来计算空间变换的参数,坐标映射器得到输入特征图U到输出特征图V的映射位置对应关系Tθ,图像采样器则根据输入特征图U和对应映射关系Tθ,生成最终的输出映射。

(1)区位网络

区位网络以特征图作为输入,仿射变换后经一系列的隐藏网络层学习并输出变换参数θ。对于一个局部网络,设输入前一层的特征图为U,则区位网络的输出表示为

θ=floc(U)

(1)

式中floc——卷积神经网络(局部网络)

θ——网络输出的变换矩阵,用作转换器的训练参数(本文实验为二维仿射变换,θ为六维矩阵,元素分别记作θαβ(α=1,2;β=1,2,3))

(2)坐标映射器

采用逆变换的方法获得输出特征图,并生成网格上每个像素点的对应值。根据区位网络的参数,坐标映射器构建逆变换后的图像与输入图像上采样网格Gi的坐标映射,得到输入特征图U∈RH×W×C到输出特征图V∈RH′×W′×C的各映射位置对应关系Tθ。其中W、H是对应特征图的宽、高,C为通道数。通过仿射变换,将输入和输出的横纵坐标范围规范一致化,得到变换后输出的特征图。

(2)

(3)图像采样器

由前两部分传输变换获得相应的网格和坐标映射关系Tθ后,将特征图和坐标映射关系同时作为生成器的输入获得输出。

在原始图中采样像素复制到对应图中,生成输出映射。将原图像像素坐标仿射变换为目标图像的像素点坐标,表达为

(3)

k——核函数,表示实现重采样功能的线性插值

Φx、Φy——采样内核k的输入插值参数

综上,ST层是一个可微模块,既可对输入特征图进行空间变换,也可作为网络模块插入到任务需求网络的任意层中,使得CNN能够自主在空间上转换特征映射,进行区域检测和获取。

对检测区域进行提取,设提取出的病害特征区域均为正方形,表示为(tx,ty,tl),可得

(tx,ty,tl)=g(WcX)

(4)

式中g(·)——ST层网络函数

X——输入图像

Wc——分类子网络,从X中提取特征

tx、ty——检测区域中心点坐标

tl——检测区域边长

特征图的注意力区域检测示意图如图6所示。

假设特征图的左上角是坐标系的起点,用符号Cl表示左上角点,符号Cr表示右下角点。则根据ST层网络的tx、ty和tl,可计算出裁剪后区域的x轴坐标tx(Cl)、tx(Cr)和y轴坐标ty(Cl)、ty(Cr)分别为

(5)

为实现整体网络端到端优化训练,需要定义掩膜函数为连续函数以易于在逆向传播中优化,这里使用二维boxcar函数的变体作为注意掩膜进行近似裁剪操作,避免了直接根据坐标和边长信息生成(0,1)的掩膜,表达式为

M=(h(x-tx(Cl))-h(x-tx(Cr)))·
(h(y-ty(Cl))-h(y-ty(Cr)))

(6)

(7)

式中M——掩膜函数

h——Sigmoid激活函数

通过坐标关系,将掩膜函数M和输入图像X的数组元素依次相乘提取区域Xatt,表达式为

Xatt=X⊗M(tx,ty,tl)

(8)

1.2.3空间金字塔池化

传统CNN的全连接层是神经元对于所有输入的连接权重,若输入尺寸不一致,则会使得全连接层参数无法固定。CNN要求输入维度一致是导致随机尺寸的图像识别率低的关键。RSTCNN的各尺度网络需要特征图经过ST层进行区域检测和特征提取,会使特征图的尺寸发生改变。若采用传统的数据集预处理的方式,对特征图进行裁剪或者放大,使其维度相同,则会带来较大的弊端,一方面裁剪掉的区域可能会包含病害目标区域,另一方面特征图的放大也会导致图像几何方面的失真和扭曲[30]。

为了解决特征图经过ST层提取区域后特征图尺寸会改变的问题,RSTCNN在各尺度网络的全连接层前引入SPP层[31-32],如图7所示。不同尺寸的输入特征图规范化为一致性向量,以保存特征信息的同时,改进模型的识别精度。SPP通过空间像素级的层次关系,将空间的第l层级进行划分(l∈N+),其中每层有2l个子集,横纵坐标则依次切分成2l个网格,获得4l块特征图。对于任意大小的输入特征图,每个子网络上的3个池化层分别以4l个网格将特征图分为4l块,并采用最大池化以维持图像特征的细节信息,得到相应的4l维特征向量。最后将各池化层提取的特征融合,使任意尺寸特征图均统一规范为同维的特征向量,不再固定限制输入图像的尺寸。从而避免了特征图因适应传统CNN的方式需要进行裁剪或扭曲,导致图像部分信息丢失,特征提取难等问题。

1.2.4训练策略

整个网络模型基于注意力区域检测和局部细粒度特征表达联合优化和递归学习的思想,以相互促进的方式迭代训练,算法流程如图8所示。

具体的训练步骤如下:

(1)初始化分类子网络中的卷积层和全连接层参数。

(3)设置学习率,先通过取值为0来固定分类和检测子网络参数。接着保持ST子网络参数不变,优化分类子网络直到Lcls收敛。然后固定分类子网络参数,并切换到尺度间的排序交叉熵损失来优化两个ST子网络,直到Lrank收敛。

(4)返回步骤(3),直到两类子网络损失均收敛。

RSTCNN的损失函数包含两部分,由Y(s)和Y*构成分类损失Lcls,其中Y(s)为预测的类别概率,Y*为真实类别。以及表示尺度间排序的交叉熵损失Lrank,Scale 1网络和Scale 2网络,以及Scale 2网络和Scale 3网络分别构成两个不同Lrank,表达式为

(9)

其中

(10)

式中L(X)——RSTCNN的损失函数

t——真实标签类别

margin——定值参数

综上,通过RSTCNN获取到的小麦图像输出的不同尺度特征表示为{F1,F2,…,Fi,…,FN}。其中N表示尺度数目,Fi表示第i个尺度网络的全连接层输出。通过独立地对每个Fi规范化统一后,以Concat方式实现特征融合,再并入到Softmax层得到最终的分类结果。

2 结果与分析

2.1 实验环境和评价指标

本文实验软件环境为Linux Ubuntu 16.04操作系统、NVIDIA GTX2070 GPU上的CUDA8.0平台,使用Pytorch的开源软件框架和Python编程语言实现。实验中采用批量训练方式,将训练集和测试集划分为多个批次,以便更好对比观察实验效果。所有模型训练的迭代周期(Epoch)均设置为300,通过L2正则化与Dropout策略减少模型过拟合程度,整个训练过程是迭代进行的,并采用损失函数交替训练的策略来优化网络参数。

为了验证基于RSTCNN模型对小麦病害叶片进行严重度估计算法的有效性,分别对网络模型集成方式和参数选取进行对比实验,同时也将传统的机器学习分类器和流行的CNN进行对比。模型评价指标有精确率(Precision)、召回率(Recall)、F1值(F1 scores)以及准确率(Accuracy)。其中,精确率针对预测结果,实际正样本占预测为正样本的比例。本文的正样本指属于某一类别的样本,而负样本指不属于某一类别的样本。召回率针对原样本,预测为正样本的数量占实际正样本的比例。F1值为精确率与召回率的调和均值。准确率为预测正确的结果占总样本的比例。

2.2 不同分类网络及其作为RSTCNN子网络时严重度估计

运用本文的RSTCNN模型,分别选取常用的VGG19、GoogleNet、ResNet50、AlexNet基础网络作为分类子网络,并与区域检测子网络分别构成RSTCNN_VGG19、RSTCNN_GoogleNet、RSTCNN_ResNet50、RSTCNN_AlexNet网络模型。通过和基础分类网络进行比较实验,验证RSTCNN模型通过分类实现对小麦叶片病害严重度估计的提升效果。

表2展示了不同分类网络模型对小麦叶片病害严重度估计的结果,表明相较于传统的分类网络,所提出基于RSTCNN模型改进网络增强了基础分类网络对图像中病害区域的检测和分类能力。通过交替促进的方式对注意力区域检测和局部细粒度特征表达进行联合优化和递归学习,根本性解决了细粒度图像识别中,局部细节特征起主导作用的难点,各评价指标均有一定的提升。

表2 不同分类网络模型的严重度估计结果Tab.2 Severity estimation results of different network models %

图9为不同分类网络模型的严重度估计准确率变化曲线,直观地对比出RSTCNN模型在基础分类网络上改进后,各个训练周期时精度的提升状况,并减少了模型达到稳定的训练周期,为小麦叶病的严重度估计提供了高效精准的指导。其中RSTCNN网络模型与VGG19联合构造的准确率最高,因此本文所有的对比验证实验中,RSTCNN网络模型均采用VGG19作为分类子网络。

2.3 特征可视化和不同区域检测子网络对比

本文运用多尺度网络的优势,表现为模型训练时可逐渐聚焦到小麦叶片病害的显著区域,并增强其特征信息表达能力,有利于提高严重度估计效果。另外针对分类网络和ST网络设计2个损失,通过限制其中一个网络的参数来交替训练另一个网络,实现图像的注意力区域检测和局部细粒度特征表达的联合优化和递归学习。由于该模型通过多尺度网络对图像及其特征图进行了多次区域检测和再分类,从某种意义上也起到了扩充数据集的效果。

对RSTCNN模型学习过程中生成的特征进行可视化,以VGG19作为分类子网络,通过3个尺度网络的构造形式,得到一系列特征图如图10所示,可以发现随着RSTCNN尺度的增加,通过ST层的区域检测和提取能力,逐渐定位并精细化了图像中具有叶片病害的注意力区域,达到了提高病害严重度估计准确率的目的。

为验证RSTCNN模型的ST层子网络进行注意力区域检测的优越性,本文选取了常用的区域检测网络进行对比实验,分别得到小麦叶片病害严重度估计的准确率。其中,全卷积自适应网络(FCAN)[33]由图像域适应网络和特征自适应网络组成,以解决域适应背景下的语义分割难题。多注意力卷积神经网络(MACNN)[34]利用特征图不同通道关注的视觉信息不同会导致峰值响应区域差异性的特点,聚类响应区域接近的通道获得注意力区域。多样化视觉注意网络(DVAN)[35]追求最大限度收集差异性信息,并结合图像的不同区域和尺度的信息来建立动态的类内分类表示。

此外,本文还对各尺度(Scale 2、Scale 3、Scale 4)下的单独严重度估计结果以及融合不同尺度特征的严重度估计结果(Scale 1+2、Scale 1+2+3、Scale 1+2+3+4)分别进行了实验。图11为不同注意力区域获取方式和RSTCNN各个尺度下的病害严重度估计准确率,通过实验结果可发现,随着融合尺度的增加,网络模型更加复杂,但准确率由较高提升逐渐变缓至甚微,综合衡量3层尺度融合的网络准确率为最佳。Scale 4网络效果不及Scale 3网络效果,主要原因在于Scale 4丢失了较多的全局信息,导致部分病害区域的信息欠缺。

2.4 病害严重度估计结果混淆矩阵

在使用深度学习识别图像时,混淆矩阵作为有效的可视化工具,将数据划分为输入类和预测输出类的样本数量,直观地把分类结果的精度展示于一幅矩阵图中,比较出分类结果和实际测得值间的差异,因此常被用在多分类问题中评价模型的精度。

实验对小麦叶片的条锈病和白粉病进行病害等级分类为轻度、中度、重度,其中条锈病的轻度、中度、重度分别记为A、B、C,白粉病的轻度、中度、重度分别记为D、E、F,共计6类。VGG19基础网络模型和将VGG19作为分类子网络的RSTCNN网络模型的生成严重度估计混淆矩阵如图12所示。图中每行为小麦病害的实际种类,其总数Sum_lin表示归属该种类的实际数据。每列为小麦病害的预测种类,其总数Sum_col表示该种类的预测数据。行列交叉处的数值表示小麦病害被预测为相应行种类的数目,而对角线上的值为预测正确的结果总数。根据结果,直观展示出叶片病害严重度的真实数据和预测数据混淆的样本数目,以及各类病害严重度样本的分类错误数据类型,表明RSTCNN网络模型可以实现更精准的严重度估计效果。

2.5 与传统算法对比

为验证本文方法相比于传统机器学习算法的优越性,实验将本文方法与3种在农作物病害严重度估计上的传统机器学习算法进行了比较分析。这3种传统机器学习算法分别运用K近邻(KNN)分类[36]提取图像颜色特征,利用随机森林(RF)分类[37]提取图像纹理特征和通过支持向量机(SVM)分类[38]提取图像的组合特征。

实验中,通过开源库Scikit-learn2.2调用3种经典机器学习分类器。其中,KNN的样本点相似性度量采用欧氏距离,待预测样本附近标签的个数在通过交叉验证法后,选取5为最优值用于比较实验。RF选取对样本有放回抽样进行构建,所有参数均先采用默认值再调参,应用十折交叉验证发现预测变量值为81且最大特征数为6时取得最佳结果。SVM选取分类库NuSVC用于病害严重度的多分类,经调参优化,得到训练误差上界和支持向量下限的值为0.5,核函数为RBF核,函数最高次幂为3时,效果最佳。在经上述参数调优设置后,不同经典算法的平均严重度估计准确率如图13所示,可以发现相较于传统的机器学习算法,本文提出的RSTCNN网络模型显著提高了小麦叶片病害严重度估计的平均准确率。

不同方法的精确率、召回率和F1值如表3所示,可以得到,相比于其他3种传统机器学习方法,本文所提的RSTCNN方法具有更佳的评价指标。

表3 与传统机器学习算法的各类指标对比结果Tab.3 Comparison of various indicators with traditional machine learning algorithms %

3 结论

(1)针对病害等级间特征差异较小、细粒度图像难以分类的问题, RSTCNN运用区域检测和图像分类2个子网络交替训练的思想,基于注意力区域检测和局部细粒度特征表达的联合优化和递归学习的方式,逐渐聚焦到图像中具有叶片病害的注意力区域,减少无关信息的干扰,然后对检测出的病害注意力区域自适应提取,并送入下一级的分类网络,依次迭代交替训练,最后通过多尺度特征融合,达到更好的分类效果,实现小麦叶片病害的严重度估计。与传统分类网络相比,RSTCNN网络模型的精确率为94.3%,召回率为94.9%,F1值为94.6%,病害严重度估计准确率达到95.8%,各评价指标均有所提高,表明该模型显著增强了基础分类网络对图像中病害区域的分类能力。

(2)与常见的区域检测网络进行对比实验,RSTCNN模型的ST层子网络比其他方法严重度估计准确率提高了4~5个百分点。另外还对各尺度下的单独严重度估计结果以及融合不同尺度特征的严重度估计结果分别进行了实验,发现融合尺度下的严重度估计准确率更高。但随着融合尺度的增加,网络变得更复杂,准确率却只上升0.01个百分点,因此本文设计的3层尺度融合的网络严重度估计准确率为最佳。

(3)与农作物病害严重度估计的传统机器学习算法进行比较分析,相比于传统基于颜色和纹理特征的方式,RSTCNN的分类准确率提高了9~20个百分点,显著提高了小麦叶片病害严重度等级的估计准确率。

猜你喜欢
细粒度尺度病害
早春养羊需防六大病害
小麦常见三种病害咋防治
葡萄病害周年防治历
果树休眠期咋防病害
财产的五大尺度和五重应对
在线评论情感分析研究综述
基于型号装备?角色的IETM访问控制研究
基于web粒度可配的编辑锁设计
基于文本挖掘的微博文本情绪分析技术研究
宇宙的尺度