农作物产量预测方法和系统与流程

文档序号:15689321发布日期:2018-10-16 21:43阅读:1757来源:国知局

本发明实施例涉及农业生产技术领域,尤其涉及农作物产量预测方法和系统。



背景技术:

在农业生产中,进行农作物产量的预测具有极强的现实意义。对农作物产量进行预测,不仅有利于农民根据价格变化及时的调整农作物的种植面积,提高农民的收入,还可以根据农作物的出口情况及时扩大或者减少农作物的种植面积。

目前,对于多数农作物产量的预测大多都是借助于种植经验,偏差极大,所以寻找有效的方法对农作物产量进行预测是急需解决的问题。例如,我国北方种植着大量的花生,花生的营养价值比粮食类高,它含有大量的蛋白质的脂肪,特别是不饱和脂肪酸的含量很高,很适宜制造各种营养食品,如花生牛奶、花生核桃露等,但目前还没有较准确的预测花生的产量的方法。

对于部分农作物,已经建立了预测模型。例如,国际上出现了不少小麦生长模拟系统,如美国的dssat系统、澳大利亚的apsim系统、中国的wheatgrow系统等。它们通过解析“气象—土壤—技术措施”与小麦生理生态过程的机理关系,对小麦的生长发育及产量形成过程进行定量的预测。但根据现有模型预测小麦的产量,使用的参数较多,数据处理过程非常复杂,预测的精度和速度还有待提高。

此外,对农作物产量进行预测时,时间变量都是以年或整个生长期为单位,忽略了生长期包括的不同生育时期内农作物受气象变化的差异性,导致农作物产量预测的精度不足。



技术实现要素:

针对现有技术存在的农作物产量预测的精度不足的问题,本发明实施例提供农作物产量预测方法和系统。

根据本发明的第一方面,本发明实施例提供一种农作物产量预测方法,包括:

根据第一统计期内的气象数据、第一统计期所属的第二统计期内的气象数据和第一统计期的时间信息,获取农作物的特征数据;

将所述特征数据输入训练好的神经网络模型,获取农作物产量预测结果。

根据本发明的第三方面,本发明实施例提供一种农作物产量预测系统,包括:

特征提取模块,用于根据第一统计期内的气象数据、第一统计期所属的第二统计期内的气象数据和第一统计期的时间信息,获取农作物的特征数据;

产量预测模块,用于将所述特征数据输入训练好的神经网络模型,获取农作物产量预测结果。

根据本发明的第三方面,本发明实施例提供一种农作物产量的预测设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明实施例农作物产量预测方法及其所有可选实施例的分析方法。

根据本发明的第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本发明实施例农作物产量预测方法及其所有可选实施例的分析方法。

本发明实施例提供的农作物产量预测方法,通过神经网络模型预测农作物产量,能快速、方便地获得精度高的农作物产量预测结果。进一步地,通过选择合适的第一统计期,可以预测农作物当年的产量或当前生长期的产量,预测当前生长期的产量时,考虑了生长期包括的不同生育时期内农作物受气象变化的影响,预测结果更准确。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例农作物产量预测方法的流程图;

图2为本发明实施例农作物产量的预测装置的功能框图;

图3为本发明实施例农作物产量的预测设备的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例农作物产量预测方法的流程图。如图1所示,一种农作物产量预测方法包括:步骤s101、根据第一统计期内的气象数据、第一统计期所属的第二统计期内的气象数据和第一统计期的时间信息,获取农作物的特征数据。

需要说明的是,本发明实施例提供的农作物产量预测方法适用于对一定区域内任意一种农作物的产量进行预测。一定区域可以是全国、若干个省份、若干个城市、若干个县、若干个乡镇或若干个村,但不限于此。

本发明实施例提供的农作物产量预测方法,预测的是农作物一定时间的产量。例如,预测农作物今年的产量或当前生长季的产量。

优选地,为了消除农作物种植面积的变化导致的影响,农作物产量指农作物的单产。例如,农作物的单产为亩产。

影响农作物产量的因素有土壤条件、虫害或植物病害、气象条件。但是土壤条件,虫害或植物病害不易得到量化的数据,而各种气象条件的量化数据,即气象数据容易获取。气象台通常会保留一定区域逐日的各种气象数据。

具体地,根据气象数据获取农作物的特征数据。

气象数据分为两部分:第一统计期内的气象数据和第二统计期内的气象数据。

第一统计期和第二统计期均为一定的时间段。第二统计期由多个第一统计期构成。每个第一统计期对应的时长可以相同,也可以不同。

第一统计期的时间信息,为第一统计期自身的信息。

例如,第一统计期对应的时长为月,第二统计期对应的时长为季度;第一统计期为4月,第二统计期为4月所属的季度二季度;第一统计期的时间信息,可以为4月的月份信息,也可以为4月属于二季度的第1个月;根据4月和二季度的气象数据及,月份信息4月获取农作物的特征数据,也可以根据4月和二季度的气象数据,及4月属于二季度的第1个月获取农作物的特征数据。

又如,第一统计期对应的时长为周,第二统计期对应的时长为生育时期;第二统计期为幼苗期,第一统计期为幼苗期的第二周;第一统计期的时间信息,为第一统计期为幼苗期的第二周;根据幼苗期和幼苗期的第二周的气象数据,及第一统计期为幼苗期的第二周获取农作物的特征数据。

第一统计期为4月,第二统计期为4月所属的季度二季度;第一统计期的时间信息,可以为4月的月份信息,也可以为4月属于二季度的第1个月;根据4月和二季度的气象数据,及月份信息4月获取农作物的特征数据,也可以根据4月和二季度的气象数,据及4月属于二季度的第1个月获取农作物的特征数据。

可以理解的是,当农作物产量预测的范围为较大的区域,如全国、多个省时,若农作物的主要产区的分布不集中时,可以从农作物的主要产区中选取多个有代表性的城市,根据所选择的各城市的气象数据获取农作物的特征数据,若农作物的主要产区的分布集中时,或者农作物产量预测的范围为较小的区域,如一个城市时,可以从农作物的主要产区中选取多个城市,对所选择的各城市的气象数据进行处理,如求平均值或加权平均值,获取农作物的特征数据,也可以从农作物的主要产区中选择一个城市(农作物产量预测的范围为一个城市时,直接选择该城市),根据该城市的气象数据获取农作物的特征数据。

可以理解的是,步骤s101之前还包括:获取第一统计期内的气象数据、第一统计期所属的第二统计期内的气象数据和第一统计期的时间信息。第一统计期内的气象数据、第一统计期所属的第二统计期内的气象数据,可以通过日常的气象观测获得,也可以从气象部门、气象服务商等机构获取。

步骤s102、将特征数据输入训练好的神经网络模型,获取农作物产量预测结果。

获取农作物的特征数据后,将特征数据组成特征向量,输入训练好的神经网络模型,根据训练好的神经网络模型的输出,获取农作物产量预测结果。

根据实验结果,当用于训练神经网络模型的训练样本的数量很大时,通过获得的训练神经网络模型预测农作物产量的准确率较高。例如,将30年中每个月的气象数据和月份信息作为训练样本,通过获得的训练神经网络模型预测农作物产量的准确率可达90%以上;将10年中每个月的气象数据和月份信息作为训练样本,通过获得的训练神经网络模型预测农作物产量的准确率可达75%以上。

本发明实施例基于气象数据,通过神经网络模型预测农作物产量,能快速、方便地获得精度高的农作物产量预测结果。进一步地,通过选择合适的第一统计期,可以预测农作物当年的产量或当前生长期的产量,预测当前生长期的产量时,考虑了生长期包括的不同生育时期内农作物受气象变化的影响,预测结果更准确。

基于上述实施例,获取训练好的神经网络模型的具体步骤包括:根据历史气象数据及相应的农作物历史产量构建训练样本集。

具体地,训练好的神经网络模型通过以下步骤获取。

首先,根据历史气象数据及相应的农作物历史产量构建训练样本集。

对于历史数据中的每个第一统计期,根据历史数据中每个第一统计期内的气象数据、该第一统计期所属的第二统计期内的气象数据,以及该第一统计期的时间信息,获取农作物的该第一统计期的特征数据。

例如,当第一统计期为月时,获取前若干年的历史数据;对于历史数据中的每个月,根据历史数据中每个月的气象数据、该月所属的季度的气象数据,以及该月的月份信息,获取农作物的该月对应的特征数据。

将该第一统计期对应的农作物历史产量按照区间进行划分,并对每个区间分配标签。划分的区间的数量,根据农作物的种类、品种等农作物自身的信息确定。

例如,亩产600斤以上为高产、分配的标签为3;400至600斤为中产、分配的标签为2;400斤以下为低产、分配的标签为1。

将训练样本集中的数据输入神经网络模型进行训练,获得训练好的神经网络模型。

具体地,获取农作物的历史数据中每个第一统计期的特征数据,及该第一统计期对应的农作物历史产量的标签后,将农作物的历史数据中每个第一统计期的特征数据输入神经网络模型,并根据神经网络模型的输出和该第一统计期对应的农作物历史产量的标签,调整神经网络模型的参数进行调整,直至神经网络模型的输出满足预设的条件,将输出满足预设的条件的神经网络模型作为训练好的神经网络模型。

基于上述实施例,第一统计期内的气象数据至少包括:第一统计期的最高气温、最低气温、日照时间和降水量;第一统计期所属的第二统计期内的气象数据,根据属于第二统计期的各第一统计期的平均气温获得。

作为一个优选实施例,第一统计期内的气象数据至少包括第一统计期的最高气温、最低气温、日照时间和降水量,但不限于此。

第一统计期的最高气温、最低气温、日照时间和降水量,根据第一统计期逐日的最高气温、最低气温、日照时间和降水量获取。即对第一统计期逐日的最高气温、最低气温、日照时间和降水量进行合适的处理,获得第一统计期的最高气温、最低气温、日照时间和降水量

例如,第一统计期为10月时,可以将10月1日至10月31日每日的最高气温、最低气温、日照时间和降水量的平均值,作为第一统计期的最高气温、最低气温、日照时间和降水量;也可以将10月1日至10月31日每日的最高气温中最大的5个值的平均值作为第一统计期的最高气温,将10月1日至10月31日每日的最低气温中最小的5个值的平均值作为第一统计期的最低气温;但不限于此。

日照时间,可以为第一统计期的累计日照小时数。

降水量,可以为第一统计期的累计降水量,单位为毫米。

对于不同的农作物,第一统计期内的气象数据还可以包括霜冻的天数、连续干旱天数、连续降雨天数等。

对于不同地理位置的区域,第一统计期内的气象数据还可以包括与地理位置特有的气象数据。例如,对于沿海地区,第一统计期内的气象数据还可以包括台风天数、洋流温度等;对于寒冷地区,如我国的东北地区,第一统计期内的气象数据还可以包括降雪天数。

第一统计期所属的第二统计期内的气象数据,至少包括第二统计期的气温数据。

可以对属于第二统计期的各第一统计期的平均气温通过合适的方法进行处理,将处理结果作为,作为第二统计期的气温数据。

例如,将1至3月的月平均气温的平均值,作为一季度的气温数据。

第一统计期所属的第二统计期内的气象数据,还可以包括第二统计期的降水、日照数据,但不限于此。

气温、日照、降水等气象条件会对农作物的生长产生影响,进而影响到农作物产量,将气温、日照、降水等气象条件作为特征数据,能较好地

基于上述实施例,神经网络模型为vgg模型;vgg模型的各神经元节点的激活函数为mpelu函数。

作为一个优选实施例,神经网络模型采用vgg模型。

vgg模型源于牛津大学visualgeometrygroup(视觉几何组)写的论文,因而得名vgg模型。

vgg模型采用了模块化的结构,方便增添和修改。vgg模型最后采用了平均池化来代替全连接层,可以将精确度提高。实际vgg模型在最后还是加了一个全连接层,主要是为了方便更好地进行微调。虽然移除了全连接,但是vgg模型中依然使用了dropout。为了避免梯度消失,vgg模型额外增加了2个辅助的softmax用于向前传导梯度。vgg-net没有采用局部响应归一化操作。

常用的vgg模型包括vgg-19和vgg-16。vgg-19一共有19层,有16个卷积层和3个全连接层。vgg-16一共有16层,有13个卷积层和3个全连接层。

将特征数据输入训练好的vgg模型后,卷积层首先采用卷积核对特征数据进行滤波;池化层主要分为均值池化和最大化池化,优选采用平均池化(averagepooling)。

卷积神经网络最常用的激活函数为relu函数,由于relu函数在输入小于0时梯度为0,导致负的梯度在这个relu被置零,而且这个神经元有可能再也不会被任何数据激活,也就是relu神经元坏死。

优选地,vgg模型的各神经元节点的激活函数为mpelu函数。

mpelu的激活函数表达式为

其中,α、β为参数,可以根据正则设定,即先初始化一个小的常数,后期可以调节它的数值;yi表示池化层的输入。

mpelu的优势在于同时具备relu、prelu和elu的优点。首先,mpelu具备elu的收敛性质,能够在无批正常化的情况下让几十层网络收敛;其次,作为一般化形式,mpelu较三者的推广能力更强。

基于上述实施例,将训练样本集中的数据输入神经网络模型进行训练的具体步骤包括:将训练样本集中的数据输入神经网络模型,根据莱文贝格-马夸特方法,对神经网络模型进行训练。

作为一个优选实施例,将训练样本集中的数据输入神经网络模型进行训练时,根据莱文贝格-马夸特方法对神经网络模型进行训练。

对神经网络模型进行训练,可以通过caffe等深度学习框架实现。

莱文贝格-马夸特方法(levenberg–marquardtalgorithm)能提供数非线性最小化(局部最小)的数值解。莱文贝格-马夸特方法能借由执行时修改参数达到结合高斯-牛顿算法以及梯度下降法的优点,并对两者之不足作改善(比如高斯-牛顿算法中的反矩阵不存在或是初始值离局部极小值太远)。根据高斯-牛顿算法以及梯度下降法对神经网络模型进行训练时,在设置的误差相对较小时,还可能导致过拟合。莱文贝格-马夸特方法收敛更快、均方误差较低,能更快地获得训练好的神经网络模型,且获得的训练好的神经网络模型的预测结果更准确。

采用莱文贝格-马夸特方法(levenberg–marquardtalgorithm)算法对神经网络模型进行训练。

对于m个样本,采用m个样本来迭代,1<m<m。levenberg–marquardt方法的原理如下

其中,(xi,yi)为样本数据的独立变量和因变量,f(x,β)为神经网络模型曲线的表达式,β为曲线f(x,β)的参数,s(β)为曲线f(x,β)的偏差。

基于上述实施例,根据第一统计期内的气象数据、第一统计期所属的第二统计期内的气象数据和第一统计期的时间信息,获取农作物的特征数据还包括:根据第一统计期内的气象数据、第一统计期所属的第二统计期内的气象数据、第一统计期的时间信息和第一统计期的土壤数据,获取农作物的特征数据。

作为一个可选实施例,获取农作物的特征数据时,除根据气象数据外,还可以根据第一统计期的土壤数据。

可以理解的是,上述土壤数据为容易量化的土壤数据。可以根据预测区域内种植农作物的土壤的多个采样点的采样结果,获取土壤数据。

基于上述实施例,第一统计期的土壤数据至少包括:第一统计期的土壤酸碱度。

作为一个优选实施例,第一统计期的土壤数据至少包括土壤酸碱度。

土壤酸碱度可以为ph值。

下面通过三个实例说明本发明提供的农作物产量的预测方法。

实例一

农作物为小麦。上月的特征数据包括:上月的最高气温、上月的最低气温、上月的日照小时数、上月的降水量、上月的月份信息、上月所属季节的平均气温。

将上月的特征数据输入训练好的vgg模型,预测小麦今年的单产为高产或低产。

实例二

农作物为花生。上月的特征数据包括:上月的最高气温、上月的最低气温、上月的日照小时数、上月的降水量、上月的月份信息、上月的土壤酸碱度、上月所属季节的平均气温。

将上月的特征数据输入训练好的vgg模型,预测花生今年的单产为高产中产或低产。

实例三

农作物为水稻。分蘗期第一个月的特征数据包括:该月的最高气温、该月的最低气温、该月的日照小时数、该月的降水量、该月的月份信息(该月为分蘗期第一个月)、该月的土壤酸碱度、该月的土壤含水量、该月的水田水位、分蘗期的平均气温。

将该月的特征数据输入训练好的vgg模型,预测水稻当前生长期的单产为高产或低产。

可以理解的是,本发明提供的农作物产量预测方法,不仅可以对上述三种作物的产量进行预测,还可适用于玉米、大豆、棉花、油菜等农作物,本发明实施例对农作物的种类不进行限定。

可以理解的是,本发明提供的农作物产量预测方法,还可以对相同农作物的不同品种的产量进行预测。例如,我国种植的花生优良品种达30种,可以分别进行产量预测。

图2为本发明农作物产量预测系统实施例的功能框图。基于上述实施例,如图2所示,一种农作物产量预测系统包括:特征提取模块201,用于根据第一统计期内的气象数据、第一统计期所属的第二统计期内的气象数据和第一统计期的时间信息,获取农作物的特征数据;产量预测模块202,用于将特征数据输入训练好的神经网络模型,获取农作物产量预测结果。

本发明提供的农作物产量预测系统用于执行本发明提供的农作物产量预测方法,农作物产量预测系统包括的各模块实现相应功能的具体方法和流程详见上述农作物产量预测方法的实施例,此处不再赘述。

本发明实施例基于气象数据,通过神经网络模型预测农作物产量,能快速、方便地获得精度高的农作物产量预测结果。进一步地,通过选择合适的第一统计期,可以预测农作物当年的产量或当前生长期的产量,预测当前生长期的产量时,考虑了生长期包括的不同生育时期内农作物受气象变化的影响,预测结果更准确。

图3为本发明农作物产量的预测设备实施例的结构框图。基于上述实施例,如图3所示,农作物产量的预测设备包括:处理器(processor)301、存储器(memory)302和总线303;其中,处理器301和存储器302通过总线303完成相互间的通信;处理器301用于调用存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:农作物产量预测方法;神经网络模型的训练方法;获取农作物的特征数据的方法;根据历史气象数据及相应的农作物历史产量构建训练样本集的方法。

本发明另一实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:农作物产量预测方法;神经网络模型的训练方法;获取农作物的特征数据的方法;根据历史气象数据及相应的农作物历史产量构建训练样本集的方法。

本发明另一实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:农作物产量预测方法;神经网络模型的训练方法;获取农作物的特征数据的方法;根据历史气象数据及相应的农作物历史产量构建训练样本集的方法。

以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行上述各个实施例或者实施例的某些部分的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1