CN113228041B - 利用改善的机器学习检测植物疾病的感染 - Google Patents

利用改善的机器学习检测植物疾病的感染 Download PDF

Info

Publication number
CN113228041B
CN113228041B CN201980085520.8A CN201980085520A CN113228041B CN 113228041 B CN113228041 B CN 113228041B CN 201980085520 A CN201980085520 A CN 201980085520A CN 113228041 B CN113228041 B CN 113228041B
Authority
CN
China
Prior art keywords
filters
data
cnn
computer
convolution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201980085520.8A
Other languages
English (en)
Other versions
CN113228041A (zh
Inventor
佘颖
关伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Clemet Co ltd
Original Assignee
Clemet Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Clemet Co ltd filed Critical Clemet Co ltd
Publication of CN113228041A publication Critical patent/CN113228041A/zh
Application granted granted Critical
Publication of CN113228041B publication Critical patent/CN113228041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

公开了一种用于调整卷积神经网络(CNN)以捕获不同类别的表征特征的系统和处理方法。在一些实施例中,系统被编程为从初始CNN的最后几个卷积层中的一个卷积层中的、通常对应于更特定于类别的特征的滤波器开始,将它们进行排序以在更相关的滤波器中进行磨练,并且通过关闭在那一卷积层中较不相关的滤波器来更新初始CNN。结果通常是摆脱了某些无助于对类别进行表征的滤波器的更通用CNN。

Description

利用改善的机器学习检测植物疾病的感染
版权声明
本专利文档的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人以专利商标局专利文件或记录中的形式复制专利文档或专利公开内容,但保留任何所有版权或权利。2015-2019克莱米特公司(The Climate Corporation)。
技术领域
本公开涉及植物疾病识别和机器学习的技术领域。本公开还涉及利用用于疾病检测的改善的机器学习模型来分析植物照片的技术领域。
背景技术
本节中描述的方法是可以实行的方法,但不一定是先前已经设想或实行的方法。因此,除非另外指出,否则不应仅由于将本节中所描述的任何方法包括在本节中而认为其有资格作为现有技术。
植物疾病检测在农业中很重要。如今,自动化方案常常涉及对植物照片进行分类,其可以通过应用卷积神经网络(CNN)来实现。CNN具有相对复杂的结构。典型的CNN可以包括一系列卷积块,每个卷积块包括卷积层、池化层和整流线性单元(RELU)层。每个卷积层然后包括分别对应于图像的特征的多个滤波器。复杂的结构可以为分类提供特异性,并且提高分类结果的准确度。
然而,植物疾病的症状可以以各种形式出现。为了检测植物疾病,有时仅根据相对较小的训练集构建的单个CNN是不足够的。图7图示出了在不同条件下生长但是被常见植物疾病感染的两种植物的样本照片。照片示出了玉米叶片,并且常见的植物疾病是灰叶斑病(GLS)。图像702示出了被接种的叶片(有意接种的疾病),而图像704示出了未被接种的叶片。这两张照片示出了总体上相似的病变,但是图像702中的病变(诸如病变706)在更干净的背景上具有更平滑的形状,而图像704中的病变(诸如病变708)在更杂乱的背景上具有更多的锯齿形状,例如,其可能不仅包括叶片,还包括土壤。因此,被设计以从被接种的叶片的照片识别GLS的一个CNN可能无法从未被接种的叶片的照片识别GLS,反之亦然。
鉴于大量的植物疾病和环境因素以及频繁面临的挑战—即,获取足够的样本以用于训练数字模型来检测植物疾病,因此,可以以令人满意的效率和准确度在各种环境因素中识别多种疾病而无需特定体量的训练数据的方案,将是有帮助的。
发明内容
所附权利要求可以用作本公开的发明内容。
附图说明
在附图中:
图1图示出了示例计算机系统,该计算机系统被配置为执行本文所描述的功能,在田地环境中与该系统可以与之交互的其他装置一起被示出。
图2图示出了当示例移动应用被加载以执行时在主存储器中的指令集的示例逻辑组织的两个视图。
图3图示出了经编程的过程,农业智能计算机系统通过该过程使用由一个或多个数据源提供的农艺数据来生成一个或多个预先配置的农艺模型。
图4是图示出了可以在其上实现本发明的实施例的计算机系统的框图。
图5描绘了针对数据条目的时间线视图的示例实施例。
图6描绘了针对数据条目的电子表格视图的示例实施例。
图7图示出了在不同条件下生长的、但被常见的植物疾病感染的两种植物的样本照片。
图8图示出了示例经更新的CNN。
图9图示出了与典型CNN的不同卷积块中的滤波器相对应的特征的示例图形表示。
图10图示出了随被选特征的数目变化的针对CNN的示例性能图。
图11图示出了由服务器计算机执行的示例方法,该服务器计算机被编程用于调整CNN以专注于特定于类别的特征。
具体实施方式
在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对本公开的透彻理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实践实施例。在其他实例中,以框图的形式示出了熟知的结构和设备,以避免不必要地模糊本公开。根据以下梗概,在各部分中公开了实施例:
1.总体概述
2.示例农业智能计算机系统
2.1.结构概述
2.2.应用程序概述
2.3.计算机系统的数据摄取
2.4.过程概述—农艺模型训练
2.5.实施示例—硬件概述
3.功能描述
3.1特征地图集合
3.2特征选择
3.3分类模型修改
3.4备选实施例
3.5示例过程
4.扩展和备选
1.总体概述
公开了一种用于调整卷积神经网络(CNN)以捕获不同类别的表征特征的系统和处理方法。在一些实施例中,系统被编程为从初始CNN的最后几个卷积层中的一个卷积层中的滤波器(其通常对应于更特定于类别的特征)开始,将它们进行排序以在更相关的滤波器中进行磨练(hone),并且通过关闭在那一个卷积层中较不相关的滤波器来更新初始CNN。结果通常是摆脱了某些无助于对类别进行表征的滤波器的更通用CNN。
在一些实施例中,系统被编程为接收将项目分类为多个类别的初始CNN、针对初始CNN的项目训练集、以及可选地还接收属于多个类别但可能反映出不同环境因素的附加项目集。例如,这些项目可以是玉米植株的照片,初始CNN可以被设计为将照片和对应的玉米植株分类为健康类别或若干疾病类别。训练集可以对应于被接种的玉米植株,而附加集可以对应于常规未被接种的玉米植株。初始CNN通常包括一系列卷积块,每个卷积块都包括卷积层。
在一些实施例中,系统被编程为使用训练集和可选的附加项目集来从初始CNN的最后的卷积层或另一特定层中的滤波器中选择某些滤波器。对于训练项目集和附加项目集中的每个项目集,可以构建向量,其中滤波器中的每个滤波器具有一个维度。例如,当最后的卷积层具有512个滤波器时,针对输入图像的向量将包含512个值,每个值都是由滤波器从输入图像产生的特征地图中的值的聚合。系统被编程为随后基于从项目获取的向量来对滤波器进行排序,诸如通过构建随机森林以获取滤波器的重要性指示符。系统被编程为从最后的卷积层的所有滤波器中进一步选择一定数目的最高排序的滤波器。
在一些实施例中,系统被编程为通过向初始CNN中的一系列卷积块附加掩模层以关闭未选择的滤波器来建立经更新的CNN。掩模层之后可以是将被选滤波器连接到多个类别的全连接层。当初始CNN包括这样的全连接层时,该全连接层将最后的卷积层中的所有滤波器连接到多个类别,可以在经更新的CNN中重用针对被选滤波器的全连接层中的权重;否则,可以训练这些权重。然后,即使当对初始CNN的训练或更新基本上都不依赖于反映环境或其他外在因素的此类附加项目时,经更新的CNN仍被预期为对附加项目集或属于多个类别的其他项目执行良好。
该系统产生各种技术益处。该系统提供了一个专注于特别地表征每个类别的特征的更精简数字模型。该专注引起获得通过环境或其他外在因素并且识别更多类别成员的能力,从而提高总体分类准确度。在植物疾病识别的情况下,该系统可以更有效地检测和治愈植物疾病,并且促进作物的健康和生长。精简导致计算资源的降低的利用率,需要较少的存储器来存储数字模型,并且需要较少的CPU/GPU时间来执行数字模型。另外,通过基于可用数据来调整数字模型,系统消除了为了建立复杂模型而对更多训练数据的需求,该复杂模型在捕获类别的各种细微的、不具代表性的各方面的同时可能无法实现显著更高的分类准确度。
实施例的其他方面和特征将从本公开的其他部分变得显而易见。
2.示例农业智能计算机系统
2.1结构概述
图1图示出了示例计算机系统,该计算机系统被配置为执行本文中所描述的功能,在田地环境中与该系统可以与之交互的其他装置一起示出。在一个实施例中,用户102拥有、操作或支配在田地位置中或与田地位置相关联的田地管理者计算设备104,田地位置诸如是打算用于农业活动的田地或针对一个或多个农田的管理位置。田地管理者计算机设备104被编程或配置为经由一个或多个网络109向农业智能计算机系统130提供田地数据106。
田地数据106的示例包括(a)标识数据(例如,英亩数、田地名称、田地标识符、地理标识符、边界标识符、作物标识符,以及可以被用来标识农地的任何其他合适的数据,诸如公共土地单位(CLU)、地段和地块编号、宗地编号、地理坐标和边界、农场序列编号(FSN)、农场编号、地带编号、田地编号、区域、乡镇、和/或范围),(b)收获数据(例如,作物类型、作物品种、作物轮换、作物是否以有机方式生长、收获日期、实际生产历史(APH)、预期产量、产量、作物价格、作物收入、谷物水分、耕作实践,以及先前的生长季节信息),(c)土壤数据(例如,类型、成分、pH、有机物(OM)、阳离子交换容量(CEC)),(d)种植数据(例如,种植日期、(多种)种子类型、播种的(多种)种子的相对成熟度(RM)、种子种群),(e)肥料数据(例如:养分类型(氮、磷、钾)、施用类型、施用日期、数目、来源、方法),(f)化学施用数据(例如,农药、除草剂、杀真菌剂,其他拟用作植物调节剂的其他物质或物质混合物、脱叶剂或干燥剂、施用日期、用量、来源、方法),(g)灌溉数据(例如,施用日期、用量、来源、方法),(h)天气数据(例如,降水量、降雨率、预测降雨、径流率区域、温度、风、预报、压力、能见度、云、热指数、露点、湿度、雪深、空气质量、日出、日落),(i)图像数据(例如,来自农业装置传感器、相机、计算机、智能电话、平板计算机、无人驾驶飞机、飞机或卫星的图像和光谱信息;(j)侦察观测(照片、视频、自由形式的注释、语音记录、语音转录、天气情况(温度、降水(当前和长期)、土壤湿度、作物生长阶段、风速、相对湿度、露点、黑层)),以及(k)土壤、种子、作物物候、病虫害报告以及预测来源和数据库。
数据服务器计算机108被通信地耦接到农业智能计算机系统130,并且被编程或配置为经由(多个)网络109将外部数据110发送给农业智能计算机系统130。外部数据服务器计算机108可以由与农业智能计算机系统130相同的法人或实体拥有或操作,或者由诸如政府机关、非政府组织(NGO)和/或私人数据服务提供方之类的不同人或实体拥有或操作。外部数据的示例包括天气数据、图像数据、土壤数据、或与作物产量有关的统计数据等。外部数据110可以由与田地数据106相同类型的信息组成。在一些实施例中,外部数据110由拥有和/或操作农业智能计算机系统130的相同实体拥有的外部数据服务器108提供。例如,农业智能计算机系统130可以包括专门专注于可能从第三方源获取的数据类型(诸如天气数据)的数据服务器。在一些实施例中,外部数据服务器108实际上可以被并入系统130内。
农业装置111可以具有固定在其上的一个或多个远程传感器112,这些传感器经由农业装置111直接或间接地通信耦接到农业智能计算机系统130,并且被编程或配置为将传感器数据发送给农业智能计算机系统130。农业装置111的示例包括拖拉机、联合收割机、收割机、播种机、卡车、施肥装备、包括无人驾驶飞行器在内的飞行器、以及任何通常为移动机械的其他物理机械或硬件,并且它们可用于与农业相关联的任务。在一些实施例中,装置111的单个单元可以包括在装置上在网络中本地耦接的多个传感器112;控制器局域网(CAN)是可以安装在联合收割机、收割机、喷雾器和中耕机中的这种网络的示例。施用控制器114经由(多个)网络109被通信地耦接到农业智能计算机系统130,并且被编程或配置为从农业智能计算机系统130接收被用来控制农业交通工具的操作参数或实现的一个或多个脚本。例如,控制器局域网(CAN)总线接口可以被用来实现从农业智能计算机系统130到农业装置111的通信,诸如如何使用从加利福利亚的旧金山的克莱米特公司可获取的CLIMATEFIELDVIEW DRIVE。传感器数据可以由与田地数据106相同类型的信息组成。在一些实施例中,远程传感器112可以不固定在农业装置111上,而是可以远程放置在田地中并且可以与网络109通信。
装置111可以包括利用驾驶室应用编程的驾驶室计算机115,驾驶室计算机115可以包括针对设备104的移动应用版本或变体,其在本文的其他部分中被进一步描述。在实施例中,驾驶室计算机115包括紧凑型计算机,通常是平板大小的计算机或智能电话,其具有安装在装置111的操作员驾驶室中的图形屏幕显示器,诸如彩色显示器。驾驶室计算机115可以实现本文中针对移动计算机设备104进一步描述的操作和功能的一些或全部。
(多个)网络109广泛地表示使用有线或无线链路(包括地面或卫星链路)中任何的一个或多个数据通信网络的任何组合,包括局域网、广域网、互连网络或互联网。(多个)网络可以由提供图1的各种元素之间的数据交换的任何介质或机制来实现。图1的各种元素还可以具有直接(有线或无线)通信链路。传感器112、控制器114、外部数据服务器计算机108和系统的其他元素均包括与(多个)网络109兼容的接口,并且被编程或配置为使用标准化协议来在网络上进行通信,诸如TCP/IP、蓝牙、CAN协议,以及更高层的协议(诸如HTTP、TLS等)。
农业智能计算机系统130被编程或配置为从田地管理者计算设备104接收田地数据106,从外部数据服务器计算机108接收外部数据110,以及从远程传感器112接收传感器数据。农业智能计算机系统130还可以被配置为托管、使用或执行一个或多个计算机程序、其他软件元素、诸如FPGA或ASIC的数字编程逻辑或其任意组合,以便以在本公开其他部分中进一步描述的方式执行对数据值进行转换和存储,构建一个或多个田地上的一种或多种作物的数字模型,生成建议和通知,以及生成脚本并且将脚本发送给施用控制器114。
在实施例中,农业智能计算机系统130用通信层132、呈现层134、数据管理层140、硬件/虚拟化层150以及模型和田地数据储存库160进行编程,或者包括通信层132、呈现层134、数据管理层140、硬件/虚拟化层150以及模型和田地数据储存库160。在此上下文中,“层”指代电子数字接口电路、微控制器、诸如驱动程序之类的固件、和/或计算机程序或其他软件元素的任意组合。
通信层132可以被编程或被配置为执行输入/输出接口功能,包括分别向田地管理者计算设备104、外部数据服务器计算机108和远程传感器112发送对田地数据、外部数据和传感器数据的请求。通信层132可以被编程或配置为将接收到的数据发送给模型和田地数据储存库160以存储为田地数据106。
呈现层134可以被编程或配置为生成要在田地管理者计算设备104、驾驶室计算机115或通过网络109耦接到系统130的其他计算机上显示的图形用户界面(GUI)。GUI可以包括控件,该控件用于输入要发送给农业智能计算机系统130的数据,生成对模型和/或建议的请求,和/或显示建议、通知、模型以及其他田地数据。
数据管理层140可以被编程或配置为管理涉及储存库160和系统的其他功能元素的读操作和写操作,包括在系统的功能元素和储存库之间传递的查询和结果集。数据管理层140的示例包括JDBC、SQL服务器接口代码和/或HADOOP接口代码等。储存库160可以包括数据库。如本文所使用的,术语“数据库”可以指代数据主体、关系数据库管理系统(RDBMS)或指代这两者。如本文所使用的,数据库可以包括数据的任何集合,包括分层数据库,关系数据库、平面文件数据库、对象关系数据库、面向对象的数据库、分布式数据库、以及存储在计算机系统中的记录或数据的任何其他结构化集合。RDBMS的示例包括但不限于MYSQL、/> SERVER、/>和POSTGRESQL数据库。然而,可以使用实现本文所描述的系统和方法的任何数据库。
当没有经由与农业智能计算机系统交互的一个或多个农业机械或农业机械设备直接向农业智能计算机系统提供田地数据106时,可以经由用户设备(由农业智能计算机系统提供服务)上的一个或多个用户界面提示用户输入这种信息。在示例实施例中,用户可以通过访问用户设备(由农业智能计算机系统提供服务)上的地图并且选择已经在该地图上以图形方式示出的具体CLU来指定标识数据。在备选实施例中,用户102可以通过访问用户设备上的地图(由农业智能计算机系统130提供服务)并且在该地图上绘制田地边界来指定标识数据。这种CLU选择或图绘制表示地理标识符。在备选实施例中,用户可以通过经由用户设备访问来自美国农业部农业服务局或其他来源的田地标识数据(以形状文件或类似格式提供)来指定标识数据,并且将这种田地标识数据提供给农业智能计算机系统。
在示例实施例中,农业智能计算机系统130被编程为生成并且引起显示包括针对数据输入的数据管理器的图形用户界面。在已经使用上文描述的方法标识一个或多个田地之后,该数据管理器可以提供一个或多个图形用户界面小部件,该小部件当被选择时可以标识对田地、土壤、作物、耕作、或养分实践的变化。数据管理器可以包括时间线视图、电子表格视图和/或一个或多个可编辑程序。
图5描绘了针对数据条目的时间线视图的示例实施例。使用图5中所描绘的显示,用户计算机可以输入特定田地的选择和针对事件添加的特定日期。在时间线顶部描述的事件可以包括氮、种植、实践和土壤。为了添加氮施用事件,用户计算机可以提供输入以选择氮标签。然后,用户计算机可以在时间线上选择针对特定田地的位置,以便指示在所选择田地上的氮的施用。响应于接收到在时间线上针对特定田地的位置的选择,数据管理器可以显示数据条目覆盖,从而允许用户计算机输入与氮施用、种植程序、土壤施用、耕作程序、灌溉实践、或与特定田地有关的其他信息有关的数据。例如,如果用户计算机选择时间线的一部分并且指示氮的施用,则数据条目覆盖可以包括用于输入氮施用量、施用日期、使用的肥料类型以及与施氮有关的任何其他信息的田地。
在实施例中,数据管理器提供用于创建一个或多个程序的界面。在此上下文中,“程序”指代涉及氮施用、种植程序、土壤施用、耕作程序、灌溉实践或可能与一个或多个田地相关的其他信息的数据集,这些数据可以被存储在数字数据存储装置中以供在其他操作中作为数据集重复使用。在程序已经被创建之后,可以在概念上将其应用到一个或多个田地,并且可以将该程序的引用与标识这些田地的数据相关联地存储在数字存储装置中。因此,备选于手动输入与针对多个不同田地的相同氮施用有关的相同数据,用户计算机可以创建指示氮的特定施用的程序,然后将该程序应用到多个不同田地。例如,在图5的时间线视图中,最上面的两个时间线选择了“春季施用”程序,该程序包括在4月初每英亩施用150磅氮。数据管理器可以提供界面以用于编辑程序。在实施例中,当对特定程序进行编辑时,对已经选择该特定程序的每个田地进行编辑。例如,在图5中,如果“春季施用”程序被编辑以将氮施用减少到每英亩130磅氮,则可以基于所编辑的程序以减少氮施用对前两个田地进行更新。
在实施例中,响应于接收到对具有所选程序的田地的编辑,数据管理器移除该田地与所选程序的对应关系。例如,如果在图5的顶部田地中增加了氮施用,该界面可以更新以指示“春季施用”程序不再被应用于顶部田地。尽管可能会保留4月初的氮施用,但是对“春季施用”程序的更新不会更改4月的氮施用。
图6描绘了针对数据条目的电子表格视图的示例实施例。使用图6中所描绘的显示,用户可以创建和编辑针对一个或多个田地的信息。数据管理器可以包括电子表格,电子表格用于输入如图6中所描绘的关于氮、种植、实践和土壤的信息。为了编辑特定的条目,用户计算机可以在电子表格中选择特定条目并且更新值。例如,图6描绘了针对第二田地的目标产量值的正在进行的更新。附加地,用户计算机可以选择一个或多个田地以便应用一个或多个程序。响应于接收到针对特定田地的程序选择,数据管理器可以基于所选程序自动完成针对特定田地的条目。与时间线视图一样,响应于接收到对特定程序的更新,数据管理器可以更新针对与该程序相关联的每个田地的条目。附加地,响应于接收到针对该田地的条目中的一个条目的编辑,数据管理器可以移除所选程序与该田地的对应关系。
在实施例中,模型和田地数据被存储在模型和田地数据储存库160中。模型数据包括针对一个或多个田地创建的数据模型。例如,作物模型可以包括一个或多个田地上的作物发育的数字构建模型。在此上下文中,“模型”指代彼此相关联的电子数字存储的可执行指令集和数据值,它们能够接收程序或其他数字调用、唤出或解析请求并且基于指定输入值对其做出响应,以产生一个或多个存储或计算的输出值,这些输出值可以充当计算机实现的建议、输出数据显示、或机器控制等的基础。本领域技术人员发现使用数学方程式表达模型是方便的,但是这种表达形式并没有将本文所公开的模型限制为抽象概念;相反,本文中的每个模型都以存储的可执行指令和数据的形式在计算机中具有实际应用,该可执行指令和数据使用计算机来实现模型。模型可以包括一个或多个田地上的过去事件的模型、一个或多个田地的当前状态的模型和/或一个或多个田地的预测事件的模型。模型和田地数据可以被存储在存储器中的数据结构中,存储在数据库表中的行中,存储在平面文件或电子表格中,或者存储在其他形式的经存储数字数据中。
在实施例中,农业智能计算机系统130被编程为包括分类模型管理服务器计算机(服务器)170。服务器170 170还被配置为包括模型数据收集指令172、特征选择指令174、模型更新指令176、以及用户界面指令178。
在一些实施例中,模型数据收集指令172提供计算机可执行指令,以接收将项目分类为多个类别的初始卷积神经网络(CNN)以及落入该多个类别以用于更新初始CNN的项目集合。模型数据收集指令172还提供计算机可执行指令,以生成针对项目集合的向量集合,每个向量具有与由初始CNN的特定卷积层所捕获的一定数目的特征相对应的一定数目的值。
在一些实施例中,特征选择指令174提供计算机可执行指令,以使用向量集合对一定数目的特征进行排序,并且选择特定数目的最高排序的特征。可以使用随机森林、主成分分析或其他用于对特定属性进行排序的技术来执行排序。
在一些实施例中,模型更新指令176提供计算机可执行指令,以通过仅利用与特定卷积层中的被选特征相对应的滤波器来仅识别被选特征从而更新初始CNN。更新包括:添加掩模层,其可以掩模掉未被选择的滤波器,从而仅基于被选特征有效地限制项目的分类。另外,更新可以包括:基于专家输入来进一步掩模一些被选特征。更新还可以包括:确定针对将被选滤波器与多个类别连接的最终的全连接层的权重。
在一些实施例中,用户界面指令178提供计算机可执行指令,以管理与用户设备的通信。管理可以包括:从用户设备接收需要被分类的新项目;将经更新的CNN应用于新项目;以及将分类结果传输至用户设备。管理还可以包括:为由初始CNN所捕获的包括被选特征在内的特定特征准备类别激活或特征投影数据,将此类数据传输至用户设备以用于特定特征的可视化,以及从特定特征接收进一步的选择。
服务器170的每个组件包括在农业智能计算机系统130中的主存储器(诸如RAM)的一个或多个页面集,其中可执行指令已经加载到页面集中,并且页面集在被执行时使农业智能计算系统执行参考那些模块在本文中所描述的功能或操作。例如,模型数据收集模块172可以包括RAM中包含指令的页面集,这些指令在被执行时引起执行本文中所描述的位置选择功能。指令可以在CPU指令集中的机器可执行代码中并且可以已经基于源代码而被编译,源代码单独以JAVA、C、C++、OBJECTIVE-C或任何其他人类可读编程语言或环境编写,或者可以是JAVA、C、C++、OBJECTIVE-C或任何其他人类可读编程语言或环境与JAVASCRIPT中的脚本、其他脚本语言和其他编程源文本结合编写的。术语“页面”旨在广义地指代主存储器内的任何区域,并且在系统中使用的特定术语可以取决于存储器架构或处理器架构而变化。在另一实施例中,服务器170的每个组件还可以表示源代码的一个或多个文件或项目,其被数字地存储在诸如非易失性RAM或磁盘存储装置的大容量存储设备中,存储在农业智能计算机系统130或分离的储存库系统中,当其被编译或被解释致使生成可执行指令,可执行指令在被执行时使农业智能计算系统执行参考那些模块在本文中所描述的功能或操作。换句话说,附图可以表示程序员或软件开发人员组织和安排源代码以供随后将其编译为可执行文件,或者解释为字节码或等效代码以供农业智能计算机系统130执行的方式。
硬件/虚拟化层150包括一个或多个中央处理单元(CPU)、存储器控制器,以及计算机系统的其他设备、组件或元素,诸如易失性或非易失性存储器、诸如磁盘的非易失性存储装置,以及例如结合图4所图示和描述的I/O设备或接口。层150还可以包括被配置为支持虚拟化、容器化或其他技术的编程指令。
为了图示出清楚的示例,图1示出了某些功能元素的有限数目的实例。然而,在其他实施例中,可以有任何数目的这种元素。例如,实施例可以使用与不同用户相关联的数千或数百万个不同的移动计算设备104。此外,系统130和/或外部数据服务器计算机108可以使用两个或更多个处理器、核心、群集、或物理机或虚拟机的实例来实现,它们被配置在离散位置或与数据中心中的其他元素共置一地,共享计算设施或云计算设施。
2.2.应用程序概述
在实施例中,使用被加载到一个或多个通用计算机中并且使用一个或多个通用计算机执行的一个或多个计算机程序或其他软件元素在本文中所描述的功能的实现,将使通用计算机被配置为特别适合执行本文中所描述功能的特定机器或计算机。此外,本文进一步描述的流程图中的每个流程图可以单独地或与本文中的过程和功能的描述结合地充当算法、计划或方向,这些算法、计划或方向可以被用来对计算机或逻辑进行编程以实现所描述的功能。换句话说,本文中的所有散文文本以及所有附图一起旨在,与具有适合这类发明和披露的技能水平的这种人员的技能和知识相结合来提供算法、计划或方向的公开,该公开足以允许技术人员对计算机进行编程以执行本文中所描述的功能。
在实施例中,用户102使用配置有操作系统和一个或多个应用程序或应用程序的田地管理者计算设备104与农业智能计算机系统130进行交互;田地管理者计算设备104还可以在程序控制或逻辑控制下独立并且自动地与农业智能计算机系统进行互操作,并且并不总是需要直接的用户交互。田地管理者计算设备104广泛地表示以下一项或多项:智能电话、PDA、平板计算设备、膝上型计算机、台式计算机、工作站,或者能够传输和接收信息并执行本文中所描述功能的任何其他计算设备。田地管理者计算设备104可以使用存储在田地管理者计算设备104上的移动应用经由网络进行通信,并且在一些实施例中,该设备可以使用电缆113或连接器耦接到传感器112和/或控制器114。具体的用户102可以与系统130相关联地一次拥有、操作或支配和使用多于一个的田地管理者计算设备104。
移动应用可以经由网络向一个或多个移动计算设备提供客户端功能。在示例实施例中,田地管理者计算设备104可以经由Web浏览器或本地客户端应用或应用程序访问移动应用。田地管理者计算设备104可以使用基于Web的协议或格式(诸如HTTP、XML和/或JSON)或者专用于应用的协议,来向一个或多个前端服务器传输数据并且从一个或多个前端服务器接收数据。在示例实施例中,数据可以采取到移动计算设备中的请求和用户信息输入(诸如田地数据)的形式。在一些实施例中,移动应用与田地管理者计算设备104上的位置跟踪硬件和软件进行交互,田地管理者计算设备104使用诸如无线电信号的多边定位、全球定位系统(GPS)、WiFi定位系统或其他移动定位方法的标准跟踪技术来确定田地管理者计算设备104的位置。在一些情况下,通过查询设备的操作系统或请求设备上的应用程序从操作系统获取数据,可以获取与设备104、用户102和/或(多个)用户账户相关联的位置数据或其他数据。
在实施例中,田地管理者计算设备104向农业智能计算机系统130发送田地数据106,包括或包含但不限于表示以下一项或多项的数据值:一个或多个田地的地理位置,针对一个或多个田地的耕作信息、一个或多个田地中种植的作物、以及从一个或多个田地中提取的土壤数据。田地管理者计算设备104可以响应于来自用户102的用户输入来发送田地数据106,用户输入指定针对一个或多个田地的数据值。附加地,当一个或多个数据值变得可用于田地管理者计算设备104时,田地管理者计算设备104可以自动发送田地数据106。例如,田地管理者计算设备104可以被通信地耦接到远程传感器112和/或施用控制器114,包括灌溉传感器和/或灌溉控制器。响应于接收到指示施用控制器114放水到一个或多个田地上的数据,田地管理者计算设备104可将田地数据106发送给农业智能计算机系统130,田地数据106指示已经在一个或多个田地上放水。可以使用电子数字数据来输入和传递在本公开中标识的田地数据106,电子数字数据通过使用HTTP上的参数化URL或另一合适的通信或消息收发协议在计算设备之间传递。
移动应用的商业示例是CLIMATE FIELDVIEW,其可以从加利福尼亚州旧金山的克莱米特公司商购。CLIMATE FIELDVIEW应用或其他应用可以进行修改、扩展或适配,以包括尚未在本公开的申请日之前公开的特征、功能和程序。在一个实施例中,移动应用包括集成的软件平台,该平台允许种植者对其操作做出基于事实的决策,因为它组合了有关种植者田地的历史数据与种植者希望比较的任何其他数据。组合和比较可以实时进行并且基于科学模型,该模型提供了可能的情景以允许种植者做出更好、更明智的决策。
图2图示出了当示例移动应用被加载以供执行时在主存储器中的指令集的示例逻辑组织的两个视图。在图2中,每个命名的元素表示RAM或其他主存储器的一个或多个页面的区域,或者磁盘存储装置或其他非易失性存储装置的一个或多个块的区域,以及那些区域内的经编程指令。在一个实施例中,在视图(a)中,移动计算机应用200包括账户—田地数据摄取—共享指令202、概述和警报指令204、数字地图手册指令206、种子和种植指令208、氮指令210、天气指令212、田地健康指令214和执行指令216。
在一个实施例中,移动计算机应用200包括账户、田地、数据摄取、共享指令202,它们被编程为经由手动上传或API从第三方系统接收、转化和摄取田地数据。数据类型可以包括田地边界、产量地图、按种植地图、土壤测试结果、按施用地图和/或管理区域等。数据格式可以包括形状文件、第三方的本机数据格式和/或农场管理信息系统(FMIS)导出等等。接收数据可以经由手动上传、带有附件的电子邮件、将数据推送到移动应用的外部API或调用外部系统的API将数据拉入移动应用的指令来发生。在一个实施例中,移动计算机应用200包括数据收件箱。响应于接收到对数据收件箱的选择,移动计算机应用200可以显示图形用户界面以用于手动上传数据文件并且将上传的文件导入数据管理器。
在一个实施例中,数字地图手册指令206包括存储在设备存储器中的田地地图数据层并且利用数据可视化工具和地理空间田地注释而被编程。这为种植者提供了触手可得的方便信息,以用于对田地性能进行参考、日志记录和视觉洞察。在一个实施例中,概述和警报指令204被编程为提供对种植者重要的内容的操作范围视图,并且提供及时建议以采取行动或集中于特定问题。这样可使种植者将时间集中在需要注意的地方,以节省时间并且在整个季节保持产量。在一个实施例中,对种子和种植指令208进行编程,以基于科学模型和经验数据来提供针对种子选择、杂交种放置和脚本创建(包括可变速率(VR)脚本创建)的工具。这使种植者能够通过优化的种子购买、放置和种群,来最大化产量或投资回报。
在一个实施例中,脚本生成指令205被编程为提供用于生成包括可变速率(VR)肥力脚本的脚本的界面。该界面使种植者能够为田地器具(诸如养分施用、种植和灌溉)创建脚本,。例如,种植脚本界面可以包括用于标识用于种植的种子类型的工具。在接收到对种子类型的选择之后,移动计算机应用200可以显示被划分为管理区域的一个或多个田地,诸如作为数字地图手册指令206的一部分而创建的田地地图数据层。在一个实施例中,管理区域包括土壤区域以及标识每个土壤区域的面板以及用于每个区域的土壤名称、质地、排水情况或其他田地数据。移动计算机应用200还可以在一个或多个田地的地图上显示用于编辑或创建的工具,诸如用于绘制管理区域(诸如土壤区域)的图形工具。种植程序可以被应用到所有管理区域,或者不同的种植程序可以被应用到管理区域的不同子集。当脚本被创建时,移动计算机应用200可以使脚本可用于以施用控制器可读的格式下载,诸如存档或压缩格式。附加地和/或备选地,脚本可以从移动计算机应用200直接发送给驾驶室计算机115和/或上载到一个或多个数据服务器并被存储,以供进一步使用。
在一个实施例中,氮指令210被编程以提供通过可视化氮对作物的可用性来告知氮决策的工具。通过优化季节期间的氮施用,这使种植者能够最大程度地提高产量或投资回报。示例的经编程功能包括显示图像(诸如SSURGO图像),以使得能够以高空间分辨率(取决于传感器的接近度和分辨率,精细到毫米或毫米以下),来绘制肥料施用区域和/或根据子田地土壤数据(诸如从传感器获取的数据)生成的图像;上传现有的种植者定义区域;提供植物养分可用性的图表和/或地图,以调节跨多个区域的(多个)氮施用;输出脚本以驱动机械;用于大量数据输入和调整的工具;和/或用于数据可视化的图等。在此上下文中,“大量数据输入”可以意味着一次输入数据,然后将相同的数据应用到系统中已定义的多个田地和/或区域;示例数据可以包括对于相同种植者的许多田地和/或区都相同的氮施用数据,但是这种大量数据输入适用于将任何类型的田地数据输入到移动计算机应用200中。例如,氮指令210可以被编程为接受氮施用和实践程序的定义,并且接受指定跨多个田地应用那些程序的用户输入。在此上下文中,“氮施用程序”指代与以下内容相关联的已存储的命名的数据集:名称、颜色代码或其他标识符、一个或多个施用日期、针对日期中的每个日期的材料或产品类型以及数量、诸如注射或播撒的施用或掺入方法、和/或对于日期中的每个日期的施用量或施用率、作为施用对象的作物或杂交种子等等。在此上下文中,“氮实践程序”指代与以下内容相关联的所存储的、命名的数据集:实践名称、先前的作物、耕作系统、主要耕作日期、用过的一个或多个先前的耕作系统、使用过的施用类型(诸如肥料)的一个或多个指示符。氮指令210也可以被编程为生成并且引起显示氮图,氮图指示植物对指定氮的使用的预测以及是否预测了盈余或短缺;例如,在一些实施例中,不同的颜色指示符可以表示盈余的幅度或短缺的幅度。在一个实施例中,氮图包括计算机显示设备中的图形显示,包括:多行,每一行与田地相关联并且标识田地;数据,其指定在田地中种植哪种作物、田地大小、田地位置和田地周长的图形表示;在每行中,带有图形指示符的按月时间线,在与月份名称相关的点处指定每个氮施用和氮施用量;以及数字和/或彩色的盈余或短缺指示符,其中颜色指示幅度。
在一个实施例中,氮图可以包括一个或多个用户输入特征,诸如刻度盘或滑动条,以动态地改变氮种植和实践程序,以使用户可以优化他的氮图。然后,用户可以使用其优化的氮图以及相关的氮种植和实践程序来实现一个或多个脚本,包括可变速率(VR)肥力脚本。氮指令210也可以被编程为生成并且致使显示氮地图,该氮地图指示植物对指定氮的使用预测以及是否预测了盈余或短缺;在一些实施例中,不同的颜色指示符可以标志盈余的幅度或短缺的幅度。使用数字和/或彩色的盈余或短缺指示符,其中颜色指示幅度,氮地图可以显示指定氮的植物使用的预测,以及过去和未来的不同时间(诸如每天、每周、每月或每年)是否预测了盈余或短缺。在一个实施例中,氮地图可以包括一个或多个用户输入特征,诸如刻度盘或滑动条,以动态地改变氮种植和实践程序,以使用户可以优化其他的氮地图,诸如以获取优选的盈余或短缺量。然后,用户可以使用其他的优化的氮地图以及相关的氮种植和实践程序来实现一个或多个脚本,包括可变速率(VR)肥力脚本。在其他实施例中,与氮指令210相似的指令可能被用于其他养分(诸如磷和钾)的施用、农药的施用以及灌溉程序。
在一个实施例中,天气指令212被编程以提供特定田地的最近天气数据和经预报天气信息。这使种植者能够节省时间,并且在日常操作决策方面具有高效的集成显示。
在一个实施例中,田地健康指令214被编程以提供及时的遥感图像,这些遥感图形突出显示应季作物变化和潜在问题。示例经编程功能包括:云检查,以标识可能的云或云阴影;基于田地图像确定氮指数;侦察层的图形可视化,包括例如与田地健康有关的那些侦察层,以及查看和/或共享侦察笔记;和/或从多个来源下载卫星图像,并且为种植者确定图像的优先级等。
在一个实施例中,执行指令216被编程以使用农场数据进行评估、洞察和决策,以提供报告、分析和洞察工具。这使种植者能够通过基于事实的结论(关于为何投资回报率处于先前水平)以及对产量限制因素的洞察来寻求下一年的改善结果。执行指令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。
2.3.计算机系统的数据摄取
在实施例中,外部数据服务器计算机108存储外部数据110,包括表示针对一个或多个田地的土壤成分的土壤数据和表示针对一个或多个田地的温度和降水的天气数据。天气数据可以包括过去和现在的天气数据以及对未来天气数据的预报。在实施例中,外部数据服务器计算机108包括由不同实体托管的多个服务器。例如,第一服务器可以包含土壤成分数据,而第二服务器可以包括天气数据。附加地,土壤成分数据可以被存储在多个服务器中。例如,一个服务器可以存储表示土壤中的沙子、淤泥和粘土的百分比的数据,而第二个服务器可以存储表示土壤中的有机物(OM)的百分比的数据。
在实施例中,远程传感器112包括被编程或配置为产生一个或多个观测结果的一个或多个传感器。远程传感器112可以是诸如卫星的空中传感器、交通工具传感器、种植装备传感器、耕作传感器、肥料或杀虫剂施用传感器、收割机传感器,以及能够从一个或多个田地接收数据的任何其他器具。在实施例中,施用控制器114被编程或配置为从农业智能计算机系统130接收指令。施用控制器114也可以被编程或配置为控制农业交通工具或机具的操作参数。例如,施用控制器可以被编程或配置为控制交通工具的操作参数,交通工具诸如是拖拉机、种植设备、耕种装备、肥料或杀虫剂设备、收割机装备,或者诸如水阀的其他农具。其他实施例可以使用传感器和控制器的任何组合,以下仅仅是其选择的示例。
系统130可以在用户102的控制下大量地从将数据贡献给共享数据库系统的大量种植者那里获取或摄取数据。当一个或多个用户控制的计算机操作被请求或触发以获取数据供系统130使用时,这种数据获取形式可以被称为“手动数据摄取”。作为示例,加利福尼亚州、旧金山的克莱米特公司可商购的CLIMATE FIELDVIEW应用可以被操作以将数据导出到系统130,以用于存储在储存库160中。
例如,种子监控器系统既可以控制播种机装置组件,也可以获取种植数据,包括经由信号线束来自种子传感器的信号,信号线束包括CAN主干网和针对注册和/或诊断的点对点连接。种子监控器系统可以被编程或配置为经由驾驶室计算机115或系统130内的其他设备向用户显示种子间距、种群和其他信息。在美国专利号8,738,243和美国专利申请号20150094916中披露了若干示例,并且本公开假定了解那些其他专利公开。
同样,产量监控器系统可以包含针对收割机装置的产量传感器,收割机装置将产量测量数据发送给驾驶室计算机115或系统130内的其他设备。产量监控器系统可以利用一个或多个远程传感器112来获取联合收割机或其他收割机中的谷物水分测量结果,并且经由驾驶室计算机115或系统130中的其他设备将这些测量结果传输至用户。
在实施例中,可以与在本文其他各处描述的类型的任何移动交通工具或装置一起使用的传感器112的示例包括运动学传感器和位置传感器。运动学传感器可以包括任何速度传感器,诸如雷达或车轮速度传感器、加速度计、或陀螺仪。位置传感器可以尤其包括GPS接收器或收发器,或被编程为基于附近的WiFi热点来确定位置的基于WiFi的位置或映射应用程序。
在实施例中,可以与拖拉机或其他移动交通工具一起使用的传感器112的示例包括:引擎速度传感器、燃料消耗传感器、与GPS或雷达信号交互的面积计数器或距离计数器、PTO(取力器)速度传感器、被配置为检测诸如压力或流量和/或液压泵速度之类的液压参数的拖拉机液压传感器、轮速传感器或轮滑传感器。在实施例中,可以与拖拉机一起使用的控制器114的示例包括:液压方向控制器、压力控制器、和/或流量控制器;液压泵速度控制器;速度控制器或调速器;挂钩位置控制器;或提供自动转向的车轮位置控制器。
在实施例中,可以与诸如播种机、钻机或空气播种机的种子种植装备一起使用的传感器112的示例包括:种子传感器,其可以是光学、电磁或冲击传感器;下压力传感器,诸如称重销、称重传感器、压力传感器;土壤特性传感器,诸如反射率传感器、湿度传感器、电导率传感器、光学残留传感器、或温度传感器;组件操作标准传感器,诸如种植深度传感器、下压力缸压力传感器、种子圆盘速度传感器、种子驱动电机编码器、种子输送系统速度传感器、或真空度传感器;或农药施用传感器,诸如光学或其他电磁传感器、或撞击传感器。在实施例中,可以与此类种子种植装备一起使用的控制器114的示例包括:工具栏折叠控制器,诸如针对与液压缸相关联的阀门的控制器;下压力控制器,诸如与气压缸、安全气囊或液压缸相关联的阀门的控制器,该控制器被编程用于将下压力施用到个体的行单元或整个播种机框架上;种植深度控制器,诸如线性执行器;计量控制器,诸如电动种子计量器驱动马达、液压种子计量器驱动马达、或条带控制离合器;杂交种子选择控制器,诸如种子计量器驱动马达,或其他经编程的执行器,用于选择性地允许或阻止种子或空气种子混合物向种子计量器或中央散装料斗输送种子或从种子计量器或中央散装料斗输送种子;计量控制器,诸如电动种子计量器驱动马达或液压种子计量器驱动马达;种子输送机系统控制器,诸如针对带式种子输送机马达的控制器;标记器控制器,诸如针对气动或液压执行器的控制器;或农药施用率控制器,诸如计量驱动控制器、孔口尺寸或位置控制器。
在实施例中,可以与耕作装备一起使用的传感器112的示例包括:针对诸如柄或盘之类的工具的位置传感器;针对这种工具的工具位置传感器,其被配置为检测深度、组合角度或横向间距;下压力传感器;或牵引力传感器。在实施例中,可以与耕作装备一起使用的控制器114的示例包括下压力控制器或工具位置控制器,诸如被配置为控制工具深度、组合角度或横向间隔的控制器。
在实施例中,可以与用于施用肥料、杀虫剂、杀真菌剂等的装置(诸如播种机上施肥系统、下层土壤施用器、或肥料喷雾器)关联使用的传感器112的示例包括:流体系统标准传感器,诸如流量传感器或压力传感器;传感器,其指示哪个喷头阀或流体管线阀是打开的;与储罐相关联的传感器,诸如液位传感器;分段或系统范围的供应线传感器,或行专用的供应线传感器;或者运动学传感器,诸如放置在喷雾机吊杆上的加速度计。在实施例中,可以与这种装置一起使用的控制器114的示例包括:泵速度控制器;阀门控制器,其被编程以控制压力、流量、方向、PWM等;或者诸如用于动臂高度、下土层深度或动臂位置的位置执行器。
在实施例中,可以与收割机一起使用的传感器112的示例包括:产量监控器,诸如冲击板应变仪或位置传感器、电容式流量传感器、负载传感器、重量传感器或与升降机或螺旋钻相关联的扭矩传感器、或光学或其他电磁谷物高度传感器;谷物水分传感器,诸如电容传感器;谷物损失传感器,包括撞击、光学或电容传感器;割台运行标准传感器,诸如割台高度、割台类型、盖板间隙、进料器速度和卷盘速度传感器;分离器操作标准传感器,诸如凹形间隙、转子速度、鞋间隙或颖壳筛间隙传感器;针对位置、操作或速度的螺旋钻传感器;或者引擎转速传感器。在实施例中,可以与收割机一起使用的控制器114的示例包括:针对诸如割台高度、割台类型、甲板间隙、进料器速度或卷筒速度等元素的割台操作标准控制器;以及针对诸如有凹入间隙、转子速度、鞋间隙或颖壳筛间隙的特征的分离器操作标准控制器;或者针对位置、操作或速度的螺旋钻控制器。
在实施例中,可以与谷物推车一起使用的传感器112的示例包括重量传感器,或者针对螺旋钻位置、操作或速度的传感器。在实施例中,可以与谷物推车一起使用的控制器114的示例包括针对螺旋钻位置、操作或速度的控制器。
在实施例中,传感器112和控制器114的示例可以被安装在无人驾驶飞行器(UAV)装置或“无人机”中。这种传感器可以包括带有检测器的摄像头,该检测器对包括可见光、红外、紫外线、近红外(NIR)等在内的电磁频谱的任何范围都有效;加速度计;高度计;温度传感器;湿度传感器;皮托管传感器、或其他空速或风速传感器;电池寿命传感器;或者雷达发射器和反射式雷达能量检测装置;其他电磁辐射发射器和反射式电磁辐射检测装置。这种控制器可以包括引导或马达控制装置、控制面控制器、摄像头控制器,或者被编程为对任何前述传感器进行开启、操作、从中获取数据、管理和配置的控制器。在美国专利申请号14/831,165中披露了若干示例,并且本公开假定了解其他专利公开。
在实施例中,传感器112和控制器114可以被贴附到土壤采样和测量装置,该装置被配置或编程为对土壤采样并且执行土壤化学测试、土壤湿度测试,以及其他与土壤有关的测试。例如,可以使用在美国专利号8,767,194和美国专利号No.8,712,148中披露的装置,并且本公开假定了解那些专利公开。
在实施例中,传感器112和控制器114可以包括用于监控田地的天气状况的天气设备。例如,在于2017年8月16日提交的美国专利申请号15/551,582中公开的装置可以被使用,并且本公开假定了解那些专利公开。
2.4.过程概述—农艺模型训练
在实施例中,农业智能计算机系统130被编程或被配置为创建农艺模型。在此上下文中,农艺模型是农业智能计算机系统130的存储器中的包括田地数据106的数据结构,诸如针对一个或多个田地的标识数据和收获数据。农艺模型还可以包括计算出的农艺特性,该农艺特性描述可能影响田地上的一种或多种作物生长的条件、或者一种或多种作物的特性、或者其两者。附加地,农艺模型可以包括基于农艺因素的建议,诸如作物建议、灌溉建议、种植建议、肥料建议、杀真菌剂建议、农药建议、收获建议,以及其他作物管理建议。农艺因素也可以被用来估计与一种或多种作物有关的结果,诸如农艺产量。作物的农艺产量是对所生产作物的数量的估计,或者在某些示例中是从所生产作物获取的收入或利润。
在实施例中,农业智能计算机系统130可以使用预配置的农艺模型来计算与针对一个或多个田地的当前接收的位置和作物信息有关的农艺特性。预配置的农艺模型是基于先前经处理的田地数据,包括但不限于标识数据、收获数据、肥料数据和天气数据。预配置的农艺模型可能已经经过交叉验证,以确保模型的准确度。交叉验证可以包括与真实值的比较,这比较的是预测结果与田地上的实际结果,诸如将降水估计与雨量计或提供相同或附近位置的天气数据的传感器进行比较,或者将氮含量与土壤样本测量结果进行比较。
图3图示出了经编程的过程,农业智能计算机系统通过该过程使用由一个或多个数据源提供的田地数据来生成一个或多个预配置的农艺模型。图3可以用作用于对农业智能计算机系统130的功能元素进行编程以执行现在所描述的操作的算法或指令。
在框305处,农业智能计算机系统130被配置或编程为对从一个或多个数据源接收的田地数据实现农艺数据预处理。可以对从一个或多个数据源接收的田地数据进行预处理,以用于移除噪声、失真影响以及农艺数据中的混杂因素,包括可能对接收到的田地数据值产生不利影响的经测量离群值。农艺数据预处理的实施例可以包括但不限于:移除通常与离群值数据值相关联的数据值,已知会不必要地扭曲其他数据值的具体测量数据点,或者被用来移除或降低噪声带来的加性或乘性效应的数据平滑、聚合或采样技术,以及被用来明确区分正负数据输入的其他滤波或数据推导技术。
在框310处,农业智能计算机系统130被配置或编程为使用预处理的田地数据来执行数据子集选择,以便标识对初始的农艺模型的生成有用的数据集。农业智能计算机系统130可以实现数据子集选择技术,包括但不限于:遗传算法方法、所有子集模型方法、顺序搜索方法、逐步回归方法、粒子群优化方法,以及蚁群优化方法。例如,基于遗传学和自然选择的进化原理,遗传算法选择技术使用自适应启发式搜索算法来确定并且评估预处理的农艺数据内的数据集。
在框315处,农业智能计算机系统130被配置或编程为实现田地数据集评估。在实施例中,通过创建农艺模型并且使用针对所创建的农艺模型的具体质量阈值来评估具体的田地数据集。可以使用一种或多种比较技术来比较和/或验证农艺模型,诸如但不限于均方根误差和留一法交叉验证(RMSECV)、平均绝对误差和平均百分比误差。例如,通过比较由农艺模型创建的预测农艺特性值与被收集并分析的历史农艺特性值,RMSECV可以对农艺模型进行交叉验证。在实施例中,农艺数据集评估逻辑被用作反馈回路,其中在未来的数据子集选择步骤期间使用不满足所配置的质量阈值的农艺数据集(框310)。
在框320处,农业智能计算机系统130被配置或编程为基于经交叉验证的农艺数据集来实现农艺模型创建。在实施例中,农艺模型创建可以实现多变量回归技术以创建预配置的农艺数据模型。
在框325处,农业智能计算机系统130被配置或编程为存储预配置的农艺数据模型,以用于将来的田地数据评估。
2.5.实现示例—硬件概述
根据一个实施例,本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以硬连线以执行这些技术,或者可以包括数字电子设备,诸如一个或多个经过永久编程以执行该技术的专用集成电路(ASIC)或现场可编程门阵列(FPGA),或者可以包括一个或多个通用硬件处理器,一个或多个硬件处理器被编程为以固件、存储器、其他存储装置或组合来执行符合程序指令的技术。这种专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制的编程相结合来实现该技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持式设备、联网设备,或结合硬连线和/或程序逻辑以实现该技术的任何其他设备。
例如,图4是例示出了其上可以实现本发明实施例的计算机系统400的框图。计算机系统400包括总线402或用于传输信息的其他通信机制,以及与总线402耦接以用于处理信息的硬件处理器404。例如,硬件处理器404可以是通用微处理器。
计算机系统400还包括耦接到总线402的主存储器406,诸如随机存取存储器(RAM)或其他动态存储设备,用于存储信息和处理器404要执行的指令。主存储器406也可以被用于在执行处理器404要执行的指令期间存储临时变量或其他中间信息。当这些指令被存储在处理器404可访问的非暂态存储介质中时,它们将计算机系统400渲染成定制为执行指令中指定操作的专用机器。
计算机系统400还包括耦接到总线402的只读存储器(ROM)408或其他静态存储设备,用于存储静态信息和针对处理器404的指令。存储设备410,诸如磁盘、光盘、或固态驱动器被提供并且耦接到总线402以存储信息和指令。
计算机系统400可以经由总线402被耦接到诸如阴极射线管(CRT)之类的显示器412,以向计算机用户显示信息。包括字母数字键和其他键的输入设备414被耦接到总线402,以用于将信息和命令选择传达给处理器404。另一类用户输入设备是光标控件416,诸如鼠标、轨迹球或光标方向键,用于将方向信息和命令选择传达给处理器404并且用于控制显示器412上的光标移动。此输入设备通常在两个轴(第一轴(例如x)和第二轴(例如y))上具有两个自由度,这允许设备指定平面中的位置。
计算机系统400可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文中所描述的技术,它们与计算机系统结合使得计算机系统400成为专用机器。根据一个实施例,本文中的技术由计算机系统400响应于处理器404执行主存储器406中包含的一个或多个指令的一个或多个序列来执行。这种指令可以从另一存储介质(诸如存储设备410)被读入到主存储器406中。主存储器406中包含的指令序列的执行使处理器404执行本文中所描述的处理步骤。在备选实施例中,可以使用硬连线电路系统来代替软件指令或与软件指令结合使用。
本文所用的术语“存储介质”是指任何非暂态介质,其存储使得机器以特定方式操作的数据和/或指令。这种存储介质可以包括非易失性介质和/或易失性介质。例如,非易失性介质包括光盘、磁盘或固态驱动器,诸如存储设备410。易失性介质包括动态存储器,诸如主存储器406。例如,存储介质的常见形式包括软盘、柔性盘、硬盘、固态驱动器、磁带、或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔的图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储器芯片或盒式磁带。
存储介质不同于传输介质但可以与传输介质结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,包括构成总线402的导线。传输介质还可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的声波或光波。
各种形式的介质可以涉及将一个或多个指令的一个或多个序列携带至处理器404以供执行。例如,指令最初可以在远程计算机的磁盘或固态驱动器上被携带。远程计算机可以将指令加载到其动态存储器中,并且使用调制解调器通过电话线发送该指令。计算机系统400的本地调制解调器可以在电话线上接收数据,并且使用红外发射器将数据转换为红外信号。红外检测器可以接收红外信号中所携带的数据,并且适当的电路系统可以将数据放置于总线402上。总线402将数据携带至主存储器406,处理器404从主存储器406取回并且执行指令。可选地,由主存储器406接收的指令可以在处理器404执行之前或之后被存储在存储设备410上。
计算机系统400还包括耦接到总线402的通信接口418。通信接口418提供耦接到网络链路420的双向数据通信,网络链路420被连接到局域网422。例如,通信接口418可以是集成服务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器,或提供与相应类型的电话线的数据通信连接的调制解调器。作为另一个示例,通信接口418可以是提供到兼容LAN的数据通信连接的局域网(LAN)卡。也可以实现无线链路。在任何这种实现中,通信接口418发送并且接收电、电磁或光信号,这些信号携带表示各类信息的数字数据流。
网络链路420通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路420可以通过本地网络422向主机计算机424或向由互联网服务提供方(ISP)426操作的数据设备提供连接。ISP426又通过全球分组数据通信网络(现在通常被称为“互联网”428)来提供数据通信服务。局域网422和互联网428两者都使用携带数字数据流的电、电磁或光信号。经过各种网络的信号以及在网络链路420上并且经过通信接口418的信号是传输介质的示例形式,其携带去往和来自计算机系统400的数字数据。
计算机系统400可以通过(多个)网络、网络链路420和通信接口418来发送消息并且接收包括程序代码在内的数据。在互联网示例中,服务器430可以通过互联网428、ISP426、本地网络422和通信接口418传输对应用程序的请求代码。
所接收的代码可以在其被接收时由处理器404执行,和/或被存储在存储设备410或其他非易失性存储器中以供以后执行。
3.功能描述
在一些实施例中,分类模型管理服务器(服务器)170被编程为用于植物疾病识别或其他分类相关目的而更新初始卷积神经网络(CNN)。图8图示出了经更新的CNN的示例。
诸如AlexNet、VGG、GoogleNet或ResNet的各种公开的CNN已经被适配用于植物疾病识别,并且每个适配版本都可以被用作初始CNN。图8包括框架802作为这种典型的CNN的一部分。框架802包括一系列卷积块,每个卷积块包括卷积层和池化层,每个卷积层包括分别与图像的一个或多个特征相对应的一个或多个滤波器。由卷积层产生的图像或特征地图的尺寸沿着框架802减小。例如,第一卷积块812接受224×224的图像,而最后的卷积块816产生7×7的特征地图。另一方面,滤波器的数目可以沿着框架802上升。例如,最后的卷积块816中的滤波器的数目可以是512。这意味着框架802输出512个7×7特征地图。
CNN的最后几个卷积块中的滤波器通常对应于可以更代表个体类别的更多全局特征。图9图示出了与典型CNN的不同卷积块中的滤波器相对应的特征的示例图形表示。在此示例中,CNN被设计用于对面部表情进行分类。部分902示出了与CNN的初始卷积块中的一个初始卷积块中的滤波器相对应的给定图像的特征。这些特征倾向于描述可能出现在许多图像中或构成背景的一部分的小区域。部分904示出了与CNN的中间卷积块中的一个中间卷积块中的滤波器相对应的给定图像的特征。这些特征倾向于描述脸部的一部分,诸如眼睛或鼻子。部分906示出了与CNN的最终卷积块中的一个最终卷积块中的滤波器相对应的给定图像的特征。这些特征倾向于描述整个面部,其中不同的部分一起工作以表征某个面部表情。因此,CNN的最后几个卷积块中的滤波器可能更可能代表个体类别,并且从这些滤波器中进行选择可能更有意义。
在一些实施例中,服务器170被编程为通过关闭诸如最后卷积块中的某些滤波器的选择滤波器来概括初始CNN,以使得经更新的CNN实质上仅捕获足以进行准确分类的关键特征。
3.1特征地图集合
在一些实施例中,服务器170被编程为建立用于选择滤波器或其对应特征的特征地图集合。在植物疾病的情况下,应用给定CNN的目标是,在给定植物照片的情况下确定该植物是否感染了多种植物疾病中的任何疾病。对于玉米,常见的植物疾病包括:炭疽病(ALB)、普通锈病(CR)、眼斑(EYE)、灰叶斑病(GLS)、内州萎蔫病(GW)、北叶枯病(NLB)、北叶斑病(NLS)、南叶枯病(SLB)和南方锈病(SR)。因此,至少可以有十个类别,包括标示健康植物的类别。服务器170还可以被配置为定义附加类别,每个附加类别都与多种植物疾病相对应。对于每个类别,服务器170被编程为首先收集一定数目的图像,每个图像示出具有对应植物疾病的症状或表征该类别的任何特征的植物。例如,该一定数目可以是1,000,从而导致针对所有十个类别的总共10,000张图像的集合。图像的集合可能会由于环境或其他因素而导致类别内的细微变化。例如,图像的集合可以包括被接种的玉米植株的照片或常规的未被接种的玉米植株的照片。当存在对应于多种植物疾病的类别时,每个收集的图像可以示出具有那些多种植物疾病的症状的植物。
在一些实施例中,服务器170被编程为通过初始CNN(多达并且包括最后几个卷积块中的特定卷积块)运行收集的图像中的每个图像。参考回图8,特定卷积块可以是最后的卷积块816。作为结果,针对每个图像生成多个特征地图,其数目与特定卷积块的特定卷积层中的滤波器的数目相同,诸如对于卷积块816是512。
3.2特征选择
在一些实施例中,服务器170被编程为基于特征地图对特定卷积块中的滤波器或对应特征进行排序。为了效率,可以通过全局平均池化来将特征地图中的每个特征地图减少到一个值。在执行全局平均池化以选择滤波器并且确定如何更新初始CNN的同时,全局平均池化层可以是初始CNN或经更新的CNN的一部分,如在下面进一步讨论的那样。参考回图8,连接到框架802的框架804表示全局平均池化层。512个7x7特征地图中的每个特征地图都被减少为一个值,作为49个值的平均,这继而又产生了512个值的向量,每个向量对应于用于分类的特征。结果是与收集的图像的数目一样多的向量。
在一些实施例中,服务器170被编程为使用向量集合对特定卷积块中的滤波器排序。在上面提到的示例中,针对十个类别中的每个类别有1,000个,这将导致10,000个向量。服务器170被编程为将这些向量中的每个向量与类别标签相关联,该类别标签与从其中构建向量的原始图像相关联。在上面提到的示例中,每个类别标签将标识与感染原始图像中所捕获的植物的植物疾病相关联的类别。具体地,服务器170可以被编程为从向量集合建立随机森林。随机森林可以被用来对变量的重要性进行排序,在这种情况下,变量的重要性将是被用于分类的特征。例如,这种排序是通过R包中的随机森林函数来实现的。服务器170可以被编程为应用本领域技术人员已知的其他技术来对模型变量进行排序,诸如确定特征之间或个体特征的范围之间的相关性,然后移除多余或过度的特征。
在一些实施例中,服务器170被编程为接下来选择特别的数目的最高排序的特征。最大数目将是初始CNN的特定卷积块中的滤波器的数目,对应于选择所有滤波器或对应特征。最小数目将是类别的数目,其需要由经更新的CNN识别和区分。可以将特别的数字预定义为介于最大数目和最小数目之间的任何数目。
3.3分类模型的修改
在一些实施例中,服务器170被编程为基于滤波器或对应特征的选择来更新CNN。经更新的CNN可以被用来以更高的效率和效力将新图像分类为多个类别,诸如将玉米植株的新照片分类为健康类别或几种疾病类别。
在一些实施例中,服务器被编程为简单地从特定卷积块中移除或断开连接未被选择的滤波器。备选地,服务器被编程为执行本节其余部分所描述的步骤,当特定卷积块是初始CNN中的最后的卷积块时,这些步骤特别适用。在一系列卷积块之后,服务器170被编程为在它不是初始CNN的一部分时添加全局平均池化层。服务器170被编程为进一步添加掩模层,其仅保留最高排序的滤波器并且掩模掉其他滤波器,或者换句话说,仅接受与被选滤波器相对应的聚合特征地图。参考回图8,连接至框架804的框架806包括掩模层。
在一些实施例中,初始CNN包括在一系列卷积块之后的分类块。分类块可以包括将最后的卷积块中的滤波器连接到类别的全连接层,随后是softmax层。服务器170被编程为将与被选滤波器相关联的权重重新用于全连接层。参考回图8,框架808包括全连接层,并且框架810包括softmax层。在初始CNN中,全连接层中的512个滤波器具有512个权重。现在,在经更新的CNN中掩模掉了某些滤波器之后,在全连接层中不再需要未被选择的滤波器的权重。在其他实施例中,服务器170被编程为用原始图像集合来重新训练针对被选滤波器的权重,同时在其余的初始CNN中重用其他权重。
3.4备选实施例
在一些实施例中,代替在特定卷积块中选择固定数目的滤波器,服务器170被编程为相对于所收集的图像的集合寻找最佳数目的滤波器,如在下面所讨论的。图10图示出了随着被选滤波器或对应特征的数目变化的针对CNN的示例性能图。性能图包括直方图,该直方图是针对两个图像子集从x轴的特定卷积层中选择的不同数目的特征上的在y轴上的分类准确度。两个图像子集分别对应于在被接种或未被接种条件下生长的植物。
在图10中,数据点1002对应于所有特征的选择。在上面提到的示例中,最后的卷积块806具有512个滤波器,因此特征总数为512。因此,条形的值示出了初始CNN的分类准确度。在该示例中,初始CNN从与仅在被接种条件下生长的植物相对应的图像子集中进行构建,并且因此对于此类植物实现了高分类准确度,但对于在未被接种条件下生长的植物却实现了低分类准确度。数据点1006对应于最小数目的特征的选择,其通常是由CNN识别和区分的类别的数目。在上面提到的示例中,针对九种植物疾病的类别数目为十。数据点1004对应于中间数目的特征的选择,以使得经更新的CNN针对在未被接种条件下生长的植物的性能显著提高到接近峰值,而针对在被接种条件下生长的植物的性能仍保持为接近峰值。因此,该中间数目可以是特征或滤波器的数目的最佳数目。以这种方式,可以以与从特定卷积块中选择的不同数目的滤波器相对应的不同方式来临时更新初始CNN,可以基于临时经更新的CNN的性能来确定最佳特征的数目,并且最终可以通过选择最佳数目的滤波器来更新初始CNN框架。
在一些实施例中,可以利用专家输入来进一步改善经更新的CNN框架。服务器170可以被编程为通过显示设备致使显示被选特征的视觉表示。特征的视觉表示可以是以突出显示原始图像的与特征匹配的部分的形式。当突出显示的部分看起来像表征原始图像所属类别的物理属性时,突出显示的部分的观看者可以提供对特征的相关性的确认。
在一些实施例中,服务器170可以被配置为应用本领域技术人员已知的可视化技术,诸如准备类别激活地图或执行去卷积网络。对于类别激活地图,其为卷积层基于公式所生成的特征地图的空间中的每个(x,y)分配贡献,其中k是特征的数目,并且c是类别的数目,服务器170可以被编程为使用由特定卷积块产生的并且针对经更新的CNN选择的特征地图作为fk(x,y),以及使用针对经更新的CNN框架中的新的全连接层的权重作为/>对于去卷积网络,服务器170可以被配置为通过一系列卷积块(多达并且包括初始或经更新的CNN中的特定卷积块)来运行原始图像,并且将由特定卷积层产生的所有特征地图归零。随后,服务器170可以被配置为然后将用于经更新的CNN中的被选滤波器的视觉表示的基础数据发送至客户端设备以进行显示,并且从经更新的CNN框架所包括的那些滤波器中接收进一步的选择。如上面所讨论的,服务器170可以被配置为基于滤波器的进一步选择来进一步修正经更新的CNN。
3.5示例过程
图11图示出了由服务器计算机执行的示例方法,该服务器计算机被编程用于调整CNN以专注于特定于类别的特征。图11旨在公开一种算法、计划或概述,其可以被用来实现一个或多个计算机程序或其他软件元素,这些计算机程序或其他软件元素在被执行时导致执行本文所述的功能改善和技术进步。此外,本文中的流程图以与本领域普通技术人员通常用来就形成他们计划使用其积累的技能和知识来编码或实现的软件程序基础的算法、计划或规范进行相互传达的相同详细程度来进行描述。
在一些实施例中,在步骤1102中,服务器170被编程或配置为接收表示初始CNN的数字数据。CNN包括一系列卷积块,该一系列卷积块中的每个卷积快包括具有一个或多个滤波器的卷积层,并且最后的卷积块中的卷积层具有与一定数目的特征相对应的一定数目的滤波器。每个卷积块还可以包括池化层。初始CNN还可以包括在一系列卷积块之后的全局平均池化层、全连接层和softmax层。初始CNN被训练,以将给定图像分类为多个类别中的一个类别,诸如将玉米叶片的照片分类为健康类别或疾病类别之一。
在一些实施例中,在步骤1104中,服务器170被编程或配置为还接收数字图像集合和对应的类别标签集合,每个类别标签标识多个类别中的一个类别。数字图像集合可以包括被用来训练初始CNN的图像或者也可以被分类为多个类别的附加图像。例如,被用来训练初始CNN的数字图像集合中的一些数字图像可以对应于感染了GLS的被接种的玉米,而附加图像可以对应于感染了GLS的常规的未被接种的玉米。
在一些实施例中,在步骤1106中,服务器170被编程或配置为通过一系列卷积块来运行数字图像集合中的每个数字图像,以针对数字图像集合中的每个数字图像生成一定数目的特征地图。特征地图由初始CNN的最后的卷积块中的卷积层生成,并且它是最后的卷积块中将被排序并且被选择性地合并到经更新的CNN中的滤波器。
在一些实施例中,在步骤1108中,服务器170被编程或配置为针对数字图像集合中的每个数字图像计算针对一定数目的特征地图中的每个特征地图的聚合,以针对数字图像集合中的每个数字图像生成一定数目的聚合的向量。聚合可以是特征地图中的所有值的平均。
在一些实施例中,在步骤1110中,服务器170被编程或配置为基于数字图像集合的向量集合和相关联的类别标签集合,对一定数目的滤波器进行排序。可以使用各种技术来基于向量最终如何被分类到多个类别来对滤波器或向量属性进行排序。一种示例技术是根据向量集合建立随机森林,并且获取针对变量或向量属性的重要性指示符。
在一些实施例中,在步骤1112中,服务器170被编程或配置为从一定数目的滤波器中选择特定数目的最高排序的滤波器。服务器170可以被编程为使用多个类别的尺寸和被用来构建向量的最后的卷积块中的滤波器总数之间的固定数目作为特定数目。备选地,服务器170可以被编程为通过不同的临时经更新的CNN来实验不同的数目,并且选择那些数目中的一个数目作为用于最终经更新的CNN的特定数目。
在一些实施例中,在步骤1114中,服务器170被编程或配置为构建经更新的CNN,该经更新的CNN包括一系列卷积块、掩模掉一定数目的滤波器中未被选择的滤波器的掩模层、以及将特定数目的滤波器与多个类别连接的全连接层。当初始CNN具有将最后的卷积块中的卷积层中的所有滤波器与多个类别连接的全连接层时,与被选滤波器相关联的全连接层中的权重可以在经更新的CNN的全连接层中被重用。备选地,可以使用本领域技术人员已知的任何CNN训练技术来训练经更新的CNN的全连接层中的那些权重。经更新的CNN还可以包括在一系列卷积块和掩模层之间的全局平均池化层,该全局平均池化层将由最后的卷积块产生的每个特征地图减小到一个值。经更新的CNN还可以在最末尾包括softmax层,以生成具有置信度分数的分类。
在一些实施例中,在步骤1116中,服务器170被编程或配置为将经更新的CNN应用于从客户端设备接收的新图像,以获取新图像到多个类别中的一个或多个类别的分类分类。例如,新图像可以是玉米叶片的另一张照片。在步骤1118中,服务器170被编程或配置为将分类传输至另一设备。例如,分类可以指示玉米叶片是否被多种植物疾病中的任何植物疾病所感染。
4.扩展和备选
在前述说明书中,已经参照可以随实现而变化的许多具体细节描述了实施例。因此,说明书和附图应被认为是说明性的而不是限制性的。本公开范围的唯一且排他性的指示以及申请人旨在作为本公开范围的内容,是由本申请产生的权利要求书的字面意义的和等效的范围,其以此类权利要求书发布的特定形式,包括任何后续更正。

Claims (20)

1.一种调整卷积神经网络以专注于特定于类别的特征的计算机实现的方法,包括:
由处理器接收表示包括一系列卷积块的初始卷积神经网络CNN的数字数据,
所述一系列卷积块中的每个卷积块包括具有一个或多个滤波器的卷积层,
所述一系列卷积块中的明确数目的最后卷积块的卷积层具有与一定数目的N个特征相对应的N个滤波器,其中N为正整数;
由所述处理器接收数字图像集合和对应的类别标签集合,每个类别标签标识多个类别中的类别;
使用所述一系列卷积块处理所述数字图像集合中的每个数字图像,以针对所述数字图像集合中的每个数字图像从所述卷积层生成N个特征地图;
基于针对所述数字图像集合中的每个数字图像的所述N个特征地图,生成针对所述数字图像的向量;
基于针对所述数字图像集合的向量集合和对应的所述类别标签集合,对所述N个滤波器排序;
从所述N个滤波器中选择特别数目的最高排序的滤波器;
从所述初始CNN构建经更新的CNN,以消除所述N个滤波器中的未被选择的滤波器的应用;
将所述经更新的CNN应用于从客户端设备接收到的新图像,以获取所述新图像到所述多个类别中的一个类别的分类;
传输与所述分类相关的信息。
2.根据权利要求1所述的计算机实现的方法,
所述数字图像集合中的一个数字图像是植物类型的照片,
所述多个类别中的一个类别是可能影响所述植物类型的疾病。
3.根据权利要求1所述的计算机实现的方法,所述一系列卷积块中的每个卷积块还包括池化层。
4.根据权利要求1所述的计算机实现的方法,其中N大于与所述一系列卷积块中的、除了所述明确数目的最后卷积块之外的一个卷积块的卷积层相关联的滤波器的数目。
5.根据权利要求1所述的计算机实现的方法,所述生成包括:将所述向量的分量计算为针对所述数字图像的所述N个特征地图中的特征地图中的值的聚合。
6.根据权利要求1所述的计算机实现的方法,
所述生成包括:针对所述数字图像的所述N个特征地图中的每个特征地图,执行全局平均池化。
7.根据权利要求1所述的计算机实现的方法,所述选择基于过去的结果,所述过去的结果与为构建经更新的CNN而选择的不同数目的最高排序的滤波器相关联。
8.根据权利要求1所述的计算机实现的方法,所述排序包括:从所述向量集合和相关联的所述类别标签集合来建立随机森林。
9.根据权利要求1所述的计算机实现的方法,所述经更新的CNN包括所述一系列卷积块以及掩模层,所述掩模层掩模掉所述N个滤波器中的未被选择的滤波器。
10.根据权利要求1所述的计算机实现的方法,所述构建包括:修改所述卷积层以从所述N个滤波器中移除未被选择的滤波器。
11.根据权利要求1所述的计算机实现的方法,所述初始CNN还包括在所述一系列卷积块之后的分类块,所述分类块包括全连接层。
12.根据权利要求11所述的计算机实现的方法,所述经更新的CNN包括经更新的分类块,所述经更新的分类块包括所述全连接层,所述全连接层保留与所述特别数目的最高排序的滤波器相关联的权重。
13.根据权利要求12所述的计算机实现的方法,所述经更新的分类块还包括softmax层。
14.根据权利要求1所述的计算机实现的方法,所述选择基于过去的结果,所述过去的结果与为构建经更新的CNN而选择的不同数目的最高排序的滤波器相关联。
15.一种或多种非暂态计算机可读介质,存储一个或多个指令序列,所述一个或多个指令序列在使用一个或多个处理器而被执行时,使所述一个或多个处理器执行一种调整卷积神经网络以专注于特定于类别的特征的方法,所述方法包括:
收表示包括一系列卷积块的初始卷积神经网络CNN的数字数据,
所述一系列卷积块中的每个卷积块包括具有一个或多个滤波器的卷积层,
所述一系列卷积块中的明确数目的最后卷积块的卷积层具有与N个特征相对应的N个滤波器,N为正整数;
接收数字图像集合和对应的类别标签集合,每个类别标签标识多个类别中的类别;
使用所述一系列卷积块处理所述数字图像集合中的每个数字图像,以针对所述数字图像集合中的每个数字图像从所述卷积层生成N个特征地图;
基于针对所述数字图像集合中的每个数字图像的所述N个特征地图,生成针对所述数字图像的向量;
基于针对所述数字图像集合的向量集合和对应的所述类别标签集合,对所述N个滤波器排序;
从所述N个滤波器中选择特别数目的最高排序的滤波器;
从所述初始CNN构建经更新的CNN,以消除所述N个滤波器中的未被选择的滤波器的应用;
将所述经更新的CNN应用于从客户端设备接收到的新图像,以获取新图像到所述多个类别中的一个类别的分类;
传输与所述分类相关的信息。
16.根据权利要求15所述的一种或多种非暂态计算机可读介质,所述生成包括:将所述向量的分量计算为针对所述数字图像的所述N个特征地图中的特征地图中的值的聚合。
17.根据权利要求15所述的一种或多种非暂态计算机可读介质,所述排序包括:从所述向量集合和相关联的所述类别标签集合来建立随机森林。
18.根据权利要求15所述的一种或多种非暂态计算机可读介质,所述经更新的CNN包括所述一系列卷积块以及掩模层,所述掩模层掩模掉所述N个滤波器中的未被选择的滤波器。
19.根据权利要求15所述的一种或多种非暂态计算机可读介质,所述初始CNN还包括在所述一系列卷积块之后的分类块,所述分类块包括全连接层。
20.根据权利要求19所述的一种或多种非暂态计算机可读介质,所述经更新的CNN包括经更新的分类块,所述经更新的分类块包括所述全连接层,所述全连接层保留与所述特别数目的最高排序的滤波器相关联的权重。
CN201980085520.8A 2018-10-24 2019-10-23 利用改善的机器学习检测植物疾病的感染 Active CN113228041B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862750118P 2018-10-24 2018-10-24
US62/750,118 2018-10-24
PCT/US2019/057739 WO2020086774A1 (en) 2018-10-24 2019-10-23 Detecting infection of plant diseases with improved machine learning

Publications (2)

Publication Number Publication Date
CN113228041A CN113228041A (zh) 2021-08-06
CN113228041B true CN113228041B (zh) 2024-04-09

Family

ID=70327328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980085520.8A Active CN113228041B (zh) 2018-10-24 2019-10-23 利用改善的机器学习检测植物疾病的感染

Country Status (9)

Country Link
US (1) US10956780B2 (zh)
EP (1) EP3871140A4 (zh)
JP (1) JP7357674B2 (zh)
CN (1) CN113228041B (zh)
AR (1) AR116845A1 (zh)
AU (1) AU2019365219A1 (zh)
BR (1) BR112021007721A8 (zh)
CA (1) CA3117334A1 (zh)
WO (1) WO2020086774A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11280883B2 (en) * 2019-01-25 2022-03-22 Veoneer Us, Inc. Apparatus and method for detecting radar sensor blockage using machine learning
CN110346305B (zh) * 2019-07-17 2021-04-13 浙江大学 一种测量植物叶片氮含量的方法和装置
WO2022106302A1 (en) 2020-11-20 2022-05-27 Bayer Aktiengesellschaft Representation learning
CN112841154A (zh) * 2020-12-29 2021-05-28 长沙湘丰智能装备股份有限公司 一种基于人工智能的病虫害防治系统
CN112766364A (zh) * 2021-01-18 2021-05-07 南京信息工程大学 一种改进vgg19的番茄叶片病害分类方法
CN112883835B (zh) * 2021-01-29 2022-11-25 中南民族大学 基于计算机视觉的茶叶品质等级确定方法、装置及设备
US20230095405A1 (en) * 2021-09-30 2023-03-30 Zhejiang University Method and system for screening spectral indexes of rice resistant to bacterial blight

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3340130A1 (en) * 2016-12-23 2018-06-27 Hexagon Technology Center GmbH Method for prediction of soil and/or plant condition
CN108537777A (zh) * 2018-03-20 2018-09-14 西京学院 一种基于神经网络的作物病害识别方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9730643B2 (en) * 2013-10-17 2017-08-15 Siemens Healthcare Gmbh Method and system for anatomical object detection using marginal space deep neural networks
IL231862A (en) * 2014-04-01 2015-04-30 Superfish Ltd Image representation using a neural network
KR102276339B1 (ko) * 2014-12-09 2021-07-12 삼성전자주식회사 Cnn의 근사화를 위한 학습 장치 및 방법
US10515304B2 (en) 2015-04-28 2019-12-24 Qualcomm Incorporated Filter specificity as training criterion for neural networks
US9633282B2 (en) * 2015-07-30 2017-04-25 Xerox Corporation Cross-trained convolutional neural networks using multimodal images
CN105279484B (zh) * 2015-10-10 2019-08-06 北京旷视科技有限公司 对象检测方法和对象检测装置
US20170300811A1 (en) * 2016-04-14 2017-10-19 Linkedin Corporation Dynamic loss function based on statistics in loss layer of deep convolutional neural network
CN109154978B (zh) * 2016-05-13 2023-04-11 巴斯夫欧洲公司 用于检测植物疾病的系统和方法
US10303977B2 (en) * 2016-06-28 2019-05-28 Conduent Business Services, Llc System and method for expanding and training convolutional neural networks for large size input images
US20180336468A1 (en) * 2017-05-16 2018-11-22 Nec Laboratories America, Inc. Pruning filters for efficient convolutional neural networks for image recognition in surveillance applications
US10438302B2 (en) * 2017-08-28 2019-10-08 The Climate Corporation Crop disease recognition and yield estimation
US11030485B2 (en) * 2018-03-30 2021-06-08 Arizona Board Of Regents On Behalf Of Arizona State University Systems and methods for feature transformation, correction and regeneration for robust sensing, transmission, computer vision, recognition and classification
US10713541B2 (en) * 2018-09-10 2020-07-14 Johnson Controls Technology Company Systems and methods for occlusion handling in a neural network via activation subtraction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3340130A1 (en) * 2016-12-23 2018-06-27 Hexagon Technology Center GmbH Method for prediction of soil and/or plant condition
CN108537777A (zh) * 2018-03-20 2018-09-14 西京学院 一种基于神经网络的作物病害识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于卷积核滤波器筛选的 CNN 模型精简方法";王震等;《天机理工大学学报》;第34卷(第2期);第18-23页 *
王震等."基于卷积核滤波器筛选的 CNN 模型精简方法".《天机理工大学学报》.2018,第34卷(第2期),第18-23页. *

Also Published As

Publication number Publication date
JP2022505741A (ja) 2022-01-14
BR112021007721A2 (pt) 2021-07-27
US10956780B2 (en) 2021-03-23
EP3871140A1 (en) 2021-09-01
US20200134358A1 (en) 2020-04-30
AR116845A1 (es) 2021-06-16
WO2020086774A1 (en) 2020-04-30
CN113228041A (zh) 2021-08-06
AU2019365219A1 (en) 2021-05-20
CA3117334A1 (en) 2020-04-30
JP7357674B2 (ja) 2023-10-06
EP3871140A4 (en) 2022-07-06
BR112021007721A8 (pt) 2022-11-08

Similar Documents

Publication Publication Date Title
CN113228055B (zh) 配置和利用卷积神经网络以识别植物病害的方法和介质
CN112889089B (zh) 用于标识卫星影像中的云和云影的机器学习技术
CN112740258B (zh) 通过田地健康影像生成农艺产量地图
CN112106087B (zh) 农业数据的分析和呈现
US11216702B2 (en) Detection of plant diseases with multi-stage, multi-scale deep learning
CN113168598B (zh) 由田间的风险调整的杂交种子选择和作物产量优化
CN113228041B (zh) 利用改善的机器学习检测植物疾病的感染
CN112955000A (zh) 使用基于机器学习的种子收获水分预测来改进计算机辅助农场操作
US20200042890A1 (en) Automatic prediction of yields and recommendation of seeding rates based on weather data
CN113226009B (zh) 针对大豆的预测性的种子脚本处理
CN113038823A (zh) 自动化样本采集和跟踪系统
CN112166453A (zh) 杂交种植研究与田地目标
RU2820495C2 (ru) Обнаружение болезней растений с помощью многостадийного, многомасштабного глубокого обучения

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: California, USA

Applicant after: Clemet Co.,Ltd.

Address before: California, USA

Applicant before: THE CLIMATE Corp.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Missouri, USA

Applicant after: Clemet Co.,Ltd.

Address before: California, USA

Applicant before: Clemet Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant