深度学习在花卉养护技术中的应用①

2020-03-18 07:55黄宏梅陆卫忠
计算机系统应用 2020年3期
关键词:土壤湿度吊兰花卉

黄宏梅,陆卫忠,2,杨 茹,曹 燕

1(苏州科技大学 电子与信息工程学院,苏州 215009)2(江苏省建筑智慧节能重点实验室,苏州 215009)

1 引言

随着城市建设的快速发展,城市中灰色水泥建筑物越来越多,绿化面积比例越来越低.而随着生活水平的提高,人们开始追求舒适健康的工作、生活环境.如,在办公室中放置一些盆栽花卉既可以通过光合作用吸收二氧化碳,净化室内空气,也可以陶冶情操.然而,由于大多数人缺乏专业的花卉养护技能,需要聘请专业人员帮助养护,导致花卉的养护成本很高.

随着信息技术和自动技化术的不断发展,国内外花卉自动化养护技术也逐步发展起来.文献[1]中介绍Picent R 发明了一种智能花盆,这种花盆含有可以监控植物温湿度的传感装置,当有人靠近时,它会发出声音来表示自己的需求.文献[2]中介绍Mizuchi I 研发了一种叫做“Plantroid”的花盆机器人,会按照需求自动调节植物的温度和光照,从而使得植物健康生长.2011 年杨守健等[3]研制了一种简易土壤湿度检测装置对土壤湿度进行定时检测,根据土壤状况和植物生长所需的湿度的不同决定对植物的浇水量.张兆朋[4]设计了一种家庭智能浇花器,实现了花卉的自动浇花,并可以对不同的花卉实施不同的控制方式.2017 年赵宏才等[5]研究出了对黄瓜种植环境参数的自动监测方法,实现了黄瓜种植的自动化.可以看出智能花卉养护技术已经有了很大的进展,但并未能彻底地解决花卉养护过程中的人工干预,即无法完全实现花卉的自动化养护.

随着人工智能技术的不断发展,构建深层网络结构进行多层次特征学习的人工智能方法在大规模图片分类领域取得了很大的成功[6].本文尝试将深度学习应用在花卉生长情况的图像识别中,使其突破只能依靠人工观测判断花卉生长状况的限制,通过花卉图像实现对花卉生长情况的识别,从而实现花卉养护过程的自动化.然而,花卉的一种简单表象特征往往有可能是由于多种内因导致,仅根据图像分类得到表象特征不足以准确地判断花卉生长的真实情况.

因此,本文提出一种花卉生长状况的识别方法,来解决仅依靠图像分类的判断准确率不高的问题.该方法采用一个具有两个输入通道的卷积神经网络,其中第一个输入通道是原始花卉图像中提取的特征图像,第二个输入通道是传感器采集的各生长环境数据,两个通道构成分类器的输入,并对构建的模型进行验证.

2 花卉生长状况的识别方法

2.1 数据采集与特征选取

花卉是有生命的植物体,它的生长状况总是伴随着生长环境的变化而变化,要养好花卉就必须营造花卉生长发育所必须的环境条件.本文以吊兰为例,研究识别其生长状况的方法.吊兰喜半阴,喜湿润,且冬季容易冻坏,当室内环境参数发生改变的时候,它的生长状况也会发生相应的改变.在办公室测试环境下,采样数据为花卉的图像,室内空气温度(单位:℃)、湿度(单位:RH)、花卉土壤湿度(单位:RH)以及光照度(单位:klx),采样方法为每天8 点以及18 点各进行一次采样,连续两个月,共1200 条记录.

2.1.1 花卉图像样本分析

吊兰的生长状况发生变化的时候,其叶片也会发生相应的变化.上述共4 种环境参数可对应8 种类别:

(1)空气温度过高,叶片会由绿变黄;

(2)空气温度过低,叶子开始变软,从根部向叶尖烂叶,老叶整体开始由绿变黄再变枯;

(3)空气湿度过高,由于吊兰喜湿,所以叶片表象相对比较正常;

(4)空气湿度过低,叶片表面略泛白,叶尖出现轻微变枯;

(5)光照过强,叶子由绿变黄,叶尖变枯,表面略泛白;

(6)光照过低,叶片颜色变淡,叶子主干纤长且易断;

(7)土壤湿度过高,叶片会从根部开始发黄;

(8)土壤湿度过低,叶尖会发黄变窄,叶片卷曲.

图1 是一组花卉的表象图片,图1(a)和图1(b)分别是吊兰环境温度过高和温度过低的图片;图1(c)和图1(d)分别是吊兰空气湿度过高和空气湿度过低的图片;图1(e)和图1(f)分别是吊兰光照强过强和过弱的图1(g)和图1(h)分别是吊兰环境土壤湿度过高和湿度过低的图片.

2.1.2 图像样本误差分析

从花卉的图像样本中可以了解当前花卉的表象特征,然而花卉的一种简单表象特征往往有可能是由于多种内因导致,比如,当吊兰的叶子变成黄色时,可能导致这一表象特征的因素有空气温度过高、光照过强以及土壤湿度过低,所以,仅仅根据图像样本中所得到的表象特征不足以准确地分辨出花卉生长的真实情况.因此,考虑通过结合花卉环境数据来帮助准确分辨出花卉的生长状况.

2.1.3 环境数据

环境数据是影响花卉生长的重要因素.可以通过空气温湿度传感器、光照传感器以及土壤湿度传感器检测得到当前花卉的生长环境,本实验对吊兰的生长环境进行了检测,检测得到的部分花卉生长环境数据如表1 所示,其中,表中T代表空气温度,单位为℃,H1代表空气湿度,单位为RH,L代表光照强度,单位为klx,H2代表土壤湿度,单位为RH.然而,研究表明,当空气温度达到15~25 ℃,空气湿度达到60% RH,光照度达到65 klx,以及土壤湿度达到65% RH 时,吊兰才可以到达最佳的生长状态,我们将这一数据作为判断吊兰生长状况的标准.将检测到的环境数据与标准值进行比较,即可对比得出当前吊兰的实时生长状况.

图1 花卉生长状况图

表1 检测的花卉环境数据

2.2 算法模型

卷积神经网络(Convolutional Neural Network,CNN)已在图像处理领域得到广泛应用[7,8].卷积神经网络的基本结构是由输入层、卷积层、池化层、全连接层以及输出层构成[9].卷积层和池化层一般会有若干个,采用卷积层和池化层交替设置,即一个卷积层连接一个池化层,池化层再连接一个卷积层.卷积神经网络中的一个卷积层,由卷积操作(convolution)、非线性响应操作(relu)以及池化操作(pooling)组成.卷积操作中通过不同的滤波器可以得到不同的输出数据,如颜色、形状等图像的特征信息.再通过非线性响应操作以及池化操作获得最大化的特征[10].

本文考虑将卷积神经网络应用到花卉生长状况的识别技术中.然而,花卉的某些表象特征是由于不同的环境因素造成,如果仅依靠花卉生长状况图片进行分类,很有可能出现判别失误的情况.所以,本文设计了一种由环境数据来辅助的具有两个输入通道的卷积神经网络进行图像分类,提高判别的准确率,从而能更好地判别花卉当前的生长状况.因此,我们设计如下的环境数据辅助网络,模型框架如图2 所示,将图片通过卷积神经网络进行训练,然后将传感器实时采集到的数据进行评估得到的结果与卷积神经网络分类得到的分类结果结合,再连接起来进行重新分类,分类可以得到8 种类别,以及它们的对应输出关系如表2 所示,即,分别为00,01,10,11,20,21,30,31 这8 个类别.

图2 方法模型框架

表2 生长类别输出对应关系表

2.3 算法设计

该算法分为两个阶段,第1 个阶段为前向传播过程,第2 个阶段为反向传播过程.

1)正向传播过程

在这个阶段,输入的信息经过逐层变换,传输到输出层.主要是做前向的特征提取.即,从花卉样本图片中取出一个样本输入到网络中,得到经过逐层变化的输出值,也就是实际值,并同时获取期望得到的样本输出值,比较实际输出值与期望输出值,如果实际输出值符合期望值,则输出样本的输出结果,否则,进入到下一个阶段.

2)反向传播过程

卷积神经网络与传统神经网络一样,通过反向误差传播更新每层神经元的参数,通过迭代不断优化神经网络的各个权值,使得神经网络的预测值能够与实际标签值最接近[11-13].反向传播网络是最常用的一种误差最小化的优化方法,通过求解正向输出标签值与是假标签的平方误差作为更新参数的策略.假设一共有c个类别、N个样本,其中表示实际标签值,表示神经网络输出的标签值,那么可以用式(1)表示平方误差代价函数.

为了更新权值,根据神经网络的正向传播[14,15]可知,第1 层的神经网络的权值 ωt和bt可以通过式(2)计算得出.

通过误差E的变化来求解参数 ωt和偏置bt,采用最常见的随机梯度下降法,首先对bt求解偏导数:

然后根据式(2)不断反向传播,就可以将误差传播到最底层,根据式(2)和式(3)可以得出第l层的误差变化率 δt:

将l+1层的误差不断传播到1 层,最终传播到第一个卷积层.结合上面的即可求出误差E与权重 ωt之间的导数:

这样每一层的权值 ωt和偏置bt都可以通过误差E偏导数不断迭代更新,直到获得误差最小的权值,完成卷积神经网络的训练,该算法流程如图3 所示.

图3 算法训练流程图

2.4 算法实现

首先,将对花卉图像样本进行初始化,然后传送到卷积层和池化层,进行特征提取;接着将图像特征结合环境数据输入到相应的全连接层,再通过分类器将其从传输到输出层,然后将输出值与期望值做比较,直至两值之间的误差值达到一定的阈值,则可得到我们想要的输出结果[16,17].

基于深度学习的花卉生长状态识别网络的停止条件为如下两个条件之一:

1)实际输出与期望输出的误差值达到一定值;

2)训练次数达到预先设置好的最大训练次数.

若满足条件则可以得到花卉图片所对应的相应类别,具体见算法1.

3 实验

3.1 实验设备

本文采用基于CMOS 的图像采集设备来,DTH11数字温湿度传感器,TSL2561 光强传感器及SM2801BD型土壤湿度传感器搭建形成一个花卉环境监测系统,如图4 所示,来实现花卉环境数据的采集.将实时的环境数据经过处理后,输入到训练好的传感器网络辅助的卷积神经网络中,即可以获得当前花卉的生长状态,然后根据输出的花卉生长状态来决定花卉生长环境的控制策略.

?

图4 监测系统框架图

3.2 数据预处理

3.2.1 图像数据预处理

(1)数据集扩充

在训练图像识别的深度神经网络时,需要使用大量的训练数据,才会使网络得到更好的性能,如提高网络的分类准确率,防止过拟合等[18].获取更多的训练样本是一种理想的方法,但这种方法的代价很大,在实践中常常难以达到.而另一种方法则也能够获得类似的效果,那就是人为扩展训练数据[19,20].人为扩展图像数据的常用方法有图像旋转、转换、扭曲等.选取图像旋转的方式时,太小角度的旋转可能不会对图像造成变化,角度太大又可能改变图片的性质(脱离数据集),因此选取了6 个“合适”的角度来对图像进行旋转操作,即采用原图、垂直镜像、逆时针旋转90°、随机裁剪、水平镜像以及顺时针旋转90°这6 个角度,如图5所示.经过处理以后,原始数据集扩展成了原来的5 倍,共6000 条数据.

(2)图像数据准备

卷积神经网络中含有全连接层的网络输入数据的大小是固定的,所以必须实现固定输入图像的大小.然而在图像统一大小的过程中会有缩放,因此图像会扭曲,为尽量避免模型受到无关因素的干扰,所以本文通过边界填充或剪裁的方法来减少扭曲或失真.因此,本文将采集到的花卉图片数据统一处理为64×64 大小的图片.同时,由于花卉的生长状况共有8 种情况(空气温度过高或过低、空气湿度过高或过低、光照强度过强或过弱、土壤湿度过高或过低),本文将统一处理完的图像数据分为8 组分别代表8 种不同的生长状况.

3.2.2 传感器数据预处理

对应每一个花卉图像,同时通过空气温湿度传感器、光照传感器及土壤湿度传感器获取一组花卉环境数据,可以表示为(w,s,g,t),这组四维的环境数据在空气温湿度、光照度及土壤湿度4 个方面对当前花卉的生长状况进行了评价.采用贝叶斯估计,多贝叶斯估计将每一个传感器作为一个贝叶斯估计,将各个单独传感器的关联概率分布合成一个联合的后验的概率分布函数,通过使用联合分布函数的似然函数为最小,提供多传感器信息的最终融合值.本文设置当前最佳环境数据为(wbest,sbest,gbest,tbest),将最终融合值与其做比较从而提供整个环境的一个特征描述,即可以获取传感器数据对当前花卉生长状况的评价状况.

3.3 传感器辅助网络结构

花卉生长状况的识别方法由一般卷积神经网络和传感器采集数据分支网络组成.本文尝试了3 种不同层次的网络(如图6 所示),它们分别使用6 层、12 层以及14 层的卷积神经网络自动从图像输入中提取特征.在经过多层卷积层和池化层之后,图像输入被转换成具有长度为128 的图像矢量,这是从图像中提取的一组特征.同时,与图像对应的4 维传感器评价情况通过完全连接层,构成长度为4 的环境数据向量,然后将这两个向量连接成一个长度为132 的新向量,并最终完全连接到一个分类器.所有权重都是通过反向传播算法进行训练获得的.

图5 花卉样本预处理图

3.4 结果与分析

对于该模型,网络在Tensorflow 环境中进行训练,在训练过程中,随机梯度下降(SGD)算法的批量大小设置为256,最大迭代次数设置为200,学习率初始值为0.01,如果总损失没有下降,自动下降1/10 直到0.000 01.当前花卉的图像、室内温度、相对湿度、土壤湿度、以及光照度等共5 个参数,对应于示例子网的5 个输入,而当前花卉的生长状况对应每个输出.数据集中以4800 条样本数据作为网络的训练样本,1200 条数据作为测试样本.样本随机分为5 组,大小为1200,每个独立应用5 次,并进行5 次交叉验证.每次训练时,一组尚未被选中的组被选作验证组,其余组成训练组.根据表3 的结果,我们得出结论:网络越深,性能就越好.然而,网络越深相应的时间代价也越大,我们要根据实际情况选择适合的深度.

同时,我们从网络中减少了传感器数据通道,并进行与上述相同的实验.我们的网络和一般CNN 之间的结果显示在表3 中.这表明环境数据确实有助于分类.

3.5 实验测试

在花盆周围部署空气温湿度传感器,以及在花盆里部署其他传感器、架设摄像头来构建花卉智能养护系统试验平台,土壤材料选取普通的适合花卉生长的泥土,花卉采用喜湿的吊兰,如图7 所示.采样时间为每天上午的8:00 以及下午的16:00.系统工作一段时间后,可以提取寄存器中存储的花卉的环境数据.表4 为系统工作6 天自动养护模式下的花卉环境数据值,其中,表中T代表空气温度单位为℃;H1代表空气湿度,单位为RH;L代表光照强度,单位为klx;H2代表土壤湿度,单位为RH.

测试结果表明,自动养护模式能够自动判别出花卉当前的生长状况并能够及时的对花卉的环境进行改善,实现了自主养花护花的功能,达到了智能养花的目的.

3.6 误差案例分析

该模型在结合环境数据之后,能够较好地提高分辨花卉生长状况的准确度,然而由于花卉样本的复杂性,花卉生长状况的分辨还不能达到完全的正确.比如,在吊兰的叶片图像特征仅呈现为发黄的时候,且当前的环境数据显示为空气温度为30 ℃,空气湿度为34%RH,光照强度为75 klx,土壤湿度为45% RH,根据模型分类得出的结果为空气温度过高,然而根据实际情况却应该分类为土壤湿度过低的情况.分析可得,由于此时空气温度过高和土壤湿度过低的特征表现相对比较接近,且此时图像仅呈现为发黄的特征,很容易导致错误的判断.由于花卉的生长状况是复杂的且不断变化的,其特征是根据环境变化而发生的一个缓慢变化,在某一时刻点的单一特征是跳跃的,所以不能完全代表其生长状况的变化.针对这一问题,采取将这一时刻点的特征与上一状态的变化相结合,依据上一状态的情况来对这一时刻点的特征做进一步的判断,从而提高识别的准确率.

图6 不同层次网络

4 总结

本文提出的基于深度学习的花卉生长状况自动识别方法,突破了原始花卉养护中的只能通过人工观测来判别花卉生长状况的局限,摆脱了花卉养护需要高度专业化的花卉养护知识的限制,降低了花卉养护的成本.将该方法应用到花卉养护装置中,在不需要专人干预的情况下,能够提高花卉养护的成功率,减轻花卉养护的工作量,从而降低花卉养护的成本,该方法也可应用在农作物的种植环节中,同样也能帮助农作物很好的生长.

表3 传感器辅助CNN 和一般CNN 之间的性能比较

图7 花卉智能养护系统试验平台

表4 自动养护模式下的花卉环境数据

猜你喜欢
土壤湿度吊兰花卉
CLDAS土壤湿度产品适用性评估
荒漠化露天矿土壤湿度监测模型的构建
——以红沙泉矿区为例
基于中分辨率成像光谱数据的塔里木河流域土壤湿度时空动态变化研究
2021国际花卉展览会
吊兰“生出”了小宝宝
复活的吊兰
《花卉之二》
《静物花卉》
我的植物朋友
阜新春播期土壤湿度变化特征分析