APP下载

基于卷积神经网络的农作物植株干旱检测

2022-05-10王红军

中国测试 2022年4期
关键词:决策树卷积数量

吴 建, 王红军

(1. 广安职业技术学院,四川 广安 638000; 2. 西南交通大学,四川 成都 611756)

0 引 言

人类当前面临食物需求量快速增加、水资源短缺以及气候极端异常等问题,而且耕地面积和农作人员逐年减少,这意味着目前农业安全保障面临巨大的威胁。为了应对这些可能到来的威胁,人们需要在单位面积的土地上获得更多的产量来满足大量人口的粮食需求。因此精准农业越来越受到世界各国的重视,特征监测和作物表型特征是其重要组成部分。依靠精准农业可以帮助模拟植物的生长过程并提供适当的肥料、灌溉和疾病控制,最终获得更高的产量[1]。精准农业的发展离不开农业工程的自动化和智能化,各种自动化的观测装置(定点摄像头、热成像、卫星和无人机观测等)、农业机器人已经开始在田间部署,计算机视觉技术和机器学习技术可以让这些装置像农事人员一样,很好地理解田间场景并做出合理判断。在农业生产中很多基础自动化任务都可以归结为计算机视觉问题[2],例如田间杂草识别[3]、叶片面积测量[4]、叶绿素含量分析[5]、叶片病害识别[6]等很多对实际农业生产有意义的工作。因此从计算机视觉的角度解决农业生产中的基础问题不仅有助于提高当前农业技术水平,而且可以发现更多针对解决田间环境下的视觉问题。

作为机器人“眼睛”和“感知”的计算机视觉技术与农业工程的结合逐渐成为科研人员研究的热点。张彦娥等[7]在RGB和HIS颜色模型下分析了各分量与叶片含氮率、含磷率和含水率之间的相关特性,分析结果表明叶片绿色分量G和色度H分量与氮含量线性相关,可用作快速诊断作物长势的指标,而其他分量与氮含量没有明显的相关性。大量的研究表明,植物的水分胁迫是可以被检测出来的,例如,Paloscia等[8]利用微波遥感检测植物的水分胁迫。热红外遥感技术是一种被广泛应用而且比较有效的方法,Jackson等[9]使用该技术通过测量植物冠层温度来检测植物的水分状况。在近些年的研究中,叶绿素荧光技术也被应用到植物的干旱检测中,Ni等[10]利用叶绿素荧光仪测量叶片的荧光性,通过对植物光合作用的研究确定植物的含水量。这些技术通过测量植物表面的反射率,温度,亮度以及土壤湿度等数据对植物进行干旱检测。

综上所述,将计算机视觉和机器学习技术应用到对玉米作物的干旱检测和表型学研究,对我国农业工程的生产和发展都具有举足轻重的意义。但目前来看,国内外对于将计算机视觉技术应用于农作物的干旱程度检测的研究与应用不足。本文提出了一种盆栽环境下的植物叶片数量自动检测算法。

1 多尺度卷积核特征提取网络

本节考虑植株的叶片计数问题(以玉米植株为例),叶片数量属于植物表型学特征,它可以直接反映出作物的生长状态[11]。在玉米生长周期中,很多都是以玉米叶片数量命名的(例如三叶期、十叶期),从中可以看出叶片数量对于玉米生长周期的重要性。另一方面,当玉米植株遭受干旱胁迫时生长周期会延长,因此叶片数量也是干旱胁迫程度的一个重要指标。传统的手工叶片计数效率低下费时费力,这不符合精准农业自动化的要求,不利于植物生长状态的连续监测。近年来,随着计算机视觉技术的发展,越来越多的研究者将该技术应用到叶片计数中并取得了不错的效果,其中Aich等人[12]提出利用卷积神经网络(VGG16)直接拟合植物图像中叶片的数量,经过实验这种直接拟合的方法对玉米叶片计数效果不甚理想,最终的拟合结果趋近于所有样本叶片数量的均值。本文的算法流程如图1所示。

图1 算法流程图

1.1 叶片数量的标签化

在深度卷积神经网络中无论是进行分类还是回归都需要训练样本的标签。对于分类任务来说需要类别标签,对于回归任务则需要待拟合的真实值。由于样本中包含不同生育期和不同干旱程度的样本叶片数量分布并不均匀。在深度卷积神经网络中,样本标签分布不均匀时,标签少的样本往往很难学习到有用的特征,而对于标签占比较大的样本又容易发生过拟合,因此首先需要对样本标签进行重置,使重置后的样本分布更均匀。

使用k-means聚类的方法对叶片数进行聚类,类别数量选择使用了手肘法,其核心评判标准是SSE(误差平方和),如式(1)所示,其中Ci是第i个簇,p是样本点,m是质心。

手肘法的核心思想是:随着聚类数k的增大,样本划分会更加精细,每个簇的聚合程度逐渐提高,那么SSE会逐渐变小。并且,当k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故SSE的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以SSE的下降幅度会骤减,然后随着k值的继续增大而趋于平缓。

1.2 多尺度叶片特征图提取网络

受Googlenet的多尺度卷积核(inception)结构启发,本文设计了Leaf-net(叶片特征提取网络)。Inception结构如图2所示,即在一个卷积层中使用多个尺度的卷积核进行卷积操作,并将卷积后得到的特征图按相同维度拼接。在卷积过程中,不同大小的卷积核可以用来提取不同尺度的特征。在不同生长周期中,植物叶片的尺寸差异较大,使用多尺度卷积核可以更好地适应不同长短、宽度的叶片。但有一个不得不考虑的问题,经过特征拼接后的特征图维度过大会对后面的网络计算造成困难,增加了计算的复杂度。因此,可以使用1×1的卷积核降维具体的方法为在特征拼接层后加入1×1卷积操作,输出端的卷积核数量小于输入端。

图2 Inception结构

图3展示了通过1×1卷积核将256个特征图减少到128的过程。该操作类似池化层,都是对信息的一个压缩过程,但与池化层不同的是1×1卷积是对特征图深度轴的压缩。

图3 通过1×1卷积核减少的特征图维度

图4展示了本文用于特征提取的完整网络结构(Leaf-net),图中的绿色框表示取出中间特征的特征尺度。从图中可以看出在获取中间特征图之前都经过了池化操作来达到减小特征图长宽尺寸的目的,为了进一步减少特征图的维度在池化层的前面还会加入图2中1×1卷积核的结构。例如在图1中第二和第三个绿框之前都使用了图2中的inception结构,拼接后的特征图维度是之前的两到三倍,使用(1×1)的卷积核后可以有效地压缩特征图的维度。

图4 Leaf-net叶片特征提取

2 基于Fisher编码的植株叶片计数

2.1 多尺度特征图的Fisher编码

在1.2节中得到了三种尺寸的网络中间特征图,分别为 (53×53×128), (25×25×288)和 (3×3×64),可以看到即使在网络中使用了1×1的卷积核降维,这些特征图依然拥有较高的维度,在下一步做回归的时候这些特征总数约为54万,远远大于训练样本的数量,也就是说特征对于训练样本是过剩的,需要从特征图提取主要信息达到压缩的目的,因此利用Fisher向量(FV)编码增强特征表达能力的同时可以将原特征压缩,FV本质上是用似然函数的梯度向量表示一幅图像,可以有效地将生成式法和判别式法的优势结合起来,即在保证分类效果的同时还可以处理长度不同的数据。常见的方法是使用FV将一幅图像编码为一个向量随后连接分类器。在本文中,把每个尺度的特征图的宽高分别记为H和W,每个特征图有H×W个描述子。那么可以用X={xt,t=1,2,···,H ×W}来表示单维度的特征图[13],使用混合高斯分布(GMM)来建模近似拟合这些分布,随后利用Fisher vector编码将数量不等的特征描述子转换为固定长度的特征向量。具体过程如图5所示。

图5 FV对三个尺度特征图编码拼接成一个特征向量

FV编码将一组密集的局部特征映射到高维空间(特征在高维空间中更容易区分)来描述整张图片,这些特征描述子使用概率密度函数的梯度来计算局部特征的对数似然函数。一般来说,就是通过拟合一个参数生成模型(GMM)来实现的,然后根据模型参数对模型的对数似然导数编码。FV不仅考虑与权重相关的梯度,还考虑与均值和标准差相关的偏导数。在深度轴上的每个特征图是独立同分布的,因此可以有如下表达:

在图5中,一共有三组特征图,每组特征图都可以看作是对原始图像的T个描述子(与使用SIFT从图中提取出来的描述子类似),每个描述子的维度即为特征图的个数。在式(2)中,特征图xi=x1,x2,···,xT的概率分布可以表示为特征图中每个特征点概率的乘积,其中 λ ={ωi,µi,i=1,2,···,K},为了方便计算,避免因连乘导致概率过小的问题,可以取对数转换成相加的形式,如式(3)所示。在式(4)中,表示每个分量的权重,所有权重的和为1,其数学表达式如(5)所示,N为分量数量。是GMM的第i个高斯分量的概率密度函数展开式如式(6)所示,D表示特征向量的维度,表示均值,Q、Z表示协方差矩阵。根据式(4)和式(6)对式(3)求偏导数即为Fisher向量,在此之前还要定义一个变量,在式(7)中,其表示特征由第i个高斯分量生成的概率。

在本文中三组中间特征图的尺寸分别为3×3×64、25×25×288和 53×53×128,经过编码后的向量长度为 3×64、79×288和 79×128,式 (10)给出了压缩率的计算,可以看出通过Fisher编码大大减少了待拟合特征的数量,使后面的回归模型更简单。Fisher向量编码本质是将底层的描述子映射到一个非常高的维度[15],虽然特征的维度上升了,但是由于原始特征图的特征点数量较多,编码时用这些特征点训练多个高斯分布,所以编码后的特征向量尺寸与特征点数量无关。

2.2 随机森林叶片数量估计

随机森林(RF)是一种集成学习方法,组合多个决策树算法对相同现象进行重复预测。它的基本单元是决策树,本质是集成学习,进一步在决策树的训练中加入了随机属性的选择。鉴于决策树容易过拟合的缺点,随机森林采用多个决策树的投票机制来改善决策过程,假设随机森林使用了m棵决策树,那么需要产生m个一定数量的样本集来训练每一棵树。其构建过程为:

1)从原始训练集中使用Boostraping方法随机有放回采样取出m个样本,一共进行n次采样,生成n个训练集且这n个子集之间是有大概率互相重复的。

2)对n个训练集,训练n个决策树模型。

3)对于单个决策树模型,假设训练样本的特征总数为p,那么每次分裂时根据一定的评价标准(信息增益或基尼指数)选择最好的特征进行分裂,传统决策树选择划分特征时是在当前节点的属性集合中选择一个最优属性;而在随机森林中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含s个属性的子集(最大特征数),再从这个子集中选择一个最优属性进行划分。参数s控制着随机性的引入程度,推荐值s=sqrt(d)(d为特征总数)。本文的最大特征数按照上式计算出s=117。

4)重复第3)步,直到不能再分裂或达到设定的阈值(如叶子节点数或树的深度),此时建立一棵完整的决策树。

5)重复第1)~4)步,直到达到预先设置的T棵树为止。

6)将所有得到的决策树组合成随机森林,如果是分类问题,则按照多棵树分类器投票决定最终分类结果;对于回归问题,由多棵树预测值的均值决定最终预测结果。

学习器结合会从两个方面带来好处:首先,从统计方面来看,训练数据可能包含多个分布,使用单一学习器可能只针对一个分布而导致过拟合或欠拟合;第二,从计算方面来看,学习算法往往会陷入局部极小,有的局部极小点所对应的泛化性能很差,通过多学习器结合后,可降低陷入糟糕局部极小点的风险;本文选择随机森林作为拟合工具的一个重要原因是特征维度大,而随机森林在生成单棵决策树时会产生若干个特征子集,这样可以使特征得到充分地利用。

对于构建随机森林最重要的一步是特征的划分选择,在第3)步中节点分裂生成决策树的过程中会遵循一定准则,本文模型使用的是基尼指数来选择划分特征,基尼指数可以描述一个随机变量的不确定程度。假设有k个类,样本点属于第k类的概率为,则数据集Q的基尼值如式(11)所示。

基尼值G(Q)反映了从数据集Q中随机抽取两个样本,其标记类别不一致的概率,因此G(Q)越小,则数据集的纯度越高。最终在候选特征子集A中选择那个使得划分后基尼指数最小的特征作为最优划分特征。

3 实验结果分析

3.1 实验细节与参数设置

一些算法训练参数以及硬件设备信息如下:

1)对于深度学习网络的构建本文使用的框架是Python + Tensorflow。网络的训练参数如表1所示。

表1 卷积神经网络中的部分训练参数

2)网络训练的硬件环境是 Intel Core i7-8700主频 3.2 GHz,运行内存16 GB,显卡型号是 GTX 1050Ti,操作系统为 Windows10 64位。

3.2 实验数据集

本文实验使用的单株玉米样本品种是郑单958号,室内盆栽生长。郑单是中国最受欢迎的栽培品种,生长在河南、河北和山东。平均株高240 cm,平均穗高100 cm。本研究选取的盆为圆柱形高度为 44 cm,上部直径为30 cm,底部直径为23 cm,土壤类型为中壤土。实验样本设置了不同的含水量,本研究的目的是对不同干旱程度的单株玉米叶片自动计数并研究叶片数量与干旱程度的关系。表2展示了四种样本的含水量情况和测熵深度。图6展示了不同生育周期的玉米样本图像示例。

表2 土壤水分控制策略

图6 不同生育时期的农作物样本

3.3 实验结果与现有方法的对比

图7展示了特征提取网络训练时的正确率和损失值,从图中可以看出随着训练迭代次数的增加,模型逐渐收敛,在第200代的时候训练集的正确率接近100%。这表明了Leaf-net可以从不同叶片数量范围的样本中学到有用特征,同时也证明了在2.2节中对样本标签的划分规则是合理的。与传统分类应用不同的是Leaf-net是将一个植株按叶片数量聚类并将一定叶片数量的植株划分为一类,同时在划分过程中来提取特征,较高的正确率直接反映了网络的特征提取能力,这些特征对于后面随机森林的回归是非常有帮助的。对于一个单株玉米样本,通过该模型首先可以大致确定该样本的叶片数量范围,然后再进一步做精确数量的回归。最后,为了避免过拟合,第200次迭代得到的权重模型被保存并用来从中间层提取特征。

图7 训练样本的正确率曲线与损失曲线

不同方法的实验结果对比如表3所示,“CountDiff”[16]表示样本叶片数量真实值与拟合值得平均误差,“AbsCountDiff”叶片误差绝对值取平均,这两个度量方法的数学表达式分别参考公式(12)~(13)。

表3 与现有方法的对比

表3中主要对比了本文方法和用卷积神经网直接回归叶片数量的方法。在近几年基于计算机视觉的叶片计数竞赛中,用深度卷积神经网直接拟合叶片数的方法逐渐成为主流并取得了不错的效果,例如方法1[16]以Alex-net作为主网络结构,方法2[17]使用了VGG-16作为主网络,从表3中可以看出两种方法均有较高的均方误差。在植物叶片竞赛中使用的植物样本是莲座类植物,叶子通常密集呈辐射状排列在地面,本文样本使用的是玉米植株,叶片分散,这可能是算法表现差距较大的原因之一。而且通过实验发现,CNN直接输入的回归结果接近训练样本叶片数量的平均值,对于叶片数量较多的样本计数误差大。从方法3和本文提出方法的对比中可以看出,与传统的局部特征提取算法(如SIFT)相比,提出的方法对样本特征的提取能力更强。在方法3中训练集和测试集的结果差距较大,出现了过拟合的情况。因此,使用本文提出的CNN与传统机器学习相结合的方法比单一地使用CNN或局部特征提取算法有更好的特征提取能力。其与表现最好的方法3进行对比,叶片平均误差以及均方误差分别减少了0.011与0.382,在检测回归叶片数量中,有着良好的效果。

为验证不同土壤含水量对植物叶片数量的影响,利用本文的叶片回归模型绘制四组样本叶片数量随生长周期变化的折线图,如图8所示。从图中可以看出无论样本是否遭受干旱胁迫,叶片数量在一定周期都是逐渐增加的,但是根据受干旱胁迫严重程度的不同,叶片数增加的速度有很大不同。样本1是水分全适宜的样本,叶片量增加速度明显快于另外三种受干旱胁迫的样本且与其他样本有明显的分界线。样本2叶片数量同样随着生长周期的增加而增加,但与另外两组样本有重叠。样本3和4之间的差异较小,其中样本4中的叶片数量随时间先增加后减少。通过观察样品的实际图像,发现样本3和4中的叶片由于干旱严重发生脱落的数量明显高于样本2。而且算法很难检测到枯黄和脱落的叶子,因为它们的颜色接近土壤的颜色。这也是本文算法对于干旱程度较大样本回归误差较大的原因。

图8 不同含水量的样本叶片数量随生长周期的变化

在图8中,三种受干旱胁迫样本的叶片数随周期变化的曲线重合严重这是由植物生长的特性造成的,因此使用最小二乘法对原数据做回归,图9展示了最终回归后的结果,从图中可以看出可分性明显增强最终可以得出结论:作为植物生长的周期的重要标志,叶片数量的增加受土壤含水量的影响较严重。水量适宜的样本叶片数量随生长周期的推进稳步增加,受干旱胁迫的样本根据干旱程度的不同而受到不同程度的影响。因此植物叶片数量可以成为植物干旱检测的重要特征之一。

图9 对叶片数量与周期做线性回归的结果

4 结束语

本文提出了一种根据基于计算机视觉的农作物干旱检测的方法。该方法不需要对图像进行分割预处理,从而避免了因分割可能引入的背景噪声对叶片计数结果干扰的问题。创新点如下:

1)利用多尺度卷积核的CNN作为特征提取网络提取玉米叶片特征。其中训练标签没有使用样本真实的叶片数,取而代之的是叶片数量的大概范围。最终的学习目标是对于一个样本模型做粗回归,得到叶片数量的范围。

2)使用了Fisher向量对从CNN提取到的特征图进行编码,进一步提高了特征的表达能力,同时降低了特征图的维度,可以有效避免因维度过高带来的过拟合和计算资源的大量消耗。

猜你喜欢

决策树卷积数量
芳芳猜童话书的数量
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
从滤波器理解卷积
统一数量再比较
决策树和随机森林方法在管理决策中的应用
基于傅里叶域卷积表示的目标跟踪算法
决策树学习的剪枝方法
决策树多元分类模型预测森林植被覆盖
头发的数量