Computer-implemented method for predicting sub-field soil properties and associated computer-readable medium
By using satellite data and machine learning models, a map of soil attributes is generated, which solves the high cost and inaccuracy of soil attribute measurement in the existing technology, and achieves rapid and accurate large-scale soil attribute mapping, supporting crop yield predictions and agronomic practice.
Patent Information
- Application Number
- CN201980082114.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-12-11
- Filing Date
- 2019-12-09
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2039-12-09
AI Technical Summary
The prior art is difficult to measure and map soil properties, such as soil organic matter and cation exchange capacity, on a large scale, quickly and accurately, and the point-based soil sampling methods have high cost, inaccuracy and limitations.
Using satellite data and machine learning methods, a high-resolution and accurate map of soil properties, including soil organic matter and cation exchange, is generated through non-parametric models such as Gaussian process regression and random forests, combined with satellite remote sensing data, terrain data and weather data. Properties such as ability, pH, P, K, Mg and Ca.
Fast, accurate, large-scale measurement and mapping of soil properties is achieved, the accuracy of crop yield prediction and supportiveness of agronomic practices are improved, and costs and time expenditures are reduced.
Smart Images

Figure CN113196294B_ABST
Abstract
Description
[0001] Copyright Notice
[0002] A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. Climate Corporation. Technical Field
[0003] One technical area of the present disclosure is the determination of soil properties based on satellite data and using machine learning methods. Background Art
[0004] The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
[0005] The indicator of soil organic matter and the indicator of cation exchange capacity are important sources of information about soil quality. Soil organic matter (SOM) generally includes plant and animal debris in different decomposition stages. It can also include the cells and tissues of soil microorganisms and the substances synthesized by soil microorganisms. SOM provides nutrients for crops when it decomposes, and improves the nutrient retention capacity in the soil. Cation exchange capacity (CEC) is a measure of how many cations can be retained on the surface of soil particles. CEC is used to determine the ability of soil to retain nutrients, and indicates the fertility of soil. Soil properties (particularly SOM and CEC) are key yield influencing factors, because they are the main causes of the subfield variability of crop yield and the crop response to farm practice. Other soil properties (such as pH, P, K, Mg and Ca) are also important sources of information for understanding crops and soil nutrient status.
[0006] However, quantitative and absolute measurements of soil properties typically involve implementing intensive and expensive soil sampling strategies. This strategy can include soil core sampling, which is often difficult to scale. Additionally, spatial distribution maps generated from point-based soil samples typically rely on challenging and inaccurate interpolation techniques.
[0007] Some of these problems can be overcome by implementing proximal sensor technology, which is expensive and time consuming. This technology can utilize, for example, VERIS and SmartFirmer data. However, this technology requires extensive instrument and data calibration and point-based soil sampling. In addition, this technology may be limited to areas that have already been surveyed. Other efforts to obtain sub-field SOM variability data have been using airborne data. These efforts are typically implemented on a small scale and for small amounts of land.
[0008] However, no specific image-based efforts have been previously conducted to map soil properties such as pH, P, K, Mg, and Ca. Summary of the invention
[0009] The following claims may serve as an inventive summary of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In the attached picture:
[0011] Figure 1 An example computer system configured to perform the functions described herein is illustrated, the example computer system being shown in a field environment along with other devices with which the system may interoperate.
[0012] 2 illustrates two views of an example logical organization of a set of instructions in main memory when an example mobile application is loaded for execution.
[0013] Figure 3 Illustrated is a programmed process by which an agricultural intelligence computer system generates one or more preconfigured agronomic models using agronomic data provided by one or more data sources.
[0014] Figure 4 is a block diagram illustrating a computer system upon which embodiments of the invention may be implemented.
[0015] Figure 5 An example embodiment of a timeline view for data entry is depicted.
[0016] Figure 6 An example embodiment of a spreadsheet view for data entry is depicted.
[0017] Figure 7 Depicted is an example process for generating soil property data using machine learning methods.
[0018] Figure 8 An example of a vegetation index is depicted.
[0019] Fig. 9 Depicts an example flow chart for generating soil property data using machine learning methods. DETAILED DESCRIPTION
[0020] In the following description, for the purpose of explanation, many specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it is apparent that the embodiments can be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form to avoid unnecessarily obscuring the present disclosure. According to the following summary, the embodiments are disclosed in various sections:
[0021] 1. General Overview
[0022] 2. Example Agricultural Intelligent Computer System
[0023] 2.1. Structural overview
[0024] 2.2. Application Overview
[0025] 2.3. Data Ingestion into Computer Systems
[0026] 2.4. Process Overview - Agronomic Model Training
[0027] 2.5. Implementation Example—Hardware Overview
[0028] 3. Example Process for Generating Soil Property Data
[0029] 3.1. Providing boundary data
[0030] 3.2. Obtaining Field Data
[0031] 3.2.1. Obtaining data from satellites
[0032] 3.2.2. Accessing environmental covariates
[0033] Data preprocessing
[0034] 3.3.1. Atmospheric data correction
[0035] 3.3.2. Bare soil pixel correction
[0036] 3.3.3. Normalization and false positive filtering
[0037] 3.3.4. Calculation of spectral index
[0038] 3.4. Execute the machine learning model
[0039] 3.4.1. Model Accuracy of Example ML Models
[0040] 3.4.2. Soil organic matter mapping
[0041] 3.4.3. Scaling of SOM Model
[0042] 3.4.4. Example Flowchart
[0043] 4. Improvements provided by certain embodiments
[0044] *
[0045] 1. General Overview
[0046] In an embodiment, a method for generating a map of soil properties based on various types of data and using a machine learning model is described. The method can be based on a non-parametric data-driven approach for determining a map based on spaceborne data and other data.
[0047] Sub-field soil properties can include, for example, soil organic matter (SOM). For example, SOM can be measured as the portion (%) of organic matter included in a particular soil sample. Soil properties can also include a cation exchange capacity (CEC) measurement. The cation exchange capacity indicates how many molecules (cations) can be retained on the surface of soil particles. Since negative charges on the surface of soil particles bind to positively charged molecules, the bound molecules may be lost, for example, when they exchange with some positively charged particles in the surrounding soil water. Therefore, the measurement of CEC can be a useful indication of soil health. CEC is generally defined as the amount of positive charge that can be exchanged per mass of soil, and is typically measured in cmol / kg.
[0048] Other soil properties may include soil acidity (pH), potassium (K), phosphorus (P), magnesium (M), and calcium (Ca) levels. These are usually measured in ppm.
[0049] A map of sub-field soil properties can be determined based on different types of data, including satellite data, terrain-based layer data, weather characteristics data, etc. Satellite data can be remotely sensed and can represent the spectral characteristics of the soil. This data can be combined with absolute point-based soil sampling measurements and terrain and weather characteristics.
[0050] In an embodiment, the combined data is ported to one or more machine learning (ML) models. The model may be a non-parametric model or a similar model. The model may be first trained on the training data and then deployed to process newly collected data to generate a map of SOM, CEC and other soil properties (such as pH, P, K, Mg and Ca). The map may be determined with relatively high resolution and accuracy. The map may represent soil properties for different topologies and different time points.
[0051] The method can contribute to various agronomic practices. For example, the method can contribute to the management area of the farmland for the purpose of determining the advice of the field. Based on the identified area, the computer system can automatically generate one or more agricultural prescriptions for each management area. The prescription can include scripts for seeding rate and hybrids, seed placement, variable rate nitrogen scripts, variable rate crop protection, soil sampling, and irrigation management and diagnosis of yield stressors.
[0052] In an embodiment, a method allows the use of non-parametric ML models to predict various soil properties of a field. Examples of non-parametric models include Gaussian process regression (GPR) models. One of the benefits of using a GPR model is that the model not only provides a predicted magnitude of the model output, but also provides a measure of uncertainty in the predicted magnitude. Additional models implemented in the method may include random forest (RF) models, deep learning models, etc.
[0053] The ML model can be configured to receive model inputs and generate model predictions. In some embodiments, the inputs can include processed images derived from satellite remote sensing data, which can include data collected for different light bands and spectra. For example, this can include data collected in the visible (VIS) spectrum, near infrared spectrum, and short wave infrared (SWIR) spectrum.
[0054] For example, input data can be obtained from the Landsat 8 satellite in the form of Landsat 8 Operational Land Imager (Landsat-8-OLI) data. For example, Landsat-8-OLI data can be sampled at a resolution of 30 meters. Input data can also be obtained from the European optical imaging satellites Sentinel-2A and Sentinel-2B. This data is called Sentinel data and is typically sampled at a resolution of 10 / 20 meters.
[0055] The ML model can also be configured to accept data inputs that are implemented as environmental variables. The variables can represent terrain-based features such as slope, elevation, aspect, curvature, profile curvature, plan curvature, and different curvature and flow accumulation data. For example, other environmental variables can represent the following metrics: accumulated precipitation and temperature over a period of time when satellite data was collected, long-term average temperature and precipitation, absolute point-based soil sampling measurements of soil properties, etc.
[0056] In an embodiment, a method for generating a map of soil properties includes training an ML model using various types of data, including weather-related data. The training generally improves the accuracy of predictions generated by the ML model. By training a model of weather-related soil conditions according to temporal dynamic patterns of soil properties using features based on polytemporal images, the accuracy of predicting soil properties is generally greatly improved compared to results provided using other methods.
[0057] In an embodiment, the method provides a robust mechanism for predicting soil properties with relatively high accuracy and scalability. For example, the method can be easily scaled across multiple geographic regions and multiple delineation zones.
[0058] 2. Example Agricultural Intelligent Computer System
[0059] 2.1. Structural overview
[0060] Figure 1 An example computer system configured to perform the functions described herein is illustrated, the example computer system being shown in a field environment along with other devices with which the system can interoperate. In one embodiment, a user 102 owns, operates, or possesses a field manager computing device 104 in or associated with a field location, such as a field for agricultural activities or a management location for one or more agricultural fields. The field manager computer device 104 is programmed or configured to provide field data 106 to an agricultural intelligence computer system 130 via one or more networks 109.
[0061] Examples of field data 106 include: (a) identification data (e.g., area, field name, field identifier, geographic identifier, boundary identifier, crop identifier, and any other suitable data that can be used to identify agricultural land, such as common land units (CLUs), lot and block numbers, parcel numbers, geographic coordinates and boundaries, farm serial numbers (FSNs), farm numbers, strip numbers, field numbers, regions, townships, and / or ranges); (b) harvest data (e.g., crop type, crop variety, crop rotation, whether the crop is harvested or not); (e.g., cultivated in an organic manner, harvest date, actual production history (APH), expected yield, yield, crop price, crop income, grain moisture, tillage practices, and information on previous growing seasons); (c) soil data (e.g., type, composition, pH, organic matter (OM), cation exchange capacity (CEC)); (d) planting data (e.g., planting date, seed(s) type, relative maturity (RM) of seed(s) planted, seed population); (e) fertilizer data (e.g., nutrient type (nitrogen, phosphorus, potassium), application (e.g., type, date of application, amount, source, method); (f) chemical application data (e.g., pesticides, herbicides, fungicides, other substances or mixtures of substances intended for use as plant regulators, defoliants or desiccants, date of application, amount, source, method); (g) irrigation data (e.g., date of application, amount, source, method); (h) weather data (e.g., precipitation, rainfall rate, predicted rainfall, water runoff rate area, temperature, wind, forecast, pressure, visibility, clouds, heat index, dew point, humidity, snow depth, air quality, sunrise, sunset); (i ) imagery data (e.g., imaging and spectral information from agricultural device sensors, cameras, computers, smartphones, tablets, unmanned aerial vehicles, aircraft, or satellites); (j) reconnaissance observations (photographs, videos, free-form notes, voice recordings, voice transcriptions, weather conditions (temperature, precipitation (current and over time), soil moisture, crop stage, wind speed, relative humidity, dew point, dark layer)); and (k) soil, seed, crop phenology, pest and disease reports, and forecast sources and databases.
[0062] The external data server computer 108 is communicatively coupled to the agricultural intelligent computer system 130 and is programmed or configured to send external data 110 to the agricultural intelligent computer system 130 via (multiple) networks 109. The external data server computer 108 may be owned or operated by the same legal person or entity as the agricultural intelligent computer system 130, or owned or operated by a different person or entity (such as a government agency, a non-governmental organization (NGO) and / or a private data service provider). Examples of external data include weather data, imaging data, soil data, or statistics related to crop yields, etc. The external data 110 may consist of the same type of information as the field data 106. In some embodiments, the external data 110 is provided by an external data server computer 108 owned by the same entity that owns and / or operates the agricultural intelligent computer system 130. For example, the agricultural intelligent computer system 130 may include a data server that is specifically focused on a type of data (such as weather data), which may otherwise be obtained from a third-party source. In some embodiments, the external data server computer 108 may actually be incorporated into the system 130.
[0063] The agricultural device 111 may have one or more remote sensors 112 fixed thereon, which are communicatively coupled to the agricultural intelligent computer system 130 directly or indirectly via the agricultural device 111 and are programmed or configured to send sensor data to the agricultural intelligent computer system 130. Examples of agricultural devices 111 include tractors, combines, harvesters, planters, trucks, fertilizer equipment, aircraft including unmanned aerial vehicles, and any other physical machinery or hardware items that are generally mobile machinery and can be used for tasks associated with agriculture. In some embodiments, a single unit of the device 111 may include multiple sensors 112 locally coupled in a network on the device; a controller area network (CAN) is an example of such a network that can be installed in a combine, harvester, sprayer, and cultivator. The application controller 114 is communicatively coupled to the agricultural intelligent computer system 130 via (multiple) networks 109 and is programmed or configured to receive one or more scripts from the agricultural intelligent computer system 130, which are used to control the operating parameters or implementations of the agricultural vehicle. For example, a controller area network (CAN) bus interface may be used to enable communication from the agricultural intelligence computer system 130 to the agricultural device 111, such as how the CLIMATE FIELD VIEW DRIVE available from the Climate Corporation of San Francisco, California is used. The sensor data may consist of the same type of information as the field data 106. In some embodiments, the remote sensor 112 may not be fixed to the agricultural device 111, but may be remotely located in the field and may communicate with the network 109.
[0064] The apparatus 111 may include a cab computer 115 programmed with a cab application, which may include a version or variation of a mobile application for the device 104 further described elsewhere herein. In an embodiment, the cab computer 115 includes a compact computer, typically a tablet-sized computer or smartphone, with a graphical screen display, such as a color display, mounted in the cab of an operator of the apparatus 111. The cab computer 115 may implement some or all of the operations and functions further described herein for the mobile computer device 104.
[0065] The network(s) 109 broadly represent any combination of one or more data communication networks using any of wired or wireless links (including terrestrial or satellite links), including a local area network, a wide area network, an internet, or the Internet. The network(s) may be provided by Figure 1 The data exchange between the various elements can be achieved by any medium or mechanism. Figure 1 The various elements of the system may also have direct (wired or wireless) communication links. The sensors 112, controller 114, external data server computer 108 and other elements of the system each include an interface compatible with the network(s) 109 and are programmed or configured to use standardized protocols for communication across the network, such as TCP / IP, Bluetooth, CAN protocols, and high-level protocols (such as HTTP, TLS, etc.).
[0066] The agricultural intelligence computer system 130 is programmed or configured to receive field data 106 from the field manager computing device 104, receive external data 110 from the external data server computer 108, and receive sensor data from the remote sensor 112. The agricultural intelligence computer system 130 may also be configured to host, use or execute one or more computer programs, other software elements, digitally programmed logic (such as FPGA or ASIC), or any combination thereof to perform conversion and storage of data values, construct digital models of one or more crops on one or more fields, generate recommendations and notifications, and generate and send scripts to the application controller 114 in a manner further described in other parts of this disclosure.
[0067] In an embodiment, the agricultural intelligence computer system 130 is programmed with or includes a communication layer 132, a presentation layer 134, a data management layer 140, a hardware / virtualization layer 150, code instructions 180, and a model and field data repository 160. "Layers" in this context refer to any combination of electronic digital interface circuits, microcontrollers, firmware (such as drivers), and / or computer programs or other software elements.
[0068] The communication layer 132 may be programmed or configured to perform input / output interface functions, including sending requests for field data, external data, and sensor data, respectively, to the field manager computing device 104, the external data server computer 108, and the remote sensors 112. The communication layer 132 may be programmed or configured to send received data to the model and field data repository 160 to be stored as the field data 106.
[0069] The presentation layer 134 may be programmed or configured to generate a graphical user interface (GUI) to be displayed on the field manager computing device 104, the cab computer 115, or other computer coupled to the system 130 via the network 109. The GUI may include controls for inputting data to be sent to the agricultural intelligence computer system 130, generating requests for models and / or recommendations, and / or displaying recommendations, notifications, models, and other field data.
[0070] The data management layer 140 may be programmed or configured to manage read operations and write operations involving the repository 160 and other functional elements of the system, including queries and result sets passed between the functional elements of the system and the repository. Examples of the data management layer 140 include JDBC, SQL server interface code, and / or HADOOP interface code, among others. The repository 160 may include a database. As used herein, the term "database" may refer to a body of data, a relational database management system (RDBMS), or both. As used herein, a database may include any collection of data (including hierarchical databases, relational databases, flat file databases, object-relational databases, object-oriented databases, distributed databases), and any other structured collection of records or data stored in a computer system. Examples of RDBMS include, but are not limited to, MYSQL, DB2, SQL SERVER, and POSTGRESQL databases. However, any database that implements the systems and methods described herein may be used.
[0071] Code instructions 180 may include data acquisition instructions 136, data processing instructions 137, machine learning model instructions 138, map generation instructions 139, and other instructions. Data acquisition instructions 136 may include instructions for receiving various types of image data of farmland, including satellite digital images, image data collected on the ground, image data received from national and / or research agricultural databases, and the like.
[0072] The data processing instructions 137 may include instructions for preprocessing various types of image data. The instructions 137 may be configured to, for example, perform atmospheric correction on satellite images, filter out images, detect image data outliers, reproject data, perform data interpolation, perform data subsampling, etc.
[0073] The machine learning model instructions 138 may include instructions for training one or more ML models for determining soil properties of a field based on input imaging, porting the input images to the ML models to generate predictions of the soil properties based on the input images, outputting the predictions, and optionally outputting a metric indicative of the quality of the predictions.
[0074] Map generation instructions 139 may include instructions for receiving predictions of soil properties of the farmland from one or more ML models, thereby generating one or more digital maps depicting the soil properties of the farmland using the predictions received from the one or more ML models.
[0075] When field data 106 is provided directly to the agricultural intelligent computer system without being provided via one or more agricultural machines or agricultural machine equipment that interact with the agricultural intelligent computer system, the user can be prompted via one or more user interfaces on the user device (served by the agricultural intelligent computer system) to enter such information. In an example embodiment, the user can specify identification data by accessing a map on the user device (served by the agricultural intelligent computer system) and selecting a specific CLU that has been graphically shown on the map. In an alternative embodiment, the user 102 can specify identification data by accessing a map on the user device (served by the agricultural intelligent computer system 130) and drawing the boundaries of the field on the map. This CLU selection or map drawing represents a geographic identifier. In an alternative embodiment, the user can specify identification data by accessing field identification data from the USDA Farm Service Agency or other source (provided as a shape file or in a similar format) via the user device and providing such field identification data to the agricultural intelligent computer system.
[0076] In an example embodiment, the agricultural intelligence computer system 130 is programmed to generate a graphical user interface including a data manager for data input and cause the graphical user interface to be displayed. After one or more fields have been identified using the above method, the data manager can provide one or more graphical user interface widgets that, when selected, can identify changes in fields, soils, crops, tillage or nutrient practices. The data manager can include a timeline view, a spreadsheet view and / or one or more editable programs.
[0077] Figure 5 Depicted is an example embodiment of a timeline view for data entry. Figure 5, the user computer can enter a selection of a specific field and a specific date to add an event. The events depicted at the top of the timeline can include nitrogen, planting, practice, and soil. In order to add a nitrogen application event, the user computer can provide input to select a nitrogen tag. The user computer can then select a location on the timeline for a specific field to indicate the application of nitrogen on the selected field. In response to receiving a selection of a location on the timeline for a specific field, the data manager can display a data entry overlay, allowing the user computer to enter data about nitrogen application, planting program, soil application, tillage program, irrigation practice, or other information related to a specific field. For example, if the user computer selects a portion of the timeline and indicates the application of nitrogen, the data entry overlay can include fields for entering the amount of nitrogen applied, the date of application, the type of fertilizer used, and any other information related to the application of nitrogen.
[0078] In an embodiment, a data manager provides an interface for creating one or more programs. A "program" in this context refers to a data set regarding nitrogen applications, planting programs, soil applications, tillage programs, irrigation practices, or other information that may be associated with one or more fields and may be stored in a digital data storage device for reuse as a collection in other operations. After a program has been created, it may conceptually be applied to one or more fields, and a reference to the program may be stored in the digital storage device in association with the data identifying those fields. Thus, instead of manually entering the same data associated with the same nitrogen application for multiple different fields, a user computer may create a program indicating a particular application of nitrogen, and then apply the program to multiple different fields. For example, in Figure 5 In the timeline view of FIG. 1 , the first two timelines have selected a "Spring Application" program, which includes applying 150 lbs. N / ac in early April. The data manager may provide an interface for editing programs. In an embodiment, when a particular program is edited, each field that has selected that particular program is edited. For example, in Figure 5 If the "Spring Application" program is edited to reduce the nitrogen application to 130 lbs.N / ac, the first two fields can be updated with the reduced nitrogen application based on the edited program.
[0079] In an embodiment, in response to receiving an edit for a field having a selected program, the data manager removes the correspondence between the field and the selected program. For example, if nitrogen application is added to Figure 5 If the top field in the , the interface can be updated to indicate that the "Spring Application" program is no longer applied to the top field. Although the early April nitrogen application can be maintained, the update to the "Spring Application" program will not change the April application of nitrogen.
[0080] Figure 6 Depicted is an example embodiment of a spreadsheet view for data entry. Figure 6 The display depicted in FIG. 1 allows a user to create and edit information for one or more fields. The Data Manager may include Figure 6 , which is used to enter information about nitrogen, planting, practices, and soils. To edit a specific entry, the user computer can select the specific entry in the spreadsheet and update the value. For example, Figure 6 The ongoing update of the target yield value for the second field is depicted. Additionally, the user computer can select one or more fields for application of one or more programs. In response to receiving a selection of a program for a particular field, the data manager can automatically complete the entry of the particular field based on the selected program. Figure 1 Likewise, in response to receiving an update to a program, the data manager may update the entry for each field associated with the particular program. Additionally, in response to receiving an edit to one of the entries for a field, the data manager may remove the correspondence between the selected program and the field.
[0081] In an embodiment, the model and field data are stored in the model and field data repository 160. The model data includes a data model created for one or more fields. For example, a crop model may include a digitally constructed model of the development of crops on one or more fields. "Model" in this context refers to an electronic digital storage collection of executable instructions and data values associated with each other, which are capable of receiving a programmatic or other digital call, call or parsing request, and responding to the programmatic or other digital call, call or parsing request based on a specified input value to produce one or more stored or calculated output values, which can be used as a basis for computer-implemented suggestions, output data displays or machine control, etc. Those skilled in the art find it convenient to express the model using mathematical equations, but this form of expression does not limit the models disclosed herein to abstract concepts; on the contrary, each model herein has practical applications in a computer in the form of stored executable instructions and data, which use a computer to implement the model. The model may include a model of past events on one or more fields, a model of the current state of one or more fields, and / or a model of predicted events on one or more fields. The model and field data may be stored in a data structure in memory, in rows in a database table, in a flat file or spreadsheet, or in other forms of stored digital data.
[0082] In an embodiment, each of the instructions 180 includes a collection of one or more pages of main memory (such as RAM) in the agricultural intelligent computer system 130, into which executable instructions have been loaded, and when executed, it causes the agricultural intelligent computing system to perform the functions or operations described herein with reference to those modules. These instructions may be in machine executable code in the instruction set of the CPU, and may have been compiled based on source code written in JAVA, C, C++, OBJECTIVE-C or any other human-readable programming language or environment, either alone or in combination with scripts in JAVASCRIPT, other scripting languages, and other programming source texts. The term "page" is intended to refer broadly to any area within the main memory, and the specific terminology used in the system may vary depending on the memory architecture or processor architecture. In another embodiment, each of the instructions 180 may also represent one or more source code files or projects digitally stored in a mass storage device (such as non-volatile RAM or disk storage) in the agricultural intelligent computer system 130 or a separate repository system, which, when compiled or interpreted, results in the generation of executable instructions that, when executed, cause the agricultural intelligent computing system to perform the functions or operations described herein with reference to those modules. In other words, the drawings may represent the way in which a programmer or software developer organizes and arranges source code to be later compiled into an executable file or interpreted into bytecode or the equivalent for execution by the agricultural intelligent computer system 130.
[0083] The hardware / virtualization layer 150 includes one or more central processing units (CPUs), memory controllers, and other devices, components, or elements of a computer system, such as volatile or nonvolatile memory, nonvolatile storage devices (such as disks), and, for example, a combination of Figure 4 Layer 150 may also include programming instructions configured to support virtualization, containerization, or other technologies.
[0084] For the purpose of illustrating clear examples, Figure 1 A limited number of instances of certain functional elements are shown. However, in other embodiments, there may be any number of such elements. For example, an embodiment may use thousands or millions of different mobile computing devices 104 associated with different users. Further, the system 130 and / or the external data server computer 108 may be implemented using two or more processors, cores, clusters, or instances of physical or virtual machines, which are configured in discrete locations or co-located with other elements in a data center, shared computing facility, or cloud computing facility.
[0085] 2.2. Application Overview
[0086] In embodiments, the use of one or more computer programs or other software elements (loaded into and executed using one or more general-purpose computers) to implement the functions described herein will cause these general-purpose computers to be configured as specific machines or computers specifically adapted to perform the functions described herein. Further, each of the flowcharts further described herein can be used alone or in combination with the descriptions of the processes and functions in prose form herein as an algorithm, plan or guide that can be used to program a computer or logic to implement the described functions. In other words, all prose text and all attached text herein are Figure 1 The disclosure is intended to provide an algorithm, plan or instructions sufficient to allow a skilled person to program a computer to perform the functions described herein, given the skill level applicable to the type of invention and the disclosure, combined with the skills and knowledge of such a person.
[0087] In an embodiment, a user 102 interacts with an agricultural intelligence computer system 130 using a field manager computing device 104 configured with an operating system and one or more application programs or apps; the field manager computing device 104 may also interoperate with the agricultural intelligence computer system independently and automatically under program control or logic control, and direct user interaction is not always required. The field manager computing device 104 broadly represents one or more of the following: a smart phone, a PDA, a tablet computing device, a laptop computer, a desktop computer, a workstation, or any other computing device capable of transmitting and receiving information and performing the functions described herein. The field manager computing device 104 may communicate via a network using a mobile application stored on the field manager computing device 104, and in some embodiments, the device may be coupled to a sensor 112 and / or a controller 114 using a cable 113 or a connector. A particular user 102 may own, operate, or possess and use more than one field manager computing device 104 in conjunction with the system 130 at one time.
[0088] The mobile application can provide client-side functionality to one or more mobile computing devices via a network. In an example embodiment, the field manager computing device 104 can access the mobile application via a web browser or a local client application or app. The field manager computing device 104 can transmit data to one or more front-end servers using a web-based protocol or format (such as HTTP, XML and / or JSON) or an app-specific protocol, and receive data from one or more front-end servers. In an example embodiment, the data can take the form of a request and user information (such as field data) input into the mobile computing device. In some embodiments, the mobile application interacts with the location tracking hardware and software on the field manager computing device 104, which uses standard tracking technology (such as multi-point positioning of radio signals, global positioning system (GPS), WiFi positioning system or other mobile positioning methods) to determine the location of the field manager computing device 104. In some cases, location data or other data associated with the device 104, the user 102 and / or (multiple) user accounts can be obtained by querying the operating system of the device or by requesting the app on the device to obtain data from the operating system.
[0089] In an embodiment, the field manager computing device 104 sends field data 106 to the agricultural intelligence computer system 130, the field data 106 including or including, but not limited to, data values representing one or more of the following: the geographic location of one or more fields, farming information for one or more fields, crops grown in one or more fields, and soil data extracted from one or more fields. The field manager computing device 104 may send the field data 106 in response to user input from the user 102 specifying data values for one or more fields. Additionally, the field manager computing device 104 may automatically send the field data 106 when one or more of the data values become available to the field manager computing device 104. For example, the field manager computing device 104 may be communicatively coupled to the remote sensors 112 and / or the application controller 114, which include irrigation sensors and / or irrigation controllers. In response to receiving data indicating that the application controller 114 released water onto one or more fields, the field manager computing device 104 may send field data 106 to the agricultural intelligence computer system 130, indicating that water was released onto the one or more fields. The field data 106 identified in the present disclosure may be input and communicated using electronic digital data that is communicated between computing devices using parameterized URLs over HTTP or another suitable communication or messaging protocol.
[0090] A commercial example of a mobile application is CLIMATEFIELDVIEW, available from The Climate Corporation of San Francisco, California. The CLIMATE FIELDVIEW application or other applications may be modified, extended, or adapted to include features, functionality, and programming that have not been disclosed prior to the filing date of this disclosure. In one embodiment, the mobile application includes an integrated software platform that allows growers to make fact-based decisions for their operations because it combines historical data related to the grower's fields with any other data that the grower wishes to compare. The combination and comparison can be done in real time and is based on scientific models that provide possible scenarios to allow growers to make better, more informed decisions.
[0091] FIG2 illustrates two views of an example logical organization of a set of instructions in main memory when an example mobile application is loaded for execution. In FIG2 , each named element represents a region of one or more pages of RAM or other main memory or one or more blocks of disk storage or other non-volatile storage and the programming instructions within those regions. In one embodiment, in view (a), the mobile computer application 200 includes account-field-data ingestion-sharing instructions 202, overview and alert instructions 204, digital map manual instructions 206, seed and planting instructions 208, nitrogen instructions 210, weather instructions 212, field health instructions 214, and performance instructions 216.
[0092] In one embodiment, the mobile computer application 200 includes account, field, data ingestion, sharing instructions 202, which are programmed to receive, transform and ingest field data from a third-party system via manual upload or API. Data types may include field boundaries, yield maps, planting maps, soil test results, application maps and / or management areas, etc. Data formats may include shape files, third-party native data formats and / or farm management information system (FMIS) exports, etc. Receiving data may occur via manual upload, email with attachments, external APIs that push data to the mobile application, or instructions that call the API of an external system to pull data into the mobile application. In one embodiment, the mobile computer application 200 includes a data inbox. In response to receiving a selection of the data inbox, the mobile computer application 200 may display a graphical user interface for manually uploading data files and importing the uploaded files into the data manager.
[0093] In one embodiment, the digital map manual instructions 206 include a field map data layer stored in the device memory and are programmed with data visualization tools and geospatial field notes. This provides the grower with convenient information, logs, and visual insights into field performance at hand for reference. In one embodiment, the overview and alert instructions 204 are programmed to provide a range of operations view of what is important to the grower and timely suggestions for taking action or focusing on specific issues. This allows the grower to focus time on what needs to be focused on, saving time and maintaining yield throughout the season. In one embodiment, the seed and planting instructions 208 are programmed to provide tools for seed selection, hybrid placement, and script creation (including variable rate (VR) script creation) based on scientific models and empirical data. This enables growers to maximize yield or return on investment through optimized seed purchases, placement, and populations.
[0094] In one embodiment, the script generation instructions 205 are programmed to provide an interface for generating scripts, including variable rate (VR) fertility scripts. The interface enables growers to create scripts for field tools, such as nutrient application, planting, and irrigation. For example, the planting script interface may include a tool for identifying the type of seed to be planted. Upon receiving a selection of the seed type, the mobile computer application 200 may display one or more fields divided into management zones, such as a field map data layer created as part of the digital map manual instructions 206. In one embodiment, the management zone includes soil zones and a panel that identifies each soil zone and the soil name, texture, drainage, or other field data for each zone. The mobile computer application 200 may also display tools for editing or creating such, such as graphical tools for drawing management zones, such as soil zones, on a map of one or more fields. Planting programs may be applied to all management zones, or different planting programs may be applied to different subsets of management zones. When a script is created, the mobile computer application 200 may make the script available for download in a format readable by the application controller, such as an archived or compressed format. Additionally and / or alternatively, the script may be sent directly from the mobile computer application 200 to the cab computer 115 and / or uploaded to one or more data servers and stored for further use.
[0095] In one embodiment, the nitrogen instructions 210 are programmed to provide tools to inform nitrogen decisions by visualizing the availability of nitrogen to crops. This enables growers to maximize yields or return on investment through optimized nitrogen applications during the season. Example programming functions include: displaying images (such as SSURGO images) to enable fertilizer application zones to be drawn at high spatial resolution (depending on the proximity and resolution of the sensor, down to millimeters or less) and / or images generated by sub-field soil data (such as data obtained from sensors); uploading existing grower-defined areas; providing graphs of plant nutrient availability and / or maps that enable tuning of (multiple) nitrogen applications across multiple areas; outputting scripts to drive machinery; tools for bulk data entry and adjustment; and / or maps for data visualization, etc. "Bulk data entry" in this context may mean entering data once and then applying the same data to multiple fields and / or areas that have been defined in the system; example data may include nitrogen application data that is the same for many fields and / or areas of the same grower, but this bulk data entry is applicable to entering any type of field data into the mobile computer application 200. For example, the nitrogen instructions 210 may be programmed to accept definitions of nitrogen application and practice programs, and to accept user input specifying the application of those programs across multiple fields. A "nitrogen application program" in this context refers to a stored named data set associated with: a name, color code or other identifier, one or more application dates, a material or product type and amount for each of the dates, a method of application or incorporation (such as injection or broadcasting), and / or an application amount or rate for each of the dates, a crop or hybrid to which the application was applied, etc. A "nitrogen practice program" in this context refers to a stored named data set associated with: a practice name; a previous crop; a tillage system; a primary tillage date; one or more previous tillage systems that were used; one or more indicators of the type of application (such as manure) that was used. The nitrogen instructions 210 may also be programmed to generate and cause the display of a nitrogen map indicating an estimate of plant use of a specified nitrogen and whether it is estimated to be a surplus or a deficit; in some embodiments, different color indicators may signal the magnitude of the surplus or the magnitude of the deficit. In one embodiment, a nitrogen map includes: a graphical display in a computer display device including a plurality of rows, each row being associated with and identifying a field; data specifying what crops are planted in the field, the field size, the field location, and a graphical representation of the field perimeter; in each row, a monthly timeline with a graphical indicator specifying each nitrogen application and amount at a point associated with the month name; and a numerical and / or colored indicator of surplus or deficit, wherein the color indicates the magnitude.
[0096] In one embodiment, the nitrogen map may include one or more user input features, such as a dial or a slider, for dynamically changing the nitrogen planting and practice program so that the user can optimize their nitrogen map. The user can then use their optimized nitrogen map and the associated nitrogen planting and practice program to implement one or more scripts, including a variable rate (VR) fertility script. The nitrogen instructions 210 may also be programmed to generate and cause a nitrogen map to be displayed, which indicates the projection of plant use of a specified nitrogen and whether it is projected to a surplus or a deficit; in some embodiments, different color indicators can signal the magnitude of the surplus or the magnitude of the deficit. Using numerical and / or colored surplus or deficit indicators, the nitrogen map can display the projection of plant use of a specified nitrogen and whether it is predicted to be a surplus or a deficit for different times in the past and future (such as daily, weekly, monthly, or annually), where the color indicates the magnitude. In one embodiment, the nitrogen map may include one or more user input features, such as a dial or a slider, for dynamically changing the nitrogen planting and practice program so that the user can optimize their nitrogen map, such as to obtain a preferred amount of surplus to deficit. The user can then use its optimized nitrogen map and associated nitrogen planting and practice programs to implement one or more scripts, including a variable rate (VR) fertility script. In other embodiments, instructions similar to nitrogen instructions 210 can be used for the application of other nutrients (such as phosphorus and potassium), the application of pesticides, and irrigation programs.
[0097] In one embodiment, weather instructions 212 are programmed to provide field-specific recent weather data and forecast weather information. This enables growers to save time and have an efficient integrated display for daily operational decisions.
[0098] In one embodiment, field health instructions 214 are programmed to provide timely remote sensing images that highlight in-season crop changes and potential concerns. Example programmed functions include: cloud checks to identify possible clouds or cloud shadows; determination of nitrogen index based on field images; graphical visualization of scouting layers, including those related to field health, and viewing and / or sharing of scouting notes; and / or downloading satellite imagery from multiple sources, with priority given to growers, etc.
[0099] In one embodiment, the performance instructions 216 are programmed to provide reporting, analysis and insight tools that use farm data for evaluation, insight and decision making. This enables growers to seek improved results for the next year through fact-based conclusions about why the return on investment is at previous levels and insights into yield limiting factors. The performance instructions 216 can be programmed to be delivered to a back-end analysis program executed at the agricultural intelligence computer system 130 and / or the external data server computer 108 via (multiple) networks 109, and are configured to analyze metrics such as yield, yield differences, hybrids, populations, SSURGO zones, soil test attributes or altitude, etc. The programmed reports and analyses can include: yield variability analysis, treatment effect estimation, benchmarking of yield and other metrics against other growers based on anonymous data collected from many growers or seed and planted data, etc.
[0100] Applications with instructions configured in this manner can be implemented for different computing device platforms while retaining the same general user interface appearance. For example, a mobile application can be programmed to execute on a tablet, smartphone, or server computer accessed using a browser at a client computer. Further, a mobile application configured for a tablet computer or smartphone can provide a complete app experience or a cab app experience that is suitable for the display and processing capabilities of the cab computer 115. For example, now referring to view (b) of FIG. 2, in one embodiment, the cab computer application 220 may include map-cab instructions 222, remote view instructions 224, data collection and transmission instructions 226, machine alarm instructions 228, script transmission instructions 230, and reconnaissance-cab instructions 232. The code base of the instructions of view (b) can be the same as that of view (a), and the executable file that implements the code can be programmed to detect the type of platform on which they are executed and expose only those functions applicable to the cab platform or the complete platform through a graphical user interface. This method enables the system to identify distinct user experiences applicable to different technical environments of the in-cab environment and the cab. Map-to-cab instructions 222 may be programmed to provide map views of a field, farm, or region that are useful in directing machine operation. Remote view instructions 224 may be programmed to open, manage, and provide real-time or near real-time views of machine activity to other computing devices connected to system 130 via a wireless network, wired connector or adapter, etc. Data collection and transmission instructions 226 may be programmed to open, manage, and provide for transmission of data collected at sensors and controllers to system 130 via a wireless network, wired connector or adapter, etc. Machine alert instructions 228 may be programmed to detect operational issues with a machine or implement associated with the cab and generate an operator alert. Script transmission instructions 230 may be configured to transmit in the form of instruction scripts that are configured to direct machine operation or the collection of data. The scout-cab instructions 232 can be programmed to display location-based alerts and information received from the system 130 based on the location of the field manager computing device 104, agricultural equipment 111, or sensor 112 in the field, and to ingest, manage, and provide for transmission of location-based scouting observations to the system 130 based on the location of the agricultural equipment 111 or sensor 112 in the field.
[0101] 2.3. Data Ingestion into Computer Systems
[0102] In an embodiment, the external data server computer 108 stores external data 110, which includes soil data representing the soil composition of one or more fields and weather data representing the temperature and precipitation on one or more fields. The weather data may include past and current weather data and forecasts for future weather data. In an embodiment, the external data server computer 108 includes multiple servers hosted by different entities. For example, a first server may contain soil composition data, while a second server may include weather data. Additionally, the soil composition data may be stored in multiple servers. For example, one server may store data representing the percentage of sand, silt, and clay in the soil, while a second server may store data representing the percentage of organic matter (OM) in the soil.
[0103] In an embodiment, the remote sensor 112 includes one or more sensors that are programmed or configured to produce one or more observations. The remote sensor 112 can be an aerial sensor (such as a satellite), a vehicle sensor, a planting equipment sensor, a tillage sensor, a fertilizer or pesticide application sensor, a harvester sensor, and any other appliance capable of receiving data from one or more fields. In an embodiment, the application controller 114 is programmed or configured to receive instructions from the agricultural intelligent computer system 130. The application controller 114 can also be programmed or configured to control the operating parameters of agricultural vehicles or appliances. For example, the application controller can be programmed or configured to control the operating parameters of vehicles (such as tractors), planting equipment, tillage equipment, fertilizer or pesticide equipment, harvester equipment, or other farm appliances (such as water valves). Other embodiments can use any combination of sensors and controllers, of which the following are only selected examples.
[0104] The system 130 may obtain or ingest data on a large scale from a large number of growers who have contributed data to a shared database system under the control of the user 102. When one or more user-controlled computer operations are requested or triggered to obtain data for use by the system 130, this form of obtaining data may be referred to as "manual data ingestion." As an example, the CLIMATE FIELDVIEW application available from The Climate Corporation of San Francisco, California, may be operated to export data to the system 130 for storage in the repository 160.
[0105] For example, the seed monitor system can both control the planter assembly and also obtain planting data, including signals from seed sensors via a signal harness that includes a CAN backbone and point-to-point connections for registration and / or diagnostics. The seed monitor system can be programmed or configured to display seed spacing, population, and other information to a user via the cab computer 115 or other device within the system 130. Examples are disclosed in U.S. Patent No. 8,738,243 and U.S. Patent Publication 20150094916, and the present disclosure assumes knowledge of those other patent disclosures.
[0106] Likewise, the yield monitor system may include yield sensors for harvester equipment that transmit yield measurement data to the cab computer 115 or other equipment within the system 130. The yield monitor system may utilize one or more remote sensors 112 to obtain grain moisture measurements in a combine or other harvester and transmit these measurements to a user via the cab computer 115 or other equipment within the system 130.
[0107] In an embodiment, examples of sensors 112 that can be used with any mobile vehicle or device of the type described elsewhere herein include kinematic sensors and position sensors. Kinematic sensors can include any speed sensor, such as a radar or wheel speed sensor, an accelerometer, or a gyroscope. Position sensors can include a GPS receiver or transceiver or a WiFi-based location or mapping app, etc., which are programmed to determine location based on nearby WiFi hotspots.
[0108] In an embodiment, examples of sensors 112 that may be used with a tractor or other moving vehicle include: an engine speed sensor, a fuel consumption sensor, an area counter or distance counter that interacts with a GPS or radar signal, a PTO (power take-off) speed sensor, a tractor hydraulic sensor configured to detect a hydraulic parameter (such as pressure or flow) and / or hydraulic pump speed, a wheel speed sensor, or a wheel slip sensor. In an embodiment, examples of controllers 114 that may be used with a tractor include: a hydraulic directional controller, a pressure controller, and / or a flow controller; a hydraulic pump speed controller; a speed controller or governor; a suspension position controller; or a wheel position controller to provide automatic steering.
[0109] In an embodiment, examples of sensors 112 that may be used with seed planting equipment such as a planter, seeder, or air seeder include: a seed sensor, which may be an optical, electromagnetic, or impact sensor; a downforce sensor, such as a load pin, load cell, pressure sensor; a soil property sensor, such as a reflectivity sensor, a moisture sensor, a conductivity sensor, an optical residue sensor, or a temperature sensor; a component operation standard sensor, such as a planting depth sensor, a downforce cylinder pressure sensor, a seed tray speed sensor, a seed drive motor encoder, a seed conveyor system speed sensor, or a vacuum sensor; or a pesticide application sensor, such as an optical or other electromagnetic sensor or an impact sensor. In an embodiment, examples of controllers 114 that may be used with such seed planting equipment include: a toolbar fold controller, such as a controller for a valve associated with a hydraulic cylinder; a down force controller, such as a controller for a valve associated with a pneumatic cylinder, an airbag, or a hydraulic cylinder, and programmed to apply down force to a single row unit or an entire planter frame; a planting depth controller, such as a linear actuator; a metering controller, such as an electric seeder drive motor, a hydraulic seeder drive motor, or a swath control clutch; a mix selection controller, such as a seeder drive motor or other actuator that is programmed to selectively allow or prevent seed or an air-seed mixture from delivering seed to or from a seeder or a central bulk hopper; a metering controller, such as an electric seeder drive motor or a hydraulic seeder drive motor; a seed conveyor system controller, such as a controller for a belt seed delivery conveyor motor; a marking controller, such as a controller for a pneumatic or hydraulic actuator; or a pesticide application rate controller, such as a metering drive controller, an orifice size, or a position controller.
[0110] In embodiments, examples of sensors 112 that may be used with tillage equipment include: a position sensor for a tool such as a handle or a disk; a tool position sensor for such a tool configured to detect depth, coaxial angle, or lateral spacing; a downforce sensor; or a draft force sensor. In embodiments, examples of controllers 114 that may be used with tillage equipment include a downforce controller or a tool position controller, such as a controller configured to control tool depth, coaxial angle, or lateral spacing.
[0111] In embodiments, examples of sensors 112 that may be used with respect to an apparatus for applying fertilizer, pesticides, fungicides, and the like, such as a head-on fertilizer system on a planter, a subsoil fertilizer applicator, or a fertilizer sprayer, include: a fluid system standard sensor, such as a flow sensor or a pressure sensor; a sensor indicating which sprinkler valves or fluid line valves are open; a tank-associated sensor, such as a level sensor; a segmented or system-wide supply line sensor or a row-specific supply line sensor; or a kinematic sensor, such as an accelerometer disposed on a sprayer boom. In embodiments, examples of controllers 114 that may be used with such an apparatus include: a pump speed controller; a valve controller programmed to control pressure, flow, direction, PWM, and the like; or a position actuator, such as for boom height, deep tillage blade depth, or boom position.
[0112] In embodiments, examples of sensors 112 that may be used with a harvester include: a yield monitor, such as a strike plate strain gauge or position sensor, a capacitive flow sensor, a load sensor, a weight sensor, or a torque sensor associated with an elevator or auger, or an optical or other electromagnetic grain height sensor; a grain moisture sensor, such as a capacitive sensor; a grain loss sensor, including an impact, optical, or capacitive sensor; a header operation standard sensor, such as header height, header type, deck gap, feeder speed, and reel speed sensor; a separator operation standard sensor, such as concave plate gap, rotor speed, brake shoe gap, or screen gap sensor; an auger sensor for position, operation, or speed; or an engine speed sensor. In embodiments, examples of controllers 114 that may be used with a harvester include: a header operation standard controller for elements such as header height, header type, deck gap, feeder speed, or reel speed; a separator operation standard controller for features such as concave plate gap, rotor speed, brake shoe gap, or screen gap; or a controller for auger position, operation, or speed.
[0113] In an embodiment, examples of sensors 112 that may be used with a grain trailer include a weight sensor or a sensor for auger position, operation, or speed. In an embodiment, examples of controllers 114 that may be used with a grain trailer include a controller for auger position, operation, or speed.
[0114] In an embodiment, examples of sensors 112 and controllers 114 may be installed in an unmanned aerial vehicle (UAV) device or "drone". Such sensors may include cameras with detectors that are effective in any range of the electromagnetic spectrum including visible light, infrared, ultraviolet, near infrared (NIR), etc.; accelerometers; altimeters; temperature sensors; humidity sensors; pitot tube sensors or other airspeed or wind speed sensors; battery life sensors; or radar transmitters and reflected radar energy detection devices; other electromagnetic radiation transmitters and reflected electromagnetic radiation detection devices. Such controllers may include: guidance or motor control devices, control surface controllers, camera controllers, or controllers that are programmed to turn on any, operate any of the aforementioned sensors, obtain data from any of the aforementioned sensors, manage and configure any of the aforementioned sensors. Examples are disclosed in U.S. Patent Application No. 14 / 831,165, and this disclosure assumes knowledge of that other patent disclosure.
[0115] In an embodiment, the sensor 112 and the controller 114 may be attached to a soil sampling and measuring device that is configured or programmed to sample soil and perform soil chemical tests, soil moisture tests, and other tests related to the soil. For example, the devices disclosed in U.S. Pat. No. 8,767,194 and U.S. Pat. No. 8,712,148 may be used, and the present disclosure assumes knowledge of those patent disclosures.
[0116] In an embodiment, the sensor 112 and the controller 114 may include a weather device for monitoring weather conditions of the field. For example, the devices disclosed in U.S. Provisional Application No. 62 / 154,207 filed on April 29, 2015, U.S. Provisional Application No. 62 / 175,160 filed on June 12, 2015, U.S. Provisional Application No. 62 / 198,060 filed on July 28, 2015, and U.S. Provisional Application No. 62 / 220,852 filed on September 18, 2015 may be used, and the present disclosure assumes knowledge of those patent disclosures.
[0117] 2.4. Process Overview - Agronomic Model Training
[0118] In an embodiment, the agricultural intelligent computer system 130 is programmed or configured to create an agronomic model. In this context, the agronomic model is a data structure in the memory of the agricultural intelligent computer system 130, which includes field data 106, such as identification data and harvest data of one or more fields. The agronomic model can also include calculated agronomic attributes, which describe the conditions or attributes of one or more crops that may affect the cultivation of one or more crops on the field or both. Additionally, the agronomic model can include suggestions based on agronomic factors, such as crop suggestions, irrigation suggestions, planting suggestions, fertilizer suggestions, fungicide suggestions, pesticide suggestions, harvest suggestions and other crop management suggestions. Agronomic factors can also be used to estimate one or more crop-related results, such as agronomic yield. The agronomic yield of a crop is an estimate of the quantity of the produced crop, or in some examples, the income or profit obtained from the produced crop.
[0119] In an embodiment, the agricultural intelligence computer system 130 can use a preconfigured agronomic model to calculate agronomic attributes that are related to the location and crop information of one or more fields currently received. The preconfigured agronomic model is based on previously processed field data, including but not limited to identification data, harvest data, fertilizer data, and weather data. The preconfigured agronomic model may have been cross-validated to ensure the accuracy of the model. Cross-validation can include a comparison with ground truth, which compares the predicted results with the actual results on the field, such as comparing precipitation estimates with rain gauges or sensors that provide weather data for the same or nearby locations, or comparing estimates of nitrogen content with soil sample measurements.
[0120] Figure 3 Illustrated is a programmed process by which an agricultural intelligence computer system generates one or more preconfigured agronomic models using field data provided by one or more data sources. Figure 3 Algorithms or instructions may be used to program the functional elements of the agricultural intelligence computer system 130 to perform the operations now described.
[0121] In box 305, the agricultural intelligence computer system 130 is configured or programmed to implement agronomic data preprocessing of field data received from one or more data sources. The field data received from one or more data sources can be preprocessed for the purpose of removing noise, distortion effects, and confounding factors within the agronomic data, including measurement outliers that may adversely affect the received field data values. Embodiments of agronomic data preprocessing may include, but are not limited to: removing data values generally associated with outlier data values, specific measurement data points that are known to unnecessarily skew other data values, data smoothing, aggregation, or sampling techniques for removing or reducing additive or multiplicative effects from noise, and other filtering or data derivation techniques for providing clear distinction between positive and negative data inputs.
[0122] In block 310, the agricultural intelligent computer system 130 is configured or programmed to perform data subset selection using the preprocessed field data to identify data sets useful for initial agronomic model generation. The agricultural intelligent computer system 130 may implement data subset selection techniques, including but not limited to genetic algorithm methods, all subset model methods, sequential search methods, stepwise regression methods, particle swarm optimization methods, and ant colony optimization methods. For example, based on the evolutionary principles of natural selection and genetics, the genetic algorithm selection technique uses an adaptive heuristic search algorithm to determine and evaluate data sets within the preprocessed agronomic data.
[0123] In box 315, the agricultural intelligent computer system 130 is configured or programmed to implement field data set evaluation. In an embodiment, a specific field data set is evaluated by creating an agronomic model and using a specific quality threshold for the created agronomic model. The agronomic model can be compared and / or verified using one or more comparison techniques (such as, but not limited to, leave-one-out cross-validation root mean square error (RMSECV), mean absolute error, and mean percentage error). For example, RMSECV can cross-validate the agronomic model by comparing the predicted agronomic attribute values created by the agronomic model with the historical agronomic attribute values collected and analyzed. In an embodiment, the agronomic data set evaluation logic is used as a feedback loop, wherein during future data subset selection steps, agronomic data sets that do not meet the configured quality threshold are used (box 310).
[0124] In block 320, the agricultural intelligence computer system 130 is configured or programmed to implement agronomic model creation based on the cross-validated agronomic data set. In an embodiment, the agronomic model creation may implement multivariate regression techniques to create a pre-configured agronomic data model.
[0125] In box 325 , the agricultural intelligence computer system 130 is configured or programmed to store the preconfigured agronomic data model for use in future field data evaluations.
[0126] 2.5. Implementation Example - Hardware Overview
[0127] According to one embodiment, the technology described herein is implemented by one or more special-purpose computing devices. The special-purpose computing device can be hard-wired to perform these technologies, or can include digital electronic devices that are permanently programmed to perform these technologies, such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs), or can include one or more general-purpose hardware processors that are programmed to perform these technologies according to program instructions in firmware, memory, other storage devices, or combinations. Such special-purpose computing devices can also combine custom hard-wired logic, ASICs or FPGAs with custom programming to implement these technologies. The special-purpose computing device can be a desktop computer system, a portable computer system, a handheld device, a networking device, or any other device that incorporates hard-wired and / or program logic for implementing these technologies.
[0128] For example, Figure 4 4 is a block diagram illustrating a computer system 400 in which embodiments of the present invention may be implemented. Computer system 400 includes a bus 402 or other communication mechanism for communicating information and a hardware processor 404 coupled with bus 402 for processing information. Hardware processor 404 may be, for example, a general purpose microprocessor.
[0129] Computer system 400 also includes a main memory 406, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 402 for storing information and instructions to be executed by processor 404. Main memory 406 may also be used to store temporary variables or other intermediate information during execution of instructions to be executed by processor 404. When stored in a non-transitory storage medium accessible to processor 404, such instructions make computer system 400 a special-purpose machine customized to perform the operations specified in the instructions.
[0130] Computer system 400 also includes a read only memory (ROM) 408 or other static storage device coupled to bus 402 for storing static information and instructions for processor 404. A storage device 410, such as a magnetic disk, optical disk, or solid state drive, is provided and coupled to bus 402 for storing information and instructions.
[0131] The computer system 400 may be coupled to a display 412, such as a cathode ray tube (CRT), via the bus 402 for displaying information to a computer user. An input device 414, including alphanumeric and other keys, is coupled to the bus 402 for communicating information and command selections to the processor 404. Another type of user input device is a cursor control 416, such as a mouse, trackball, or cursor direction keys, for communicating direction information and command selections to the processor 404 and controlling cursor movement on the display 412. The input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the device to specify a position in a plane.
[0132] Computer system 400 may implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic that, in combination with the computer system, makes computer system 400 a special purpose machine or programs computer system 400 as a special purpose machine. According to one embodiment, the techniques herein are performed by computer system 400 in response to processor 404 executing one or more sequences of one or more instructions contained in main memory 406. Such instructions may be read into main memory 406 from another storage medium such as storage device 410. Execution of the sequences of instructions contained in main memory 406 causes processor 404 to perform the process steps described herein. In alternative embodiments, hardwired circuitry may be used in place of or in combination with software instructions.
[0133] The term "storage medium" as used herein refers to any non-transient medium that stores data and / or instructions that cause a machine to operate in a particular manner. Such storage media may include non-volatile media and / or volatile media. Non-volatile media include, for example, optical disks, magnetic disks, or solid-state drives, such as storage device 410. Volatile media include dynamic memory, such as main memory 406. Common forms of storage media include, for example: floppy disks, flexible disks, hard disks, solid-state drives, magnetic tapes or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with a pattern of holes, RAM, PROMs and EPROMs, flash EPROMs, NVRAMs, any other memory chips, or cassette tapes.
[0134] Storage media are distinct from transmission media, but can be used in conjunction with transmission media. Transmission media participate in the transfer of information between storage media. For example, transmission media include coaxial cables, copper wire, and optical fiber, including the wires that make up bus 402. Transmission media can also take the form of sound or light waves, such as those generated during radio wave and infrared data communications.
[0135] Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor 404 for execution. For example, the instructions may initially be carried on a disk or solid-state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 400 can receive the data on the telephone line and use an infrared transmitter to convert the data into an infrared signal. An infrared detector can receive the data carried in the infrared signal, and appropriate circuitry can place the data on bus 402. Bus 402 carries the data to main memory 406, from which processor 404 retrieves and executes the instructions. The instructions received by main memory 406 may optionally be stored on storage device 410 before or after execution by processor 404.
[0136] Computer system 400 also includes a communication interface 418 coupled to bus 402. Communication interface 418 provides bidirectional data communication coupled to network link 420, which is connected to local area network 422. For example, communication interface 418 can be an integrated services digital network (ISDN) card, a cable modem, a satellite modem, or a modem to provide a data communication connection with a corresponding type of telephone line. As another example, communication interface 418 can be a local area network (LAN) card to provide a data communication connection with a compatible LAN. A wireless link can also be implemented. In any such implementation, communication interface 418 sends and receives electrical signals, electromagnetic signals, or optical signals that carry digital data streams representing various types of information.
[0137] The network link 420 typically provides data communication to other data devices through one or more networks. For example, the network link 420 can provide a connection to a host computer 424 or data equipment operated by an Internet service provider (ISP) 426 through a local area network 422. The ISP 426, in turn, provides data communication services through a global packet data communication network, now generally referred to as the "Internet" 428. Both the local area network 422 and the Internet 428 use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on the network link 420 and through the communication interface 418 (carrying the digital data to and from the computer system 400) are example forms of transmission media.
[0138] Computer system 400 can send messages and receive data including program code through network(s), network link 420 and communication interface 418. In the Internet example, server 430 can transmit the code of the requested application program through Internet 428, ISP 426, local area network 422 and communication interface 418.
[0139] The received code may be executed by processor 404 as it is received, and / or stored in storage device 410 or other non-volatile storage for later execution.
[0140] 3.3. Example process for generating soil property data
[0141] In an embodiment, a non-parametric data-driven method for mapping sub-field soil properties of a farmland is proposed. The method allows various properties of sub-field soil to be determined or predicted. The properties may include SOM levels (%) measured as part of the soil, CEC levels measured in cmol / kg, and metrics of other properties such as pH, K, P, Mg, Ca, etc.
[0142] Soil information can be determined based on optical satellite imaging data, topographic soil layer data, and weather condition data. Remote sensing satellite spectral characteristic data, soil sampling measurements, topographic data, and weather characteristic data can be processed using one or more machine learning non-parametric models to generate predictions of SOM, CEC, pH, K, P, Mg, and Ca properties of sub-field soils.
[0143] In an embodiment, the prediction of sub-field soil properties can be used to generate a map of the farmland. The map can be used, for example, to identify management zones for the field and determine seeding rates and hybrids for the field. In addition, the map can be used to generate variable rate nutrient scripts for the field, seed placement scripts for the field, variable rate crop protection scripts for the field, soil sampling scripts, and irrigation management and diagnostic yield instructions for the field.
[0144] Figure 7 An example process for generating soil property data using a machine learning method is depicted. In an embodiment, the process 700 for generating soil property data using an ML method includes providing boundary data, obtaining data for a field, preprocessing the data, executing an ML model, and generating an output comprising sub-field soil property data for the field.
[0145] 3.1. Providing boundary data
[0146] In an embodiment, process 700 includes providing (702) input for specifying the boundaries of a farmland for which, for example, sub-field soil property data is sought. The input may include, for example, specification of boundary data 702A for the field. Boundary data 702A may be specified by providing longitude and latitude coordinate values for each end point of each edge of the field boundary. Other ways of providing boundary data 702A may also be implemented.
[0147] 3.2. Obtaining Field Data
[0148] In an embodiment, process 700 includes obtaining 704 data for a field for which boundary data 702A has been provided and for which sub-field soil property data is sought. The data may include satellite data 704A, temperature and precipitation data 704B, topography data 704C, and any other data that may be helpful in generating soil property data for the field.
[0149] The data 704A-704D may be requested using various methods. In one method, the data may be requested by providing boundary data 702A that specifies the boundaries of a field to one or more satellite servers, national databases, and / or research data repositories.
[0150] Satellite data 704A of agricultural fields may be obtained from satellites such as Landsat 8, Sentinel-2A, and Sentinel-2B. The obtained data may include multi-spectral data depicting field imaging.
[0151] Precipitation data 704B for agricultural fields may be obtained from various national climatological data repositories, research centers, agricultural laboratories, etc.
[0152] The topographic data 704C of the farmland can be obtained from various national geographic data repositories, research centers, agricultural laboratories, etc.
[0153] Other data 704D may include ground measurements.Alternatively or additionally, the data may include imaging data, such as digital images collected on the ground using an image capture device (such as a digital camera, sensor, etc.).
[0154] 3.2.1. Obtaining data from satellites
[0155] Satellite data 704A for farmland can be obtained from satellites. Satellite data can include weather and climate data for each field where a mapping of soil properties is sought. Examples of satellites that can be configured to provide such data include Landsat 8, Sentinel-2A, and Sentinel-2B.
[0156] The Sentinel-2 Multi-Spectral Instrument (MSI) satellite is an optical line array sensor that acquires multi-spectral data depicting agricultural fields. For example, the multi-spectral data may include 13 spectral bands from the visible (VIS) spectrum and the near infrared (NIR) spectrum to the short-wave infrared (SWIR) spectrum. The data may be provided at spatial resolutions such as 10m, 20m, and 60m and 12-bit quantization.
[0157] The MSI sensor can be configured to provide enhanced spectral capabilities to provide additional and useful bands for atmospheric conditions of farmland and fields. Examples of additional bands include the deep blue band (443nm) for capturing and representing coastal areas and areas covered by atmospheric aerosol emissions. The enhanced capabilities may also include cirrus cloud detection such as the 1375nm band, three red edge bands for detecting the presence of vegetation and water, and the SWIR band for soil property retrieval.
[0158] MSI data can be acquired using the sentinelsat Python API, which is configured to perform search, download and retrieval of data from the Copernicus Development Access Centre. The Copernicus Development Access Centre (formerly known as the Sentinels Science Data Centre) provides full, free and open access to Sentinel-1, Sentinel-2, Sentinel-3 and Sentinel-5P user products, including On-Orbit Commissioning Review (IOCR) data.
[0159] 3.2.2. Accessing environmental covariates
[0160] In addition to obtaining spectral data and indices, various geospatial datasets related to soil formation can be obtained and used in the process for generating maps of sub-field soil properties. Geospatial datasets can be used to construct stacks of environmental covariates for predictive soil modeling. For example, environmental covariates can be derived from 10m resolution and / or distorted to facilitate bicubic resampling in the Geospatial Data Abstraction Library (GDAL).
[0161] GDAL is a computer software library for reading and writing data in raster and vector geospatial data formats. GDAL is released by the Open Source Geospatial Foundation under a permissive X / MIT-style free software license.
[0162] In an embodiment, the environmental covariates include covariates based on a digital elevation model (DEM) for elevation, slope gradient, aspect, curvature, profile curvature, and plan curvature data. The data can be estimated from a 3D elevation program (3DEP) that can be obtained from the USGS website.
[0163] Environmental covariates may also include climate covariates, which represent precipitation and temperature accumulated over a period of time, such as days or weeks. The period typically includes the period for which corresponding satellite data has been obtained for farmland. As well as long-term average daily temperature and precipitation. The data may be obtained from commercially available or publicly available services that provide digital weather data. The data may be distorted to a 10m resolution corresponding to Sentinel-based satellite data.
[0164] Data preprocessing
[0165] In an embodiment, process 700 includes preprocessing (706) data collected for a farmland. Preprocessing can include removing and / or correcting time points in the satellite imaging data that represent outliers and / or contaminated data. For example, preprocessing can include removing those time points corresponding to areas in the field that happen to be areas without vegetation, such as highways, buildings, etc. The resulting data is referred to as preprocessed data.
[0166] 3.3.1. Atmospheric data correction
[0167] In an embodiment, data preprocessing 706 includes performing atmospheric-based corrections to the data, among other things. This may include detecting depictions of clouds, and classifying the images based on the detection. For example, digital images may be processed to identify those images that include pixels that depict clouds, and classify those images as having substantially limited usefulness in determining soil properties.
[0168] In a next step, data indicative of the thickness of clouds and water depicted in the classified image may be retrieved. For example, this data may be retrieved from an aerosol optical depth and water vapor (WV) data content repository.
[0169] The classified images and cloud / water thickness data can be used, for example, to generate surface reflectance data. For example, this can be performed using the MODIS / 6S method based on Sen2Cor to produce a surface reflectance map of the bottom layer of the atmosphere (BoA). For example, the process can also utilize data obtained from a data repository that stores a radiation transfer lookup table. The output can include scene classification structure control language (SCL) image data. The SCL image data can be combined with quality indicators for cloud and snow probability information. AOT and WV maps and surface (or BoA) reflectance images can be provided at different spatial resolutions (such as 60m, 20m and 10m resolutions).
[0170] 3.3.2. Bare soil pixel correction
[0171] The SCL images can be processed to identify images depicting bare soil and no clouds or snow. The identified images are used to predict sub-field soil properties.
[0172] In an embodiment, the image is processed to ensure that the image depicts a snow-free field. The image may also be processed to identify image pixels that depict clouds and shadows. Cloud / shadow detection may be performed using a digital object detection tool, such as the Popcorn-III tool. Fields having pixels identified as corresponding to depictions of clouds and / or shadows are not used for further processing. Snow pixels may be identified using, for example, a Normalized Difference Snow Index (NDSI) program. The program may analyze each pixel in the image and determine the probability that the pixel does not correspond to a depiction of snow. Pixels with a probability less than, for example, 0.2 may be removed, or identified as not being used.
[0173] The processed SCL images can be divided into multiple categories. For example, the SCL images can be divided into eleven categories, including: Category 0: No data; Category 1: Saturated pixels; Category 2: Dark features / shadows; Category 3: Cloud shadows; Category 4: Vegetation; Category 5: Bare soil; Category 6: Water; Category 7: Low probability of cloud; Category 8: Medium probability of cloud; Category 9: High probability of cloud; Category 10: Cirrus; Category 11: Snow or ice. Typically, only those images or pixels of images depicting bare soil are verified and used in the proposed method. Other pixels and / or images can be marked as unavailable.
[0174] 3.3.3. Normalization and false positive filtering
[0175] In an embodiment, a bare soil index (BSI) is used to filter out images where false positive values for bare soil have been determined. The BSI is a numerical indicator that combines blue, red, near infrared, and shortwave infrared spectral bands to capture soil variations. The spectral bands can be used in a normalized manner. For example, shortwave infrared and red spectral bands can be used to quantify soil mineral composition, while blue and near infrared spectral bands can be used to enhance the presence of vegetation. The BSI can be used in multiple remote sensing applications, such as soil mapping, crop identification (combined with NDVI), etc.
[0176] In an embodiment, to calculate the BSI of the green spectral band, the following formula may be used:
[0177]
[0178] The BSI may also be expressed as a combination of the Normalized Difference Vegetation Index (NDVI) and the Normalized Difference Building Index (NDBI). In an embodiment, the BSI index may be used to map and monitor bare soil areas.
[0179] Although equation (1) uses SWIR1, in other embodiments, SWIR2 may be used because it may perform better than the minimum NDVI threshold in terms of confusion with vegetation shadows, cloud shadows, and low-hanging clouds. The value may range between -1 and 1, with higher values indicating greater variation on bare soil. Any pixel with a BSI value less than 0.02 may be eliminated from the modeling process because bare soil may not be depicted.
[0180] In an embodiment, the Normalized Differential Display Index (NDSI) may be calculated using the following equation:
[0181]
[0182] Both equations (1) and (2) can be used to detect pixels in an image that are unlikely to depict bare soil. Both equations can also be used to eliminate false positives, which indicate pixels that depict, for example, snow, and identify pixels that depict bare soil. For modeling purposes, methods utilizing equations (1) and (2) are generally effective and efficient.
[0183] The preprocessed data may be used to extract (706B) spectral features from the data. This may include generating a data cube representation of the data. The data cube representation is also referred to herein as a data cube. For example, the data cube may be divided into layers at, for example, 10 meter resolution, according to a resolution corresponding to a frequency band of the Sentinel satellite data.
[0184] For the data in each data cube, multiple correlation indices are calculated, and multiple terrain and weather covariates are calculated.
[0185] In an embodiment, pixel values are extracted from each data cube for those points in the data cube for which SOM measurements are provided.
[0186] In an embodiment, the extracted spectral features are combined with precipitation and temperature data 704B, topography data 704C, and optionally other data 704D to form feature set 706C.
[0187] 3.3.4. Calculation of spectral index
[0188] In an embodiment, values of certain parameters used by one or more ML models are calculated. The values may include a range of standard colors, residual values, and spectral indices based on water absorption. The values may be calculated using, for example, the Sentinel 2 bands described above, which appear to be useful in ML models as they are good predictors of water content and dry mass in soil.
[0189] Figure 8Examples of vegetation indices are depicted. The accompanying drawings illustrate multiple examples of indices 802 to 808. For each of the indices, an acronym is provided in column 810 and a calculation formula is provided in column 812. The depicted indices are related to soil color, water, content, and residue. They can include Modified Crop Residue Cover 802, which has the acronym MCRC, Normalized Difference Tillage Index 804, which has the acronym NDTI, Normalized Difference Water Index 806, which has the acronym NDW7, and Transformed Soil Adjusted Vegetation Index 808, which has the acronym TSVI.
[0190] 3.4. Execute the machine learning model
[0191] Refer again Figure 7 In an embodiment, process 700 includes executing ( 708 ) one or more ML models configured to generate soil property data based on features 706C determined in step 706 .
[0192] Examples of ML models may include random forest and Gaussian process regression models. Other ML models may also be implemented.
[0193] Each of the models (such as models 708A to 708C) may evolve from one another and may include successive versions of the original model. For example, model 708A may be the first version of the model executed based on feature 706C, model 708B may be the second version of the model, and model 708N may be the nth version of the model, etc.
[0194] 3.4.1. Model Accuracy of Example ML Models
[0195] Many different ML models can be used to determine or predict sub-field soil properties of a field. In an embodiment, a Gaussian process regression model is used. The Gaussian process regression model generally provides an effective method to estimate the SOM of a field and generally outperforms other models, including the random forest model. The Gaussian regression ML model generally performs similarly for the training data set as well as the test data set. In addition, the Gaussian regression ML model provides a probabilistic, interpretable output and a measure of how uncertain the output information is.
[0196] Once execution of one or more ML models 708A-708N on the feature data 706C is completed, the model generates one or more outputs. In an embodiment, the outputs include one or more maps 710A-710C of sub-field soil property data.
[0197] In an embodiment, based on the maps 710A to 710C, various data are determined, displayed on a display device and / or stored in a storage device. For example, based on the sub-field soil properties included in the maps 710A to 710C, SOM data 710D can be derived and transmitted to, for example, a field area definition system.
[0198] 3.4.2. Soil organic matter mapping
[0199] In an embodiment, a Gaussian process regression model is performed on features specific to the farmland to produce a SOM map. The SOM map can be provided at any reasonable resolution, including 10m resolution.
[0200] Typically, the spatial variability of the predicted 10m resolution SOM map is difficult to access because only ground truth data for grid time points is available and the data is not spatially distributed. To address this issue, SmartFirmer SOM measurements can be used to augment and validate the SOM map. SmartFirmer SOM measurements are known to provide relatively good soil mapping capabilities to allow qualitative access to the spatial distribution of the SOM map. Other methods can also be implemented.
[0201] 3.4.3. Scaling of SOM Model
[0202] In an embodiment, a SOM map generated using a Gaussian regression ML model utilizes Sentinel2 remote sensing data. The proposed method allows monitoring SOM levels at a scale of 10m resolution with high accuracy. The Gaussian ML model provides acceptable spatial variability, and the method has been proven to be an effective solution because it utilizes a large amount of available measurement data. In general, the Gaussian ML model provides good results and insights into model uncertainty.
[0203] In an embodiment, the method provides improved capabilities including, for example, automated image processing of satellite imagery and more robust training of ML models using, for example, datasets across multiple years and multiple geographic locations. The improved capabilities may also include incorporating environmental condition data and providing datasets from additional sources and data repositories. Examples of additional data sources may include the National Soil Survey Center (NSSC), the Kellogg Soil Survey Laboratory (KSSL), and the USDA-NRCS Rapid Carbon Assessment (RaCA), which provides SOM data for various U.S. agricultural regions.
[0204] In an embodiment, the method is used to generate not only SOM maps, but also maps of other soil properties (such as CEC levels, pH levels, P levels, K levels, Mg levels, Ca levels, etc.).
[0205] 3.4.4. Example Flowchart
[0206] Fig. 9 Depicts an example flow chart for generating soil property data using machine learning methods. Fig. 9 The depicted process can be performed by one or more computer devices, computing systems, computing servers, or computing processors. For ease of description, assume that Fig. 9 The steps described are performed by a computer process.
[0207] In step 902, the computer process receives boundary data of the farmland. The boundary data in this step corresponds to Figure 7 Described boundary data 702A. The boundary data may specify the physical boundaries of the field and may include latitude and longitude coordinate values for each end point of each support of the field boundary. Other ways of providing boundary data may also be implemented.
[0208] In step 904, the computer process obtains field-specific data. This may include obtaining (906) satellite data 704A (e.g., Figure 7 ), obtain (908) precipitation and temperature data 704B, obtain (910) topography data 704C, and any other data that may be helpful in generating soil property data for the field.
[0209] In step 912, the computer process preprocesses the acquired data. Preprocessing may include performing (914) field-specific data correction 706A of the acquired data (e.g., Figure 7 This may also include extracting (916) spectral features 706B from the corrected data, and combining and / or normalizing (918) features 706C extracted from data obtained for the field.
[0210] In step 920, the computer process executes one or more ML models on the combined / normalized features to determine the sub-field soil properties. In an embodiment, the ML model is used to predict various soil properties of the field. The ML model may include a non-parametric ML model. Examples of non-parametric models include Gaussian process regression (GPR) models. Additional models implemented in the method may include random forest (RF) models, etc.
[0211] Examples of ML models include models 708A to 708C, such as Figure 7 The models have evolved from each other and may include successive versions of the original model.
[0212] Once the execution of one or more ML models on the combined / normalized features is completed, the model generates one or more outputs. In an embodiment, the outputs include one or more maps 710A to 710C of sub-field soil property data (e.g., Figure 7 shown).
[0213] Based on the map, various soil properties can be determined, displayed on a display device, and stored in a storage device. For example, based on the sub-field soil properties included in the map, SOM data can be derived and transmitted to, for example, a field area definition system.
[0214] In an embodiment, steps 922 to 924 are performed. In step 922, the computer system determines whether a request for one or more SOM data maps has been received. If the request has been received, the computer process continues to execute step 924. Otherwise, the computer process continues to execute step 902.
[0215] In step 924, based on the sub-field soil properties of the field, the computer process generates one or more SOM maps for the field. The SOM map can be configured to graphically depict the level of soil organic matter in the field. The accuracy of the SOM map may vary and may depend on the implementation. For example, one of the SOM maps may be provided at a 10m resolution, while other maps may be provided at a higher or lower resolution.
[0216] In an embodiment, the computer process generates not only SOM maps, but also maps of other soil properties such as CEC levels, pH levels, P levels, K levels, Mg levels, and Ca levels.
[0217] 4. Improvements provided by certain embodiments
[0218] In an embodiment, the proposed method uses a combination of various images to efficiently determine sub-field soil properties in a relatively short period of time. The method uses a combination of raw band images in the SWIR spectral region and utilizes a set of relevant indices and environmental characteristics (such as precipitation and altitude derived) to generate sub-field soil property predictions. The method addresses the difficulties of using SOM signal images with remote sensing spectrum, which leads to inaccurate predictions using previous attempts at SOM.
[0219] In an embodiment, the proposed method includes training an ML model for weather-related soil conditions using multi-temporal image-based features based on temporal dynamic patterns of soil properties. This ensures robust prediction of sub-field soil properties under different soil moisture conditions. The method provides a solution that is easily scalable across various geographic regions and time periods of interest.
Claims
1. A computer-implemented method for predicting soil properties of a sub-field for an agricultural field, the method comprising: receiving satellite remote sensing data including a plurality of images capturing imaging of a farmland in a plurality of optical domains; receiving a plurality of environmental characteristics for the farmland; generating a plurality of pre-processed images based on the plurality of images and the plurality of environmental characteristics; identifying a plurality of features of the farmland based on the plurality of pre-processed images; generating sub-field soil property predictions for the farmland by executing one or more machine learning models on the plurality of features; transmitting the sub-field soil property prediction to an agricultural computer system; The sub-field soil property prediction includes information about the predicted sub-field soil properties of the farmland; wherein the information about the predicted sub-field soil properties includes information about one or more of the following: soil organic matter content, cation exchange capacity, pH, potassium, phosphorus, magnesium or calcium.
2. The method of claim 1 , wherein the generating of the plurality of pre-processed images based on the plurality of images and the plurality of environmental characteristics comprises: correcting atmospheric artifacts in the plurality of images; The plurality of pre-processed images are selected from the plurality of images, the plurality of pre-processed images comprising pixels depicting bare earth without snow.
3. The method according to claim 1, further comprising: generating a plurality of sub-field soil property maps based on the information regarding the predicted sub-field soil properties of the farmland; The plurality of sub-field soil property maps include one or more of the following: maps with different resolutions; maps depicting different soil properties, maps depicting different geographical areas, or maps depicting geographical areas at different time points.
4. The method of claim 1, wherein the one or more machine learning models include one or more of the following: a Gaussian process regression model, a random forest model, or any other non-parametric machine learning model; The one or more machine learning models evolve from each other and include successive versions of the original machine learning model.
5. The method according to claim 1, further comprising: Based on the sub-field soil property predictions for the farmland, one or more management zones within the farmland are identified.
6. The method of claim 1, wherein the plurality of images of the satellite remote sensing data comprises one or more of: images in the visible optical domain, images in the near infrared optical domain, or images in the short wave infrared optical domain.
7. The method according to claim 1, wherein the multiple environmental characteristics for the farmland include one or more of the following: terrain data, elevation, slope, aspect, curvature of the farmland and cumulative flow data accumulated during the time period when the multiple images are captured, precipitation and temperature data, long-term daily average precipitation and temperature values, or absolute point-based soil sampling measurements of the soil of the farmland.
8. The method according to claim 1, further comprising: By executing the one or more machine learning models on the plurality of features, a plurality of uncertainty and importance indicators are generated for inputs used to generate predictions of the sub-field soil properties for the agricultural field.
9. The method of claim 1 , wherein the generating of the plurality of pre-processed images based on the plurality of images and the plurality of environmental characteristics comprises: Classify an image in the plurality of pre-processed images into one or more of the following: a no data class, a saturated pixel class, a dark feature / shadow class, a cloud shadow class, a vegetation class, a bare soil class, a water class, a cloud low probability class, a cloud medium probability class, a cloud high probability class, a cirrus cloud class, or a snow / ice class.
10. One or more non-transitory computer-readable media storing one or more computer instructions that, when executed by one or more computer processors, cause the one or more computer processors to perform: receiving satellite remote sensing data including a plurality of images capturing imaging of a farmland in a plurality of optical domains; receiving a plurality of environmental characteristics for the farmland; generating a plurality of pre-processed images based on the plurality of images and the plurality of environmental characteristics; identifying a plurality of features of the farmland based on the plurality of pre-processed images; generating sub-field soil property predictions for the farmland by executing one or more machine learning models on the plurality of features; transmitting the sub-field soil property prediction to an agricultural computer system; The sub-field soil property prediction includes information about the predicted sub-field soil properties of the farmland; wherein the information about the predicted sub-field soil properties includes information about one or more of the following: soil organic matter content, cation exchange capacity, pH, potassium, phosphorus, magnesium or calcium.
11. The one or more non-transitory computer-readable media of claim 10, wherein the generating of the plurality of pre-processed images based on the plurality of images and the plurality of environmental characteristics comprises: correcting atmospheric artifacts in the plurality of images; The plurality of pre-processed images are selected from the plurality of images, the plurality of pre-processed images comprising pixels depicting bare earth without snow.
12. One or more non-transitory computer-readable media according to claim 10, storing additional instructions for: generating multiple sub-field soil property maps based on the information about the predicted sub-field soil properties of the farmland; wherein the multiple sub-field soil property maps include one or more of the following: maps with different resolutions; maps depicting different soil properties, maps depicting different geographic areas, or maps depicting geographic areas at different points in time.
13. The one or more non-transitory computer-readable media of claim 10, wherein the one or more machine learning models include one or more of: a Gaussian process regression model, a random forest model, or any other non-parametric machine learning model; The one or more machine learning models evolve from each other and include successive versions of the original machine learning model.
14. The one or more non-transitory computer-readable media of claim 10 storing additional instructions for identifying one or more management zones within the farmland based on the sub-field soil property predictions for the farmland.
15. The one or more non-transitory computer-readable media of claim 10, wherein the plurality of images of the satellite remote sensing data comprises one or more of: images in the visible optical domain, images in the near infrared optical domain, or images in the short-wave infrared optical domain.
16. One or more non-transitory computer-readable media according to claim 10, wherein the multiple environmental characteristics of the farmland include one or more of the following: terrain data, elevation, slope, aspect, curvature and cumulative flow data accumulated during the time period when the multiple images were captured, precipitation and temperature data for the farmland, long-term daily average precipitation and temperature values, or absolute point-based soil sampling measurements of the soil of the farmland.
17. One or more non-transitory computer-readable media according to claim 10, storing additional instructions for: generating multiple uncertainty and importance indicators for inputs by executing the one or more machine learning models on the multiple features, the inputs being used to generate soil property predictions for the sub-fields of the farmland.
18. The one or more non-transitory computer-readable media of claim 10, wherein the generating of the plurality of pre-processed images based on the plurality of images and the plurality of environmental characteristics comprises: Classify images in the plurality of pre-processed images into one or more of the following: no data class, saturated pixel class, dark feature / shadow class, cloud shadow class, vegetation class, bare soil class, water class, low cloud probability class, medium cloud probability class, high cloud probability class, cirrus cloud class, or snow / ice class.
Citation Information
Patent Citations
Systems, methods and apparatus for multi-row agricultural implement control and monitoring
US20150094916A1
Methods for agronomic and agricultural monitoring using unmanned aerial systems
US20160050840A1
Generating agricultural information products using remote sensing
US8712148B2
Planter monitor system and method
US8738243B2
Automated soil measurement device
US8767194B2
Cited By
Soil inversion method for complex terrain and cross-regional generalization, medium, equipment and product
CN122655011A
