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