CN113228055A - 通过对植物照片分类来检测植物病害的感染 - Google Patents

通过对植物照片分类来检测植物病害的感染 Download PDF

Info

Publication number
CN113228055A
CN113228055A CN201980084804.5A CN201980084804A CN113228055A CN 113228055 A CN113228055 A CN 113228055A CN 201980084804 A CN201980084804 A CN 201980084804A CN 113228055 A CN113228055 A CN 113228055A
Authority
CN
China
Prior art keywords
data
regions
marked
computer
anchor
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.)
Granted
Application number
CN201980084804.5A
Other languages
English (en)
Other versions
CN113228055B (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.)
Climate LLC
Original Assignee
Climate Corp
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 Climate Corp filed Critical Climate Corp
Publication of CN113228055A publication Critical patent/CN113228055A/zh
Application granted granted Critical
Publication of CN113228055B publication Critical patent/CN113228055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N33/00Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
    • G01N33/0098Plants or trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering 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
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/10Terrestrial scenes
    • G06V20/188Vegetation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • G06V20/38Outdoor scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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

Landscapes

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

Abstract

公开了一种用于配置和利用卷积神经网络(CNN)进行植物病害识别的系统和处理方法。在一些实施例中,该系统被编程为收集受感染植物或叶子的照片,其中标记有示出了感染性病害的症状的区域。每张照片可以具有多个标记区域。取决于症状被确定尺寸或聚类的方式,一个标记区域可以仅包括由一种病害引起的一个病变,而另一区域可以包括由一种病害引起的紧密间隔的多个病变。该系统被编程为针对单发多框检测器(SSD)的每个卷积层从这些标记区域来确定具有不同长宽比的锚框。对于某些类型的植物,常见病害导致相对更多的长宽比,其中一些长宽比具有相对极端的值。该系统被编程为然后使用标记区域和锚框来训练SSD并且将SSD应用于新照片以标识患病植物。

Description

通过对植物照片分类来检测植物病害的感染
版权告知
该专利文件的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人以专利和商标局专利文件或记录中的形式复制专利文件或专利公开的内容,但保留所有版权或权利。
Figure BDA0003122824540000011
2015-2019Climate Corporation。
技术领域
本公开涉及植物病害检测和机器学习技术领域。本公开还涉及改进用于植物病害识别的机器学习模型的配置和训练技术领域。
背景技术
本部分中描述的方法是可以采用的方法,但不一定是先前已经设想或采用的方法。因此,除非另有说明,否则不应当仅由于本部分中所述的任何方法被包括在本部分中而认为本部分中所述的任何方法有资格作为现有技术。
植物病害检测在农业中很重要。如今,一种自动方法通常涉及对植物照片进行分类,这可以通过应用具有多个卷积层的卷积神经网络(CNN)来实现。一些CNN以两阶段方式一起工作,其中第一个CNN用于在给定图像内提议感兴趣区域,然后第二CNN用于对每个提议区域进行分类。某些CNN要求所有图像具有固定尺寸。有些CNN可以获取各种尺寸的图像,并且以出众的性能一次提议和分类感兴趣区域。考虑到植物病害的明显症状,对这样的CNN进行特殊配置和训练以对植物照片进行分类并且检测植物病害的感染以促进植物健康和生长将是有帮助的。
发明内容
所附权利要求书可以用作本公开的概述。
附图说明
在附图中:
图1示出了被配置为执行本文中描述的功能的示例计算机系统,该示例计算机系统在田地环境中与该系统可以与之交互的其他装置一起示出。
图2示出了当示例移动应用被加载以供执行时主存储器中的指令集的示例逻辑组织的两个视图。
图3示出了编程过程,通过该过程,农业智能计算机系统使用由一个或多个数据源提供的农艺数据来生成一个或多个预先配置的农艺模型。
图4是示出可以在其上实现本发明的实施例的计算机系统的框图。
图5描绘了用于数据输入的时间线视图的示例实施例。
图6描绘了用于数据输入的电子表格视图的示例实施例。
图7A包括每个具有一种病害的症状的玉米叶子的示例照片。
图7B包括具有多种病害的症状的玉米叶子的示例照片。
图8示出了应用非极大值抑制以将初始分类结果提炼为最终分类结果的示例过程。
图9示出了由被编程用于配置和利用卷积神经网络进行植物病害检测的服务器计算机执行的示例方法。
具体实施方式
在下面的描述中,出于解释的目的,阐述了很多具体细节以便提供对本公开的透彻理解。然而,将很清楚的是,可以在没有这些具体细节的情况下实践实施例。在其他实例中,以框图形式示出了公知的结构和设备,以避免不必要地使本公开变得晦涩。根据以下概述,在各部分中公开了实施例:
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)进行植物病害识别的系统和处理方法。在一些实施例中,该系统被编程为收集受感染植物或叶子的照片,其中标记有示出了感染性病害的症状的区域。每张照片可以具有多个标记区域。根据症状被确定尺寸或聚类的方式,一个标记区域可以仅包括由一种病害引起的一个病变,而另一区域可以包括由一种病害引起的多种紧密间隔的病变。该系统被编程为针对单发多框检测器(SSD)的每个卷积层从这些标记区域来确定具有不同长宽比的锚框(默认框)。对于某些类型的植物,常见病害导致相对更多的长宽比,其中一些长宽比具有相对极端的值。该系统被编程为然后使用标记区域和锚框来训练SSD并且将SSD应用于新照片以标识患病植物。
在一些实施例中,该系统被编程为收集玉米叶子的标记照片。每张照片可以具有一个或多个标记区域(基本事实(ground truth)框)。每个标记区域可以具有由多种玉米病害之一引起的一个或多个病变,并且被标记有一种玉米病害。该系统可以被编程为进一步处理标记区域。具体地,该系统可以被编程为基于照片中与病变相对应的区域被确定尺寸(sized)或聚类的方式来将标记区域分成若干区域或将若干标记区域组合为一个区域。例如,专家可能在照片中标记了由Southern Rust引起的病变的较大簇的两个部分。该系统可以被编程为将这两个部分合并和扩展为覆盖整个簇的一个标记区域,因为与簇中不连贯的病变相对应的区域彼此靠近并且簇覆盖叶子的大部分。
在一些实施例中,该系统可以被编程为根据所得到的标记区域针对SSD的一系列卷积层中的每个卷积层确定锚框。参见Liu W.等人的“(2016)SSD:Single Shot MultiBoxDetector.In:Leibe B.,Matas J.,Sebe N.,Welling M.(eds)Computer Vision–ECCV2016,pp21-37.Lecture Notes in Computer Science,vol 9905.Springer,Cham”。该系统可以被编程为对标记区域进行归一化和聚类,并且计算针对每个簇的聚合(aggregate)以用于定义锚框。因此,每个锚框可以具有不同尺度和长宽比,代表示出共同玉米病害症状的标记区域的子集。对于某些玉米病害,长宽比可以在1/7至7之间变化。
在一些实施例中,该系统被编程为基于标记区域的形状将每个标记区域映射到锚框。具体地,该系统可以被配置为当锚框的叠加可以覆盖标记区域的超过预定义百分比时确定映射成功。该系统被编程为然后使用具有标记区域、对应标签、锚框和映射的图像来训练SSD。
在一些实施例中,该系统可以被编程为从客户端设备接收玉米叶子的新照片,并且将SSD应用于新照片,以接收照片中的多个区域的初始标识以及以对应置信度得分将多个区域中的每个区域分类为玉米病害之一。当同一区域被分类为多种玉米病害时,与相对较低置信度得分相关联的某些分类可以被滤除。该系统被编程为然后将分类结果传输给客户端设备。
该系统产生各种技术益处。SSD已经示出了比类似CNN更好的性能,比先前的单发检测器更快,并且更准确,实际上与执行显式区域建议和汇集的较慢技术一样准确。该系统提供了一种用于配置和训练SSD的方法,该方法特别适用于对某些类型的对象(诸如植物病害症状)进行分类。这些症状包括以特定方式被确定尺寸和位置的病变,并且由该系统提供的方法可以捕获该特异性并且从而进一步改善SSD在对植物病害症状进行分类时的性能。这样的改善继而又可以改善作物的健康和生长。
根据从本公开的其他部分,实施例的其他方面和特征将变得很清楚。
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向农业智能计算机系统130发送外部数据110。外部数据服务器计算机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的通信,诸如如何使用从加利福尼亚旧金山的Climate Corporation可获取的CLIMATE FIELDVIEW DRIVE。传感器数据可以包括与田地数据106相同类型的信息。在一些实施例中,远程传感器112可能没有固定到农业装置111,而是可以远程定位在田地中,并且可以与网络109通信。
装置111可以包括用驾驶室应用编程的驾驶室计算机115,该驾驶室计算机115可以包括在本文中的其他部分中进一步描述的用于设备104的移动应用的版本或变体。在一个实施例中,驾驶室计算机115包括紧凑型计算机,通常是平板电脑或智能电话,该计算机具有安装在装置111的操作者驾驶室中的图形屏幕显示器,诸如彩色显示器。驾驶室计算机115可以实现本文中针对移动计算机设备104进一步描述的一些或全部操作和功能。
(多个)网络109概括地表示使用有线或无线链路(包括地面或卫星链路)中的任何一种的一个或多个数据通信网络(包括局域网、广域网、互联网络或互联网)的任何组合。(多个)网络可以由在图1的各个元件之间提供数据交换的任何介质或机制来实现。图1的各个元件还可以具有直接(有线或无线)通信链路。传感器112、控制器114、外部数据服务器计算机108和该系统的其他元件均包括与(多个)网络109兼容的接口,并且被编程或配置为使用标准化协议(诸如TCP/IP、Bluetooth、CAN协议和高层协议(诸如HTTP、TLS等))用于跨网络的通信。
农业智能计算机系统130被编程或配置为从田地管理器计算设备104接收田地数据106,从外部数据服务器计算机108接收外部数据110,并且从远程传感器112接收传感器数据。农业智能计算机系统130还可以被配置为以本公开的其他部分中进一步描述的方式托管、使用或执行一个或多个计算机程序、其他软件元素、诸如FPGA或ASIC等数字编程逻辑、或其任何组合,以执行数据值的转换和存储、在一个或多个田地上的一个或多个农作物的数字模型的构造、推荐和通知的生成、以及脚本的生成和向应用控制器114的发送。
在一个实施例中,农业智能计算机系统130用以下各项被编程或者包括以下各项:通信层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的示例包括但不限于
Figure BDA0003122824540000091
、MYSQL、
Figure BDA0003122824540000092
Figure BDA0003122824540000093
SQL SERVER、
Figure BDA0003122824540000094
和POSTGRESQL数据库。然而,可以使用启用本文中描述的系统和方法的任何数据库。
当田地数据106没有经由与农业智能计算机系统交互的一个或多个农业机械或农业机械设备被直接提供给农业智能计算机系统时,可以经由用户设备上的一个或多个用户接口(由农业智能计算机系统服务)提示用户输入这样的信息。在示例实施例中,用户可以通过访问用户设备(由农业智能计算机系统服务)上的地图并且选择已经在地图上以图形方式示出的特定CLU来指定标识数据。在替代实施例中,用户102可以通过访问用户设备上的地图(由农业智能计算机系统130服务)并且在该地图上绘制田地边界来指定标识数据。这样的CLU选择或地图绘制表示地理标识符。在替代实施例中,用户可以通过经由用户设备从美国农业部农业服务局或其他来源访问田地标识数据(以形状文件或类似格式提供)并且将这样的田地标识数据提供给农业智能计算机系统来指定标识数据。
在示例实施例中,农业智能计算机系统130被编程为生成并且引起显示包括用于数据输入的数据管理器的图形用户界面。在使用以上描述的方法标识一个或多个田地之后,数据管理器可以提供一个或多个图形用户界面小窗口,该图形用户界面小窗口在被选择时可以标识田地、土壤、农作物、耕作、或营养物的变化。数据管理器可以包括时间线视图、电子表格视图和/或一个或多个可编辑程序。
图5描绘了用于数据输入的时间线视图的示例实施例。使用图5所示的显示器,用户计算机可以输入特定田地的选择和添加事件的特定日期。在时间线顶部描绘的事件可以包括氮、种植、实践和土壤。为了添加氮施用事件,用户计算机可以提供输入以选择氮标签。然后,用户计算机可以为特定田地选择时间线上的位置,以指示氮在所选择的田地上的施用。响应于接收到对特定田地的时间线上的位置的选择,数据管理器可以显示数据输入覆盖图,从而允许用户计算机输入与氮施用、种植过程、土壤应用、耕作过程、灌溉实践有关的数据、或与特定田地有关的其他信息。例如,如果用户计算机选择时间线的一部分并且指示氮的施用,则数据输入覆盖图可以包括用于输入氮施用量、施用日期、使用的肥料类型、以及与施氮有关的任何其他信息的字段。
在一个实施例中,数据管理器提供用于创建一个或多个程序的界面。在本文中,“程序”是指与氮施用、种植过程、土壤施用、耕作过程、灌溉实践、或者可能与一个或多个田地相关的其他信息有关的一组数据,这些数据可以存储在数字数据存储中以在其他操作中作为一组重复使用。在创建程序之后,可以在概念上将其应用于一个或多个田地,并且可以将对该程序的引用与标识这些田地的数据相关联地存储在数字存储中。因此,代替手动输入与针对多个不同田地的相同氮施用有关的相同数据,用户计算机可以创建指示特定氮施用的程序,然后将该程序应用于多个不同田地。例如,在图5的时间线视图中,最上面的两个时间线选择了“春天施用”程序,其中包括在4月初施用150磅N/ac。数据管理器可以提供用于编辑程序的界面。在一个实施例中,当编辑特定程序时,选择了该特定程序的每个字段都被编辑。例如,在图5中,如果编辑“春天施用”程序以将氮施用减少到130磅N/ac,基于编辑后的程序,可以通过减少氮施用来更新前两个字段。
在一个实施例中,响应于接收到对具有所选择的程序的字段的编辑,数据管理器移除该字段与所选择的程序的对应关系。例如,如果在图5的顶部字段中增加了氮施用,该界面可以更新以指示“春天施用”程序不再被应用于顶部字段。尽管可能会保留4月初的氮施用,但“春天施用”程序的更新不会改变4月的氮施用。
图6描绘了用于数据输入的电子表格视图的示例实施例。使用图6所示的显示器,用户可以创建和编辑一个或多个田地的信息。数据管理器可以包括电子表格,该电子表格用于输入关于氮、种植、实践和土壤的信息,如图6所示。为了编辑特定条目,用户计算机可以在电子表格中选择特定条目并且更新值。例如,图6描绘了对第二田地的目标产量值的正在进行的更新。另外,用户计算机可以选择一个或多个田地以便应用一个或多个程序。响应于接收到针对特定田地的程序的选择,数据管理器可以基于所选择的程序自动完成针对特定田地的条目。与时间线视图一样,数据管理器可以响应于接收到对该程序的更新来更新与特定程序相关联的每个田地的条目。另外,数据管理器可以响应于接收到对该田地的条目之一的编辑而删除所选择的程序与该田地的对应关系。
在一个实施例中,模型和田地数据存储在模型和田地数据存储库160中。模型数据包括为一个或多个田地而创建的数据模型。例如,农作物模型可以包括一个或多个田地上的农作物发育的数字构建模型。在本上下文中,“模型”是指彼此相关联的电子数字存储的一组可执行指令和数据值,这些可执行指令和数据值能够接收并且响应于基于所指定的输入值的程序或其他数字调用(call)、调用(invocation)或解析请求,以产生一个或多个存储或计算的输出值,这些值可以用作计算机执行的推荐、输出数据显示或机器控制等的基础。本领域技术人员发现,使用数学等式来表达模型是方便的,但是这种表达形式并没有将本文中公开的模型局限于抽象概念;相反,本文中的每个模型都以所存储的可执行指令和数据的形式在计算机中具有实际应用,该可执行指令和数据使用计算机来实现该模型。该模型可以包括一个或多个田地上的过去事件的模型、一个或多个田地的当前状态的模型、和/或一个或多个田地上的预测事件的模型。模型和田地数据可以存储在存储器中的数据结构中,在数据库表中的行中,在平面文件或电子表格中,或者在其他形式的所存储的数字数据中。
在一个实施例中,农业智能计算机系统130被编程为包括分类模型管理服务器计算机(服务器)170。服务器170还被配置为包括模型配置指令172、模型构造指令174、模型执行指令176和用户界面指令178。
在一些实施例中,模型配置指令172提供用于收集初始图像数据并且确定用于根据初始图像数据来识别植物病害的数字模型的某些参数的值的计算机可执行指令。当数字模型是SSD时,初始图像数据可以是植物照片,该植物照片包括标记区域,每个标记区域标记有植物病害的标识符。在为SSD构建训练集时,可以相对于完整图像进一步处理标记区域。初始图像数据也可以简单地是带有对应标签的标记区域。SSD的相关参数包括一组锚框。模型配置指令172提供用于专门构建表示植物病害症状的锚框的计算机可执行指令。
在一些实施例中,模型构造指令174提供用于构造训练集并且利用训练集来训练数字模型的计算机可执行指令。训练集可以包括具有标记区域和对应标签的一定尺寸的图像,或者包括具有相同标记区域和对应标签的图像的裁剪、填充或缩放版本。当数字模型是SSD时,训练集还包括标记区域到锚框的映射。
在一些实施例中,模型执行指令176提供用于将数字模型应用于新图像以进行分类的计算机可执行指令。新图像可以是一张新的植物照片,该照片示出了一个或多个区域中一种或多种植物病害的症状。在将新图像馈送到数字模型中之前,可能需要对新图像进行类似的裁剪、填充或缩放。当数字模型是SSD时,数字模型的应用有望针对一个或多个区域中的每个区域产生到某种植物病害的至少一种分类。
在一些实施例中,用户界面指令178提供用于管理与其他设备的通信的计算机可执行指令。通信可以包括:从图像源接收包括标签的初始图像数据;从客户端设备接收用于分类的新照片;将新照片的分类结果发送给客户端设备;或者将表示SSD的数字数据发送给另一客户端设备。
服务器170的每个组件包括农业智能计算机系统130中的主存储器(诸如RAM)的一组一个或多个页面,可执行指令已经被加载到其中并且在被执行时引起农业智能计算系统执行本文中参考这些模块描述的功能或操作。例如,模型配置模块172可以包括RAM中的一组页面,该组页面包含指令,该指令在被执行时引起执行本文中描述的位置选择功能。该指令可以在CPU的指令集中的机器可执行代码中,并且可能已经单独地或者与JAVASCRIPT、其他脚本语言和其他编程源文本的脚本相结合地基于以JAVA、C、C++、OBJECTIVE-C或任何其他人类可读编程语言或环境编写的源代码而被编译。术语“页面”旨在广义地指代主存储器内的任何区域,并且在系统中使用的具体术语可以根据存储器架构或处理器架构而变化。在另一实施例中,服务器170的每个组件还可以表示以数字方式存储在农业智能计算机系统130或单独的存储库系统中的诸如非易失性RAM或磁盘存储等大容量存储设备中的一个或多个源代码文件或项目,其在被编译或解释时引起生成可执行指令,该可执行指令在被执行时引起农业智能计算系统执行本文中参考这些模块描述的功能或操作。换言之,附图可以表示程序员或软件开发者组织和布置源代码以便以后编译为可执行文件或解释为字节码或等效物以供农业智能计算机系统130执行的方式。
硬件/虚拟化层150包括一个或多个中央处理单元(CPU)、存储器控制器、以及计算机系统的其他设备、组件或元件,诸如例如结合图4所示出和描述的易失性或非易失性存储器、非易失性存储(诸如磁盘)和I/O设备或接口。层150还可以包括被配置为支持虚拟化、容器化或其他技术的编程指令。
为了对清楚示例进行说明,图1示出了某些功能元件的有限数目的实例。但是,在其他实施例中,可以有任何数目的这样的元件。例如,实施例可以使用与不同用户相关联的数千或数百万个不同移动计算设备104。此外,系统130和/或外部数据服务器计算机108可以使用被配置在离散位置或与数据中心中的其他元件并置、共享计算工具或云计算工具的两个或更多个处理器、核心、簇、或物理机或虚拟机的实例来实现。
2.2.应用程序概述
在一个实施例中,使用被加载到一个或多个通用计算机中并且由一个或多个通用计算机执行的一个或多个计算机程序或其他软件元件的本文中描述的功能的实现将引起通用计算机被配置为特别适合执行本文中描述的功能的特定机器或计算机。此外,本文中进一步描述的每个流程图可以单独地或与本文中的过程和功能的描述结合地用作算法、计划或方向,这些算法、计划或方向可以用于将计算机或逻辑编程为实现所描述的功能。换言之,本文中的所有文本和所有附图一起旨在提供对足以允许技术人员将计算机编程为与具有适合这种类型的发明和公开的技能水平的这样的人员的技能和知识相结合来执行本文中描述的功能的算法、计划或方向的公开。
在一个实施例中,用户102使用配置有操作系统和一个或多个应用程序或app的田地管理器计算设备104与农业智能计算机系统130交互;田地管理器计算设备104还可以在程序控制或逻辑控制下独立且自动地与农业智能计算机系统互操作,并且并不总是需要直接的用户交互。田地管理器计算设备104广泛地表示以下中的一种或多种:智能电话、PDA、平板计算设备、膝上型计算机、台式计算机、工作站、或能够传输和接收信息并且执行本文中描述的功能的任何其他计算设备。田地管理器计算设备104可以使用存储在田地管理器计算设备104上的移动应用经由网络进行通信,并且在一些实施例中,该设备可以使用电缆113或连接器耦合到传感器112和/或控制器114。用户102可以与系统130相关联地一次拥有、操作或持有和使用多个田地管理器计算设备104。
移动应用可以经由网络向一个或多个移动计算设备提供客户端功能。在示例实施例中,田地管理器计算设备104可以经由网络浏览器或本地客户端应用或app访问移动应用。田地管理器计算设备104可以使用诸如HTTP、XML和/或JSON或app特定协议等基于网络的协议或格式来向一个或多个前端服务器传输数据以及从一个或多个前端服务器接收数据。在示例实施例中,数据可以采取向移动计算设备中的请求和用户信息输入(诸如田地数据)的形式。在一些实施例中,移动应用与田地管理器计算设备104上的位置跟踪硬件和软件交互,该位置跟踪硬件和软件使用诸如无线电信号的多边定位、全球定位系统(GPS)、Wi-Fi定位系统或其他移动定位方法等标准跟踪技术来确定田地管理器计算设备104的位置。在某些情况下,可以通过查询设备的操作系统或请求设备上的app从操作系统获取数据来获取与设备104、用户102和/或(多个)用户帐户相关联的位置数据或其他数据。
在一个实施例中,田地管理器计算设备104向农业智能计算机系统130发送田地数据106,该田地数据106包括(comprising)或包括(including)但不限于表示以下中的一项或多项的数据值:一个或多个田地的地理位置、一个或多个田地的耕作信息、一个或多个田地中种植的作物、以及从一个或多个田地中提取的土壤数据。田地管理器计算设备104可以响应于来自用户102的指定一个或多个田地的数据值的用户输入而发送田地数据106。另外,当一个或多个数据值变得可用于田地管理器计算设备104时,田地管理器计算设备104可以自动发送田地数据106。例如,田地管理器计算设备104可以通信耦合到远程传感器112和/或应用控制器114(其包括灌溉传感器和/或灌溉控制器)。响应于接收到指示应用控制器114将水释放到一个或多个田地上的数据,田地管理器计算设备104可以将田地数据106发送给农业智能计算机系统130,该田地数据106指示水在一个或多个田地上被释放。在本公开中标识的田地数据106可以使用电子数字数据来输入和传送,该电子数字数据通过HTTP或另一种合适的通信或消息收发协议使用参数化URL在计算设备之间被传送。
移动应用的商业示例是从加利福尼亚州旧金山的Climate Corporation可商购的CLIMATE FIELDVIEW。CLIMATE FIELDVIEW应用或其他应用可以被修改、扩展或调节,以包括在本公开的申请日之前尚未公开的特征、功能和程序。在一个实施例中,移动应用包括集成的软件平台,该平台允许种植者为他们的操作做出基于事实的决定,因为它结合了关于种植者的田地的历史数据以及种植者希望比较的任何其他数据。结合和比较可以实时进行,并且基于科学模型,该模型提供了可能的情景以允许种植者做出更好、更明智的决定。
图2示出了当示例移动应用被加载以供执行时主存储器中的指令集的示例逻辑组织的两个视图。在图2中,每个命名的元素表示RAM或其他主存储器的一个或多个页的区域、或者磁盘存储或其他非易失性存储的一个或多个块的区域、以及这些区域内的编程指令。在一个实施例中,在视图(a)中,移动计算机应用200包括账户田地数据摄取共享指令202、概述和警报指令204、数字地图手册指令206、种子和种植指令208、氮指令210、天气指令212、田地健康指令214和性能指令216。
在一个实施例中,移动计算机应用200包括帐户、田地、数据摄取、共享指令202,该指令被编程为经由手动上传或API从第三方系统接收、转换和摄取田地数据。数据类型可以包括田地边界、产量图、种植图、土壤测试结果、施用图和/或管理区域等。数据格式可以包括shapefile、第三方的本机数据格式、和/或农场管理信息系统(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的显示和处理能力的完整的app体验或驾驶室app体验。例如,现在参考图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 Corporation可商购的CLIMATE FIELDVIEW可以被操作以将数据导出到系统130以存储在存储库160中。
例如,种子监测器系统既可以控制播种机装置组件并且获取种植数据,包括经由信号线束的来自种子传感器的信号,该信号线束包括CAN主干网和用于注册和/或诊断的点对点连接。种子监测器系统可以被编程或配置为经由驾驶室计算机115或系统130内的其他设备向用户显示种子间距、种群和其他信息。示例在美国专利号8,738,243和美国专利公开20150094916中公开,并且本公开采取这些其他专利公开的知识。
同样,产量监测器系统可以包含用于收割机装置的产量传感器,该产量传感器将产量测量数据发送给驾驶室计算机115或系统130中的其他设备。产量监测器系统可以利用一个或多个远程传感器112获取联合收割机或其他收割机中的谷物水分测量结果并且经由驾驶室计算机115或系统130中的其他设备将这些测量结果传输给用户。
在一个实施例中,可以与本文中的其他地方描述的类型的任何移动车辆或设备一起使用的传感器112的示例包括运动学传感器和位置传感器。运动学传感器可以包括任何速度传感器,诸如雷达或车轮速度传感器、加速计或陀螺仪。位置传感器可以包括GPS接收器或收发器、或者被编程为基于附近的Wi-Fi热点来确定位置的基于Wi-Fi的位置或地图app等。
在一个实施例中,可以与拖拉机或其他移动车辆一起使用的传感器112的示例包括引擎速度传感器、燃料消耗传感器、与GPS或雷达信号交互的面积计数器或距离计数器、PTO(取力器)速度传感器、被配置为检测诸如压力或流量和/或液压泵速度等液压参数的拖拉机液压传感器、轮速传感器或轮滑传感器。在一个实施例中,可以与拖拉机一起使用的控制器114的示例包括液压方向控制器、压力控制器和/或流量控制器;以及液压泵速度控制器;速度控制器或调速器;挂钩位置控制器;或车轮位置控制器提供自动转向。
在一个实施例中,可以与诸如种植机、钻机或空气播种机等种子种植设备一起使用的传感器112的示例包括种子传感器,该传感器可以是光学、电磁或冲击传感器;下压力传感器,诸如称重销、称重传感器、压力传感器;土壤性质传感器,诸如反射率传感器、湿度传感器、电导率传感器、光学残留传感器或温度传感器;组件操作标准传感器,诸如种植深度传感器、下压力缸压力传感器、种子圆盘速度传感器、种子驱动电机编码器、种子输送系统速度传感器或真空度传感器;或者农药应用传感器(诸如光学或其他电磁传感器)或撞击传感器。在一个实施例中,可以与这种种子种植设备一起使用的控制器114的示例包括:工具栏折叠控制器,诸如用于与液压缸相关联的阀的控制器;下压力控制器,诸如与气压缸、安全气囊或液压缸相关联并且被编程为将下压力施加到单个行单元或整个播种机框架上的阀门的控制器;种植深度控制器,诸如线性执行器;计量控制器,诸如电动种子计量器驱动电机、液压种子计量器驱动电机或条带控制离合器;混合选择控制器,诸如种子计量器驱动电动机、或被编程为选择性地允许或阻止种子或空气种子混合物向种子计量器或中央散装料斗传送种子或从种子计量器或中央散料斗传送种子的其他致动器;计量控制器,诸如电动种子计量器驱动电机或液压种子计量器驱动电机;种子输送机系统控制器,诸如带式种子输送机电机的控制器;标记器控制器,诸如气动或液压执行器的控制器;或者农药施用量控制器,诸如计量驱动控制器、孔口尺寸或位置控制器。
在一个实施例中,可以与耕作设备一起使用的传感器112的示例包括用于诸如小腿或圆盘等工具的位置传感器;被配置为检测深度、配合角度或横向间距的用于这样的工具的工具位置传感器;下压力传感器;或牵引力传感器。在一个实施例中,可以与耕作设备一起使用的控制器114的示例包括下压力控制器或工具位置控制器,诸如被配置为控制工具深度、帮组角度或横向间隔的控制器。
在一个实施例中,可以与用于施用肥料、杀虫剂、杀真菌剂等的装置(诸如播种机上的起肥系统、下层土壤施用器或肥料喷雾器)有关的传感器112的示例包括:流体系统标准传感器,诸如流量传感器或压力传感器;指示哪个喷头阀或流体管线阀打开的传感器;与储罐相关的传感器,诸如液位传感器;分段或系统范围的供应线传感器、或行专用的供应线传感器;或运动学传感器,诸如设置在喷雾机吊杆上的加速度计。在一个实施例中,可以与这种装置一起使用的控制器114的示例包括泵速度控制器;被编程为控制压力、流量、方向、PWM等的阀控制器;或位置执行器,诸如动臂高度、下土层深度或动臂位置。
在一个实施例中,可以与收割机一起使用的传感器112的示例包括产量监测器,诸如冲击板应变仪或位置传感器、电容式流量传感器、负载传感器、重量传感器或与升降机或螺旋钻相关联的扭矩传感器、或光学或其他电磁晶粒高度传感器;谷物水分传感器,诸如电容传感器;谷物损失传感器,包括冲击、光学或电容传感器;割台运行标准传感器,诸如割台高度、割台类型、盖板间隙、进纸器速度和卷盘速度传感器;分离器操作标准传感器,诸如凹形间隙、转子速度、靴形间隙或胎壳间隙传感器;螺旋钻传感器的位置、操作或速度;或引擎转速传感器。在一个实施例中,可以与收割机一起使用的控制器114的示例包括用于诸如割台高度、割台类型、甲板间隙、进料器速度或卷轴速度等元素的割台操作标准控制器;分离器操作标准控制器的特征,诸如凹入间隙、转子速度、闸瓦间隙或罩壳间隙;或者用于螺旋钻位置、操作或速度的控制器。
在一个实施例中,可以与谷物推车一起使用的传感器112的示例包括重量传感器、或者用于螺旋钻位置、操作或速度的传感器。在一个实施例中,可以与谷物推车一起使用的控制器114的示例包括用于螺旋钻位置、操作或速度的控制器。
在一个实施例中,传感器112和控制器114的示例可以安装在无人机(UAV)装置或“无人机”中。这样的传感器可以包括带有检测器的相机,该检测器对包括可见光、红外、紫外线、近红外(NIR)等在内的电磁频谱的任何范围都有效;加速度计;高度计温度传感器;湿度传感器;皮托管传感器或其他空速或风速传感器;电池寿命传感器;或雷达传输器和反射式雷达能量检测装置;其他电磁辐射传输器和反射电磁辐射检测装置。这样的控制器可以包括引导或电动机控制装置、控制面控制器、相机控制器、或被编程为从任何前述传感器开启、操作、获取数据、管理和配置的控制器。示例在美国专利申请号14/831,165中公开,并且本公开采取这些其他专利公开的知识。
在一个实施例中,传感器112和控制器114可以固定到土壤采样和测量装置,该装置被配置或编程为对土壤采样并且执行土壤化学测试、土壤湿度测试以及与土壤有关的其他测试。例如,可以使用于2017年8月16日提交的美国专利申请No.15/551,582中公开的设备,并且本公开假定这些专利公开的知识。
在一个实施例中,传感器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中公开的装置,并且本公开采取这些专利公开的知识。
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还包括主存储器406,诸如随机存取存储器(RAM)或其他动态存储设备,该主存储器406耦合到总线402以存储要由处理器404执行的信息和指令。主存储器406也可以用于在要由处理器404执行的指令的执行期间存储临时变量或其他中间信息。这样的指令当存储在处理器404可访问的非暂态存储介质中时将计算机系统400渲染为定制为执行在说明中指定的操作的专用机器。
计算机系统400还包括耦合到总线402以存储用于处理器404的静态信息和指令的只读存储器(ROM)408或其他静态存储设备。存储设备410(诸如磁盘、光盘或固态驱动器)被提供并且耦合到总线402以存储信息和指令。
计算机系统400可以经由总线402耦合到显示器412(诸如阴极射线管(CRT))以向计算机用户显示信息。包括字母数字键和其他键在内的输入设备414耦合到总线402以将信息和命令选择传送给处理器404。另一种类型的用户输入设备是光标控件416,诸如鼠标、跟踪球或光标方向键,该光标控件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提供双向数据通信,该双向数据通信耦合到连接到局域网422的网络链路420。例如,通信接口418可以是集成服务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器、或用于提供到对应类型电话线的数据通信连接的调制解调器。作为另一示例,通信接口418可以是用于提供到兼容LAN的数据通信连接的局域网(LAN)卡。也可以实现无线链路。在任何这样的实现中,通信接口418发送和接收电、电磁或光信号,该信号携带表示各种类型的信息的数字数据流。
网络链路420通常提供通过一个或多个网络到其他数据设备的数据通信。例如,网络链路420可以提供通过本地网络422到主机计算机424或到由互联网服务提供商(ISP)426操作的数据设备的连接。ISP 426又提供通过全球分组数据通信网络(现在通常称为“互联网”428)的数据通信服务。局域网422和互联网428都使用携带数字数据流的电、电磁或光信号。通过各种网络的信号以及在网络链路420上并且通过通信接口418的信号是传输介质的示例形式,这些信号携带去往和来自计算机系统400的数字数据。
计算机系统400可以通过(多个)网络、网络链路420和通信接口418发送消息并且接收数据,包括程序代码。在互联网示例中,服务器430可以通过互联网428、ISP 426、本地网络422和通信接口418传输应用程序的请求代码。
所接收的代码可以在被接收时由处理器404执行,和/或存储在存储设备410或其他非易失性存储中以供以后执行。
3.功能描述
3.1植物病害检测
当今,基于图像分析的多种分类方法可用。这些分类方法可以用于分析植物的照片并且将照片分类为给定病害类别或健康类别,从而检测对应病害对植物的潜在感染。其中一些分类方法涉及CNN,包括SSD。
通常,SSD开始于包括一系列卷积层的基本CNN,一系列卷积层对应于不同尺度的接收域(receptive field)。然后,SSD使用不仅由最后的卷积层而且由其他卷积层产生的特征图来执行分类。更具体地,对于基本CNN中的每个卷积层,SSD使用一组用户定义的锚框,该锚框通常具有与给定类别的各种特征相对应的不同尺寸和长宽比。然后,针对每个卷积层,SSD为每个锚框(在所谓的卷积特征层中)合并了一组4+c个小型(例如,3×3)过滤器,其中4个过滤器对应于锚框的四个边,c为类别的数目。这些小型过滤器使用针对每个类别的已知特征的基本事实图像进行训练。这些基本事实图像可以具有各种尺寸和长宽比,并且每个图像与一个类别和一个锚框相关联。然后,这些小型过滤器可以用于确定由对应卷积层产生的特征图中由锚框之一界定的区域是否与这些类别之一的特征匹配。
如上所述,SSD可以在一个或多个图像中识别具有各种尺度和长宽比的类别的各种特征,并且相应地单发地以相关联的置信度得分将图像的各部分分类为这些类别,而无需初始单独进行一轮区域提议以定位图像中的特征。SSD最初可以将图像区域分类为多个类别。可以应用非极大值抑制(NMS)来选择多个类别之一作为最终分类。事实证明,SSD比先前的单发检测器更快,并且更准确,实际上与执行显式区域建议和汇集的较慢技术一样准确。GitHub平台上提供了使用Keras库和Python来实现SSD相关功能的第三方库,例如,该库可以将VGG16用作基本CNN。
3.2数字模型配置
在一些实施例中,服务器170被编程为构造用于使用SSD从植物照片中检测植物病害感染的数字模型。对于玉米,常见的植物病害包括炭疽病(ALB)、普通锈病(CR)、眼斑(EYE)、灰叶斑病(GLS)、高斯Wilt病(GW)、北叶枯病(NLB)、北叶斑病(NLS)、南叶枯病(SLB)和南方锈病(SR)。可以将数字模型设计为将图像分类为与一定数目的这样的植物病害相对应的一定数目的类别。服务器170被编程为首先接收图像集,诸如玉米叶子的照片,该图像集可以具有病害症状的标记区域或者直接具有这种病害症状的特征。
图7A包括各自具有一种病害的症状的玉米叶子的示例照片。图像720示出了框(定义标记区域)704和框706内的GLS的症状。标记有“GLS”的框704包括一个病变,而也标记有“GLS”的框706包括不连贯但紧密定位的病变,这种情况并不少见。框704和框706具有不同尺寸,以及相似但不同的长宽比。具有单个框706而不是针对每个不连贯的病变的多个框可以提高训练和执行数字模型的效率。图像722示出了框708内的SR的症状,其包括通常情况下的单独病变的较大的簇。框708也具有不同的尺寸和长宽比。
图7B包括具有多种病害的症状的玉米叶子的示例照片。图像724示出了框710内的GLS的症状。图像724还示出了框712内的CR的症状,其包括很多单独病变。标有“GLS”的框710和标有“CR”的框712均具有不同的尺寸和长宽比。尽管框712包括多种病害的病变,但是由于来自CR的病变占优势,所以与框712相对应的该标记区域仍可以用作针对CR的良好样本。
在一些实施例中,服务器170被编程为根据某些规则处理具有标记区域的每个图像,这可以完成或增强标记。服务器170可以被配置为根据对标记区域的尺寸、病变簇的密度或簇与叶子之间的尺寸比例的限制来将每个标记区域分成多个区域或将多个标记区域组合为一个区域。例如,图像724可以仅具有针对个体CR病变的小标记区域而不是标记框712。服务器170可以被编程为根据检测附近病变并且确定相对于叶子尺寸的病变簇的总尺寸,自动地将该标记区域扩展为框712。另外,服务器170可以被配置为限制每个图像中的标记区域的数目,诸如不超过六个,以简化SSD训练过程。例如,服务器170可以被编程为通过取消选择具有最小尺寸的标记区域或具有与另一标记区域相似的长宽比的标记区域来自动地将图像724中的标记区域的数目从当前的七个减少到六个。
在一些实施例中,服务器170被编程为针对SSD中的卷积层定义锚框。每个锚框可以在单位长度、长宽比和缩放因子方面被限定。例如,单位长度可以是10个像素,宽度与高度的长宽比可以是1.0,缩放因子可以是1,从而产生宽度为10个像素并且长度为10个像素的锚框。长宽比可以改为2.0,从而产生宽度为20个像素并且长度为10个像素的锚框。缩放因子可以改为2.0,从而产生宽度为20个像素并且长度为20个像素的锚框。服务器170可以被编程为使用标记区域(诸如与框704、706、708、710或712相对应的区域)来指导锚框的定义。服务器170可以被编程为归一化标记区域(例如,相对于相机与植物之间的固定距离和固定相机分辨率进行归一化)、将尺寸相似的标记区域分组到一个簇中、以及针对每个簇计算聚合尺寸和长宽比以确定缩放因子和长宽比。由于基本CNN中的一系列卷积层通常对应于越来越大的接收域,因此服务器可以被编程为将越来越大的缩放因子指派给一系列卷积层。服务器还可以被编程为利用缩放因子(诸如0.1),该缩放因子小于SSD的典型实现中使用的缩放因子,以帮助标识由某些玉米病害或其他非常小的病害症状引起的非常小的病变。例如,对于一系列六个卷积层,缩放因子可以是[0.1、0.2、0.37、0.54、0.71、0.88、1.05],其中一个缩放因子用于指派给一个卷积层的所有锚框。对于玉米病害,常见的长宽比包括1.0/7.0、1.0/5.0、1.0/3.0、0.5、1.0、2.0、3.0、5.0或7.0。
3.3训练集和数字模型构造
在一些实施例中,服务器170被编程为缩放、填充(pad)或以其他方式处理图像以产生用于训练集的最终图像。例如,可以适配GitHub平台上可用的max_crop_and_resize和random_pad_and_resize函数以用于生成原始图像的变体。服务器170被编程为将每个变体如在原始图像中一样与标记区域和对应标签相关联。对于植物病害检测,类别对应于植物病害,并且每个标签标识一种植物病害。当锚框使用对称长宽比时,无需旋转图像来生成附加图像以用于训练集。为了检测玉米病害的感染,针对每种玉米病害,标记区域的数目可以为至少100。
在一些实施例中,服务器170被编程为根据构建SSD的需要来将图像的训练集与锚框匹配。例如,可以将GitHub平台上可用的SSDBoxEncoder适配为还引用原始图像的变体以用于这样的匹配目的,其中pos_iou_threshold设置为0.5,neg_iou_threshold设置为0.2。服务器170被编程为然后从边界框和训练集来构建用于识别玉米病害的数字模型,训练集包括具有标记区域或其变体的图像、相关联的类别标签、以及与锚框的相关联的匹配。例如,可以使用Keras库中的model.fit_generator函数,其中lr_schedule设置为0.001。
3.4数字模型执行
在一些实施例中,服务器170被编程为接收新图像,诸如玉米的照片,并且将数字模型应用于新图像。服务器170被编程为根据需要将新图像转换为正方形图像。代替导致信息丢失的裁剪新图像,服务器170可以被配置为提供填充以创建更新图像,在更新图像中每个边缘与新图像的长边缘一样长。服务器170可以被配置为将新图像进一步居中在更新图像中并且缩放结果以获取最终输入图像。
在一些实施例中,服务器170被编程为然后对最终输入图像执行数字模型。例如,可以使用GitHub平台上可用的decode_y函数来执行该执行,对于NMS,confidence_thresh设置为0.8,iou_threshold设置为0.5。
图8示出了应用NMS以将初始分类结果提炼为最终分类结果的示例过程。图像802是玉米叶子的一部分的照片。如上所述,SSD最初可以将图像的区域分类为多个类别。在该示例中,每个框(包括框804和框808)界定已经被分类为与玉米病害相对应的类别之一的图像的区域。特别地,框808在覆盖像素806或周围区域的一组框之中。在应用NMS之前,可以过滤掉其中相关联的置信度得分低于某个阈值(诸如confidence_thresh)的框。在该示例中,框804的分类与低置信度相关联,并且因此可以被删除。通过NMS,然后选择得分最高的框,然后删除与该框重叠超过特定阈值(诸如iou_threshold)的所有其他框,然后继续进行这个过程,直到无法再删除其他框。在该示例中,框808是剩下的唯一框,因此将基于框808来对像素806进行分类。
3.5示例过程
图9示出了由服务器计算机执行的示例方法,该服务器计算机被编程用于配置和利用CNN进行植物病害检测。图9旨在公开一种算法、计划或概要,其可以用于实现一个或多个计算机程序或其他软件元素,这些计算机程序或其他软件元素在被执行时引起执行本文中描述的功能改进和技术进步。更进一步地,本文中的流程图以与本领域普通技术人员通常用于就形成他们计划使用他们积累的技能和知识进行编码或实现的软件程序的基础的算法、计划或规格进行相互通信的相同详细程度来进行描述。
在一些实施例中,在步骤902中,服务器170被编程或配置为接收被多种病害感染的植物的照片集。具体地,照片集示出了带有多个标记区域的叶子,这些标记区域具有许多长宽比。每个标记区域与多种病害中的一种病害的标签相关联,并且示出了由这种病害引起的至少一个病变。照片集包括示出特定叶子的特定照片,该特定叶子具有示出了多个病变的特定标记区域。对于任何这样的特定照片,多个病变的总尺寸将大于特定标记区域的尺寸的第一预定义百分比。另外,特定标记区域的尺寸将大于特定叶子的尺寸的第二预定义百分比。例如,照片集将示出受感染的玉米叶子,照片之一将示出具有玉米病害之一的病变簇的叶子,其中病变彼此靠近并且占据叶子的大部分。
在一些实施例中,在步骤904中,服务器170被编程或配置为针对SSD的一系列卷积层中的每个卷积层,根据多个标记区域确定一组锚框。该组锚框中的每个通常具有不同长宽比,该长宽比代表多个标记区域的至少子集,该子集可以对应于一种病害的相似症状。对于玉米,长宽比可以高达7:1。该一系列卷积层趋于具有越来越大的接收域,因此服务器170可以被编程为将更大的锚框指派给更靠后的卷积层。
在一些实施例中,在步骤906中,在确定该组锚框之后,服务器170可以被编程为将多个标记区域中的每个标记区域进一步映射到该组锚框中的一个锚框。服务器170可以被配置为当标记区域和锚框的交集相对于并集的尺寸百分比大于特定阈值时将标记区域与锚框匹配。
在一些实施例中,在步骤908中服务器170被编程或配置为根据该组锚框、具有多个标记区域的照片集、病害的相关联的多个标签、以及到锚框的相关联的多个映射来构建SSD。出于训练目的,可以使用从对原始照片裁剪、填充、调节尺寸或执行其他图像处理操作而获取的变体来增强原始照片集。这些变体与原始照片中的等效标记区域和对应标签相关联。即使有这些图像处理操作,也要保留标记区域的长宽比并且将其与原始照片中与锚框的相同映射相关联。
在一些实施例中,在步骤910中,服务器170被编程或配置为从客户端设备接收新图像。新图像可以是植物的照片,该照片示出了一个或多个区域中的一种或多种病害的症状。在步骤912中,服务器170被编程或配置为将SSD应用于新图像,以标识新图像的一个或多个区域中的一种或多种病害的这些症状。
在一些实施例中,在步骤914中,服务器170被编程或配置为向客户端设备传输与一种或多种病害或一个或多个区域有关的数据。该数据可以标识一个或多个区域中的每个以及该区域的一个或多个分类。该数据还可以包括一种或多种植物病害的一种或多种分类的置信度得分。
4.扩展和替代
在前述说明书中,已经参考可能随实现而变化的很多具体细节描述了本发明的实施例。因此,说明书和附图应当被认为是说明性的而不是限制性的。本发明的范围的唯一且排他性的指示以及申请人打算作为本发明的范围的内容是权利要求提出的特定形式的从本申请提出的该组权利要求的字面意义和等效范围,包括任何后续更正。

Claims (20)

1.一种计算机实现的方法,用于配置和利用卷积神经网络以用于植物病害识别,所述方法包括:
由处理器接收被多种病害感染的植物的照片集,
所述照片集示出了带有多个标记区域的叶子,所述多个标记区域具有许多长宽比,每个标记区域与所述多种病害中的病害的标签相关联并且示出了由所述病害引起的至少一个病变,
所述照片集中的特定照片示出了具有特定标记区域的特定叶子,所述特定标记区域示出了多个病变,
所述多个病变的总尺寸大于所述特定标记区域的尺寸的预定义百分比;
由所述处理器针对单发多框检测器(SSD)的一系列卷积层中的每个卷积层从所述多个标记区域确定一组锚框,
所述SSD被配置为接收图像并且将所述图像的一个或多个区域中的每个区域指派为与所述多种病害相对应的多个类别中的至少一个类别,
所述一组锚框具有不同长宽比并且对应于所述多个类别的各种特征;
将所述多个标记区域中的每个标记区域映射到所述一组锚框中的一个锚框;
根据所述一组锚框、具有所述多个标记区域的所述照片集、相关联的多个标签和相关联的多个映射来构建所述SSD;
从客户端设备接收新图像;
将所述SSD应用于所述新图像以标识所述新图像的一个或多个区域中的一种或多种病害的症状;
向所述客户端设备传输与所述一种或多种病害或所述新图像的一个或多个区域有关的数据。
2.根据权利要求1所述的计算机实现的方法,还包括:
根据对标记区域的尺寸、标记区域内的病变簇与叶子的尺寸比例、或标记区域内的病变密度的限制,基于所述预定义百分比来划分、组合或删除所述多个标记区域中的一个或多个标记区域以创建新的标记区域集,
进一步从所述新的标记区域集来执行所述确定。
3.根据权利要求1所述的计算机实现的方法,所述确定包括从所述多个标记区域中取消选择具有最小尺寸或具有与所述多个标记区域中的第二标记区域相似的尺寸的第一标记区域。
4.根据权利要求1所述的计算机实现的方法,所述确定包括:
将所述多个标记区域聚类为多个簇;
计算针对所述多个簇中的簇的聚合区域;
基于所述簇来定义所述一组锚框中的锚框。
5.根据权利要求1所述的计算机实现的方法,所述确定包括:
通过单位长度、长宽比和缩放因子来标识所述一组锚框中的每个锚框;
针对所述一系列卷积层中的更靠后的卷积层,向所述一组锚框指派更大的缩放因子。
6.根据权利要求5所述的计算机实现的方法,
所述植物是玉米,
所述长宽比为1.0/7.0、1.0/5.0、1.0/3.0、0.5、1.0、2.0、3.0、5.0或7.0。
7.根据权利要求1所述的计算机实现的方法,所述映射包括:当标记区域和锚框的交集相对于并集的尺寸百分比大于特定阈值时,将所述标记区域与所述锚框匹配。
8.根据权利要求1所述的计算机实现的方法,所述接收所述新图像包括:将所述新图像填充成正方形,并且然后缩放所述正方形中的所述新图像。
9.根据权利要求1所述的计算机实现的方法,所述应用包括:当所述新图像的所述一个或多个区域中的特定区域被指派为所述多个类别中的许多类别时,执行非极大值抑制(NMS)以选择所述许多类别中的一个类别。
10.根据权利要求1所述的计算机实现的方法,所述应用包括将所述新图像的所述一个或多个区域指派为所述多个类别中与所述一种或多种病害相对应的一个或多个类别。
11.根据权利要求1所述的计算机实现的方法,所述SSD包括针对所述一组锚框中的每个锚框的、固定数目的固定尺寸的过滤器,所述过滤器将被应用到由所述一系列卷积层中的每个卷积层产生的特征图。
12.一种或多种非暂态计算机可读介质,存储一个或多个指令序列,所述指令序列在被执行时使一个或多个处理器执行一种方法,所述方法用于配置和利用卷积神经网络以用于植物病害识别,所述方法包括:
接收被多种病害感染的植物的照片集,
所述照片集示出了带有多个标记区域的叶子,所述多个标记区域具有许多长宽比,每个标记区域与所述多种病害中的病害的标签相关联并且示出了由所述病害引起的至少一个病变;
所述照片集中的特定照片示出了具有特定标记区域的特定叶子,所述特定标记区域示出了多个病变,
所述多个病变的总尺寸大于所述特定标记区域的尺寸的预定义百分比;
针对单发多框检测器(SSD)的一系列卷积层中的每个卷积层,从所述多个标记区域确定一组锚框,
所述SSD被配置为接收图像并且将所述图像的一个或多个区域中的每个区域指派为与所述多种病害相对应的多个类别中的至少一个类别,
所述一组锚框具有不同长宽比并且对应于所述多个类别的各种特征;
将所述多个标记区域中的每个标记区域映射到所述一组锚框中的一个锚框;
根据所述一组锚框、具有所述多个标记区域的所述照片集、相关联的多个标签和相关联的多个映射来构建所述SSD;
从客户端设备接收新图像;
将所述SSD应用于所述新图像以标识所述新图像的一个或多个区域中的一种或多种病害的症状;
向所述客户端设备传输与所述一种或多种病害或所述新图像的一个或多个区域有关的数据。
13.根据权利要求12所述的一种或多种非暂态计算机可读介质,所述方法还包括:
根据对标记区域的尺寸、标记区域内的病变簇与叶子的尺寸比例、或标记区域内的病变密度的限制,基于所述预定义百分比来划分、组合或删除所述多个标记区域中的一个或多个标记区域以创建新的标记区域集,
进一步从所述新的标记区域集来执行所述确定。
14.根据权利要求12所述的一种或多种非暂态计算机可读介质,所述确定包括从所述多个标记区域中取消选择具有最小尺寸或具有与所述多个标记区域中的第二标记区域相似的尺寸的第一标记区域。
15.根据权利要求12所述的一种或多种非暂态计算机可读介质,所述确定包括:
将所述多个标记区域聚类为多个簇;
计算针对所述多个簇中的簇的聚合区域;
基于所述簇来定义所述一组锚框中的锚框。
16.根据权利要求12所述的一种或多种非暂态计算机可读介质,所述确定包括:
通过单位长度、长宽比和缩放因子来标识所述一组锚框中的每个锚框;
针对所述一系列卷积层中的更靠后的卷积层,向所述一组锚框指派更大的缩放因子。
17.根据权利要求12所述的一种或多种非暂态计算机可读介质,所述映射包括:当标记区域和锚框的交集相对于并集的尺寸百分比大于特定阈值时,将所述标记区域与所述锚框匹配。
18.根据权利要求12所述的一种或多种非暂态计算机可读介质,所述接收所述新图像包括:将所述新图像填充成正方形,并且然后缩放所述正方形中的所述新图像。
19.根据权利要求12所述的一种或多种非暂态计算机可读介质,所述应用包括:当所述新图像的所述一个或多个区域中的特定区域被指派为所述多个类别中的许多类别时,执行非极大值抑制(NMS)以选择所述许多类别中的一个类别。
20.根据权利要求12所述的一种或多种非暂态计算机可读介质,所述应用包括将所述新图像的所述一个或多个区域指派为所述多个类别中与所述一种或多种病害相对应的一个或多个类别。
CN201980084804.5A 2018-10-19 2019-10-18 配置和利用卷积神经网络以识别植物病害的方法和介质 Active CN113228055B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862748288P 2018-10-19 2018-10-19
US62/748,288 2018-10-19
PCT/US2019/057066 WO2020082024A1 (en) 2018-10-19 2019-10-18 Detecting infection of plant diseases by classifying plant photos

Publications (2)

Publication Number Publication Date
CN113228055A true CN113228055A (zh) 2021-08-06
CN113228055B CN113228055B (zh) 2024-04-12

Family

ID=70280521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980084804.5A Active CN113228055B (zh) 2018-10-19 2019-10-18 配置和利用卷积神经网络以识别植物病害的方法和介质

Country Status (9)

Country Link
US (2) US10761075B2 (zh)
EP (1) EP3867820A4 (zh)
JP (1) JP7362751B2 (zh)
CN (1) CN113228055B (zh)
AR (1) AR116767A1 (zh)
AU (1) AU2019360153A1 (zh)
BR (1) BR112021007321A8 (zh)
CA (1) CA3116881A1 (zh)
WO (1) WO2020082024A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10109024B2 (en) * 2014-09-05 2018-10-23 The Climate Corporation Collecting data to generate an agricultural prescription
BR112021007321A8 (pt) 2018-10-19 2022-11-08 Climate Corp Detecção de infecção de doenças de plantas por meio da classificação de fotos de plantas
US10713542B2 (en) * 2018-10-24 2020-07-14 The Climate Corporation Detection of plant diseases with multi-stage, multi-scale deep learning
EP3693735A1 (de) * 2019-02-06 2020-08-12 SpexAI GmbH Verfahren und vorrichtung zur analyse von pflanzen
US11120552B2 (en) * 2019-02-27 2021-09-14 International Business Machines Corporation Crop grading via deep learning
ES2956846T3 (es) * 2019-03-04 2023-12-29 Climate Llc Almacenamiento de datos y dispositivo de transferencia para un sistema de computación de inteligencia agrícola
CN111709489B (zh) * 2020-06-24 2022-04-08 广西师范大学 一种基于改进YOLOv4的柑橘识别方法
CN111832462B (zh) * 2020-07-07 2022-07-12 四川大学 一种基于深度神经网络的跳频信号检测与参数估计方法
CN112365480B (zh) * 2020-11-13 2021-07-16 哈尔滨市科佳通用机电股份有限公司 制动夹钳装置闸片丢失故障识别方法
EP4248356A1 (en) 2020-11-20 2023-09-27 Bayer Aktiengesellschaft Representation learning
CN112580703B (zh) * 2020-12-07 2022-07-05 昆明理工大学 一种三七病害高发期发病率预测方法
CN112766260B (zh) * 2021-01-15 2021-09-14 哈尔滨市科佳通用机电股份有限公司 铁路列车加速缓解风缸定位的图像识别方法及系统
CN112562074B (zh) * 2021-02-25 2021-05-04 中国建筑西南设计研究院有限公司 一种智慧绿地的健康判定方法及养护管理方法
CN112614133B (zh) * 2021-03-05 2021-07-06 北京小白世纪网络科技有限公司 一种无锚点框的三维肺结节检测模型训练方法及装置
CN113379188B (zh) * 2021-05-06 2022-10-25 贵州省烟草公司贵阳市公司 基于物联网的烟草轮作种植方法和系统
US11880430B2 (en) 2021-05-31 2024-01-23 Cibo Technologies, Inc. Method and apparatus for employing deep learning neural network to predict management zones
US11934489B2 (en) * 2021-05-31 2024-03-19 Cibo Technologies, Inc. Method and apparatus for employing deep learning to infer implementation of regenerative irrigation practices
CN114120117A (zh) * 2021-11-19 2022-03-01 杭州睿胜软件有限公司 植物病症诊断信息的显示方法、显示系统及可读存储介质
US20230186623A1 (en) * 2021-12-14 2023-06-15 Ping An Technology (Shenzhen) Co., Ltd. Systems and methods for crop disease diagnosis
DE102022105448A1 (de) 2022-03-08 2023-09-14 Claas E-Systems Gmbh Computerimplementiertes Verfahren und System zur Bestimmung von Pflanzenkrankheiten
CN116584472B (zh) * 2023-07-13 2023-10-27 四川省农业机械科学研究院 一种基于多级控制的脆李喷药方法和系统
CN116579751B (zh) * 2023-07-14 2023-09-08 南京信息工程大学 农作物检测数据处理方法及系统
CN117557914B (zh) * 2024-01-08 2024-04-02 成都大学 一种基于深度学习的农作物病虫害识别方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778428A (zh) * 2014-01-10 2014-05-07 北京农业信息技术研究中心 基于块标记的病害感兴趣区域提取方法及系统
CN106599939A (zh) * 2016-12-30 2017-04-26 深圳市唯特视科技有限公司 一种基于区域卷积神经网络的实时目标检测方法
CN108541683A (zh) * 2018-04-18 2018-09-18 济南浪潮高新科技投资发展有限公司 一种基于卷积神经网络芯片的无人机农药喷洒系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3468877B2 (ja) * 1994-10-27 2003-11-17 矢崎総業株式会社 植物の自動診断方法及び装置
ES2627181T5 (es) 2007-01-08 2021-01-11 Climate Corp Sistema y método de monitorización de plantadora
US8411905B2 (en) 2008-06-06 2013-04-02 Monsanto Technology Llc Generating agricultural information products using remote sensing
US8477295B2 (en) 2009-05-07 2013-07-02 Solum, Inc. Automated soil measurement device
TWI435234B (zh) * 2011-11-24 2014-04-21 Inst Information Industry Plant disease identification method, system and record media
JP5965668B2 (ja) * 2012-02-27 2016-08-10 株式会社Nttファシリティーズ 植物栽培システム、植物栽培方法及びプログラム
WO2013149038A1 (en) 2012-03-28 2013-10-03 University Of Houston System Methods and software for screening and diagnosing skin lesions and plant diseases
LT2876993T (lt) 2012-07-25 2017-11-10 Precision Planting Llc Daugiaeilio žemės ūkio padargo valdymo bei stebėsenos sistema ir būdas
US10234439B2 (en) * 2012-11-07 2019-03-19 Airscout Inc. Methods and systems for analyzing a field
JP6260824B2 (ja) * 2014-04-21 2018-01-17 パナソニックIpマネジメント株式会社 栽培支援方法、栽培支援装置、およびコンピュータプログラム
BR112017003678B1 (pt) 2014-08-22 2023-04-18 The Climate Corporation Método e sistema para monitoramento agronômico e agrícola
JP6539901B2 (ja) * 2015-03-09 2019-07-10 学校法人法政大学 植物病診断システム、植物病診断方法、及びプログラム
EP3295225B1 (en) 2015-04-29 2020-09-30 The Climate Corporation System for monitoring weather conditions
WO2016178268A1 (ja) * 2015-05-01 2016-11-10 株式会社日立製作所 圃場管理装置、圃場管理方法、及び記録媒体
KR101933657B1 (ko) * 2016-11-11 2019-04-05 전북대학교산학협력단 딥 러닝을 이용한 작물 병충해 검출 및 진단 방법 및 장치
US10147200B2 (en) * 2017-03-21 2018-12-04 Axis Ab Quality measurement weighting of image objects
CN107358596B (zh) * 2017-04-11 2020-09-18 阿里巴巴集团控股有限公司 一种基于图像的车辆定损方法、装置、电子设备及系统
US10423850B2 (en) * 2017-10-05 2019-09-24 The Climate Corporation Disease recognition from images having a large field of view
CN108596017A (zh) 2018-03-06 2018-09-28 深圳市农博创新科技有限公司 一种基于图片识别果蔬病害的方法及装置
US20190304102A1 (en) * 2018-03-30 2019-10-03 Qualcomm Incorporated Memory efficient blob based object classification in video analytics
BR112021007321A8 (pt) 2018-10-19 2022-11-08 Climate Corp Detecção de infecção de doenças de plantas por meio da classificação de fotos de plantas

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778428A (zh) * 2014-01-10 2014-05-07 北京农业信息技术研究中心 基于块标记的病害感兴趣区域提取方法及系统
CN106599939A (zh) * 2016-12-30 2017-04-26 深圳市唯特视科技有限公司 一种基于区域卷积神经网络的实时目标检测方法
CN108541683A (zh) * 2018-04-18 2018-09-18 济南浪潮高新科技投资发展有限公司 一种基于卷积神经网络芯片的无人机农药喷洒系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALVARO FUENTES ET AL.: ""A Robust Deep-Learning-Based Detector for Real-Time Tomato Plant Diseases and Pests Recognition"", 《SENSORS》, pages 1 - 21 *
WEI LIU ET AL.: ""SSD: Single Shot MultiBox Detector"", 《ARXIV》, pages 1 - 17 *

Also Published As

Publication number Publication date
US20200393435A1 (en) 2020-12-17
EP3867820A4 (en) 2022-08-03
BR112021007321A8 (pt) 2022-11-08
EP3867820A1 (en) 2021-08-25
AR116767A1 (es) 2021-06-09
JP7362751B2 (ja) 2023-10-17
WO2020082024A1 (en) 2020-04-23
US10761075B2 (en) 2020-09-01
AU2019360153A1 (en) 2021-05-20
BR112021007321A2 (pt) 2021-07-20
US20200124581A1 (en) 2020-04-23
JP2022508939A (ja) 2022-01-19
CN113228055B (zh) 2024-04-12
CA3116881A1 (en) 2020-04-23
US11852618B2 (en) 2023-12-26

Similar Documents

Publication Publication Date Title
CN113228055B (zh) 配置和利用卷积神经网络以识别植物病害的方法和介质
CN112889089B (zh) 用于标识卫星影像中的云和云影的机器学习技术
CN113228047B (zh) 利用多阶段、多尺度深度学习的植物病害检测
US11557116B2 (en) Generating pixel maps from non-image data and difference metrics for pixel maps
CN113228041B (zh) 利用改善的机器学习检测植物疾病的感染

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
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.

GR01 Patent grant
GR01 Patent grant