一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于动态神经网络的葡萄园精准滴灌控制系统的制作方法

2021-10-27 21:01:00 来源:中国专利 TAG:滴灌 神经网络 葡萄园 精准 控制系统


1.本发明涉及基于动态神经网络的葡萄园精准滴灌控制系统。


背景技术:

2.近年来国内外学者针对葡萄的生长特点进行了大量的灌溉理论研究,提出了限制性非充分灌溉、控制性根系分区交替灌溉等适合于葡萄作业的节水灌溉技术。
3.当选择上述灌溉方法时,葡萄种植者需要考虑许多因素,包括葡萄冠层、土壤资源以及当前生长季节的天气条件。具体地说,要精确分析如降雨(数量、时机)、水分保持情况、作物蒸发量等环境条件,同时还需要精准地确定灌溉的时间、每次灌溉的量。综合来说这些灌溉方法应用的效果取决于灌溉控制的精确性和准确性。
4.在规模化葡萄种植中,滴灌设施基本普及,但控制方法主要是通过人为经验去控制,这类系统都是按照特定的时间间隔进行灌溉,并采用固定的灌溉量,没有合理的农作物参考灌溉值,导致灌溉用水率低。由于它们的开环结构,这些方法不可能保证最佳的灌溉调度决策,这些因素限制了rdi、capri等方法在我国葡萄种植领域的推广。


技术实现要素:

5.本发明的目的在于提供基于动态神经网络的葡萄园精准滴灌控制系统,以解决现有技术中多采用开环控制结构,无法通过自动化方式结合天气、土壤湿度多方面因素预测作物在未来蓄水量,进而难以精准确定未来灌溉的时间的每次灌溉的水量,不可能保证最佳的灌溉调度决策的技术问题。
6.所述的基于动态神经网络的葡萄园精准滴灌控制系统,包括云端精准滴灌控制系统、灌溉设备和多种感应器,多种感应器包括采集天气信息的的微型气象站和部署在作物根系不同深度采集土壤的湿度信息的土壤传感器,所述云端精准滴灌控制系统利用循环神经网络rnn具有内部的自循环细胞并结合长短期记忆网络lstm设计基于rnn

lstm的灌溉需求预测系统,将过去的土壤体积含水量、降水和天气数据作为输入,灌溉需求预测系统输出土壤体积含水量的预测值,预测值通过后处理反转到实际尺度,其中降水为每日降雨量和灌溉深度的总和。
7.优选的,上述灌溉需求预测系统采用的预测方法包括下列步骤:
8.步骤1、采集天气信息、土壤的湿度信息和降水的时序数据;
9.步骤2、对上述时序数据进行数据清理,并进行去季节化和数据分解;
10.步骤3、将上一步骤获取的数据进行预处理,通过计算得到各数据点的z值将数据标准化;
11.步骤4、对于系统的输入和输出之间存在非线性关系的动态系统,通过前向反馈神经网络ffnn实现离散时间建模;在动态系统的建模过程中,通过长短期记忆网络lstm引入了从输入到系统状态的非线性,然后是从系统状态到输出的动态线性,完成作物需水预测模型的建模;
12.步骤5、将步骤3处理后的数据输入上述作物需水预测模型,输出的土壤体积含水量的预测值通过后处理反转到实际尺度;
13.步骤6、将步骤5的预测结果与当前作物需水量和土壤保水量的信息结合使用,以确定灌溉的时间和灌溉量。
14.优选的,所述步骤4中,土壤水分动态可以模拟为一个非线性自回归与外源输入系统narx,公式如下所示:
15.y(t 1)=s[y(f),...,y(t

j),u(t),...,u(t

n),p(t),...,p(t

m)],
[0016]
其中y(t 1)是土壤体积含水量提前一天的预测值,y(t=0...j)是土壤现有和过去含水量在t=0..j时的预测值,u(t=0...n)是t=0..n时的天气输入值,p(t=0...m)是t=0..m时的降水输入值,s是一个非线性函数,用ffnn近似;时间滞后m,n和j是通过实验确定的,网络中隐藏层的数量和每个隐藏层中神经元的数量也被通过实验确定,网络包括一个适当的激活函数的ffnn隐层,采用的非线性激活函数是线性整流函数relu,在建模过程中,将relu非线性应用于隐层,同时采用自适应矩估计adam优化算法将网络损耗降至最低。
[0017]
优选的,所述步骤4中,对于动态系统的建模,lstm引入了从输入到系统状态的非线性,然后是从状态到输出的动态线性,用状态空间的形式表示如下,
[0018]
x(t 1)=nni[x(t)...x(t

k),u(t)...u(t

n),y(t)...y(t

j),p(t)...p(t

m);v]
[0019]
y(t 1)=nivo[x(t 1);w],
[0020]
其中x(t 1)是第t 1天网络状态,x(t=0,...,k)是第t=0,...,k天的网络状态,即现在的网络状态;y(t 1)是提前一天的土壤体积含水量预测值,y(t=0,...,j)是土壤含水量在t时的预测值,u(t=0,...,n)是t时的气候数据输入值,p(t=0,...,m)是t时的降水输入值,v是对应于状态的网络参数集,w是对应于输出的网络参集;通过实验确定了时滞m、n和j,并在训练过程中通过网络隐式学习了状态的时滞k;该网络被设计为一个lstm非线性元件(nni),然后是一个线性输出层(nno);lstm层的数量和每层记忆块的数量也是通过实验确定的;在建模过程中,使用adam优化算法将网络损耗最小化。
[0021]
优选的,所述步骤5中通过lstm模型预测t 1时的土壤体积含水量,灌溉调度的目标是使土壤含水量保持在上限和下限之间;上限定义为现场容量,而下限高于作物永久萎蔫点,系统依据t 1时的土壤体积含水量计算出t 1时的土壤体积含水亏缺量dp
t 1
,灌溉量等于dp
t 1
;对于闭环灌溉调度,灌溉阈值设置在低于作物需水的下限dp
l
的安全点。
[0022]
优选的,所述步骤2的数据清理步骤包括输入缺失值和去除异常值,对由土壤的湿度信息推得的土壤体积含水量和气温数据进行box

cox变换,转换后的数据使用时间序列分解法stl的季节和趋势分解进行去季节化,将土壤体积含水量和气温数据分解为其趋势、季节和残余组分。
[0023]
优选的,所述步骤3中计算得到各数据点的z值,所述步骤5中的后期处理阶段,通过反z分变换、季节分量的加入和反box

cox变换,将土壤水分预测值反转到实际尺度。
[0024]
优选的,本系统还包括pc/app终端,所述pc/app终端用于显示系统采集到的时序数据和土壤体积含水量的预测值,并通过与用户交互让用户自定义所述葡萄园精准滴灌控制的灌溉条件。
[0025]
本发明的技术效果:1、本发明使用诸如土壤体积含水量、降水量和天气测量数据,
基于循环神经网络中的长短期记忆网络建立葡萄作物水需求预测模型,提前一段时间对土壤体积含水量进行精准预测,从而确定灌溉的时间和灌溉量,通过下发指令控制滴灌设备的开启或关闭,实现精确的自动灌溉。
[0026]
2、设计基于rnn

lstm灌溉需求预测系统。该系统只需蒸发、降水和温度的时间序列数据作为模型的输入,并且具有从长期时间序列数据中保存和学习先前信息的能力。这种能力在以土壤体积含水量为基础的灌溉调度中尤其需要,能利用历史数据提高自身的预测可靠性。
附图说明
[0027]
图1为本发明基于动态神经网络的葡萄园精准滴灌控制系统的结构示意图。
[0028]
图2为本发明采用的预测方法的流程图。
[0029]
图3为本发明中app终端显示时序数据时的界面示意图。
[0030]
图4为本发明中app终端与用户交互,让用户选择灌溉条件时的界面示意图。
[0031]
图5为本发明基于动态神经网络的葡萄园精准滴灌控制系统的流程框图。
具体实施方式
[0032]
下面对照附图,通过对实施例的描述,对本发明具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。
[0033]
如图1

5所示,本发明提供了基于动态神经网络的葡萄园精准滴灌控制系统,包括云端精准滴灌控制系统、灌溉设备和多种感应器,多种感应器包括采集天气信息的的微型气象站和部署在作物根系不同深度采集土壤的湿度信息的土壤传感器,所述天气信息包括气温、相对湿度、风速和降雨量。土壤传感器通过模拟接口连接到lora终端,其安装位置分别在土壤的30cm、60cm、90cm深度,一个用于测量地面浅层土壤湿度,一个用于测量主根系土层温度,最深的用于检测灌溉过程中的渗流。数字压力表用于检测滴灌管内的水压,确保灌溉用水可以在稳定的压力下匀速在灌溉到土壤,数字流量计用于精确采集灌溉量以供控制系统判断是否达到了灌溉需求量,两者通过数字输入接口连接到采集终端。微型气象站主要由风速风向传感器、降雨量传感器、温湿度传感器器和光照传感器构成,各传感器采集到的实时天气数据经采集终端汇总后传输给灌溉控制系统,用于计算作物的蒸发蒸腾量,同时作为灌溉量预测的输入数据用于预测灌溉需求量。
[0034]
所述云端精准滴灌控制系统利用rnn(循环神经网络)具有内部的自循环细胞,结合lstm(长短期记忆网络)设计基于rnn

lstm的灌溉需求预测系统,使用气温、相对湿度、土壤体积含水量(即土壤湿度)、风速和降水这些时序数据作为输入,每小时的输入数据重新采样到每天的间隔,将土壤体积含水量的预测值作为输出,土壤体积含水量也被重新取样到其平均日值,对输入数据进行数据清理和标准化再输入到灌溉需求预测系统,输出土壤体积含水量的预测值,预测值通过后处理反转到实际尺度。
[0035]
该系统只需蒸发、降水和温度的时间序列数据作为模型的输入,并且具有从长期时间序列数据中保存和学习先前信息的能力。这种能力在以土壤体积含水量为基础的灌溉调度中尤其需要,因为目前的土壤体积含水量取决于过去的土壤体积含水量、降水和天气
数据,其中降水为每日降雨量和灌溉深度的总和。
[0036]
数据处理方法:上述灌溉需求预测系统中,数据清理步骤包括输入缺失值和去除异常值。用ffnn建模的数据应用的预处理步骤包括土壤体积含水量和气温数据的box

cox变换,以便稳定它们的方差。变换公式如下:
[0037][0038]
转换后的数据使用stl的季节和趋势分解进行去季节化。stl技术将土壤体积含水量和气温数据分解为其趋势、季节和残余组分。
[0039]
此后,趋势和水平的总和被传递到数据预处理的下一步。在下一个数据预处理步骤中,通过计算各数据点的z值进行标准化,公式如下,
[0040][0041]
在后处理阶段,通过反z分变换、季节分量的重新加入和反box

cox变换,将土壤体积含水量的预测值反转到实际尺度。对于lstm,数据预处理步骤包括对降水等天气数据和土壤体积含水量数据的标准化。这是通过计算他们的数据点的z值来完成的。在后期处理阶段,土壤体积含水量的预测值通过反z分数转换回到实际尺度。
[0042]
模型设计:前馈神经网络(feedforward neural networks,ffnn)又称多层感知机(mlp)网络,是通过对神经元进行分层排序,并让每个神经元只接受前一层单元的输出或外部输入作为输入来构建的。
[0043]
上述网络包括外部输入层、隐藏层和输出层,输出层产生网络的输出。隐藏层位于外部输入层和输出层之间。表达ffnn的数学公式如下:
[0044][0045]
为了确定权重的值,网络使用包含输入xi和输出yi对(称为训练集)的例子的数据进行训练。当实输出y是训练集上的一个函数时,选择权值来最小化全局损失函数。该函数衡量预测y的成本。对于包含动态建模任务的回归问题,最小化的成本函数是均方误差,其公式如下:
[0046][0047]
其中是损失函数n是训练例子的个数。使用反向传播算法实现损失函数的最小化和权重的更新。
[0048]
lstm是rnn的一个变种,循环神经网络类似于ffnns,只是在隐藏层中存在神经元的自反馈。这就给了网络记忆功能,它能够从整个序列中学习给定部分的整体序列,也就是说它是一个动态系统。
[0049]
隐藏节点和输出节点的计算按如下的公式进行:
[0050]
h
t
=tan h(b
h
wh
t
‑1 ux
t
)
[0051]
y
t
=b
o
vh
t
[0052]
其中x
t
是时间t的输入向量,h
t
‑1是时间t

1的隐单元状态,b0和b
h
是向量化偏差项,u、w、v分别是输入层到隐藏层、隐藏层到隐藏层和隐藏层到输出层的连接权重矩阵。损失函数计算为每个时间步长的总损失,梯度信息通过反向传播(bptt)计算。
[0053]
然而,由于梯度消失问题,bptt无法从长期依赖中学习模式,因此会出现梯度爆炸和梯度消失问题。为解决这一问题,hochreiter和schmidhuber提出了ltsm方法,该方法通过引入新的内部状态和门机制,能够通过在特殊的乘法单元内通过恒定的误差传送带强制执行恒定的误差流,从而解决梯度爆发或消失的问题。这些单元通过学习如何打开或关闭网络中的门来调节网络中的错误流。恒定的错误传送带(cecs)和乘法和门单元形成lstm的存储块。
[0054]
作为一种特殊的rnn网络,lstm包含了1个控制应该丢弃哪些信息的门,即遗忘门(forgetgate)。其次,为了避免梯度消失问题,在计算隐含层状态时,用求和代替梯度导数。因此,理论上lstm具有解决长期问题的能力。在本设计,lstm网络是由3个部分组成的,即1个输入层用于处理数据,50个隐藏层用于训练和建模,1个输出层用于输出建模结果。模型的核心部分即lstm节点主要由3个部分组成,分别是输入门、输出门和遗忘门。
[0055]
其中遗忘门控制丢弃的信息,主要计算公式如下:
[0056]
f
t
=σ(w
f
x
t
u
f
h
t
‑1 h
f
)
[0057]
式中,f
t
的范围为[0,1],σ函数使得方程非线性化,更接近实际值从而提高预测精度。w
f
和b
f
分别为遗忘门的权重和偏差参数。h
t
‑1和x
t
为上一状态值和当前输入值。
[0058]
输入门的功能是控制输入到当前单元中的信息,其状态更新如公式如下:
[0059]
i
t
=σ(w
i
x
t
u
i
h
t
‑1 b
i
)
[0060][0061]
式中,i
t
由σ激活函数控制输入数据,如果其值为0,表示输入数据被完全阻塞,如果值为1,则表示完全允许数据进入门中。细胞状态由负责,它的激活函数是tanh。w
i
和b
i
表示激活函数的权重和偏差参数,w
c
和b
c
表示细胞状态方程的权重和偏差参数。
[0062]
输入门经过运算的数据,需要更新到细胞状态中,更新公式为:
[0063][0064]
式中,代表遗忘的信息,代表需要更新到当前细胞状态的信息,两者之和共同决定向下一个状态传递的信息量。
[0065]
lstm网络结构的最后一部分是输出门,其更新公式为:
[0066]
σ
t
=σ(w
o
x
t
u
o
h
t
‑1 b
o
)
[0067][0068]
式中,σ
t
表示激活函数的输出,由σ函数决定,同时更新后的细胞状态值c
t
在tanh函数作用下,与传递函数o
t
的乘积作为向下一个单元输出的内容,w0和b0表示激活函数的权重和偏差参数。
[0069]
经过上述lstm单元的运算后,输出的信息能够被存储,也能够进入下一个节点进
行运算,从而在训练过程中提取出信息。
[0070]
由上可知,ffnn可以直接用于离散时间建模,理论上lstm具有解决长期问题的能力。本发明中的灌溉需求预测系统为输入和输出之间存在非线性关系的动态系统,土壤水分动态可以模拟为一个非线性自回归与外源输入系统(narx),公式如下所示:
[0071]
y(t 1)=s[y(t),

,y(t

j),u(t),

,u(t

n),p(t),

,p(t

m)]
[0072]
其中y(t 1)是提前一天的土壤体积含水量预测值,y(t=0,...,j)是土壤含水量在t时的预测值,u(t=0,...,n)是t时的气候数据输入值,p(t=0,...,m)是t时的降水输入值,s是一个非线性函数,用ffnn近似。其中表示相应时间滞后量的m,n和j是通过实验确定的。网络中隐藏层的数量和每个隐藏层中神经元的数量也被通过实验确定。土壤水分预测是一个回归问题,因此,需要设置一个适当的激活函数的ffnn隐层。对于回归问题,最稳健的非线性激活函数是relu(线性整流函数),它提供了更容易的优化,更快的收敛性和更好的泛化,并且具有较高的计算效率。在建模过程中,将relu非线性应用于隐层,同时采用adam(自适应矩估计)优化算法将网络损耗降至最低。
[0073]
对于动态系统的建模,lstm引入了从输入到系统状态的非线性,然后是从系统状态到输出的动态线性。这可以用状态空间的形式表示如下:
[0074]
x(t 1)=nni[x(t)...x(t

k),u(t)...u(t

n),y(t)...y(t

j),p(t)...p(t

m);v]
[0075]
y(t 1)=nno[x(t 1);w]
[0076]
其中x(t 1)是第t 1天网络状态,x(t=0,...,k)是第t=0,...,k天的网络状态,即现在的网络状态;y(t 1)是提前一天的土壤体积含水量预测值,y(t=0,...,j)是土壤含水量在t时的预测值,u(t=0,...,n)是t时的气候数据输入值,p(t=0,...,m)是t时的降水输入值,v是对应于状态的网络参数集,w是对应于输出的网络参集。
[0077]
通过实验确定了时间滞后量m、n和j,并在训练过程中通过网络隐式学习了状态的时间滞后量k。该网络被设计为包括一个lstm的非线性元件nni,以及一个线性输出层nno。lstm层的数量和每层记忆块的数量也是通过实验确定的。在建模过程中,使用adam优化算法将网络损耗最小化,最终完成作物需水预测模型的建模。
[0078]
灌溉量的精准预测:
[0079]
灌溉调度的目标是使土壤含水量保持在上限和下限之间。上限通常定义为现场容量,而下限是略高于作物永久萎蔫点。在灌溉过程中,通常的做法是将植物根系保留的水量表示为土壤水的等效深度(即毫米水),其公式如下所示:
[0080]
w
r
=1000θz
r
[0081]
其中θ表示土壤的体积含水量,z
r
为以米为单位的作物根系土层厚度,w
r
为土壤含水量的等效表示。
[0082]
t时刻的水分亏缺(dp
t
)公式定义如下:
[0083]
dp
t
=w
r,fc

w
r,t
[0084]
其中w
r,fc
是田间持水量的毫米等效表示,w
r,t
是t时刻的土壤含水量。
[0085]
作物需水的下限公式如下:
[0086]
dp
l
=w
r,fc

w
r,lb
[0087]
w
r,lb
=w
r,fc

mad(w
r,fc

w
r,pwp
)
[0088]
其中mad为作物田间管理允许的水量损失,w
r,pwp
为作物永久萎蔫点。使用lstm模型能够预测t 1时的土壤体积含水量,则可以很容易地计算出t 1时的土壤体积含水量赤字dp
t 1
。灌溉量计算为将补充水分亏缺到上限即灌溉量等于dp
t 1
。对于闭环灌溉调度,灌溉阈值设置在低于dp
l
的安全点。图5给出了建精准灌溉控制系统的流程框图,将土壤水分、降水、灌溉和天气数据作为输入应用到训练有素的lstm模型中,以便生成土壤体积含水量的预测。然后将预测的土壤含水量与作物需水量和土壤保水量的信息结合使用,以确定灌溉时间和灌量。
[0089]
为了评价土壤含水量预测训练模型的性能,本系统将决定系数r2、均方根误差(rmse)和平均绝对误差(mae)作为模型评价标准,其公式为:
[0090][0091][0092][0093]
式中:为体积含水量的模型预测值(%),y为其观测值(%),y为观测水分含量的平均值(%),n为观测次数。mae为绝对误差的平均值(%),可以反映预测值与真实值误差的实际情况;rmse(%)可以衡量观测值与真实值之间的偏差,其值越小,预测模型的精度越高;r2为方差的算数平方根,用于衡量数值间的离散程度。上述模型建模后进行试运行,经过一段时间后当模型的性能达到设定的模型评价标准则能够正式投入运行进行精准自动灌溉。
[0094]
部署在云端的滴灌控制系统从微型气象站采集葡萄园的温度、空气温度、风速风向、降雨量等天气信息计算作物的蒸发蒸腾量,使用部署在作物根系不同深度的土壤传感器采集土壤的湿度信息,并将采集来的信息作为基于rnn

lstm葡萄作物需水量预测智能算法的输出,进而精准预测作物的需水量,并把预测结果反馈到pc/app终端。用户可以在pc/app终端根据预测出的需水量结果以及参考其他影响农作物生长的因素自定义灌溉条件,系统自动判别用户设定的条件,将判别的结果实时反馈给云端智能控制系统,系统根据结果下发开关指令,控制灌溉设备的开启与关闭,进而实现精准自动灌溉。用户也可以通过pc/app终端手动控制开关下发指令到系统进行控制灌溉,灌溉过程中采集的实时数据通过图形化的方式展示给用户。
[0095]
上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的发明构思和技术方案进行的各种非实质性的改进,或未经改进将本发明构思和技术方案直接应用于其它场合的,均在本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜