一种从大视野图像中检测被感染对象的计算机实现的方法转让专利

申请号 : CN201880076478.9

文献号 : CN111406261B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈亚琦关伟

申请人 : 克莱米特公司

摘要 :

公开了用于从大FoV图像中识别作物疾病的计算机系统和相关的计算机实现的方法。在一些实施例中,该计算机系统被配置为最初在存储器中建立用于识别捕获叶子的区域的第一数字模型,以及用于识别捕获被疾病感染的叶子的区域的第二模型。给定大FoV图像,在程序控制下,该系统被编程为使用第一模型从该大FoV图像中自动识别可能捕获单叶的候选区域。该系统被编程为使用第二模型进一步确定这些候选区域是否捕获单叶上的作物疾病的症状。

权利要求 :

1.一种从大视野图像中检测被感染对象的计算机实现的方法,包括:由处理器接收捕获多个对象的数字图像;

由所述处理器从所述数字图像生成分别对应于多个比例的多个缩放图像;

计算所述数字图像的一组特征矩阵;

对于所述多个缩放图像中的每一个:从该缩放图像中选择候选区域的列表,每个候选区域可能捕获单个对象;和对于所述候选区域的列表中的每个候选区域:将该候选区域映射回所述数字图像以获得映射区域;

基于所述映射从所述一组特征矩阵的每一个中识别对应的部分;和基于一组对应部分来确定该候选区域是否可能捕获被疾病感染的单个对象;

基于所述确定,从映射区域的列表中选择一组最终区域;和导致显示与所述一组最终区域有关的信息。

2.如权利要求1所述的计算机实现的方法,所述多个对象是作物田中的多个叶子,并且所述单个对象是所述多个叶子之一。

3.如权利要求1所述的计算机实现的方法,所述确定包括计算与所述疾病相关联的感染概率,所述选择基于大于一定阈值的感染概率。

4.如权利要求1所述的计算机实现的方法,所述确定包括计算与所述疾病相关联的感染概率,所述选择包括:

识别映射区域的列表中具有最大感染概率的一个映射区域;

排除与所述一个映射区域重叠了超过一定阈值的数量的任何映射区域;

重复前两个步骤,直到停止条件得到满足为止。

5.如权利要求1所述的计算机实现的方法,所述计算包括在所述数字图像上执行卷积神经网络(CNN)的一个或多个卷积层,所述一个或多个卷积层被配置为以所述多个比例提取所述单个对象的特征值,所述确定包括:

在特征矩阵的所述一组对应部分中的每个对应部分上执行所述CNN的池化层;

在该池化层的输出数据上执行所述CNN的全连接层,该全连接层被配置为关于与分别被不同疾病感染的所述单个对象相对应的不同类别对特征值的组合进行分类。

6.如权利要求1所述的计算机实现的方法,所述选择包括:使用特定大小的滑动窗口从所述缩放图像中生成多个区域;

针对这多个区域中的每一个:

计算该区域的特征向量;

基于该特征向量确定该区域是否可能捕获所述单个对象。

7.如权利要求6所述的计算机实现的方法,所述计算包括为所述区域构造方向梯度直方图(HOG)。

8.如权利要求6所述的计算机实现的方法,确定所述区域是否可能捕获所述单个对象包括:在所述特征向量上执行支持向量机(SVM),该SVM被配置为关于与所述单个对象的存在或不存在相对应的不同类别对一组特征值进行分类。

9.如权利要求1所述的计算机实现的方法,所述单个对象是玉米叶,并且所述疾病是灰叶斑病(GLS)、戈斯枯萎病(GW)或北方叶枯病(NLB)。

10.如权利要求1所述的计算机实现的方法,所述信息针对所述一组最终区域中的一个最终区域指示该最终区域在所述数字图像内的位置以及对应的疾病。

11.一种非暂时性计算机可读存储介质,其存储一个或多个指令,这一个或多个指令当由一个或多个处理器执行时使这一个或多个处理器执行从大视野图像中检测被感染对象的方法,该方法包括:

接收捕获多个对象的数字图像;

从所述数字图像生成分别对应于多个比例的多个缩放图像;

计算所述数字图像的一组特征矩阵;

对于所述多个缩放图像中的每一个:从该缩放图像中选择候选区域的列表,每个候选区域可能捕获单个对象;和对于所述候选区域的列表中的每个候选区域:将该候选区域映射回所述数字图像以获得映射区域;

基于所述映射从所述一组特征矩阵的每一个中识别对应的部分;和基于一组对应部分来确定该候选区域是否可能捕获被疾病感染的单个对象;

基于所述确定,从映射区域的列表中选择一组最终区域;和导致显示与所述一组最终区域有关的信息。

12.如权利要求11所述的非暂时性计算机可读存储介质,所述多个对象是作物田中的多个叶子,并且所述单个对象是所述多个叶子之一。

13.如权利要求11所述的非暂时性计算机可读存储介质,所述确定包括计算与所述疾病相关联的感染概率,所述选择基于大于一定阈值的感染概率。

14.如权利要求11所述的非暂时性计算机可读存储介质,所述确定包括计算与所述疾病相关联的感染概率,所述选择包括:

识别映射区域的列表中具有最大感染概率的一个映射区域;

排除与所述一个映射区域重叠了超过一定阈值的数量的任何映射区域;

重复前两个步骤,直到停止条件得到满足为止。

15.如权利要求11所述的非暂时性计算机可读存储介质,所述计算包括在所述数字图像上执行卷积神经网络(CNN)的一个或多个卷积层,所述一个或多个卷积层被配置为以所述多个比例提取所述单个对象的特征值,所述确定包括:

在特征矩阵的所述一组对应部分中的每个对应部分上执行所述CNN的池化层;

在该池化层的输出数据上执行所述CNN的全连接层,该全连接层被配置为关于与分别被不同疾病感染的所述单个对象相对应的不同类别对特征值的组合进行分类。

16.如权利要求11所述的非暂时性计算机可读存储介质,所述选择包括:使用特定大小的滑动窗口从所述缩放图像中生成多个区域;

针对这多个区域中的每一个:

计算该区域的特征向量;

基于该特征向量确定该区域是否可能捕获所述单个对象。

17.如权利要求16所述的非暂时性计算机可读存储介质,所述计算包括为所述区域构造方向梯度直方图(HOG)。

18.如权利要求16所述的非暂时性计算机可读存储介质,确定所述区域是否可能捕获所述单个对象包括:在所述特征向量上执行支持向量机(SVM),该SVM被配置为关于与所述单个对象的存在或不存在相对应的不同类别对一组特征值进行分类。

19.如权利要求11所述的非暂时性计算机可读存储介质,所述单个对象是玉米叶,并且所述疾病是灰叶斑病(GLS)、戈斯枯萎病(GW)或北方叶枯病(NLB)。

20.如权利要求11所述的非暂时性计算机可读存储介质,所述信息针对所述一组最终区域中的一个最终区域指示该最终区域在所述数字图像内的位置以及对应的疾病。

说明书 :

一种从大视野图像中检测被感染对象的计算机实现的方法

[0001] 版权声明
[0002] 本专利文件的一部分公开内容包含受版权保护的材料。版权所有者不反对任何人以专利和商标局专利文件或记录中出现的方式对专利文件或专利公开进行传真复制,但保
留所有版权或权利。 2015‑2018气候公司。

技术领域

[0003] 本公开提供了数字图像处理和机器视觉的技术领域中的改进。本公开总体上涉及使用数字图像来检测作物疾病,并且更具体地涉及从具有大视野的数字图像中进行作物疾
病识别。

背景技术

[0004] 本节中描述的方法是可以采用的方法,但不一定是先前已经设想或采用的方法。因此,除非另有说明,否则不应仅由于将本节中描述的任何方法包括在本节中而将其假定
为现有技术。
[0005] 作物疾病是农民的主要关注,因为作物疾病可以导致减产和经济损失。自动化的疾病识别和治疗可以从捕获田地作物的数字图像开始。许多机器捕获的图像具有大视野
(“FoV”),诸如在距田地一定距离处拍摄的空中侦察照片。在这样的图像中,单个作物上的
疾病症状可能构成该图像的次要特征,这对于传统的图像处理方法通常可以不被检测到。
能够从大FoV图像中快速且准确地识别疾病症状将是有帮助的。

发明内容

[0006] 所附权利要求可以用作本公开的发明内容。

附图说明

[0007] 在附图中:
[0008] 图1示出了被配置为执行本文描述的功能的示例计算机系统,该示例计算机系统在田地环境中与该系统可以与之进行互操作的其他装置一起示出。
[0009] 图2示出了当示例移动应用被加载以供执行时主存储器中的指令集的示例逻辑组织的两个视图。
[0010] 图3示出了编程的处理,通过该处理,农业智能计算机系统使用由一个或多个数据源提供的农艺数据来生成一个或多个预先配置的农艺模型。
[0011] 图4是示出了可以在其上实现本发明的实施例的计算机系统的框图。
[0012] 图5描绘了数据输入的时间线视图的示例实施例。
[0013] 图6描绘了数据输入的电子表格视图的示例实施例。
[0014] 图7示出了针对大FoV图像的区域的方向梯度特征向量的直方图的示例计算。
[0015] 图8示出了示例卷积神经网络架构。
[0016] 图9示出了生成图像金字塔的示例缩放处理。
[0017] 图10示出了从图像金字塔中进行区域选择的示例结果。
[0018] 图11示出了用于识别可能捕获被感染目标的区域的第二模型的示例输出。
[0019] 图12示出了非最大抑制的示例应用。
[0020] 图13示出了从大FoV图像中识别被感染目标的示例处理。

具体实施方式

[0021] 在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本公开的透彻理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实践实施例。在其他情况
下,以框图的形式示出了公知的结构和设备,以避免不必要地使本公开不清楚。在根据以下
概要的各部分中公开了实施例:
[0022] 1.总体概述
[0023] 2.示例农业智能计算机系统
[0024] 2.1.结构概述
[0025] 2.2.应用程序概述
[0026] 2.3.计算机系统的数据摄取
[0027] 2.4.处理概述—农艺模型训练
[0028] 2.5.实现示例—硬件概述
[0029] 3功能描述
[0030] 3.1 模型开发
[0031] 3.2 图像缩放和区域选择
[0032] 3.3 图像特征计算
[0033] 3.4 图像区域分类和映射
[0034] 3.5 示例可编程处理
[0035] *
[0036] 1.总体概述
[0037] 公开了一种用于从大FoV图像中识别作物疾病的计算机系统和相关的计算机实现的方法。在一些实施例中,该计算机系统被配置为最初在存储器中建立用于识别捕获叶子
的区域的第一数字模型,以及用于识别捕获被疾病感染的叶子的区域的第二模型。给定大
FoV图像,在程序控制下,该系统被编程为然后使用第一模型来从该大FoV图像中自动识别
可能捕获单叶的候选区域。该系统被编程为使用第二模型来进一步确定这些候选区域是否
捕获单叶上的作物疾病的症状。
[0038] 作物田的大FoV图像可以捕获数十到数百个叶子。由于视野的大小是未知的,因此系统被编程为以不同比例检查大FoV图像,并将第一模型应用于缩放图像中的每一个以识
别候选区域。第一模型可以包括计算区域的方向梯度直方图(“HOG”)值的模块或与该模块
通信,并且还包括支持向量机(“SVM”),该支持向量机基于HOG值来确定该区域是否捕获了
叶子。可以用主要捕获单叶的具有一定大小的图像来训练SVM。具体而言,该系统被编程为
在每个缩放图像上执行第一模型以针对具有该一定大小的缩放图像的每个滑动窗口计算
HOG,并使用HOG值对对应区域进行分类以确定对应区域是否是可能捕获叶子的候选区域。
[0039] 除了用于识别叶子的HOG值以外,还可以为每个候选区域计算附加特征,以识别叶子上的作物疾病症状。第二模型可以包括卷积神经网络(“CNN”),该卷积神经网络包括卷积
层集和全连接层,该卷积层集计算与一区域的被感染叶子相关联的特征图,该全连接层用
于基于这些特征图来确定该区域或该区域内的区域是否捕获被感染的叶子。CNN还可以在
全连接层之前包括一个附加的关注区域(“RoI”)池化层。可以用具有一定大小的一组初始
图像来播种CNN的训练数据,该组初始图像捕获各种规模的被感染和健康的叶子。然后可以
用该组初始图像的通过旋转、剪切和应用改进的Wassersstein生成对抗网络(“WGAN”)而得
到的变体来增强训练数据。代替单独计算不同候选区域的附加特征,该系统被编程为使用
第二模型一次来处理大FoV图像,以识别整个图像的附加特征并通过从整个图像的附加特
征中提取候选区域的附加特征来对每个候选区域进行分类。
[0040] 具体而言,该系统被编程为在大FoV图像上执行卷积层集以生成该FoV图像的一组特征图。接下来,系统被编程为将候选区域映射回大FoV图像以获得被映射的区域,基于该
映射提取该组特征图中的每个特征图的对应部分,并在特征图的一组部分上执行RoI池化
层和全连接层以确定被映射的区域是否是可能捕获被感染叶子的中间区域。最终,因为某
些中间区域可能重叠,因此系统被编程为将某些中间区域合并为可能捕获被感染叶子的最
终区域。
[0041] 该系统产生许多技术益处。在一个实施例中,系统分两个阶段分析大FoV图像,从而在每个阶段中应用高效且鲁棒的计算算法以实现预期目的。该系统性方法允许快速且准
确地专注于可能捕获预期目标的候选区域。例如,代替直接在大FoV图像的每个窗口中寻
找,系统被编程为首先识别可能包含单叶的某些区域并且仅在那些区域中寻找被感染的叶
子,从而使用相对基本的分类器来识别捕获单叶的区域并使用高级的分类器来识别捕获受
感染叶子的区域。HOG特征向量的SVM分类器的选择看起来在从捕获多个叶子和作物的大
FoV图像中有效地识别捕获单叶的区域方面优于许多先前方法。然而,在维护分层的增量框
架以实现高速和高质量的最佳组合时,系统性方法还在每层内提供了灵活性以适应可能范
围广泛的计算技术。另外,该系统应用各种特定技术来实现效率和准确性的最佳组合。例
如,该系统被编程为拍摄任意大小的大FoV图像,并在内部调整图像大小以寻找可变大小的
被感染叶子。另外,可以在一遍中计算大FoV图像的所有相关特征,并将焦点区域的单独处
理推到分析流水线的最后几个阶段。
[0042] 2.示例农业智能计算机系统
[0043] 2.1结构概述
[0044] 图1示出了被配置为执行本文描述的功能的示例计算机系统,该示例计算机系统在田地环境中与该系统可以与之进行互操作的其他装置一起示出。在一个实施例中,用户
102拥有、操作或占有田地位置中的或与田地位置(诸如用于农业活动的田地或用于一个或
多个农田的管理位置)相关联的田地管理器计算设备104。田地管理器计算机设备104被编
程或配置为经由一个或多个网络109向农业智能计算机系统130提供田地数据106。
[0045] 田地数据106的示例包括:(a)标识数据(例如,面积,田地名称,田地标识符,地理标识符,边界标识符,作物标识符,以及可用于标识农田的任何其他合适数据,诸如公共土
地单位(CLU)、地块和街段编号、宗地编号、地理坐标和边界、农场序列号(FSN)、农场编号、
地带编号、田地编号、地区、镇区和/或范围);(b)收获数据(例如,作物类型,作物品种,作物
轮换,是否以有机方式种植作物,收获日期,实际生产历史(APH),预期产量,产量,作物价
格,作物收入,谷物水分,耕作实践,以及先前的生长季节信息);(c)土壤数据(例如,类型,
组成,pH,有机质(OM),阳离子交换能力(CEC));(d)种植数据(例如,种植日期,一个或多个
种子的类型,所种植的一个或多个种子的相对成熟度(RM),种子种群);(e)肥料数据(例如,
营养物类型(氮,磷,钾),施用类型,施用日期,数量,来源,方法);(f)化学施用数据(例如,
农药,除草剂,杀真菌剂,旨在用作植物调节剂、脱叶剂或干燥剂的其他物质或物质混合物,
施用日期,数量,来源,方法);(g)灌溉数据(例如,施用日期,数量,来源,方法);(h)天气数
据(例如,降水量,降雨率,预测的降雨,水径流率区域,温度,风,预测,压力,能见度,云,热
指数,露点,湿度,雪深,空气质量,日出,日落);(i)图像数据(例如,来自农业装置传感器、
相机、计算机、智能电话、平板、无人驾驶飞行器、飞机或卫星的图像和光谱信息);(j)侦察
观察(照片,视频,自由形式的笔记,语音记录,语音转录,天气情况(温度,降水(当前和随着
时间推移),土壤湿度,作物生长阶段,风速,相对湿度,露点,黑层));以及(k)土壤,种子,作
物物候,病虫害报告,以及预测来源和数据库。
[0046] 数据服务器计算机108通信地耦合到农业智能计算机系统130,并且被编程或配置为经由一个或多个网络109将外部数据110发送到农业智能计算机系统130。外部数据服务
器计算机108可以由与农业智能计算机系统130相同的法人或实体拥有或操作,或者由不同
的人或实体(诸如政府机构、非政府组织(NGO)和/或私人数据服务提供商)拥有或操作。外
部数据的示例包括天气数据、图像数据、土壤数据或与作物产量有关的统计数据等。外部数
据110可由与田地数据106相同类型的信息组成。在一些实施例中,外部数据110由拥有和/
或操作农业智能计算机系统130的同一实体所拥有的外部数据服务器108提供。例如,农业
智能计算机系统130可包括专门专注于否则可能从第三方来源获得的一类数据(诸如天气
数据)的数据服务器。在一些实施例中,外部数据服务器108实际上可被并入系统130内。
[0047] 农业装置111可具有固定在其上的一个或多个远程传感器112,这些传感器经由农业装置111直接或间接地通信耦合到农业智能计算机系统130并被编程或配置为将传感器
数据发送到农业智能计算机系统130。农业装置111的示例包括:拖拉机,联合收割机,收割
机,播种机,卡车,化肥设备,包括无人驾驶飞行器的飞行器,以及任何其他物理机械或硬件
项目,其通常为移动机械,并且可用于与农业相关联的任务。在一些实施例中,装置111的单
个单元可包括在该装置上的网络中本地耦合的多个传感器112;控制器区域网络(CAN)是可
以安装在联合收割机、收割机、喷雾器和中耕机中的这种网络的示例。应用控制器114经由
一个或多个网络109通信地耦合到农业智能计算机系统130,并且被编程或配置为从农业智
能计算机系统130接收用于控制农业车辆的操作参数或实施的一个或多个脚本。例如,控制
器区域网络(CAN)总线接口可用于实现从农业智能计算机系统130到农业装置111的通信,
例如可从加利福尼亚州旧金山市的气候公司获得的CLIMATE FIELDVIEW DRIVE如何被使
用。传感器数据可以由与田地数据106相同类型的信息组成。在一些实施例中,远程传感器
112可能不被固定到农业装置111,而是可以远程位于田地中并且可以与网络109通信。
[0048] 装置111可包括用驾驶室应用编程的驾驶室计算机115,该驾驶室应用可包括用于在本文的其他部分中进一步描述的设备104的移动应用的版本或变体。在一个实施例中,驾
驶室计算机115包括紧凑型计算机,通常是平板尺寸的计算机或智能电话,其具有安装在装
置111的操作者的驾驶室内的图形屏幕显示,诸如彩色显示器。驾驶室计算机115可实现本
文中针对移动计算机设备104进一步描述的一些或全部的操作和功能。
[0049] 一个或多个网络109广义地表示使用有线或无线链路(包括陆地或卫星链路)中的任何链路的包括局域网、广域网、互联网或因特网在内的一个或多个数据通信网络的任何
组合。这一个或多个网络可以由提供图1的各种元件之间的数据交换的任何介质或机制来
实现。图1的各种元件还可具有直接(有线或无线)通信链路。传感器112、控制器114、外部数
据服务器计算机108和系统的其他元件各自包括与一个或多个网络109兼容的接口,并且被
编程或配置为使用用于跨网络的通信的标准化协议,诸如TCP/IP、蓝牙、CAN协议以及更高
层协议(诸如HTTP、TLS等)。
[0050] 农业智能计算机系统130被编程或配置为从田地管理器计算设备104接收田地数据106,从外部数据服务器计算机108接收外部数据110,并从远程传感器112接收传感器数
据。农业智能计算机系统130可被进一步配置为托管、使用或执行一个或多个计算机程序、
其他软件元素、数字编程的逻辑(诸如FPGA或ASIC)或其任意组合,以便以在本公开的其他
部分中进一步描述的方式执行数据值的转换和存储、一个或多个田地上的一个或多个作物
的数字模型的构造、推荐和通知的生成以及生成脚本并将其发送到应用控制器114。
[0051] 在一个实施例中,农业智能计算机系统130被编程有通信层132、表示层134、数据管理层140、硬件/虚拟化层150以及模型和田地数据存储库160,或者包括通信层132、表示
层134、数据管理层140、硬件/虚拟化层150以及模型和田地数据存储库160。该上下文中的
“层”指的是电子数字接口电路、微控制器、固件(诸如驱动程序)和/或计算机程序或其他软
件元素的任何组合。
[0052] 通信层132可被编程或配置为执行输入/输出接口功能,包括分别向田地管理器计算设备104、外部数据服务器计算机108和远程传感器112发送对田地数据、外部数据和传感
器数据的请求。通信层132可被编程或配置为将接收到的数据发送到模型和田地数据存储
库160以存储为田地数据106。
[0053] 表示层134可被编程或配置为生成要在田地管理器计算设备104、驾驶室计算机115或通过网络109耦合到系统130的其他计算机上显示的图形用户界面(GUI)。该GUI可包
括用于输入要发送到农业智能计算机系统130的数据、生成对模型和/或推荐的请求和/或
显示推荐、通知、模型和其他田地数据的控件。
[0054] 数据管理层140可被编程或配置为管理涉及存储库160和系统的其他功能元素的读取操作和写入操作,包括在系统的功能元素与存储库之间传送的查询和结果集。数据管
理层140的示例包括JDBC、SQL服务器接口代码和/或HADOOP接口代码等。存储库160可包括
数据库。如本文所使用的,术语“数据库”可以指数据的主体、关系数据库管理系统(RDBMS)
或指两者。如本文所使用的,数据库可包括数据的任何集合(包括分层数据库、关系数据库、
平面文件数据库、对象关系数据库、面向对象的数据库、分布式数据库),以及在计算机系统
中存储的记录或数据的任何其他结构化的集合。RDBMS的示例包括但不限于
MYSQL、 DB2、 SQL SERVER、 和POSTGRESQL数据库。然
而,可以使用实现本文描述的系统和方法的任何数据库。
[0055] 当未经由与农业智能计算机系统交互的一个或多个农业机械或农业机械设备直接向农业智能计算机系统提供田地数据106时,可以经由(农业智能计算机系统所服务的)
用户设备上的一个或多个用户界面提示用户输入这样的信息。在示例实施例中,用户可以
通过访问(农业智能计算机系统所服务的)用户设备上的地图并选择已经在该地图上以图
形方式示出的特定CLU来指定标识数据。在替代实施例中,用户102可以通过访问(农业智能
计算机系统130所服务的)用户设备上的地图并在该地图上绘制田地的边界来指定标识数
据。这样的CLU选择或地图绘制表示地理标识符。在替代实施例中,用户可以通过经由用户
设备访问来自美国农业部农场服务局或其他来源的(作为形状文件或以类似格式提供的)
田地标识数据并将这样的田地标识数据提供给农业智能计算机系统来指定标识数据。
[0056] 在示例实施例中,农业智能计算机系统130被编程为生成包括用于数据输入的数据管理器的图形用户界面并使得显示该图形用户界面。在已经使用上述方法识别出一个或
多个田地之后,数据管理器可提供一个或多个图形用户界面窗口小部件,其当被选择时可
以标识田地、土壤、作物、耕作或养分实践的变化。数据管理器可包括时间线视图、电子表格
视图和/或一个或多个可编辑的程序。
[0057] 图5描绘了数据输入的时间线视图的示例实施例。使用在图5中描述的显示,用户计算机可以输入对特定田地和特定日期的选择以添加事件。在时间线顶部描述的事件可包
括氮、种植、实践和土壤。为了添加氮施用事件,用户计算机可提供输入以选择氮标签。用户
计算机然后可以为特定田地选择时间线上的位置,以指示氮在所选择的田地上的施用。响
应于接收到对特定田地在时间线上的位置的选择,数据管理器可以显示数据输入覆盖图,
从而允许用户计算机输入与氮施用、种植过程、土壤施用、耕作过程、灌溉实践有关的数据,
或与特定田地有关的其他信息。例如,如果用户计算机选择时间线的一部分并指示氮的施
用,则数据输入覆盖图可包括用于输入所施用的氮的数量、施用日期、所使用的肥料的类型
以及与氮的施用有关的任何其他信息的字段。
[0058] 在一个实施例中,数据管理器提供用于创建一个或多个程序的界面。该上下文中的“程序”指的是与氮施用、种植过程、土壤施用、耕作过程、灌溉实践有关的一组数据,或者
可能与一个或多个田地相关并可以存储在数字数据存储中以供在其他操作中作为一组重
复使用的其他信息。在已经创建程序之后,可以在概念上将其应用于一个或多个田地,并且
可以将对该程序的引用与标识这些田地的数据相关联地存储在数字存储中。因此,代替针
对多个不同田地手动输入与相同氮施用有关的相同数据,用户计算机可以创建指示氮的特
定施用的程序,然后将该程序应用于多个不同田地。例如,在图5的时间线视图中,前两条时
间线选择了“春季施用”程序,其中包括在4月初施用150lbs N/ac。数据管理器可提供用于
编辑程序的界面。在一个实施例中,当特定程序被编辑时,已经选择该特定程序的每个田地
都被编辑。例如,在图5中,如果编辑了“春季施用”程序以将氮的施用减少到130lbs N/ac,
则可以基于编辑后的程序用减少的氮施用来更新前两个田地。
[0059] 在一个实施例中,响应于接收到对选择了程序的田地的编辑,数据管理器去除该田地与所选择的程序的对应关系。例如,如果氮施加被添加到图5中的顶部田地,则界面可
以更新以指示“春季施用”程序不再被应用于顶部田地。尽管4月初的氮施用可能保留,但是
对“春季施用”程序的更新将不会改变氮的4月施用。
[0060] 图6描绘了用于数据输入的电子表格视图的示例实施例。使用在图6中描绘的显示,用户可以创建和编辑一个或多个田地的信息。数据管理器可包括如在图6中描绘的电子
表格,该电子表格用于输入关于氮、种植、实践和土壤的信息。为了编辑特定条目,用户计算
机可以选择电子表格中的特定条目并更新值。例如,图6描绘了对第二田地的目标产量值的
正在进行的更新。此外,用户计算机可以选择一个或多个田地以便应用一个或多个程序。响
应于接收到针对特定田地的程序选择,数据管理器可以基于所选择的程序来自动完成特定
田地的条目。与时间线视图一样,数据管理器可以响应于接收到对特定程序的更新而更新
与该程序相关联的每个田地的条目。此外,数据管理器可以响应于接收到对田地的条目之
一的编辑而删除所选择的程序与该田地的对应关系。
[0061] 在一个实施例中,模型和田地数据存储在模型和田地数据存储库160中。模型数据包括为一个或多个田地创建的数据模型。例如,作物模型可包括一个或多个田地上的作物
的发育的数字构建模型。该上下文中的“模型”指的是彼此相关联的可执行指令和数据值的
电子数字存储集合,它们能够接收程序化或其他数字调用、调用或解析请求并基于指定的
输入值来响应该程序化或其他数字调用、调用或解析请求,以产生一个或多个存储或计算
出的输出值,这些输出值可以用作计算机实现的建议、输出数据显示或机器控制等的基础。
本领域技术人员发现使用数学方程式来表达模型是方便的,但是该表达形式不将本文公开
的模型局限于抽象概念;相反,本文中的每个模型都以存储的可执行指令和数据的形式在
计算机中具有实际应用,存储的可执行指令和数据使用计算机来实现该模型。该模型可包
括一个或多个田地上的过去事件的模型、一个或多个田地的当前状态的模型和/或一个或
多个田地上的预测事件的模型。模型和田地数据可以存储在存储器中的数据结构中、数据
库表中的行中、平面文件或电子表格中或其他形式的存储数字数据中。
[0062] 在一个实施例中,农业智能计算机系统130被编程有大FoV疾病识别服务器计算机或指令集(“服务器”)170,或者包括大FoV疾病识别服务器计算机或指令集(“服务器”)170。
服务器170还被配置为包括作物识别组件172、疾病识别组件174和客户端接口176。作物识
别组件172被配置为建立并执行对象识别模型。该对象通常是某个作物的单叶,但是可以包
括该作物的多个叶子或其他部分。对象识别模型可以拍摄大FoV图像,并产生标识该图像中
的可能捕获期望对象的区域的信息。该上下文中的“大”表示覆盖多于一个对象并且经常覆
盖至少数十个或数百个对象。疾病识别组件174被配置为建立并执行疾病识别模型。如上面
所提到的,该上下文中的“模型”指的是彼此相关联的可执行指令和数据值的电子数字存储
集合,其能够接收程序化或其他数字调用、调用或解析请求并基于指定的输入值来响应该
程序化或其他数字调用、调用或解析请求,以产生一个或多个存储或计算出的输出值,这些
输出值可以用作计算机实现的建议、输出数据显示或机器控制等的基础。疾病可以是任何
作物疾病,例如由其在被感染对象(诸如玉米叶)上的症状表示的北方叶枯病(“NLB”)。疾病
识别模型可以拍摄大FoV图像,并产生标识该图像中可能捕获被疾病感染的对象的区域的
信息。客户端接口176被配置为通过通信层132通过通信网络与诸如田地管理器计算设备
104或驾驶室计算机105之类的客户端设备进行通信。客户端接口176还可以被配置为通过
表示层134与显示设备进行通信。通信可以包括:接收用于建立对象识别模型或疾病识别模
型的训练数据,接收大FoV图像,或者发送标识大FoV图像中可能捕获被感染对象的区域的
信息。
[0063] 在一个实施例中,服务器170的每个组件包括农业智能计算机系统130中的主存储器(诸如RAM)的一组一个或多个页面,可执行指令已被加载到其中并且其当被执行时使农
业智能计算系统执行本文中参考那些模块描述的功能或操作。例如,疾病识别组件174可包
括RAM中的一组页面,该组页面包含指令,这些指令当被执行时导致执行本文中描述的位置
选择功能。这些指令可能在CPU的指令集中的机器可执行代码中,并且可能已经单独基于以
JAVA、C、C++、OBJECTIVE‑C或任何其他人类可读编程语言或环境编写的源代码进行编译,或
者与JAVASCRIPT中的脚本、其他脚本语言和其他编程源文本结合基于以JAVA、C、C++、
OBJECTIVE‑C或任何其他人类可读编程语言或环境编写的源代码进行编译。术语“页面”旨
在广义地指代主存储器内的任何区域,并且在系统中使用的具体术语可以根据存储器架构
或处理器架构而变化。在另一实施例中,服务器170的每个组件还可表示以数字方式存储在
农业智能计算机系统130或单独的存储库系统中的诸如非易失性RAM或磁盘存储之类的大
容量存储设备中的一个或多个源代码文件或项目,其当被编译或解释时导致生成可执行指
令,这些可执行指令当被执行时使农业智能计算系统执行本文中参考那些模块描述的功能
或操作。换句话说,附图可以表示程序员或软件开发者组织和安排源代码以便以后编译为
可执行文件或解释为字节码或等效物以供农业智能计算机系统130执行的方式。
[0064] 硬件/虚拟化层150包括一个或多个中央处理单元(CPU)、存储器控制器以及计算机系统的其他设备、组件或元件,诸如易失性或非易失性的存储器、非易失性存储(诸如磁
盘)以及例如结合图4说明和描述的I/O设备或接口。层150还可包括被配置为支持虚拟化、
容器化或其他技术的编程指令。
[0065] 出于说明清楚示例的目的,图1示出了某些功能元件的有限数量的实例。然而,在其他实施例中,可以存在任何数量的这样的元件。例如,实施例可以使用与不同用户相关联
的数千或数百万个不同移动计算设备104。另外,系统130和/或外部数据服务器计算机108
可以使用被配置在离散位置或与数据中心、共享计算设施或云计算设施中的其他元件位于
同一位置的两个或更多个处理器、核心、群集或者物理机或虚拟机的实例来实现。
[0066] 2.2.应用程序概述
[0067] 在一个实施例中,使用被加载到一个或多个通用计算机中并使用一个或多个通用计算机执行的一个或多个计算机程序或其他软件元件来实现本文描述的功能将使这些通
用计算机被配置为特定机器或配置为专门用于执行本文描述的功能的计算机。另外,本文
进一步描述的每个流程图可以单独用作可用于将计算机或逻辑编程为实现所描述的功能
的算法、计划或指导,或与本文中的散文形式的过程和功能的描述结合用作这些算法、计划
或指导。换句话说,本文中的所有散文和所有附图一起旨在提供如下算法、计划或指导的公
开,这些算法、计划或指导足以允许技术人员考虑到适用于该类型的发明和公开的技能水
平结合此类人员的技能和知识将计算机编程为执行本文描述的功能。
[0068] 在一个实施例中,用户102使用配置有操作系统和一个或多个应用程序或应用的田地管理器计算设备104与农业智能计算机系统130交互;田地管理器计算设备104还可以
在程序控制或逻辑控制下独立且自动地与农业智能计算机系统进行互操作,并且直接的用
户交互不是总被要求。田地管理器计算设备104广义地表示以下各项中的一个或多个:智能
电话,PDA,平板计算设备,膝上型计算机,台式计算机,工作站,或者能够发送和接收信息以
及执行本文描述的功能的任何其他计算设备。田地管理器计算设备104可以使用在田地管
理器计算设备104上存储的移动应用程序经由网络进行通信,并且在一些实施例中,可以使
用电缆113或连接器将该设备耦合到传感器112和/或控制器114。特定用户102可以一次拥
有、操作或拥有和结合系统130使用多于一个田地管理器计算设备104。
[0069] 移动应用程序可以经由网络向一个或多个移动计算设备提供客户端侧功能。在示例实施例中,田地管理器计算设备104可以经由网络浏览器或本地客户端应用程序或应用
来访问移动应用程序。田地管理器计算设备104可以使用基于网络的协议或格式(诸如
HTTP、XML和/或JSON)或应用专用协议向一个或多个前端服务器发送数据和从一个或多个
前端服务器接收数据。在示例实施例中,数据可以采用到移动计算设备中的请求和用户信
息输入(诸如田地数据)的形式。在一些实施例中,移动应用程序与田地管理器计算设备104
上的位置跟踪硬件和软件进行交互,该位置跟踪硬件和软件使用标准的跟踪技术(诸如无
线电信号的多点定位,全球定位系统(GPS),WiFi定位系统,或其他移动定位方法)来确定田
地管理器计算设备104的位置。在一些情况下,可以通过对设备的操作系统的查询或通过请
求设备上的应用从该操作系统获得数据来获得与设备104、用户102和/或一个或多个用户
帐户相关联的位置数据或其他数据。
[0070] 在一个实施例中,田地管理器计算设备104将田地数据106发送到农业智能计算机系统130,田地数据106包含或包括但不限于表示以下各项中的一个或多个的数据值:一个
或多个田地的地理位置,一个或多个田地的耕作信息,在一个或多个田地中种植的作物,以
及从一个或多个田地中提取的土壤数据。田地管理器计算设备104可以响应于来自用户102
的指定一个或多个田地的数据值的用户输入而发送田地数据106。此外,当数据值中的一个
或多个变得对田地管理器计算设备104可用时,田地管理器计算设备104可以自动发送田地
数据106。例如,田地管理器计算设备104可以通信地耦合到远程传感器112和/或应用控制
器114,远程传感器112和/或应用控制器114包括灌溉传感器和/或灌溉控制器。响应于接收
到表明应用控制器114曾将水释放到一个或多个田地上的数据,田地管理器计算设备104可
以将田地数据106发送到农业智能计算机系统130,从而表明水在一个或多个田地上曾被释
放。可以使用电子数字数据来输入和传送在本公开中标识的田地数据106,该电子数字数据
是使用通过HTTP的参数化URL或另一合适的通信或消息收发协议在计算设备之间传送的。
[0071] 移动应用程序的商业示例是可从加利福尼亚州旧金山市的气候公司购买的CLIMATE FIELDVIEW。CLIMATE FIELDVIEW应用程序或其他应用程序可被修改、扩展或调整,
以包括在本公开的申请日之前尚未被公开的特征、功能和编程。在一个实施例中,移动应用
程序包括集成的软件平台,该软件平台允许种植者为他们的操作做出基于事实的决定,因
为它将与种植者的田地有关的历史数据与种植者希望比较的任何其他数据结合。结合和比
较可以实时进行,并且基于科学模型,这些科学模型提供了可能的情景,以允许种植者做出
更好、更明智的决定。
[0072] 图2示出了当示例移动应用程序被加载以供执行时主存储器中的指令集的示例逻辑组织的两个视图。在图2中,每个命名的元素表示RAM或其他主存储器的一个或多个页面
的区域,或者磁盘存储或其他非易失性存储的一个或多个块的区域,以及那些区域内的编
程指令。在一个实施例中,在视图(a)中,移动计算机应用程序200包括账户—田地—数据摄
取—共享指令202,概述和警报指令204,数字地图簿指令206,种子和种植指令208,氮指令
210,天气指令212,田地健康指令214,以及表现指令216。
[0073] 在一个实施例中,移动计算机应用程序200包括账户、田地、数据摄取、共享指令202,其被编程为经由手动上传或API从第三方系统接收、转换和摄取田地数据。数据类型可
包括田地边界,产量图,种植图,土壤测试结果,施用图,和/或管理区等。数据格式可包括形
状文件,第三方的原生数据格式,和/或农场管理信息系统(FMIS)导出等。接收数据可以经
由以下方式发生:手动上传,带有附件的电子邮件,将数据推送到移动应用程序的外部API,
或者调用外部系统的API来将数据拉取到移动应用程序中的指令。在一个实施例中,移动计
算机应用程序200包括数据收件箱。响应于接收到对数据收件箱的选择,移动计算机应用程
序200可以显示用于手动上传数据文件和将上传的文件导入到数据管理器的图形用户界
面。
[0074] 在一个实施例中,数字地图簿指令206包括在设备存储器中存储的田地地图数据层,并被编程有数据可视化工具和地理空间田地注释。这为种植者提供了近在咫尺的方便
信息,以供参考、记录和对田地表现的视觉洞察力。在一个实施例中,概述和警报指令204被
编程为提供对种植者重要之物的操作范围视图,以及采取行动或专注于特定问题的及时建
议。这允许种植者将时间集中在需要关注什么,以节省时间并在整个季节保持产量。在一个
实施例中,种子和种植指令208被编程为基于科学模型和经验数据来提供用于种子选择、混
合放置和脚本创建(包括可变速率(VR)脚本创建)的工具。这使种植者能够通过优化的种子
购买、放置和种群来使产量或投资回报最大化。
[0075] 在一个实施例中,脚本生成指令205被编程为提供用于生成脚本(包括可变速率(VR)肥力脚本)的界面。该界面使种植者能够为田地器具(诸如养分施用、种植和灌溉)创建
脚本。例如,种植脚本界面可包括用于识别用于种植的种子的类型的工具。在接收到对种子
类型的选择之后,移动计算机应用程序200可以显示被划分为管理区域的一个或多个田地,
诸如作为数字地图簿指令206的一部分而被创建的田地地图数据层。在一个实施例中,管理
区域包括土壤区域以及面板,该面板标识每个土壤区域以及每个区域的土壤名称、质地、排
水或其他田地数据。移动计算机应用程序200还可在一个或多个田地的地图上显示用于编
辑或创建此类的工具,诸如用于绘制管理区域(诸如土壤区域)的图形工具。种植过程可以
应用于所有管理区域,或者不同的种植过程可以应用于管理区域的不同子集。当脚本被创
建时,移动计算机应用程序200可以使该脚本可用于以应用控制器可读的格式(诸如存档或
压缩的格式)下载。此外,和/或可替代地,脚本可以被从移动计算机应用程序200直接发送
到驾驶室计算机115和/或被上传到一个或多个数据服务器并被存储以供进一步使用。
[0076] 在一个实施例中,氮指令210被编程为提供通过使氮对作物的可用性可视化来告知氮决策的工具。这使种植者能够通过季节期间的优化的氮施用来使产量或投资回报最大
化。示例编程功能包括:显示图像(诸如SSURGO图像)以使得能够以高空间分辨率(取决于传
感器的接近度和分辨率,精细到毫米或更小)绘制肥料施用区域和/或根据子田地土壤数据
(诸如从传感器获得的数据)生成的图像;上传现有的种植者定义的区域;提供植物养分可
用性的图和/或使得能够调节跨多个区域的一次或多次氮施用的地图;输出脚本以驱动机
械;用于大量数据输入和调整的工具;和/或用于数据可视化的地图等。该上下文中的“大量
数据输入”可能表示输入数据一次然后将相同的数据应用于已经在系统中定义的多个田地
和/或区域;示例数据可包括对于相同种植者的许多田地和/或区域都相同的氮施用数据,
但是这样的大量数据输入适用于将任何类型的田地数据输入到移动计算机应用程序200
中。例如,氮指令210可被编程为接受氮施用和实践程序的定义以及接受指定跨多个田地应
用那些程序的用户输入。该上下文中的“氮施用程序”指的是与以下各项相关联的所存储的
命名的数据集:名称,颜色代码或其他标识符,一个或多个施用日期,每个日期的材料或产
品类型以及数量,施用或掺入的方法(诸如注入或播撒),和/或每个日期的施用量或施用速
率,作为施用对象的作物或杂种,等等。该上下文中的“氮实践程序”指的是与以下各项相关
联的所存储的命名的数据集:实践名称;先前的作物;耕作系统;主要耕作的日期;曾使用的
一个或多个先前的耕作系统;曾使用的施用类型(诸如施肥)的一个或多个指示符。氮指令
210也可被编程为生成并导致显示氮图,该氮图指示对指定氮的植物使用的预测以及是预
测到过剩还是预测到不足;在一些实施例中,不同的颜色指示符可以表示过剩的幅度或不
足的幅度。在一个实施例中,氮图包括:计算机显示设备中的包括多行的图形显示,每一行
与田地相关联并标识该田地;指定在田地中种植什么作物、田地大小、田地位置和田地周界
的图形表示的数据;在每一行中,具有图形指示符的按月的时间线指定与月份名称相关的
点处的每次氮施用和数量;以及数字和/或有颜色的过剩指示符或不足指示符,其中颜色指
示幅度。
[0077] 在一个实施例中,氮图可包括诸如刻度盘或滑动条之类的用于动态地改变氮种植和实践程序的一个或多个用户输入特征,使得用户可以优化其氮图。用户然后可以使用其
优化的氮图以及相关的氮种植和实践程序来实现一个或多个脚本,包括可变速率(VR)肥力
脚本。氮指令210也可被编程为生成并导致显示氮地图,该氮地图指示对指定氮的植物使用
的预测以及是预测到过剩还是预测到不足;在一些实施例中,不同的颜色指示符可以表示
过剩的幅度或不足的幅度。氮地图可以使用数字和/或有颜色的过剩指示符或不足指示符
来显示对指定氮的植物使用的预测以及针对过去和未来的不同时间(诸如每天、每周、每月
或每年)是预测到过剩还是预测到不足,其中颜色指示幅度。在一个实施例中,氮地图可包
括诸如刻度盘或滑动条之类的用于动态地改变氮种植和实践程序的一个或多个用户输入
特征,使得用户可以优化其氮地图,例如以获得优选量的过剩到不足。用户然后可以使用其
优化的氮地图以及相关的氮种植和实践程序来实现一个或多个脚本,包括可变速率(VR)肥
力脚本。在其他实施例中,与氮指令210类似的指令可以用于其他养分(诸如磷和钾)的施
用、农药的施用以及灌溉程序。
[0078] 在一个实施例中,天气指令212被编程为提供田地专用的最近天气数据和预报天气信息。这使得种植者能够节省时间以及具有关于日常操作决策的高效集成显示。
[0079] 在一个实施例中,田地健康指令214被编程为提供及时的遥感图像,这些遥感图像突出显示应季作物变化和潜在担忧。示例编程功能包括:云检查,以识别可能的云或云阴
影;基于田地图像确定氮指数;对例如包括与田地健康有关的那些的侦察层的图形可视化,
以及对侦察笔记的查看和/或共享;和/或从多个来源下载卫星图像,并优先考虑种植者的
图像,等等。
[0080] 在一个实施例中,表现指令216被编程为提供报告、分析和洞察力工具,这些工具使用农场数据进行评估、洞察力和决策。这使种植者能够通过关于为何投资回报处于先前
水平的基于事实的结论以及对产量限制因素的洞察力来寻求下一年的改进结果。表现指令
216可被编程为经由一个或多个网络109向在农业智能计算机系统130和/或外部数据服务
器计算机108处执行的后端分析程序传送,并且被配置为分析诸如产量、产量差异、杂种、种
群、SSURGO区域、土壤测试属性或海拔等的度量。编程的报告和分析可包括:产量可变性分
析,治疗效果估计,基于从许多种植者收集的匿名数据或种子和种植的数据对照其他种植
者的产量和其他度量的基准测试,等等。
[0081] 具有以这种方式配置的指令的应用程序可以针对不同的计算设备平台来实现,同时保持相同的一般用户界面外观。例如,移动应用程序可被编程以便在使用客户端计算机
处的浏览器访问的平板、智能电话或服务器计算机上执行。另外,针对平板计算机或智能电
话配置的移动应用程序可以提供适合于驾驶室计算机115的显示和处理能力的完整的应用
程序体验或驾驶室应用程序体验。例如,现在参考图2的视图(b),在一个实施例中,驾驶室
计算机应用程序220可包括地图—驾驶室指令222、远程视图指令224、数据收集和传送指令
226、机器警报指令228、脚本传送指令230和侦察—驾驶室指令232。视图(b)的指令的代码
基可以与视图(a)的相同,并且实现该代码的可执行文件可被编程为检测它们所执行于的
平台的类型,并被编程为通过图形用户界面仅暴露适用于驾驶室平台或完整平台的那些功
能。该方法使系统能够识别出适用于驾驶室内环境和驾驶室的不同技术环境的截然不同的
用户体验。地图—驾驶室指令222可被编程为提供田地、农场或区域的地图视图,这些地图
视图在指导机器操作时有用。远程视图指令224可被编程为打开、管理实时的或近乎实时的
机器活动的视图并将其经由无线网络、有线连接器或适配器等提供给连接到系统130的其
他计算设备。数据收集和传送指令226可被编程为打开、管理在传感器和控制器处收集的数
据,并提供将其经由无线网络、有线连接器或适配器等传送到系统130。机器警报指令228可
被编程为检测与驾驶室相关联的机器或工具的操作问题并生成操作者警报。脚本传送指令
230可被配置为以指令脚本的方式传送,这些指令脚本被配置为指导机器操作或数据的收
集。侦查—驾驶室指令232可被编程为基于田地管理器计算设备104、农业装置111或传感器
112在田地中的位置来显示从系统130接收到的基于位置的警报和信息,并且摄取、管理基
于位置的侦察观察结果并提供基于农业装置111或传感器112在田地中的位置将基于位置
的侦察观察结果传送到系统130。
[0082] 2.3.计算机系统的数据摄取
[0083] 在一个实施例中,外部数据服务器计算机108存储外部数据110,其包括表示一个或多个田地的土壤组成的土壤数据以及表示一个或多个田地上的温度和降水的天气数据。
天气数据可包括过去和当前的天气数据以及对未来天气数据的预测。在一个实施例中,外
部数据服务器计算机108包括由不同实体托管的多个服务器。例如,第一服务器可包含土壤
组成数据,而第二服务器可包括天气数据。此外,土壤组成数据可存储在多个服务器中。例
如,一个服务器可存储表示土壤中的沙子、淤泥和粘土的百分比的数据,而第二服务器可存
储表示土壤中的有机物(OM)的百分比的数据。
[0084] 在一个实施例中,远程传感器112包括一个或多个传感器,这一个或多个传感器被编程或配置为生成一个或多个观察结果。远程传感器112可以是空中传感器(诸如卫星),车
辆传感器,种植设备传感器,耕作传感器,肥料或杀虫剂施用传感器,收割机传感器,以及能
够从一个或多个田地接收数据的任何其他器具。在一个实施例中,应用控制器114被编程或
配置为从农业智能计算机系统130接收指令。应用控制器114还可被编程或配置为控制农业
车辆或用具的操作参数。例如,应用控制器可被编程或配置为控制车辆(诸如拖拉机)、种植
设备、耕作设备、肥料或杀虫剂设备、收割机设备或其他农场用具(诸如水阀)的操作参数。
其他实施例可使用传感器和控制器的任何组合,其中以下仅仅是选中的示例。
[0085] 系统130可以在用户102的控制下大规模地从已经将数据贡献给共享数据库系统的大量种植者获得或摄取数据。当请求或触发一个或多个用户控制的计算机操作以获得供
系统130使用的数据时,该形式的获取数据可以称为“手动数据摄取”。例如,可以操作可从
加利福尼亚州旧金山市的气候公司购买的CLIMATE FIELDVIEW应用程序以将数据导出到系
统130,以存储在存储库160中。
[0086] 例如,种子监视器系统既可以控制播种机装置组件,也可以获得种植数据,包括经由信号线束来自种子传感器的信号,该信号线束包括CAN主干网以及用于注册和/或诊断的
点对点连接。种子监视器系统可被编程或配置为经由驾驶室计算机115或系统130内的其他
设备向用户显示播种间距、种群和其他信息。在美国专利第8,738,243号和美国专利公开
20150094916中公开了示例,并且本公开假定那些其他专利公开的知识。
[0087] 同样,产量监视器系统可包含用于收割机装置的产量传感器,其将产量测量数据发送至驾驶室计算机115或系统130内的其他设备。产量监视器系统可利用一个或多个远程
传感器112来获得联合收割机或其他收割机中的谷物水分测量结果,并经由驾驶室计算机
115或系统130内的其他设备将这些测量结果发送到用户。
[0088] 在一个实施例中,可以与在本文中其他地方描述的类型的任何移动车辆或装置一起使用的传感器112的示例包括运动学传感器和位置传感器。运动学传感器可包括任何速
度传感器,诸如雷达或车轮速度传感器、加速计或陀螺仪。位置传感器可包括GPS接收器或
收发器,或者基于WiFi的位置或地图应用程序等,这些应用程序被编程为基于附近的WiFi
热点来确定位置。
[0089] 在一个实施例中,可以与拖拉机或其他移动车辆一起使用的传感器112的示例包括:发动机转速传感器,燃料消耗传感器,与GPS或雷达信号交互的面积计数器或距离计数
器,PTO(动力输出装置)速度传感器,被配置为检测液压参数(诸如压力或流量)和/或液压
泵速度的拖拉机液压传感器,轮速传感器或轮滑传感器。在一个实施例中,可以与拖拉机一
起使用的控制器114的示例包括:液压方向控制器,压力控制器,和/或流量控制器;液压泵
速度控制器;速度控制器或调速器;悬挂装置位置控制器;或者车轮位置控制器提供自动转
向。
[0090] 在一个实施例中,可以与诸如种植机、条播机或空气播种机之类的种子种植设备一起使用的传感器112的示例包括:种子传感器,其可以是光学、电磁或碰撞传感器;下压力
传感器,诸如称重销、称重传感器、压力传感器;土壤性质传感器,诸如反射率传感器、湿度
传感器、电导率传感器、光学残留传感器或温度传感器;组件操作标准传感器,诸如种植深
度传感器、下压力缸压力传感器、种子盘速度传感器、种子驱动电机编码器、种子输送机系
统速度传感器或者真空度传感器;或者杀虫剂施加传感器,诸如光学或其他电磁传感器或
碰撞传感器。在一个实施例中,可以与这样的种子种植设备一起使用的控制器114的示例包
括:工具栏折叠控制器,诸如用于与液压缸相关联的阀的控制器;下压力控制器,诸如用于
与气压缸、安全气囊或液压缸相关联的阀的控制器,并被编程用于将下压力施加到单个行
单元或整个种植机框架上;种植深度控制器,诸如线性致动器;计量控制器,诸如电动排种
器驱动马达、液压排种器驱动马达或刈幅控制离合器;混合选择控制器,诸如排种器驱动马
达,或者被编程用于选择性地允许或阻止种子或空气种子混合物将种子递送到排种器或中
央散装料斗中或从排种器或中央散装料斗中递送种子的其他致动器;计量控制器,诸如电
动排种器驱动马达或液压排种器驱动马达;种子输送机系统控制器,诸如用于带式种子递
送输送机马达的控制器;标记控制器,诸如用于气动或液压致动器的控制器;或者杀虫剂施
用速率控制器,诸如计量驱动控制器、孔口尺寸或位置控制器。
[0091] 在一个实施例中,可以与耕作设备一起使用的传感器112的示例包括:用于诸如柄或盘之类的工具的位置传感器;用于被配置为检测深度、同轴角或侧向间距的此类工具的
工具位置传感器;下压力传感器;或牵伸力传感器。在一个实施例中,可以与耕作设备一起
使用的控制器114的示例包括下压力控制器或工具位置控制器,诸如被配置为控制工具深
度、同轴角或侧向间距的控制器。
[0092] 在一个实施例中,可以联系用于施用肥料、杀虫剂、杀真菌剂等的装置(诸如播种机上的起动肥料系统、底土肥料施用器或肥料喷雾器)使用的传感器112的示例包括:流体
系统标准传感器,例如流量传感器或压力传感器;指示哪些喷头阀或流体管线阀为打开的
传感器;与罐相关联的传感器,诸如液位传感器;分段或全系统的供应线传感器,或者行专
用的供应线传感器;或者运动学传感器,诸如布置在喷雾器喷杆上的加速度计。在一个实施
例中,可以与这样的装置一起使用的控制器114的示例包括:泵速度控制器;阀控制器,其被
编程为控制压力、流量、方向、PWM等;或者诸如用于喷杆高度、深耕铲深度或喷杆位置的位
置致动器。
[0093] 在一个实施例中,可以与收割机一起使用的传感器112的示例包括:产量监视器,诸如冲击板应变仪或位置传感器、电容式流量传感器、负载传感器、重量传感器或者与升降
机或绞龙相关联的扭矩传感器,或者光学或其他的电磁谷物高度传感器;谷物水分传感器,
诸如电容传感器;谷物损失传感器,包括碰撞传感器、光学传感器或电容传感器;割台操作
标准传感器,诸如割台高度传感器、割台类型传感器、甲板间隙传感器、送料机速度传感器
和拨禾轮速度传感器;分离器操作标准传感器,诸如凹板间隙、转子速度、闸瓦间隙或筛间
隙传感器;用于位置、操作或速度的绞龙传感器;或者发动机转速传感器。在一个实施例中,
可以与收割机一起使用的控制器114的示例包括:用于诸如割台高度、割台类型、甲板间隙、
送料机速度或拨禾轮速度之类的元素的割台操作标准控制器;用于诸如凹板间隙、转子速
度、闸瓦间隙或筛间隙之类的特征的分离器操作标准控制器;或者用于绞龙位置、操作或速
度的控制器。
[0094] 在一个实施例中,可以与谷物拖车一起使用的传感器112的示例包括重量传感器或者用于绞龙位置、操作或速度的传感器。在一个实施例中,可以与谷物拖车一起使用的控
制器114的示例包括用于绞龙位置、操作或速度的控制器。
[0095] 在一个实施例中,传感器112和控制器114的示例可以安装在无人驾驶飞行器(UAV)装置或“无人机”中。这样的传感器可包括具有对包括可见光、红外、紫外线、近红外
(NIR)等在内的电磁频谱的任何范围都有效的检测器的相机;加速度计;高度计;温度传感
器;湿度传感器;皮托管传感器或其他空速或风速传感器;电池寿命传感器;或雷达发射器
和反射雷达能量探测装置;其他电磁辐射发射器和反射电磁辐射检测装置。这样的控制器
可包括:引导或马达控制设备,控制面控制器,相机控制器,或者被编程为打开任何前述传
感器、操作任何前述传感器、从任何前述传感器获得数据、管理和配置任何前述传感器的控
制器。在美国专利申请第14/831,165号中公开了示例,并且本公开假定该其他专利公开的
知识。
[0096] 在一个实施例中,传感器112和控制器114可以固定到土壤采样和测量装置,该装置被配置或编程为对土壤进行采样以及执行土壤化学测试、土壤湿度测试和其他与土壤有
关的测试。例如,在美国专利第8,767,194号和美国专利第8,712,148号中公开的装置可被
使用,并且本公开假定那些专利公开的知识。
[0097] 在一个实施例中,传感器112和控制器114可包括用于监视田地的天气状况的天气设备。例如,在2015年4月29日提交的美国临时申请第62/154,207号、2015年6月12日提交的
美国临时申请第62/175,160号、2015年7月28日提交的美国临时申请第62/198,060号和
2015年9月18日提交的美国临时申请第62/220,852号中公开的装置可被使用,并且本公开
假定那些专利公开的知识。
[0098] 2.4.处理概述—农艺模型训练
[0099] 在一个实施例中,农业智能计算机系统130被编程或配置为创建农艺模型。在该上下文中,农艺模型是农业智能计算机系统130的存储器中的数据结构,其包括田地数据106,
诸如一个或多个田地的标识数据和收获数据。农艺模型还可包括计算出的农艺特性,其描
述了可能影响田地上的一个或多个作物的生长的条件或一个或多个农作物的特性或两者。
此外,农艺模型可包括基于农艺因素的建议,诸如作物建议、灌溉建议、种植建议、肥料建
议、杀真菌剂建议、杀虫剂建议、收割建议和其他作物管理建议。农艺因素也可用于估计一
个或多个作物相关结果,诸如农艺产量。作物的农艺产量是对所生产的作物的数量的估计,
或者在一些示例中是从所生产的作物获得的收入或利润。
[0100] 在一个实施例中,农业智能计算机系统130可使用预先配置的农艺模型来计算与当前接收到的一个或多个田地的位置和作物信息有关的农艺特性。预先配置的农艺模型基
于先前处理的田地数据,其包括但不限于标识数据、收获数据、肥料数据和天气数据。预先
配置的农艺模型可能已被交叉验证,以确保模型的准确性。交叉验证可包括与地面实况的
比较,其将预测结果与田地上的实际结果进行比较,诸如将降雨估计与提供相同或附近位
置的天气数据的雨量计或传感器进行比较,或将氮含量的估计与土壤样品测量结果进行比
较。
[0101] 图3示出了编程的处理,通过该处理,农业智能计算机系统使用由一个或多个数据源提供的田地数据来生成一个或多个预先配置的农艺模型。图3可以用作用于将农业智能
计算机系统130的功能元件编程为执行现在描述的操作的算法或指令。
[0102] 在框305处,农业智能计算机系统130被配置或编程为实现对从一个或多个数据源接收的田地数据的农艺数据预处理。可以出于去除噪声、失真影响以及农艺数据内的混杂
因素的目的而对从一个或多个数据源接收的田地数据进行预处理,这些混杂因素包括可能
对接收到的田地数据值产生不利影响的测量异常值。农艺数据预处理的实施例可包括但不
限于:去除通常与异常数据值相关联的数据值、已知不必要地使其他数据值倾斜的特定测
量数据点,数据平滑、聚合,或者用于去除或减少来自噪声的加性或乘性影响的采样技术,
以及用于提供正数据输入和负数据输入之间的明显区别的其他滤波或数据推导技术。
[0103] 在框310处,农业智能计算机系统130被配置或编程为使用预处理后的田地数据来执行数据子集选择,以识别对初始农艺模型生成有用的数据集。农业智能计算机系统130可
实现数据子集选择技术,其包括但不限于遗传算法方法、所有子集模型方法、顺序搜索方
法、逐步回归方法、粒子群优化方法和蚁群优化方法。例如,遗传算法选择技术基于自然选
择和遗传学的进化原理使用自适应启发式搜索算法来确定和评估预处理农艺数据内的数
据集。
[0104] 在框315处,农业智能计算机系统130被配置或编程为实现田地数据集评估。在一个实施例中,通过创建农艺模型并对所创建的农艺模型使用特定质量阈值来评估特定田地
数据集。可以使用一种或多种比较技术(诸如但不限于留一交叉验证均方根误差(RMSECV)、
平均绝对误差和平均百分比误差)来比较和/或验证农艺模型。例如,RMSECV可以通过将由
农艺模型创建的预测农艺属性值与所收集和分析的历史农艺属性值进行比较来交叉验证
农艺模型。在一个实施例中,将农艺数据集评估逻辑用作反馈回路,其中在未来的数据子集
选择步骤期间使用不满足已配置质量阈值的农艺数据集(框310)。
[0105] 在框320处,农业智能计算机系统130被配置或编程为基于经交叉验证的农艺数据集来实现农艺模型创建。在一个实施例中,农艺模型创建可实施多变量回归技术以创建预
先配置的农艺数据模型。
[0106] 在框325处,农业智能计算机系统130被配置或编程为存储预先配置的农艺数据模型以用于未来的田地数据评估。
[0107] 2.5.实施示例—硬件概述
[0108] 根据一个实施例,本文描述的技术由一个或多个专用计算设备实现。专用计算设备可被硬连线以执行这些技术,或者可包括诸如一个或多个专用集成电路(ASIC)或现场可
编程门阵列(FPGA)之类的被永久编程为执行这些技术的数字电子设备,或者可包括被编程
为根据固件、存储器、其他存储或组合中的程序指令来执行这些技术的一个或多个通用硬
件处理器。这样的专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制的编程相
结合,以实现这些技术。专用计算设备可以是台式计算机系统,便携式计算机系统,手持式
设备,联网设备,或是包含用来实现这些技术的硬连线和/或程序逻辑的任何其他设备。
[0109] 例如,图4是示出了可以在其上实现本发明的实施例的计算机系统400的框图。计算机系统400包括总线402或用于传送信息的其他通信机制,以及与总线402耦合的用于处
理信息的硬件处理器404。硬件处理器404可以例如是通用微处理器。
[0110] 计算机系统400还包括耦合到总线402的用于存储信息和要由处理器404执行的指令的主存储器406,诸如随机存取存储器(RAM)或其他动态存储设备。主存储器406也可用于
在要由处理器404执行的指令的执行期间存储临时变量或其他中间信息。这样的指令当存
储在处理器404可访问的非暂时性存储介质中时使计算机系统400成为专用于执行在这些
指令中指定的操作的专用机器。
[0111] 计算机系统400还包括耦合到总线402的用于存储静态信息和处理器404的指令的只读存储器(ROM)408或其他静态存储设备。诸如磁盘、光盘或固态驱动器之类的存储设备
410被提供并耦合到总线402以存储信息和指令。
[0112] 计算机系统400可以经由总线402耦合到诸如阴极射线管(CRT)之类的用于向计算机用户显示信息的显示器412。包括字母数字键和其他键的输入设备414耦合到总线402,以
向处理器404传送信息和命令选择。另一种类型的用户输入设备是用于向处理器404传送方
向信息和命令选择并用于控制显示器412上的光标移动的光标控制416,诸如鼠标、跟踪球
或光标方向键。该输入设备通常在两个轴(第一轴(例如,x)和第二轴(例如,y))上具有两个
自由度,这允许设备指定平面中的位置。
[0113] 计算机系统400可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文描述的技术,该程序逻辑与计算机系统结合使计算机系统400成为专
用机器或将计算机系统400编程为专用机器。根据一个实施例,由计算机系统400响应于处
理器404执行在主存储器406中包含的一个或多个指令的一个或多个序列而执行本文中的
技术。可以从诸如存储设备410之类的另一存储介质将这样的指令读取到主存储器406中。
执行在主存储器406中包含的指令序列使处理器404执行本文描述的处理步骤。在替代实施
例中,可以使用硬连线电路来代替软件指令或者与软件指令结合使用硬连线电路。
[0114] 本文所使用的术语“存储介质”指的是存储数据和/或使机器以特定方式运行的指令的任何非暂时性介质。这样的存储介质可以包括非易失性介质和/或易失性介质。非易失
性介质包括例如光盘、磁盘或固态驱动器,诸如存储设备410。易失性介质包括动态存储器,
诸如主存储器406。存储介质的常见形式例如包括:软盘,柔性盘,硬盘,固态驱动器,磁带或
任何其他磁性数据存储介质,CD‑ROM,任何其他光学数据存储介质,具有孔图案的任何物理
介质,RAM,PROM,和EPROM,FLASH‑EPROM,NVRAM,任何其他存储器芯片或盒式磁带。
[0115] 存储介质不同于传输介质,但是可以与传输介质结合使用。传输介质参与在存储介质之间传送信息。例如,传输介质包括同轴电缆、铜线和光纤,包括构成总线402的电线。
传输介质还可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的那
些。
[0116] 各种形式的介质可参与将一个或多个指令的一个或多个序列运送到处理器404以供执行。例如,指令最初可被携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将
指令加载到其动态存储器中,并使用调制解调器通过电话线来发送指令。在计算机系统400
本地的调制解调器可以接收电话线上的数据,并使用红外发射器将数据转换为红外信号。
红外检测器可以接收红外信号中携带的数据,并且适当的电路可以将数据放置在总线402
上。总线402将数据运送到主存储器406,处理器404从主存储器406中检索并执行指令。由主
存储器406接收的指令可以可选地在处理器404执行之前或之后存储在存储设备410上。
[0117] 计算机系统400还包括耦合到总线402的通信接口418。通信接口418向连接到本地网络422的网络链路420提供双向数据通信耦合。例如,通信接口418可以是集成服务数字网
络(ISDN)卡、电缆调制解调器、卫星调制解调器,或者用于向对应类型的电话线提供数据通
信连接的调制解调器。作为另一个示例,通信接口418可以是用于向兼容的LAN提供数据通
信连接的局域网(LAN)卡。无线链路也可被实现。在任何这样的实现中,通信接口418发送和
接收电信号、电磁信号或光信号,这些电信号、电磁信号或光信号携带表示各种类型的信息
的数字数据流。
[0118] 网络链路420通常向其他数据设备提供通过一个或多个网络的数据通信。例如,网络链路420可以向主机计算机424或向由因特网服务提供商(ISP)426操作的数据设备提供
通过本地网络422的连接。ISP 426继而通过现在通常称为“因特网”428的全球分组数据通
信网络来提供数据通信服务。本地网络422和因特网428都使用携带数字数据流的电信号、
电磁信号或光信号。通过各种网络的信号和在网络链路420上并通过通信接口418的信号是
传输介质的示例形式,这些信号向和从计算机系统400传送数字数据。
[0119] 计算机系统400可以通过一个或多个网络、网络链路420和通信接口418发送消息和接收包括程序代码在内的数据。在因特网示例中,服务器430可以通过因特网428、ISP 
426、本地网络422和通信接口418来发送所请求的应用程序的代码。
[0120] 所接收的代码可以在其被接收时由处理器404执行,并且/或者存储在存储设备410或其他非易失性存储中以供以后执行。
[0121] 3.功能描述
[0122] 3.1模型开发
[0123] 在一些实施例中,大FoV疾病识别服务器170被编程或配置有数据结构和/或数据库记录,这些数据结构和/或数据库记录被布置为构建用于识别可能从大FoV图像中捕获预
期目标的候选区域的第一模型。预期目标可以是单个叶子,一组多叶,或者一组多个作物而
不管叶数如何。服务器170被编程为接收第一组训练图像,诸如从田地的空中侦察图像中裁
切的大约2,000张图像。训练图像可以各自具有一致的大小,诸如224像素乘224像素。当预
期目标是单个叶子时,用作正样本的训练图像(其可以约为所有训练图像的一半)通常足够
明亮,以使计算机可以检测到在图像中心的占总面积的50%以上的单个健康或被感染的叶
子。捕获多个叶子或仅捕获土壤地面的剩余图像(其可能太暗)将用作负样本。
[0124] 在一些实施例中,服务器170被编程为接下来基于第一组训练图像来构建第一模型。第一模型可以是SVM,其接受训练图像的HOG特征向量并产生关于训练图像是否捕获预
期目标的指示。具体而言,用于SVM的训练数据可以是用作正面示例的训练图像的HOG特征
的集合和用作负面示例的训练图像的HOG特征的集合。
[0125] 图7示出了大FoV图像中的区域的HOG特征向量的示例计算。区域704可以是从大FoV图像702中提取的。如在下面进一步讨论的,可以为区域704计算如区域704上的黑色箭
头所示的梯度值。这些梯度值通常跟踪图像中的前景对象的轮廓,如大FoV图像702上的白
色箭头所示。区域的HOG特征矢量,诸如不同梯度值上的直方图706,因此可以捕获该区域中
的前景对象的特定形状。
[0126] 在一些实施例中,可以使用本领域技术人员已知的任何SVM模块或库来构建第一模型。例如,可以用默认参数值执行scikit‑learn库中的SVC函数。可替代地,第一模型可以
包括一个或多个其他分类方法,例如k最近邻居算法或决策树。另外,第一模型不需要与HOG
特征向量一起工作,或相反依赖边缘检测。例如,第一模型可以基于图案匹配,该图案匹配
寻找叶子的形状特征。
[0127] 在一些实施例中,服务器170被编程为还构建用于识别可能从大FoV图像中捕获被感染目标的中间区域的第二模型。服务器170被编程为接收第二组训练图像,诸如针对要识
别的每种疾病的受感染叶子的由手机生成的大约1,000张图像、1,000张健康叶子图像以及
从空中侦察图像的随机裁切生成的1,000张背景图像,其中每张图片等于或大于224像素乘
224像素。与第一组训练图像一样,当预期目标是单个叶子时,将用作正面示例的训练图像
可以各自包含图像中心中的占总面积的50%以上的单个叶子,并且明亮到足以指示任何疾
病症状。服务器170还可以被编程为在第二组训练图像中包括变化的尺寸和比例的图像。
[0128] 在一些实施例中,服务器170可以被编程为根据第二模型的要求来细化第二组训练图像。第二组训练图像可以各自被修剪为固定大小,诸如224像素乘224像素。也可以通过
使现有的训练图像经受各种图像操作来增强第二组训练消息。例如,如在下面进一步讨论
的,可以为了规模增大而将每个训练图像的短边的大小调整为在256像素和384像素之间,
并且可以将大小调整后的图像随机削减为224像素乘224像素。还例如,训练图像可以在(‑
90度,90度)范围内随机旋转,并以0.2的剪切因子随机剪切。对于也将在下面进一步讨论的
多尺寸训练,训练图像可以按接连更小的比例调整大小并被直接使用。
[0129] 在一些实施例中,服务器170被编程为进一步增强第二组训练图像。可以使用生成对抗网络(“GAN”)进行数据增强,生成对抗网络可以用于生成对人类观察者看起来真实的
照片并且因此对于通过扩展训练数据集来提高机器学习模型的性能是有用的。具体而言,
GAN涉及由两个神经网络(即生成网络和判别网络,它们在零和博弈框架中相互竞争)组成
的系统。真实图像的集合被用作判别网络的训练集,而生成网络产生一组对人类观察者看
起来真实的人工图像。GAN的一个示例是如在Gulrajani等人的文章arXiv:1704.0028v2
[cs.CV](2015)中描述的改进的Wassersstein GAN(“WGAN”)。当前的第二组训练图像可以
以半监督学习的方式用作判别网络的训练集。
[0130] 在一些实施例中,可以使用本领域技术人员已知的任何WGAN模块或库来实现数据增强。例如,可以通过将鉴别器替换为ResNet50网络(以接受一定大小的训练数据)来改编
GitHub库下的improved_wgan_training包,这可以使用与Python 2.7‑3.5兼容的Keras库
的ResNet50模型来实现。
[0131] 在一些实施例中,服务器170被编程为接下来基于第二组训练图像来构建第二模型。第二模型可以是接受大FoV图像并为可以通过第一模型识别的每个候选区域产生分类
的CNN,从而指示该区域是否捕获了预定作物疾病之一的症状。
[0132] 图8示出了根据一个实施例的示例CNN架构。CNN可以包括卷积层集802,其被配置为针对给定的大FoV图像生成特征图。执行该卷积层集的输出是与被感染目标的不同特征
相对应的一组特征图,其可能处于不同的比例。
[0133] CNN还可以包括RoI池化层804,以针对大FoV图像的任意大小的区域生成固定长度的表示。具体而言,可以执行RoI投影以将感兴趣的区域(诸如通过第一模型识别的一个)投
影到输入的大FoV图像上,以从由卷积层集802产生的每个特征图中提取对应的部分(“投
影”)。特征映射的该组部分然后可以经受RoI池化层804。示例RoI池化层是最大池化层,其
将投影转换为7像素乘7像素的特征图。
[0134] 最后,CNN可以包括全连接层806,以使用对应组的7像素乘7像素特征图来生成最终分类。全连接层可以包括softmax函数,该函数产生每个类的类成员资格的概率,或者在
这种情况下产生每种疾病的感染的概率或无感染的概率。
[0135] 在一些实施例中,可以使用本领域技术人员已知的任何CNN模块或库来构建第二模型。例如,可以利用与Python 2.7‑3.5兼容的Keras库的ResNet50模型,其将include_top
设置为True、将max设置为True并将classes设置为5。这五个类将对应于背景、灰叶斑病
(GLS)、戈斯枯萎病(GW)、NLB和健康的叶子。
[0136] 在一些实施例中,为了实现尺度不变性,可以利用单尺寸训练或多尺寸训练来训练诸如CNN之类的第二模型。在其他实施例中,第二模型可以包括本领域技术人员已知的一
种或多种其他分类方法,诸如线性回归、马尔可夫链或递归神经网络。
[0137] 3.2图像缩放和区域选择
[0138] 在一些实施例中,给定大FoV图像,服务器170被编程为以不同的比例调整给定图像的大小以生成图像金字塔,使得固定大小的滑动窗口可以用于寻找任意尺寸的叶子。滑
动窗口的大小将是第二组训练图像中的每个训练图像的预期大小。可以使用本领域技术人
员已知的任何内容缩放方法,诸如最近邻居缩放或Lanczos重采样。
[0139] 图9示出了生成图像金字塔的示例缩放处理。
[0140] 作为一个示例,原始大FoV图像的大小可以为1600像素乘1200像素,并且图像904、906、908和910可以分别表示与900像素乘800像素、800像素乘600像素、560像素乘420像素
和400像素乘300像素的大小相对应的按照接连更小的比例的大小调整后的图像。最小的大
小调整后的图像910仍将大于滑动窗口902的大小,滑动窗口902的大小为224像素乘224像
素。随着大小调整后的图像变小,即使更多信息被丢失,也预计缩放方法保留原始图像的主
要特征。因此,随着图像变小,相同的滑动窗口902将对应于原始图像中理想地具有大致相
同特征的更大区域。因此,按照接连更小的比例,滑动窗口902对应于原始图像中的捕获越
来越多叶子的区域。对于特定大小的图像,当视野的大小为大时,该图像可能捕获许多叶子
并且每个叶子只能在小区域中被表示,因此大比例将足以使滑动窗口902对应于捕获单个
叶子的区域。
[0141] 类似地,当视野的大小为小时,图像可能捕获很少叶子并且每个叶子都可以在大区域中被表示,因此,为了使滑动窗口902对应于捕获单个叶子的区域,小比例将是必需的。
通常,可以使用任意数量的比例,尽管更多数量的比例将意味着要更多数量的要考虑的区
域。
[0142] 在一些实施例中,服务器170被编程为通过每个大小调整后的图像来运行滑动窗口902,并且在对应区域上执行上面讨论的第一模型以识别可能捕获预期目标(诸如单个叶
子)的候选区域。具体而言,对于每个对应区域,服务器170被编程为计算HOG特征向量。可以
使用本领域技术人员已知的任何HOG模块或库来执行该计算。例如,OpenCV库(版本3.3)中
的HOGDescriptor函数可以用于在win_size设置为Size(224,224)、block_size设置为Size
(2,2)、cell_size设置为Size(32,32)的情况下计算HOG特征向量。服务器170还被编程为在
HOG特征向量上执行SVM,以确定是否可以将对应区域分类为可能捕获预期目标的候选区
域。
[0143] 图10示出了从图像金字塔中进行区域选择的示例结果。图表1002、1004、1006和1008可以表示上面提到的原始图像和大小调整后的图像,其分别具有1600像素乘1200像
素、900像素乘800像素、800像素乘600像素和560像素乘420像素的尺寸。每个图表的x轴和y
轴以40像素为单位指示图像的尺寸,尽管每个图表被以相同的大小示出以指示大小调整后
的图像如何映射回原始图像。候选区域被示出为这些图表中的暗区域,诸如暗区域1010。从
图表1002、1004和1006中可以看出,当以不同比例调整原始图像的大小时,可以识别出不同
的候选区域。例如,暗区域1010在图表1004中清楚地出现,但在图表1002中仅部分地出现,
并且在图表1006和1008中根本不出现。此外,如在图表1006和1008中示出的针对更小比例
识别出的少量的候选区域与和原始图像相关联的大视野一致。
[0144] 3.3图像特征计算
[0145] 在一些实施例中,服务器170被编程为在输入的大FoV图像上执行第二模型,以初始计算该图像的要用于确定该图像是否捕获了任何被感染目标(诸如被感染的叶子)的特
征。具体而言,服务器170被配置为在大FoV图像上执行CNN的卷积层的集合。CNN通常能够以
不同比例提取目标的特征。在大FoV图像上执行卷积层集一次明显比在不同的大小调整后
的图像上另外执行卷积层集更加高效。因此,希望将大FoV图像馈送到CNN,让图像的不同区
域通过卷积运算进行评估,但是削减特征图以专注于通过RoI池化层和全连接层的第一模
型识别的候选区域。
[0146] 3.4图像区域的分类和映射
[0147] 在一些实施例中,当第二模型是CNN时,服务器170被编程为执行RoI投影,如上所述。具体而言,服务器170被配置为获取通过第一模型识别的每个候选区域,将其映射到输
入的大FoV图像以获得映射区域,并从由CNN的卷积层集产生的每个特征图中提取对应部分
(“投影特征图”)。可以在He等人的文章arXiv:1406.4729v4[cs.CV](2015)中找到该映射处
理的示例。
[0148] 在一些实施例中,服务器170被编程为在与通过第一模型识别的候选区域相对应的每个投影特征图上执行RoI池化层。由于RoI池化层被设计为在合理大小的区域上工作以
产生有意义的固定大小表示,因此希望将卷积层集所输出的特征图的选择区域发送到RoI
池化层。在与大FoV图像中的选定区域相对应的投影特征图上执行RoI池化层明显比在与大
FoV图像的所有可能的滑动窗口区域相对应的特征图的所有可能部分上执行RoI池化层更
高效。因此,在大FoV图像上执行卷积层集和在投影特征图上执行RoI池化层的组合实现了
最佳执行效率。
[0149] 在一些实施例中,可以通过将RoI池化层设置为空间金字塔池化层来替换用于生成图像金字塔的初始图像缩放。在这种情况下,服务器170可以被配置为从对应于不同比例
的每个特征图中识别不同组的空间仓。服务器170可以进一步被配置为将每个空间仓作为
关注区域馈送到RoI池化层,或者利用第一模型来过滤一些空间仓。
[0150] 在一些实施例中,服务器170被配置为在由RoI池化层针对大FoV图像的每个映射区域输出的每组投影特征图上执行全连接层,以确定该映射区域是否可以被分类为可能捕
获每种疾病的被感染目标的中间区域。对于每个映射区域,全连接层可以产生每个疾病类
别的感染概率或无感染的概率。服务器170可以进一步被配置为基于与感染概率有关的预
定标准(例如当感染概率超过某个阈值或在最高的5%之中时)将映射区域分类为中间区
域。
[0151] 图11示出了用于识别可能捕获被感染目标的区域的第二模型的示例输出。图表1102、1104、1106和1108可以表示上面提到的原始图像和大小调整后的图像,其分别具有
1600像素乘1200像素、900像素乘800像素、800像素乘600像素和560像素乘420像素的大小。
每个图表的x轴和y轴以40像素为单位指示图像的尺寸,尽管每个图表都被以相同的大小示
出以指示大小调整后的图像如何映射回原始图像。如每个图表中的图例1010所指示,在这
些图表中以对应于不同疾病的不同阴影样式示出了被认为可能捕获受感染叶子的候选区
域(具有映射区域)。从图表1102、1104和1106中可以看出,可以从不同比例的图像中识别出
相同的被感染叶子。从图表1102中还可以看出,相同的叶子、相同的叶子的不同部分或附近
的叶子可被确定感染了不同的疾病。
[0152] 在一些实施例中,服务器170被编程为通过非最大抑制来压缩通过第二模型识别的中间区域的集合。由于滑动窗口供第一模型用来识别候选区域,因此通过第一模型识别
的许多候选区域、通过第二模型识别的许多映射区域以及许多中间区域可能重叠。因此,服
务器170被配置为系统地从作为最终区域的考虑中排除重叠区域。具体而言,在中间区域
中,首先选择具有最高感染概率和相关疾病的中间区域。然后,可以从作为最终区域的考虑
中去除与选出的中间区域重叠超过预定阈值(诸如重叠区域中的任一个的40%)的任何区
域。然后,可以在剩余的中间区域上重复该处理多次,直到预定标准得到满足为止,诸如已
经执行了多于一定数量的迭代,或者仍然存在少于一定数量的中间区域。或者,服务器170
可以被配置为将中间区域的集合划分为重叠区域的集群,并且同时或没有特别顺序地从每
个集群中选择一个区域。
[0153] 图12示出了非最大抑制的示例应用。在给定的大FoV图像1208中,大小调整后的图像中的一些候选区域(包括与映射区域1202、1204和1206相对应的那些)已经被确定为可能
捕获被感染的叶子。由于这些区域基本重叠,因此它们可能捕获同一个被感染的叶子。因
此,与最高感染概率相关联的一个(即与99%概率相关联的区域1204)将被选择为最终区
域。服务器170可以报告在区域1204中捕获的叶子可能以99%的概率被GLS感染。在从进一
步考虑中去除映射区域1202、1204和1206之后,如果仍然存在任何映射区域,则可以重复该
处理。
[0154] 在一些实施例中,服务器170被编程为通过通信网络将与最终区域有关的数据传输到显示设备、客户端设备或远程服务器。对于每个最终区域,该数据可以包括输入的大
FoV图像内的位置、可能感染的疾病或者感染概率。
[0155] 3.5示例可编程处理
[0156] 图13示出了从大FoV图像中识别被感染目标的示例处理。
[0157] 在一些实施例中,服务器170被编程为建立第一模型,第一模型用于确定区域是否可能捕获单个目标,诸如叶子。第一模型可以包括HOG模块或与HOG模块通信,该HOG模块计
算区域的HOG特征向量。第一模型还可以包括SVM,该SVM基于特征向量将区域分为几种类别
之一,诸如一类单叶和一类无叶或多叶,这可以导致识别可能捕获单个目标的候选区域。
[0158] 在一些实施例中,服务器170被编程为还建立第二模型,第二模型用于确定大FoV图像是否可能捕获被感染的目标(诸如被感染的叶子)或者该FoV图像的特定区域是否可能
捕获单独被感染的目标。第二模型可以包括CNN,该CNN包括卷积层集、RoI池化层和全连接
层。该卷积层集在计算输入图像的特征值时充当第一模型的HOG模块,输入图像的特征值可
以被表示为矢量、图或矩阵。然而,卷积层集可以直接从大FoV图像中以不同比例提取单个
对象的特征。RoI池化层可以将卷积层集针对通过第一模型识别的每个候选区域产生的一
组投影特征图处理为特征图。最终,针对基于RoI池化层的输出的一定概率,全连接层可以
将大FoV图像中的每个候选区域或对应的映射区域分类为几种类别中的每一类,诸如一类
被某种疾病感染的叶子和一类健康的叶子。全连接层的输出还可以导致识别可能捕获被某
种疾病感染的单个目标的中间区域。
[0159] 在一些实施例中,在第一模型和第二模型到位的情况下,在步骤1302中,服务器170被配置为接收捕获多个对象的数字图像,诸如玉米田的大FoV照片。在步骤1304中,服务
器170被编程为生成所接收的数字图像的多个缩放图像。尺度的数量或尺寸可以取决于视
野的可能大小、可用计算资源的数量或其他因素。
[0160] 在一些实施例中,服务器170被编程为在每个缩放图像上执行第一模型以识别所接收的数字图像中的候选区域(每个候选区域可能捕获单个对象),并执行第二模型以最终
从这些候选区域中识别中间区域,每个中间区域可能捕获被某种疾病感染的单个对象,诸
如被NLB感染的玉米叶。当第二模型是CNN时,使用卷积层集来分别针对不同候选区域获取
特征图可以是耗时的。然而,在步骤1306中,服务器170被配置为使用卷积层集一次以直接
从所接收的数字图像中以不同比例提取单个对象的特征。
[0161] 在一些实施例中,在步骤1308中,服务器170被配置为在每个缩放图像上执行第一模型以识别候选区域,如上所述。该步骤也可以在步骤1306之前执行。服务器170被编程为
接下来针对每个候选区域执行剩下的第二模型以识别中间区域。具体而言,在步骤1310和
步骤1312中,服务器170被编程为将从缩放图像中识别出的候选区域映射回原始接收的数
字图像以获得映射区域,并且还将该候选区域映射到由卷积层集产生的一组特征图中的每
一个以获得一组投影特征图。在步骤1314中,服务器170被编程为仅将明显小于特征图的那
组投影特征图馈送到RoI层,并将RoI层的输出发送到全连接层以确定候选区域是否捕获以
一定的感染概率被预定疾病之一感染的单个目标。服务器170还被配置为确定候选区域是
否可以是可能捕获基于相关的感染概率被某种疾病感染的单个目标的中间区域。
[0162] 在一些实施例中,在步骤1316中,服务器170被编程为清理中间区域的列表以获得最终区域。清理可以合并重复的区域或高度重叠的区域,或者基于相关的感染概率进一步
过滤区域。可以通过非最大抑制来执行重叠区域的消除。最终,在步骤1318中,服务器170被
编程为将关于最终区域的数据发送到显示设备、客户端设备或远程服务器。对于每个最终
区域,该数据可以包括所接收的数字图像内的位置、相关的感染概率、感染的疾病或其他信
息。