本发明涉及土壤成分监测领域,尤其涉及一种土壤含水率和含氮量监测方法、装置、设备及存储介质。
背景技术:
土壤养分的原位、实时、在线监测能够为农业生产中的水肥一体化灌溉提供精准的数据,同时也能够有效地减少化肥使用量及减少农田污染。但目前土壤养分的田间在线监测技术的实现还存在许多难题亟待解决。这是由于土壤既是一种非均质的、多相的、分散的、颗粒化的多孔系统,又是一个由惰性固体、活性固体、溶质、气体以及水组成的多元复合系统。土壤的物理特性非常复杂,空间变异性非常大,使得土壤理化参数的田间在线测量具有一定的难度,而其中土壤水分和氮磷钾养分含量是尤为重要的指标,不仅关系到作物的生长发育,也关系到土壤生态及食品安全,是农业生产全过程都要监测的重要参数。
现有技术中土壤水分的田间在线监测已经可以物理实现了,但普遍存在监测不准确的问题。同时,土壤养分的田间原位、实时、在线监测目前在国内外还是空白。传统的土壤成分化学分析方法和光谱分析技术,均因过程复杂、周期长、成本高、实时性差而无法应用于农业物联网中,也很难推广应用于实际的农业生产中。现有的监测设备更无法实现土壤含水率和含氮量两个参量同时在线监测,如果采用两套设备分别进行两个参量的田间监测会导致成本提高而且影响农业生产的问题。
技术实现要素:
本发明实施例提供一种土壤含水率和含氮量监测方法、装置、设备及存储介质,用以解决现有技术中无法对土壤含水率和含氮量两个参量同时在线监测的问题。
第一方面,本发明实施例提供一种土壤含水率和含氮量监测方法,包括:
测量待测土壤对应的电压值、电阻值和电容值;
将所述电压值、所述电阻值和所述电容值输入土壤含水率和含氮量预测模型,输出所述待测土壤对应的含水率和含氮量;
其中,所述土壤含水率和含氮量预测模型为,以监测到的土壤样本的电压值、电阻值和电容值为训练样本,以所述土壤样本对应的含水率和含氮量为训练标签进行训练得到。
可选地,所述方法还包括:
将采集得到的土壤进行烘干处理,得到土壤原始样本;
将不同特定含量的尿素与水混合配成溶液,分别与特定含量的所述土壤原始样本进行混合并搅拌均匀,配制成多组土壤待处理样本,并测定所述多组土壤待处理样本各自的含氮量;
将土壤水分测量传感器安装在所述土壤待处理样本中,对所述多组土壤待处理样本分别进行排空气处理,得到多组所述土壤样本;
对于多组土壤样本中的每一组,间隔固定时间测量所述土壤样本当前的电压值、电阻值、电容值和含水率,直至所述土壤样本的含水率下降至预设值。
可选地,所述间隔固定时间测量所述土壤样本当前的电压值、电阻值、电容值和含水率,包括:
对所述土壤样本称重,获取所述土壤样本当前的重量;
根据所述土壤样本当前的重量和对应的土壤原始样本的重量得到所述土壤样本当前的含水率;
使用土壤水分测量传感器,测量得到所述土壤样本在当前土壤的含水率条件下,所述土壤水分测量传感器的检测电路输出的电压值;
使用电桥测试电路,测量得到所述土壤样本在当前土壤的含氮量条件下,所述电桥测试电路输出的电阻值和电容值。
可选地,对所述多组土壤待处理样本分别进行排空气处理,包括:
对于所述多组土壤待处理样本中的每一组,分层装入容器中,砸实每层待处理土壤样本,直至所述土壤待处理样本整体装入所述容器中。
可选地,所述将所述电压值、所述电阻值和所述电容值输入土壤含水率和含氮量预测模型,输出所述待测土壤对应的含水率和含氮量,包括:
将所述待测土壤对应的电压值、电阻值和电容值由所述土壤含水率和含氮量预测模型的输入层经过加权求和传递至所述土壤含水率和含氮量预测模型的隐藏层,隐藏层再通过激活函数将输入层传来的经过加权求和的值进行非线性变换后,作为所述土壤含水率和含氮量预测模型的输出层的输入数据,通过加权求和导入输出层作为结果,输出待测土壤对应的含水率和含氮量。
可选地,所述输入层的表达式为x=[u,r,c],u为土壤水分传感器监测到的土壤样本电压值,r为土壤样本电阻值,c为土壤样本电容值;x表示由ui、r、c和m个样本组成的m×3的输入矩阵,其中i=[1,...,m];
所述隐藏层的表达式为zi=wix bi,式中wi表示上层各神经元输入到后一层各神经元中所做贡献的n*k权值矩阵(n为上层神经元个数,k表示下层神经元个数),初始值为随机值;bi表示每层的偏置量,其大小为m*k的矩阵,初始值为0;zi表示根据两层之间的权值wi对上层神经元进行累加求和运算结果加上对应的偏置量bi的m*k矩阵;
所述激活函数的公式为yi=f(zi)=max(0,zi),f表示激活函数,yi表示各层神经元对zi进行非线性变换的relu激活函数求解结果的m*k矩阵;
所述输出层表达式为wcspre=wi 1yi bi 1,wcspre为x经过土壤含水率和含氮量预测模型计算的土壤水分含量及含氮量预测值。
可选地,所述方法还包括:
基于所述土壤含水率和含氮量预测模型输出的含水率及含氮量与实际土壤含水率及含氮量数据之间的误差,逐层对所述输出层、所述隐藏层和所述输入层的每层神经元的参数进行更新,修正网络权值和阈值使误差函数沿负梯度方向下降;
直到所述土壤含水率和含氮量预测模型的输出值与其对应的真实值之间的误差达到预先设定的阈值范围内,训练结束;
其中,所述误差的表达式如下:
wcspre表示土壤含水率和含氮量预测模型输出的第i个测试样本的预测值,wcsmv是第i个测试样本的真实值。
第二方面,本发明实施例提供一种土壤含水率和含氮量监测装置,包括:
参数测量模块,用于测量待测土壤对应的电压值、电阻值和电容值;
监测模块,用于将所述电压值、所述电阻值和所述电容值输入土壤含水率和含氮量预测模型,输出所述待测土壤对应的含水率和含氮量;
其中,所述土壤含水率和含氮量预测模型为,以监测到的土壤样本的电压值、电阻值和电容值为训练样本,以所述土壤样本对应的含水率和含氮量为训练标签进行训练得到。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述土壤含水率和含氮量监测方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述土壤含水率和含氮量监测方法的步骤。
本发明实施例提供的土壤含水率和含氮量监测方法、装置、设备及存储介质,通过基于机器学习的模型计算方法,实现了对土壤含水率和含氮量两个参量同时在线监测。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明土壤含水率和含氮量监测方法实施例流程图;
图2为本发明土壤含水率和含氮量监测方法另一实施例流程图;
图3为本发明土壤含水率和含氮量监测方法又一实施例流程图;
图4为本发明土壤含水率和含氮量监测装置实施例结构示意图;
图5为本发明电子设备实施例结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的一个实施例中,提供一种土壤含水率和含氮量监测方法,结合附图1进行详细说明,漏洞处理方法包括:
步骤s110,测量待测土壤对应的电压值、电阻值和电容值。
具体地,本实施例中所称的待测土壤是指有待检测含水率和含氮量两个参量的土壤环境。测量待测土壤对应的电压值、电阻值和电容值可以使用任何具有相应功能的测试仪器或测试电路进行测量,本发明实施例不做具体限定。
其中,测量待测土壤对应的电压值,可以通过使用特定的测试仪器或测试电路的方式测量土壤含水率,而测试仪器或测试电路往往会输出具体的电压值来表征土壤含水率的水平。同时,测量待测土壤对应的电阻值和电容值,也可以通过使用特定的测试仪器或测试电路的方式测量土壤的含氮量,而测试仪器或测试电路往往会输出具体的电压值来表征土壤含氮量的水平。
步骤s120,将所述电压值、所述电阻值和所述电容值输入土壤含水率和含氮量预测模型,输出所述待测土壤对应的含水率和含氮量。
具体地,本发明实施例根据步骤s110所测量得到的待测土壤对应的电压值、电阻值和电容值,采用了一种土壤含水率和含氮量预测模型来计算得到待测土壤对应的含水率和含氮量,属于一种基于机器学习的模型计算方法。基于机器学习的模型计算方法常用来分析与处理影响因素多、关系复杂的系统,能够灵活处理高度非线性动态关系的序列问题。鉴于基于机器学习的模型计算方法在工业界的重要性及其性能上的优越性,将其应用于本发明实施例中同时对含水率和含氮量进行监测。
此处,土壤含水率和含氮量预测模型为预先训练好的模型,用于基于输入的待土壤的电压值、电阻值和电容值,输出待测土壤的含水率和含氮量。此处,所输出的含水率可以是一个具体的百分比数值,所输出的含氮量可以是一个具体的常数数值。此外,含水率和含氮量的数值精度可以根据测量仪器的精度以及模型计算的精度等实际情况确定,本发明实施例对此不作具体限定。
进一步地,所述土壤含水率和含氮量预测模型为,以监测到的土壤样本电压值、电阻值和电容值为训练样本,以所述土壤样本对应的含水率和含氮量为训练标签进行训练得到;
具体地,在执行步骤s120之前,还可以通过预先的模型训练过程得到土壤含水率和含氮量预测模型,具体可通过如下方式训练得到土壤含水率和含氮量预测模型:首先,收集大量土壤样本,且每一份土壤样本均包含对应的电压值、电阻值、电容值、含水率和含氮量等五个参数,不同样本之间的参数不同。基于土壤样本对应的电压值与土壤样本的含水量高度相关、而土壤样本对应的电阻值和电容值与含氮量高度相关的事实,以监测到的土壤样本的电压值、电阻值和电容值为训练样本,以所述土壤样本对应的含水率和含氮量为训练标签对土壤含水率和含氮量预测模型进行训练,得到训练好的土壤含水率和含氮量预测模型。
本实施例提供的土壤含水率和含氮量监测方法,通过基于机器学习的模型计算方法实现了对土壤含水率和含氮量两个参量同时在线监测。
在上述本发明实施例的基础上,在对土壤含水率和含氮量预测模型进行训练之前,需要生成训练模型所需的训练数据,结合附图2进行详细说明,所述土壤含水率和含氮量监测方法还包括:
步骤s010,将采集得到的土壤进行烘干处理,得到土壤原始样本;
具体地,为了生成训练模型所需的训练数据,即土壤样本及其相关参数,本步骤中首先需要采集得到土壤,详细的步骤可以是选择采样的土壤区域,选取同一采样区域内表层状况相似的点,采集土壤表层下20~40cm处的土壤,将采集的土壤记录并装入密封袋中,记录采集土壤样本点的经纬度坐标。
在采集得到土壤后,需要制作土壤原始样本。土壤中往往存在较多杂质,而杂质不是在研究田间监测的关注对象,因此通过对土壤进行研细后过筛,可以筛掉特定孔径大小以上的杂质,例如孔径大小为1mm以上的杂质。除杂后的土壤需要进行烘干后才能作为土壤原始样本,烘干的目的是为了去除土壤中原有的水分,从而不影响后续步骤中对土壤的含水率的定量分析。对土壤进行烘干可以将土壤样品置于105℃下用烘箱烘干至恒重,此时土壤有机质不会分解,而土壤中的自由水和吸湿水全被驱除。对土壤进行烘干处理也可以采用其他烘干方法,本发明实施例对此不作具体限定。
步骤s020,将不同特定含量的尿素与水混合配成溶液,分别与特定含量的所述土壤原始样本进行混合并搅拌均匀,配制成多组土壤待处理样本,并测定所述多组土壤待处理样本各自的含氮量;
在土壤原始样本的基础上,需要对土壤的含水率和含氮量进行精确的配比。本步骤中,将特定量的尿素与特定量的水混合配成溶液,与特定量的土壤原始样本进行混合并搅拌均匀,生成土壤待处理样本。上述步骤的具体执行可以为,称取特定量的土壤原始样本倒入铁盆中平整摊匀后,与上述溶液进行混合处理。由于土壤原始样本中的含水率为0,经过与特定量的水混合后,土壤待处理样本当前的含水率是一个确定的值,后续含水率会随着水分的挥发而变化。而尿素中含氮量固定为46%,因此,基于特定量的尿素,土壤待处理样本中的含氮量也可以认为是一个确定的值,而且后续含氮量的数值不会随着水分的挥发而变化。按照上述方法,可以生成一组土壤待处理样本。
由于对土壤含水率和含氮量预测模型进行训练需要大量不同参数的土壤样本,因此,本步骤中需要将不同特定含量的尿素与水混合配成溶液,分别与特定含量的所述土壤原始样本进行混合并搅拌均匀,配制成多组待处理的土壤样本,并测定所述多组待处理土壤样本各自的含氮量。这样就生成了多组土壤待处理样本。测试含氮量的装置可以使用凯氏定氮仪等仪器,本发明实施例不作特别的限定。
步骤s030,将土壤水分测量传感器安装在所述土壤待处理样本中,对所述多组土壤待处理样本分别进行排空气处理,得到多组所述土壤样本;
具体地,土壤是一种分散颗粒化的多孔系统,也是一个由惰性固体、活性固体、溶质、气体以及水组成的多元复合系统,其中的气体主要为土壤中的空气,其存在会导致参数测量时的不准确,因此,本步骤对所述多组土壤待处理样本分别进行排空气处理。
进一步地,对所述多组土壤待处理样本分别进行排空气处理,包括:对于所述多组土壤待处理样本中的每一组,分层装入容器中,砸实每层待处理土壤样本,直至所述土壤待处理样本整体装入所述容器中。
具体地,对于每一组土壤待处理样本,可以使用筒状化纤口袋套在pvc(polyvinylchloride)桶内,用于前期土壤水分含量较高时固定土柱形状。然后将全部待测土壤分层装入所述桶中,每层土壤装入时用实心柱棒砸实,挤出土壤中的空气。对于多组土壤待处理样本中的每一组,分别进行上述操作,得到多组土壤样本。
步骤s040,对于多组土壤样本中的每一组,间隔固定时间测量所述土壤样本当前的电压值、电阻值、电容值和含水率,直至所述土壤样本的含水率下降至预设值。
具体地,对于多组土壤样本中的每一组,随着土壤样本中的水分逐渐挥发,土壤样本在不同时刻的参数也会随之变化。因此,间隔固定时间测量所述土壤样本的参数,会在初始生成的每组土壤样本的基础上再获取到一定数量的土壤样本,达到了增加不同含水率、不同含氮量的样本的数量。本步骤中间隔的固定时间的长度可以根据实际需求确定,例如每小时测量一次,本发明实施例不作具体限定。
具体地,由于每一组土壤样本的尿素含量是确定的,因此认为土壤样本中的含氮量也是确定的。因此,在本步骤中,只需要间隔固定时间测量土壤样本的电压值、电阻值、电容值和含水率四个参数的值。
对于每组样本而言,上述动态测量工作的终止条件是土壤样本的含水率下降至预设值,代表所述土壤样本的含水率参数不再符合本发明实施例对土壤样本的需求。
进一步地,所述间隔固定时间测量所述土壤样本当前的电压值、电阻值、电容值和含水率,包括:
对所述土壤样本称重,获取所述土壤样本当前的重量;
根据所述土壤样本当前的重量和对应的土壤原始样本的重量得到所述土壤样本当前的含水率;
使用土壤水分测量传感器,测量得到所述土壤样本在当前土壤的含水率条件下,所述土壤水分测量传感器的检测电路输出的电压值;
使用电桥测试电路,测量得到所述土壤样本在当前土壤的含氮量条件下,所述电桥测试电路输出的电阻值和电容值。
具体地,由于土壤原始样本中的含水率为0,故土壤样本当前的重量与土壤原始样本相比,多出来的重量即为土壤样本中的水分重量。因此,对土壤样本进行称重,同时也需要在土壤原始样本时记录其重量,即可计算出土壤样本当前的含水率。
具体地,本步骤采用土壤水分测量传感器测量土壤样本对应地电压值。土壤水分测量传感器可以是任何具有土壤水分参数测量功能的测量仪器,本发明实施例不作具体限定。土壤水分测量传感器通常具有感知探头,受土壤水分的影响其特征阻抗发生变化,而感知探头作为土壤水分测量传感器检测电路的关键敏感器件使得检测电路的输出值发生明显变化,一般通过电压信号的变化来体现。因此,使用土壤水分测量传感器,可以测量得到所述土壤样本在当前土壤的含水率条件下,所述土壤水分测量传感器的检测电路输出的电压值。实际使用时可以将传感器立置于土壤样本中。
具体地,本步骤采用电桥测试电路测量土壤样本对应的电阻值和电容值。尽管土壤样本对应的电阻值和电容值与土壤样本含氮量是高度相关的,而对于一组土壤样本而言其含氮量是通过尿素的使用量所确定的,但实际土壤样本当前的电阻值和电容值还是会受到土壤样本环境的其它因素所扰动,因此需要对土壤样本当前对应的电阻值和电容值进行测量。本步骤提到的电桥测试电路也可以是包含电桥测试功能的测量仪器,能够实现测量土壤样本当前对应的电阻值和电容值即可,本发明实施例不作任何限定。
举例说明,本实施中生成训练模型所需的训练数据的过程可以为如下过程。
采集土壤,所用土壤取自中国农业大学(东校区)附近(北纬40°,东经116°)地表下20~40cm土壤,土壤粒径组成为粗粒68.6%,粉粒25%和粘粒6.4%的砂质壤土,风干以1mm孔径过筛后置于105℃恒温的101-2型电热恒温鼓风干燥箱中干燥12小时待土壤温度降至室温,剔除土壤以外的杂质,研细后过筛,以1mm的土壤作为土壤样本,通过烘干法处理,分别称取10kg重量编号,获得土壤原始样本;
然后根据土壤原始样本制作不同含水率、不同含氮量的土壤样本,主要步骤如下:
(1)称取所述土壤样本倒入直径为50cm高20cm的铁盆中平整摊匀,将尿素(尿素含氮量46%)与自来水混合配成的一定百分比浓度的溶液与所述烘干土混合,搅拌均匀制成饱和含水率的土壤待处理样本;
(2)使用长为15cm筒状化纤口袋套在直径为15cm深度为20cm的pvc桶内,用于前期土壤水分含量较高时固定土柱形状;将所述传感器立于所述桶中心,将全部待测土壤分层装入所述桶中,并在每层土壤装入时都用实心柱棒砸实,目的是挤出土壤中的空气,得到土壤样本;
(3)当全部待测土壤装入所述的桶中砸实后即完成所述土壤样本的制备,将已安装测量装置的所述桶称重,记录总重量并计算初始土壤含水率;
(4)所述测量装置开机,所述土壤水分测量传感器的电压输出自动上传云平台,采样周期为1小时,采用lcr电桥测试仪检测所述土柱的电阻r、电容c,采用四端开尔文测试电缆将所述土壤水分测量传感器与所述测试仪连接;采用称重法监测含水率的变化,每隔1小时1次;
(5)约1周后,土壤质量含水率约下降至20%时,土柱形状基本固定,将所述土柱连同所述化纤口袋从所述的桶中取出,自然风干至土壤重量含水率接近1%,监测结束,共记录m组数据,并对数据进行相应的预处理,使得电压值、电阻值和电容值等参数位于相同或相近的数量级中,方便土壤含水率和含氮量预测模型的后续计算;
(6)改变尿素含量,重新配制土壤样本,重复上述步骤,获取多组土壤样本及其参数值,作为土壤含水率和含氮量预测模型的训练数据。
本发明实施例提供的土壤含水率和含氮量监测方法,通过制作大量不同含水率、不同含氮量的土壤样本,并测量其参数作为训练数据,满足了土壤含水率和含氮量预测模型的训练要求。
本发明实施例巧妙地应用传感器硬件 机器学习软件模型组合方式,不仅填补了氮含量田间在线监测的空白,而且达到地降低了监测成本提高了农业生产效率,势必为我国数字农业发展提供了精准的传感关键技术。
在上述本发明实施例的基础上,提供一种土壤含水率和含氮量监测方法,结合附图3进行详细说明,所述将所述电压值、所述电阻值和所述电容值输入土壤含水率和氮含量检测模型,输出所述待测土壤对应的含水率和含氮量,包括:
将所述待测土壤对应的电压值、电阻值和电容值由所述土壤含水率和氮含量检测模型的输入层经过加权求和传递至所述土壤含水率和氮含量检测模型的隐藏层,隐藏层再通过激活函数将输入层传来的经过加权求和的值进行非线性变换后,作为所述土壤含水率和氮含量检测模型的输出层的输入数据,通过加权求和导入输出层作为结果,输出待测土壤对应的含水率和含氮量。
其中,所述输入层的表达式为x=[u,r,c],输入层中u为土壤水分传感器监测到的土壤样本电压值,r为土壤样本电阻值,c为土壤样本电容值;x表示由ui、r、c和m个样本组成的m×3的输入矩阵,其中i=[1,...,m];
所述隐藏层的表达式为zi=wix bi,式中wi表示上层各神经元输入到后一层各神经元中所做贡献的n*k权值矩阵(n为上层神经元个数,k表示下层神经元个数),初始值为随机值;bi表示每层的偏置量,其大小为m*k的矩阵,初始值为0;zi表示根据两层之间的权值wi对上层神经元进行累加求和运算结果加上对应的偏置量bi的m*k矩阵,其中隐藏层的层数可以为4,本发明实施例不作具体限定;
所述激活函数的公式为yi=f(zi)=max(0,zi),f表示激活函数,yi表示各层神经元对zi进行非线性变换的relu激活函数求解结果的m*k矩阵;
所述输出层表达式为wcspre=wi 1yi bi 1,wcspre为x经过土壤含水率和含氮量预测模型计算的土壤水分含量及含氮量预测值。
具体地,构建土壤含水率和氮含量检测模型过程中输入层、隐藏层和输出层中数据前向传播的计算公式如下:
(a)输入层:
x=[ui,r,c]
(b)隐藏层
隐藏层1:
z1=w1x b1
y1=max(0,z1)
隐藏层2:
z2=w2y1 b2
y2=max(0,z2)
隐藏层3:
z3=w3y2 b3
y3=max(0,z3)
隐藏层4:
z4=w4y3 b4
y4=max(0,z4)
(c)输出层:
wcspre=w5y4 b5
进一步地,本发明实施例中对土壤含水率和氮含量检测模型进行训练的过程中,除了利用上述模型中数据的前向传播过程获取模型输出外,还需要明确模型训练的收敛条件,因此所述方法还包括:
基于所述土壤含水率和含氮量预测模型输出的含水率及含氮量与实际土壤含水率及含氮量数据之间的误差,逐层对所述输出层、所述隐藏层和所述输入层的每层神经元的参数进行更新,修正网络权值和阈值使误差函数沿负梯度方向下降;
直到所述土壤含水率和含氮量预测模型的输出值与其对应的真实值之间的误差达到预先设定的阈值范围内,训练结束;
其中,所述误差的表达式如下:
wcspre表示土壤含水率和含氮量预测模型输出的第i个测试样本的预测值,wcsmv是第i个测试样本的真实值。
具体地,根据上述误差计算公式,逐层对所述输出层、所述隐藏层和所述输入层的每层神经元的参数进行更新,土壤含水率和含氮量预测模型的数据反向传播过程包括:
对于输出层:
对于隐藏层:
隐藏层4:
其中
隐藏层3:
其中
隐藏层2:
其中
隐藏层1:
其中
权值更新:
w1=w1-αδ1x
b1=b1-αδ1
w2=w2-αδ2y1
b2=b2-αδ2
w3=w3-αδ3y2
b3=b3-αδ3
w4=w4-αδ4y3
b4=b4-αδ4
w5=w5-αδ5y4
b5=b5-αδ5
其中α为学习率,取值可以为10-3;
最后采用均方根误差作为最终模型的评估方法,表达式如下:
直到前向传播最终的输出值与其对应的实际标签值之间的误差达到预先设定的阈值范围内,训练结束。后续可以将训练好的模型进行编程并嵌入相应的监测装置和平台中,实时监测被测的土壤区域的含水率和含氮量。
本发明实施例提供的土壤含水率和含氮量监测方法,通过明确模型训练过程,具体为模型中数据前向传播和反向传播的过程,以生成出符合监测需求的土壤含水率和含氮量预测模型。
在本发明的一个实施例中,提供一种土壤含水率和含氮量监测装置,详细结合附图4进行说明,土壤含水率和含氮量监测装置包括:
参数测量模块410,用于测量待测土壤对应的电压值、电阻值和电容值;
具体地,本实施例中所称的待测土壤是指有待检测含水率和含氮量两个参量的土壤环境。测量待测土壤对应的电压值、电阻值和电容值可以使用任何具有相应功能的测试仪器或测试电路进行测量,本发明实施例不做具体限定。
其中,测量待测土壤对应的电压值,可以通过使用特定的测试仪器或测试电路的方式测量土壤含水率,而测试仪器或测试电路往往会输出具体的电压值来表征土壤含水率的水平。同时,测量待测土壤对应的电阻值和电容值,也可以通过使用特定的测试仪器或测试电路的方式测量土壤的含氮量,而测试仪器或测试电路往往会输出具体的电压值来表征土壤含氮量的水平。
监测模块420,用于将所述电压值、所述电阻值和所述电容值输入土壤含水率和含氮量预测模型,输出所述待测土壤对应的含水率和含氮量;
具体地,本发明实施例根据参数测量模块410测量得到的待测土壤对应的电压值、电阻值和电容值,采用了一种土壤含水率和含氮量预测模型来计算得到待测土壤对应的含水率和含氮量,属于一种基于机器学习的模型计算方法。基于机器学习的模型计算方法常用来分析与处理影响因素多、关系复杂的系统,能够灵活处理高度非线性动态关系的序列问题。鉴于基于机器学习的模型计算方法在工业界的重要性及其性能上的优越性,将其应用于本发明实施例中同时对含水率和含氮量进行监测。
进一步地,所述土壤含水率和含氮量预测模型为,以监测到的土壤样本的电压值、电阻值和电容值为训练样本,以所述土壤样本对应的含水率和含氮量为训练标签进行训练得到。
本实施例提供的土壤含水率和含氮量监测装置,通过基于机器学习的模型计算方法实现了对土壤含水率和含氮量两个参量同时在线监测。
下面对本发明实施例提供的一种电子设备进行描述,详细结合附图5进行说明,电子设备包括:
处理器(processor)510、通信接口(communicationsinterface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行例如如下方法:测量待测土壤对应的电压值、电阻值和电容值;将所述电压值、所述电阻值和所述电容值输入土壤含水率和含氮量预测模型,输出所述待测土壤对应的含水率和含氮量;其中,所述土壤含水率和含氮量预测模型为,以监测到的土壤样本的电压值、电阻值和电容值为训练样本,以所述土壤样本对应的含水率和含氮量为训练标签进行训练得到。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:测量待测土壤对应的电压值、电阻值和电容值;将所述电压值、所述电阻值和所述电容值输入土壤含水率和含氮量预测模型,输出所述待测土壤对应的含水率和含氮量;其中,所述土壤含水率和含氮量预测模型为,以监测到的土壤样本的电压值、电阻值和电容值为训练样本,以所述土壤样本对应的含水率和含氮量为训练标签进行训练得到。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种土壤含水率和含氮量监测方法,其特征在于,包括:
测量待测土壤对应的电压值、电阻值和电容值;
将所述电压值、所述电阻值和所述电容值输入土壤含水率和含氮量预测模型,输出所述待测土壤对应的含水率和含氮量;
其中,所述土壤含水率和含氮量预测模型为,以监测到的土壤样本的电压值、电阻值和电容值为训练样本,以所述土壤样本对应的含水率和含氮量为训练标签进行训练得到。
2.根据权利要求1所述的土壤含水率和含氮量监测方法,其特征在于,所述方法还包括:
将采集得到的土壤进行烘干处理,得到土壤原始样本;
将不同特定含量的尿素与水混合配成溶液,分别与特定含量的所述土壤原始样本进行混合并搅拌均匀,配制成多组土壤待处理样本,并测定所述多组土壤待处理样本各自的含氮量;
将土壤水分测量传感器安装在所述土壤待处理样本中,对所述多组土壤待处理样本分别进行排空气处理,得到多组所述土壤样本;
对于多组土壤样本中的每一组,间隔固定时间测量所述土壤样本当前的电压值、电阻值、电容值和含水率,直至所述土壤样本的含水率下降至预设值。
3.根据权利要求2所述的土壤含水率和含氮量监测方法,其特征在于,所述间隔固定时间测量所述土壤样本当前的电压值、电阻值、电容值和含水率,包括:
对所述土壤样本称重,获取所述土壤样本当前的重量;
根据所述土壤样本当前的重量和对应的土壤原始样本的重量得到所述土壤样本当前的含水率;
使用土壤水分测量传感器,测量得到所述土壤样本在当前土壤的含水率条件下,所述土壤水分测量传感器的检测电路输出的电压值;
使用电桥测试电路,测量得到所述土壤样本在当前土壤的含氮量条件下,所述电桥测试电路输出的电阻值和电容值。
4.根据权利要求2所述的土壤含水率和含氮量监测方法,其特征在于,对所述多组土壤待处理样本分别进行排空气处理,包括:
对于所述多组土壤待处理样本中的每一组,分层装入容器中,砸实每层待处理土壤样本,直至所述土壤待处理样本整体装入所述容器中。
5.根据权利要求1所述的土壤含水率和含氮量监测方法,其特征在于,所述将所述电压值、所述电阻值和所述电容值输入土壤含水率和含氮量预测模型,输出所述待测土壤对应的含水率和含氮量,包括:
将所述待测土壤对应的电压值、电阻值和电容值由所述土壤含水率和含氮量预测模型的输入层经过加权求和传递至所述土壤含水率和含氮量预测模型的隐藏层,隐藏层再通过激活函数将输入层传来的经过加权求和的值进行非线性变换后,作为所述土壤含水率和含氮量预测模型的输出层的输入数据,通过加权求和导入输出层作为结果,输出待测土壤对应的含水率和含氮量。
6.根据权利要求5述的土壤含水率和含氮量监测方法,其特征在于,
所述输入层的表达式为x=[u,r,c],u为土壤水分传感器监测到的土壤样本电压值,r为土壤样本电阻值,c为土壤样本电容值;x表示由ui、r、c和m个样本组成的m×3的输入矩阵,其中i=[1,…,m];
所述隐藏层的表达式为zi=wix bi,式中wi表示上层各神经元输入到后一层各神经元中所做贡献的n*k权值矩阵(n为上层神经元个数,k表示下层神经元个数),初始值为随机值;bi表示每层的偏置量,其大小为m*k的矩阵,初始值为0;zi表示根据两层之间的权值wi对上层神经元进行累加求和运算结果加上对应的偏置量bi的m*k矩阵;
所述激活函数的公式为yi=f(zi)=max(0,zi),f表示激活函数,yi表示各层神经元对zi进行非线性变换的relu激活函数求解结果的m*k矩阵;
所述输出层表达式为wcspre=wi 1yi bi 1,wcspre为x经过土壤含水率和含氮量预测模型计算的土壤水分含量及含氮量预测值。
7.根据权利要求6所述的土壤含水率和含氮量监测方法,其特征在于,所述方法还包括:
基于所述土壤含水率和含氮量预测模型输出的含水率及含氮量与实际土壤含水率及含氮量数据之间的误差,逐层对所述输出层、所述隐藏层和所述输入层的每层神经元的参数进行更新,修正网络权值和阈值使误差函数沿负梯度方向下降;
直到所述土壤含水率和含氮量预测模型的输出值与其对应的真实值之间的误差达到预先设定的阈值范围内,训练结束;
其中,所述误差的表达式如下:
wcspre表示土壤含水率和含氮量预测模型输出的第i个测试样本的预测值,wcsmv是第i个测试样本的真实值。
8.一种土壤含水率和含氮量监测装置,其特征在于,包括:
参数测量模块,用于测量待测土壤对应的电压值、电阻值和电容值;
监测模块,用于将所述电压值、所述电阻值和所述电容值输入土壤含水率和含氮量预测模型,输出所述待测土壤对应的含水率和含氮量;
其中,所述土壤含水率和含氮量预测模型为,以监测到的土壤样本的电压值、电阻值和电容值为训练样本,以所述土壤样本对应的含水率和含氮量为训练标签进行训练得到。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述土壤含水率和含氮量监测方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述土壤含水率和含氮量监测方法的步骤。
技术总结