基于LSTM神经网络的智能灌溉系统设计与试验*
2022-04-24孙博瑞孙三民蒋敏薛山
孙博瑞,孙三民,蒋敏,薛山
(1. 塔里木大学水利与建筑工程学院,新疆阿拉尔,843300; 2. 塔里木大学现代农业工程重点实验室,新疆阿拉尔,843300)
0 引言
我国作为传统农业大国,农业用水大约占全国用水的70%[1]。但同时我国是一个水资源严重不足的国家,人均水资源占有量仅相当于世界水平的1/4。当前我国大部分地区还在使用传统的人力灌溉,不仅效率低且极大的浪费了水资源,所以如何高效节约农业用水成为当前社会发展的重要问题。
随着计算机技术的日渐成熟,物联网等先进技术被运用到农业生产中,促进传统农业向现代化农业的转变[2]。杨沁昕等[3]以STC89C52单片机为核心控制器设计研发智能灌溉系统,该系统分为手动模式和智能模式来控制继电器水泵,但其智能模式只是根据设定的土壤含水量上下限来控制灌溉,不够智能化,并且需要下载手机APP来实现移动远程控制不够方便。
李杰等[4]对温室大棚设计了基于语音识别和PLC的智能灌溉系统,通过语音实现对温室灌溉电机的远程控制,但系统构建的价格相对较高。李庆鸿等[5]利用ZigBee无线传输技术设计一款节水灌溉系统,实现了通过ZigBee节点来控制电磁阀协调器的功能,但是由于ZigBee的传输距离较近,该方法不适合在大面积农田种植中推广使用。在软件控制方面,模糊控制、专家系统、神经网络[6-9]等一系列智能算法被运用到灌溉系统中。
为了解决目前灌溉系统智能化不足、价格相对昂贵、使用复杂、系统管理不便等问题开发了一套基于LSTM时间序列预测模型的智能灌溉系统。系统以树莓派为下位机控制器,阿里云服务器为上位机,通过LSTM神经网络预测模型实现对作物需水量的预测,同时配备了相应的物联网平台与移动端平台,更加方便操作人员使用。
1 智能灌溉系统总体设计
系统以传感器技术、物联网技术及人工智能技术为基础,实现了农田数据采集功能、数据传输功能、智能预测功能、实时监控功能和灌溉控制功能。
如图1所示,系统主要包括数据采集模块、核心控制模块、灌溉执行模块、云端服务器与物联网平台。
首先由数据采集模块采集环境数据,然后通过485通讯Modbus协议传输到核心控制模块树莓派,树莓派中的LSTM神经网络预测模型获取到数据后进行需水量预测,并将气象数据与需水量大小通过自身的无线通讯模块上传到云端服务器,服务器采用HTTP协议将数据内容发送到物联网平台,物联网平台通过MQTT协议改变树莓派GPIO口电平的高低从而控制灌溉执行模块。图2为灌溉系统实物图。
图1 系统框架图Fig. 1 System frame diagram
图2 系统实物图Fig. 2 System physical map
2 灰色关联分析
作物需水量的多少取决于自身的生长发育阶段与外界气象因素,气象因素为主要影响因素[10-11]。
为确定LSTM预测模型的特征输入向量,使用DPS软件以灰色关联方法进行相关分析,选取与作物需水量关联性大的气象因素作为模型的特征输入向量。分析以2017年新疆阿拉尔站点的逐日气象数据与作物需水量为样本数据,其部分数据如表1所示。
表1 部分样本数据Tab. 1 Some sample data
在准备好数据后对各项数据进行灰色关联系数计算与比较,其步骤如下。
1) 根据分析的目的性确定数据的参考序列,本研究为了分析气象因素与作物需水量的关联程度,所以作物需水量为参考序列即母序列记作y′,气象因素为比较序列即子序列记作xi′。
2) 确定评价指标数据序列矩阵,共7个分析指标每个指标有365个数据,所以矩阵为7×365矩阵。
3) 因为各序列数据的物理意义不同,为了更好地进行分析,按照式(2)、式(3)将各序列数据进行无量纲化处理,其中:i=1,2,3,4,5,6;k=1,2,…,365。
(2)
(3)
无量纲化后的序列形成矩阵
(4)
4) 逐一计算参考序列与比较序列每个元素的差值的绝对值记为Q。
Q=|y(k)-xi(k)|
(5)
其中:i=1,2,3,4,5,6;k=1,2,…,365。
5) 确定参考序列与比较序列差值的绝对值最小值与最大值记为Z与W。
(6)
(7)
6) 由式(8)计算每一个气象因素的关联度系数εi(k)。
(8)
式中:ρ——分辨系数,ρ=0.5。
计算出的各气象因素与需水量之间的关联系数如表2所示。
表2 关联系数Tab. 2 Related coefficient
由表2可知各气象因素与需水量之间的关联系数为:X1>X6>X5>X2>X3>X4。由于气压的关联系数相对较小,所以在构建模型时不考虑其影响。
3 LSTM神经网络预测模型
3.1 LSTM模型构建
系统的核心部分为LSTM时间序列预测模型,使用Python语言编写。LSTM指的是长短期记忆神经网络,是循环神经网络RNN的改进,其能够解决RNN在训练过程中容易出现梯度消失的问题[12]。LSTM神经网络通过3个不同的门控制之前信息对当前信息的影响,即遗忘门(forget gate);输入门(input gate);输出门(output gate)。遗忘门决定上一时刻单元状态,输入门决定了当前的网络输入,输出门控制单元的状态[13],其结构图如图3所示。
图3 LSTM结构图Fig. 3 LSTM structure diagram
在每一个时间步t中具体步骤如下。
1) 首先将样本数据传入遗忘门,遗忘门的作用是筛除无用的信息,如式(9)、式(10)所示。
ft=σ(Wf·[ht-1,xt]+bf)
(9)
(10)
式中:ft——遗忘门;
Wf——遗忘门权重系数;
bf——遗忘门偏置项;
σ——sigmoid函数;
ht-1——当前输出值;
Xt——LSTM当前输入值。
ft=σ(Wf·[ht-1,xt]+bf)
(11)
(12)
(13)
式中:it——输入门;
Wc——输入门权重系数;
bc——输入门偏置项。
3) 上一步获得的新的细胞状态Ct作为输出门的初始出入,通过sigmoid函数计算输出值。tanh函数将Ct值缩放到(0,1)区间,然后将得到的值与输出值相乘。计算公式如式(14)、式(15)所示。
Ot=σ(Wo·[ht-1,xt]+bo)
(14)
ht=Ot·tanh(Ct)
(15)
式中:Ot——输出门;
bo——输出门偏置项;
Wo——输出门权重系数。
由灰色关联分析得平均气温、平均风速、相对湿度、日照时数和太阳辐射对作物需水量的影响较大所以模型以这些因素作为特征向量输入,需水量作为目标向量输出,为多输入单输出型神经网络模型。
在数据准备好后各数据间的大小与物理量都不相同为了避免特征输入向量与标签输出向量中的数值大的分量绝对误差大,数值小的分量绝对误差小,将表1中除去气压外其他原始数据按照式(16)做归一化处理。归一化后的数据如表3所示。
(16)
式中:X——归一化后的数据;
Xi——归一化前的数据;
Xmin——处理前数据最小值;
Xmax——处理前数据最大值。
表3 归一化后的部分数据Tab. 3 Normalized part of data
模型构建在PyCharm环境下进行,其流程如图4所示。
图4 LSTM神经网络流程图Fig. 4 LSTM neural network flow chart
损失函数选择均方差(MSE)损失函数,其优点为曲线光滑、连续、处处可导,适用于梯度下降算法[14]。其计算公式如式(17)所示。
(17)
式中:f(x)——预测值;
y——目标值;
n——样本个数。
根据试验数据的特点与模型的架构,模型训练的具体参数设置如表4。
表4 预测模型参数设置Tab. 4 Predictive model parameter setting
确定好上述模型参数后,将训练样本数据输入模型,进行网络训练,由图5可知模型训练的各评测曲线开始整体呈下降趋势,在迭代40次后几乎处于平稳状态网络逐步收敛,到100次停止训练,且均方误差MSE的值收敛到0.01左右,说明模型训练效果较好可以满足训练要求。
图5 训练迭代图Fig. 5 Training iteration map
3.2 LSTM模型预测结果分析
样本数据共365个,其中训练集占85%,验证集占15%即55个样本数据,在模型训练完成后,为了验证模型的准确性,随机选取55个样本数据进行线性拟合分析,与残差分析,并将分析结果与RNN模型对比。
由图6可知LSTM预测模型的拟合情况比RNN更好,拟合系数R2为0.987 2远高于RNN模型的0.834 8。从图7两种模型的预测残差来看,LSTM相较于RNN模型残差值更小更稳定。
图6 模型拟合对比Fig. 6 Model fitting contrast
图7 预测残差对比Fig. 7 Predictive residual contrast
所以LSTM模型的准确性与模型性能更高,更适合用于需水量预测。
4 智能灌溉系统Web平台
4.1 PC端界面设计
为实现环境的远程监测和灌溉开关的远程控制,系统开发了相应的物联网Web平台。平台的开发使用阿里云Web可视化开发,其具有免代码开发、模板丰富等优点。登录阿里云后台,首先创建一个新的Web应用,应用名称为智能灌溉,然后便可以对其进行可视化编辑,页面编辑完成后点击发布即可通过发布的域名进行访问。Web平台的设计主要包括以下两个方面。
1) 实时环境数据显示。如图8所示,物联网云平台的数据中心可显示农田中的实时环境数据,供用户查询。
(a) 空气湿度 (b) 土壤湿度
(c) 土壤温度 (d) 光照强度图8 物联网平台环境监测界面Fig. 8 Internet of Things environmental monitoring platform interface
2) 远程灌溉开关控制。如图9所示,通过灌溉控制页面按钮,用户可以实现对田间电磁阀开关的远程控制。
图9 物联网平台开关控制界面Fig. 9 IoT platform switch control interface
4.2 移动端界面设计
为进一步方便操作人员的使用,系统除了开发PC端物联网平台,同时开发了移动端平台。移动端的开发同样使用阿里云Web可视化开发中的移动应用,移动端平台实现了数据的实时监测以及控制电磁阀的开关等功能。其操作界面如图10所示。
图10 移动端界面Fig. 10 Mobile interface
5 系统功能测试
在系统全部组装完成后,对系统的各项功能进行使用测试。其物联网平台端如图8~图10所示,传感器采集的各项数值显示及控制开关等功能均正常,符合预期的设计要求。
在灌溉决策方面首先LSTM神经网络预测模型根据传感器采集的气象数据预测出当前作物的需水量,然后与土壤湿度传感器采集的土壤湿度换算得出的田间土壤储水量进行比较,当模型预测值大于土壤储水量时,树莓派的GPIO口由低电平转为高电平,电磁继电器通电,电磁阀开始工作,系统进行灌溉。当灌溉到传感器检测的土壤储水量不小于模型预测值时树莓派的GPIO口由高电平转为低电平,电磁继电器断电,灌溉任务完成。若由气象数据预测的需水量小于当前土壤储水量则系统不进行灌溉任务。
田间储水量如式(18)所示[15]。
Q=d·h·c
(18)
式中:Q——土壤储水量,mm;
d——土壤容重,g/cm3;
h——土层厚度,mm;
c——土壤湿度,%。
系统灌溉试验在新疆阿拉尔市,塔里木大学枣树试验基地进行,土壤湿度传感器埋深为30 cm,所以h取300 mm,根据团队前期试验得到的试验数据土壤容重d取1.43 g/cm3[16],土壤湿度由传感器获得。灌溉试验共分为两部分,分别为需水量模型预测准确性试验与系统灌溉决策试验。
将系统放在试验地后,根据传感器在田间采集的气象数据LSTM预测模型便可以预测出作物需水量,将模型预测值与计算值进行比较,结果如表5所示。
由表5知试验组模型预测需水量的绝对误差均在5%以下,且平均绝对误差为3.02%,说明模型的准确性较高,可以满足系统的需求。
在灌溉决策方面对系统进行了5组灌溉试验,试验结果如表6所示。
由表6可知,系统测试可以按照要求进行工作,在模型预测值大于田间储水量时电磁阀开启,系统开始进行灌溉任务,反之电磁阀关闭,系统不进行灌溉。
表5 模型预测试验表Tab. 5 Model prediction testTable
表6 灌溉决策试验表Tab. 6 Irrigation decision experiment form
6 结论
物联网技术是实现现代化农业的重要技术支撑,因此设计实现了基于LSTM作物需水量预测模型的智能灌溉系统。首先以灰色关联分析选取对需水量影响较大的气象因素,然后以气象因素和需水量的预定属性,建立LSTM神经网络预测模型,模型的拟合系数R2为0.987 2,MSE的值收敛到0.01左右,说明LSTM模型的预测准确性较高,可以用于作物需水量的预测。系统模块均可正常工作,开发的物联网平台与手机端移动平台均能满足预定操作要求,在灌溉试验中预测模型的平均绝对误差为3.02%,系统能够根据模型预测值进行决策灌溉,运行较稳定。