[go: up one dir, main page]

WO2024009284A1 - Systems and methods to identify plant species and varieties using computer vision and intelligent technologies - Google Patents

Systems and methods to identify plant species and varieties using computer vision and intelligent technologies Download PDF

Info

Publication number
WO2024009284A1
WO2024009284A1 PCT/IB2023/057044 IB2023057044W WO2024009284A1 WO 2024009284 A1 WO2024009284 A1 WO 2024009284A1 IB 2023057044 W IB2023057044 W IB 2023057044W WO 2024009284 A1 WO2024009284 A1 WO 2024009284A1
Authority
WO
WIPO (PCT)
Prior art keywords
images
geographic areas
training
image
patches
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IB2023/057044
Other languages
French (fr)
Inventor
Ricardo DE PAULA MENEGHELLI
Cesar OLIVEIRA
Diego Sanchez Gallo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Centro De Tecnologia Canavieira SA
Original Assignee
Centro De Tecnologia Canavieira SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centro De Tecnologia Canavieira SA filed Critical Centro De Tecnologia Canavieira SA
Publication of WO2024009284A1 publication Critical patent/WO2024009284A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/13Satellite images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/17Terrestrial scenes taken from planes or by drones
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/188Vegetation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/194Terrestrial scenes using hyperspectral data, i.e. more or other wavelengths than RGB

Definitions

  • the present disclosure relates to systems and methods for classifying agricultural plant varieties and species using computer vision and machine learning classifiers.
  • sugarcane variety classification currently are achieved in two different ways: analyzing genetic information extracted from live individuals looking for specific patterns manifested in different species, or with a protocol with more than 8 steps to visually classify the varieties based on morphological characteristics such as form, texture and color of the leaves, nodes size, and internode aspects, among others.
  • biometric analysis is considered important as depending on field and climatic conditions during production seasons, some morphological characteristics should be impacted and demonstrate relevant phenotypic alterations.
  • the first method (analyzing genetic information from extracted plants) is costly and depends on physically collecting samples of each crop field in order to classify the species or varieties. Additionally, for some species, as for example sugarcane, the complexity of the polyploid and aneuploid genome of modem hybrid varieties, imposes challenges on development of variety classification methods base on genetic information. [0006]
  • the second method is time consuming, subject to variation due to environment conditions and highly dependent on a very skilled personnel doing a detailed visual inspection for the classification, especially to identify color variations and formats, either in person or with high quality images capturing details of the plant being analyzed from specific angles (e.g., details from leaves, stalks, and internodes, among others). Thus, both processes do not scale up for large areas such as the whole country (for instance sugar cane being grown in the entire country of Brazil, as well large area of India, China, Thailand and other countries).
  • Physiological distinction between plant species and varieties affects, e.g.., carbon and mineral cycles and methane emissions, interfering on conclusions about the environmental impacts of land use.
  • Examples of important crops in terms of cultivated area around the world are: barley, cassava, cotton, groundnuts or peanuts, maize, millet, oil palm fruit, potatoes, rapeseed or canola, rice, rye, sorghum, soybeans, sugar cane, sugar beets, sunflower, citrus, and wheat.
  • a method for identifying plants growing in one or more geographic areas comprises: receiving a plurality of images of the one or more geographic areas that contain one or more plants, selecting one or more images from the plurality of images for classification, cropping the selected images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas, converting the selected images into one or more image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas, applying a machine learning classifier to each patch of the one or more image patches to generate one or more classifications, wherein the machine learning classifier is created using a supervised training process that comprises using one or more annotated images to train the machine learning classifier, and identifying one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier.
  • the supervised training process comprises: receiving a plurality of training images from one or more geographic areas that contain a known plant, cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant, converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant, applying one or more annotations to the training image patches to indicate a plant contained within each training image patch, and processing each training image and its corresponding one or more annotations by the machine classifier.
  • the annotations of the training images can identify a specific target (e.g., a variety or a species) or can identify a target as pertaining to a specific group (e.g., a group of varieties or species).
  • the model can classify a target or a group of targets by binary or multiclass classifications (using one or multiple steps).
  • the received plurality of training images from one or more geographic areas are captured from a plurality of months during a plantation lifecycle.
  • the method comprises applying a segmentation process to each of the selected one or more images.
  • the segmentation process comprises calculating a normalized difference vegetation index (ND VI) for each image of the selected one or more images.
  • ND VI normalized difference vegetation index
  • the segmentation process comprises calculating a soil-adjusted vegetation index (SAVI) for each image of the selected one or more images.
  • SAVI soil-adjusted vegetation index
  • identifying the one or more plants growing in the one or more geographic areas based one or more classifications generated by the machine learning classifier comprises receiving a classification of each image patch of the one or more image patches and determining a majority classification from the received classification of each image patch.
  • identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises classifying the plant growing in the one or more geographic areas based on the majority classification corresponding to the one or more image patches corresponding to the geographic area.
  • the machine classifier is implemented using one or more convolution neural networks (CNNs). Additionally or alternatively, recurrent neural networks and/or classical statistical models for image and time series processing may be used.
  • the CNN includes a plurality of convolutional blocks selected from the group consisting of a batch normalization block, a dropout block, and ReLU activation block.
  • the received plurality of images are multispectral images.
  • the received plurality of images are hyperspectral images.
  • the received plurality of images are RGB images. Additionally or alternatively, the received plurality of images are SAR (Synthetic Aperture Radar) images.
  • the received plurality of images of the one or more geographic areas are taken from a satellite.
  • the received plurality of images of the one or more geographic areas are taken from an airplane.
  • the received plurality of images of the one or more geographic areas are taken from an unmanned aerial vehicle (UAV).
  • UAV unmanned aerial vehicle
  • converting the selected images into one or more patches comprises up- sampling the one or more image patches.
  • a system for identifying plants growing in one or more geographic areas comprises: one or more processors, memory comprising a local storage, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: receiving a plurality of images of the one or more geographic areas that contain one or more plants, selecting one or more images from the plurality of images for classification, cropping the selected images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas, converting the selected images into one or more image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas, applying a machine learning classifier to each patch of the one or more image patches to generate one or more classifications, wherein the machine learning classifier is created using a supervised training process that comprises
  • the supervised training process comprises: receiving a plurality of training images from one or more geographic areas that contain a known plant, cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant, converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant, applying one or more annotations to the training image patches to indicate a plant contained within each training image patch, and processing each training image and its corresponding one or more annotations by the machine classifier.
  • the annotations of the training images can identify a specific target (e.g., a variety or a species) or can identify a target as pertaining to a specific group (e.g., a group of varieties or species).
  • the model can classify a target or a group of targets by binary or multiclass classifications (using one or multiple steps).
  • the received plurality of training images from one or more geographic areas are captured from a plurality of months during a plantation lifecycle.
  • the segmentation process comprises calculating a normalized difference vegetation index (ND VI) for each image of the selected one or more images.
  • ND VI normalized difference vegetation index
  • the segmentation process comprises calculating a soil-adjusted vegetation index (SAVI) for each image of the selected one or more images.
  • SAVI soil-adjusted vegetation index
  • the received plurality of images are multispectral images.
  • the received plurality of images are hyperspectral images.
  • the received plurality of images are RGB images. Additionally or alternatively, the received plurality of images are SAR (Synthetic Aperture Radar) images.
  • the supervised training process comprises: receiving a plurality of training images from one or more geographic areas that contain a known plant, cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant, converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant, applying one or more annotations to the training image patches to indicate a plant contained within each training image patch, and processing each training image and its corresponding one or more annotations by the machine classifier.
  • the annotations of the training images can identify a specific target (e.g., a variety or a species) or can identify a target as pertaining to a specific group (e.g., a group of varieties or species).
  • the model can classify a target or a group of targets by binary or multiclass classifications (using one or multiple steps).
  • the received plurality of training images from one or more geographic areas are captured from a plurality of months during a plantation lifecycle.
  • the one or more processors are caused to apply a segmentation process to each of the selected one or more images.
  • the segmentation process comprises calculating a normalized difference vegetation index (ND VI) for each image of the selected one or more images.
  • ND VI normalized difference vegetation index
  • the segmentation process comprises calculating a soil-adjusted vegetation index (SAVI) for each image of the selected one or more images.
  • SAVI soil-adjusted vegetation index
  • identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises classifying the plant growing in the one or more geographic areas based on the majority classification corresponding to the one or more image patches corresponding to the geographic area.
  • the CNN includes a plurality of convolutional blocks selected from the group consisting of a batch normalization block, a dropout block, and ReLU activation block.
  • the received plurality of images are multispectral images.
  • the received plurality of images are hyperspectral images.
  • the received plurality of images are RGB images. Additionally or alternatively, the received plurality of images are SAR (Synthetic Aperture Radar) images.
  • the received plurality of images of the one or more geographic areas are taken from an airplane.
  • the received plurality of images of the one or more geographic areas are taken from an unmanned aerial vehicle (UAV).
  • UAV unmanned aerial vehicle
  • FIG. 1 illustrates an exemplary process for training and validating a machine learning classifier according to examples of the disclosure.
  • FIG. 3 illustrates an exemplary process for classifying unknown crop species and varieties using a machine classifier according to examples of the disclosure.
  • FIG. 4 illustrates a visual depiction of the image processing steps used to classify an unknown crop species and varieties using a machine learning classifier according to examples of the disclosure.
  • FIG.5 illustrates an example of a computing device according to examples of the disclosure.
  • Certain aspects of the present invention include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the present invention could be embodied in software, firmware, or hardware, and, when embodied in software, could be downloaded to reside on and be operated from different platforms used by a variety of operating systems.
  • the present invention also relates to a device for performing the operations herein.
  • This device may be specially constructed for the required purposes, or it may comprise a generalpurpose computer selectively activated or reconfigured by a computer program stored in the computer.
  • a computer program may be stored in a non-transitory, computer-readable storage medium, such as, but not limited to, any type of disk, including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application-specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions and each coupled to a computer system bus.
  • any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application-specific integrated circuits (ASICs), or any type of media suitable for
  • the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
  • the processing frameworks referred to herein can include a cloud architecture, with process orchestration systems for on-demand processing scalability. Any of the processing operations described herein may be performed by a single processor, multiple processors, distributed processor systems, and/or cloud architecture processing systems.
  • the methods, devices, and systems described herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below.
  • the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein.
  • Identifying the species, sub-species or the variety of a single plant can be a simple and quick process.
  • One method can be to physically extract a sample of the plant growing in a field and performing a genetic analysis to ascertain what species of plant or variety of that species it is.
  • Another method can involve performing a visual inspection of the plant and looking for physical markers (such as leave, stalks, internodes, etc.) that indicate the species or variety of plant. While the above methods can be straightforward for a single plant, these methods may not be efficient when attempting to analyze a large area or field of plants. For instance, it may not be efficient to extract physical samples of every plant growing in a field, and visual identification may prove to be too cumbersome and time intensive to be performed at scale on a large field.
  • the methodologies available for identification require a long-term process and a very skilled person to yield accurate results.
  • What is needed is a method for classifying plants that can provide quick and accurate results, and can be used for classifications of plant species and varieties in large geographic areas.
  • employing the use of machine-learning based classifiers to automatically and efficiently classify the plant species and varieties growing in a large geographic area can allow for the classification of plant species and/or varieties massively and quickly in very large territories.
  • the process of processing images used to train and apply a classifier can be tailored to ensure that the classification generated by such classifiers is accurate to an acceptable level.
  • the method for building and training the classifier can be important to ensure that the classifier makes classifications with a high-level of accuracy.
  • the method of using the classifier can also be important to ensure a high-fidelity classification.
  • FIG. 1 illustrates an exemplary process for training and validating a machine learning classifier to classify plant species and varieties according to examples of the disclosure.
  • the process 100 of FIG. 1 can be used to generate an annotated data set that can be used to then train a machine learning classifier to automatically and efficiently classify plant species and varieties found in a particular geographic area.
  • the process 100 can begin at step 102 wherein images are selected to train and validate the classifier.
  • the images used to train and validate a classifier can be selected from one or more commercially available sources such as the Sentinel-2 Satellite or other image databases.
  • more than one image per area can be used to train and validate a classifier, adding variation to the computer method and system.
  • distinct classifiers can be trained for each month during the plantation lifecycle and the multiple classifiers can be combined in the end of the process, which can result in larger plantations areas identified with increased confidence and accuracy.
  • the Sentinel-2 the Military Grid Reference System (MGRS) can be used as reference to download a tile image that covers an area of approximately 100km x 100km (1 million hectares).
  • MGRS Military Grid Reference System
  • Each Sentinel-2 image has 13 spectral bands with different wavelengths, from the Visible (VNIR) and Near Infra-Red (NIR) to the Short Wave Infra- Red (SWIR).
  • VNIR Visible
  • NIR Near Infra-Red
  • SWIR Short Wave Infra- Red
  • the metadata of the satellite images can be analyzed to find available images in the period that corresponds to the beginning of the harvest season.
  • images corresponding to the beginning of the harvest season for instance the month of April in Brazil
  • two or more images from each area can be selected during the crop lifecycle.
  • two or more images from each area can be selected during the period that corresponds to the harvest season of the crop.
  • at least twelve images from the same location are selected during crop lifecycle. Images from the same location but different months or periods can be used to train and validate classifiers that will be able to learn specific characteristics of each species or variety that are dominant in that period, adding to the model morphological and environmental condition variations captured by satellite images, which can help with the accurate classification of different species and varieties throughout the year.
  • the combination of the results obtained from the classification in the different months or periods can be combined in order to (i) improve the accuracy of the classification for different species and varieties, (ii) be able to classify early stage crop fields that might be too young in some images, as well as crop fields that might be covered by clouds in multiple images captured by the satellite, and (iii) increase the confidence and accuracy of the classification based on the consistence in the results throughout multiple months or periods for each crop field, (e.g., how many months provides the same classification, representing consensus from the different trained classifiers for each month or period.) Additionally or alternatively, a soil and/or vegetation indexes can be used to identify and discard images from areas with low vegetation cover.
  • SAVI Soil-adjusted vegetation index
  • ND VI Normalized difference vegetation index
  • SAVI index lower than 0.3 are used to identify images that should be disregarded.
  • the process 100 can move to step 104 wherein the annotations applied to the image set for classifier training can be generated.
  • the labeled dataset for training and validating the model can be created using an annotated geospatial database that includes information of crop fields in which the different species and varieties are planted.
  • a large annotated database can be critical to properly train the model, for instance, in one or more examples; in order to generate the necessary annotations for a training set to identify sugar cane varieties a proprietary database comprising 2.5 million hectares of sugar cane crop fields with different varieties planted can be utilized to generate the needed annotations.
  • annotations of training images can identify a specific target (e.g., a variety or a species) or can identify a target as pertaining to a specific group (e.g., a group of varieties or species).
  • the model can classify a target or a group of targets by binary or multiclass classifications (using one or multiple steps).
  • each image selected at step 102 can be annotated with the information extracted from the proprietary database at step 104.
  • step 102 and 104 occur concomitantly (in parallel), at the same processing time.
  • each image is cropped and sliced to generate individual samples used for training the classifier.
  • the shapes that delimit each crop field containing a specific species and variety can be used to crop the image of that sugar cane plantation.
  • the shape of crop fields is defined based on information from a pre-existent proprietary georeferenced database.
  • each identified crop field can be further sliced in patches of 8 pixels by 8 pixels (representing an area of 80m by 80m), finally creating the labeled dataset that are going to be used for training the model.
  • a fixed size patch can be used to allow for the proper training of a Neural Network (e.g., to feed the input layer).
  • different patch sizes can be empirically determined in order to define the optimal size for the specific images selected to train the classifier and associated with a particular plant species or variety to be classified (e.g., image resolution and spectral bands available, amount of labeled data, shapes of the crop fields).
  • the step of cropping the image into fixed sized patches can include ignoring the pixels at the border of each crop field, through an erosion operation, to avoid the noise that might be present due to the satellite sensors receiving the reflectance both from the plantation as well as neighboring areas, which can contain naked soil, other plantations and plantations from other species, a street, a construction or any other material.
  • the slicing process can also include using a sliding window technique to perform up-sampling in order to reduce the challenges due to the limited area available for the species/variety that have smaller market share.
  • the process of using a sliding window in the cropping process can include cropping regions with partial overlap, and moving the crop mask in smaller steps than the patch size.
  • moving the mask in steps of four pixels instead of eight pixels can make the required the number of samples obtained for training roughly (depending on shape boundaries) multiplied by 4. Up- sampling can be critical to achieving a reasonable number of samples for each species or variety, achieving a balanced training set, and allowing the model to learn how to distinguish between different species or varieties.
  • the process 100 can move to step 108, wherein the annotations generated at step 104 can be applied to each individual slice created at step 106. Furthermore, once the annotations have been applied at step 108, the process 100 can move to step 110 wherein each generated slice can be normalized to better handle differences in the reflectance captured during the satellite imagining process, thus making sure that the comparison between samples is more accurate.
  • the normalization of the sample images at step 110 can be done by adjusting the different ranges in the reflectance of each band to the same range with a linear transformation using the min/max values of each band.
  • different values can be chosen as min/max to remove the effect of outliers in the normalization and/or to saturate the image in certain ranges.
  • a transformation based on the distribution or histogram of each band can be employed to normalize the images in different ways for each bucket or percentile.
  • a robust scaler transform can be used to normalize the image scaling features using statistics that are robust to outliers.
  • the process 100 can move to step 112 wherein the labeled dataset can be split to create training, validation, and testing sets.
  • the slices from a single plantation can be kept together in the same set to avoid information leakage between training, validation, and testing sets.
  • the training set must be balanced, e.g., with the same number of samples for each species/ variety, thus restricting the number of samples that can be used by the species/variety that have the least number of known crop fields in a particular geospatial labeled database.
  • the process 100 at step 112 can include down- sampling, e.g., randomly choosing the ones to be used during the training process, while for the species/varieties that have a lower number of samples, the process 100 can employ an up-sampling technique using sliding windows as described above.
  • the process 100 can move to step 114 wherein the classifier is trained using the training set.
  • the training set can be fed to a machine learning model, so the machine learning model can learn how to classify the species or varieties of each image patch of plantations.
  • the training set can be fed to a neural network model, so the neural network can learn how to classify the species or varieties of each image patch of plantations.
  • a deep neural network algorithm was chosen to avoid the need of building hand-engineered features that requires prior knowledge and human effort in feature design, given that experiments with traditional models using commonly used features such as average and standard deviation of the reflectance for each spectral bands and indexes such as ND VI (Normalized Difference Vegetation Index) and others didn’t produce accurate results.
  • a Convolutional Neural Network a class of deep neural networks, can be utilized as the classifier due to its distinguishing features towards image classification problems, allowing the exploitation of strong spatial local correlation present in images, translational invariance, and shared- weights architecture, which can reduce the number of parameters learned and memory requirements for training such networks, allowing CNNs to better generalize on vision oriented tasks.
  • recurrent neural networks, other artificial neural networks, other machine learning architectures, and/or classical statistical models for image and time series processing may be used.
  • a CNN architecture can be designed using three convolutional blocks, each one including convolution, batch normalization, dropout, and ReLU activation, followed by a fully connected layer.
  • the input to the CNN can be an 8x8x13 multispectral image (8 pixels by 8 pixels by 13 spectral channels), and the output can be the predicted plant species or variety code.
  • the size of the patches, described throughout this disclosure as 8x8x13, is meant only as an example, and the size can be adjusted depending on the resolution of the image source, the number of spectral channels available in the image, the average size of crop fields and the amount of labeled fields available.
  • a CNN architecture can be used to allow the network to be deep enough to abstract the needed knowledge representations to learn how to identify the different plant species or variety, while controlling the depth to keep the network feasible to be trained with the amount of labeled data and image samples we have available.
  • the CNN can be trained using Adam and a decaying learning rate to make the model explore more in the beginning and perform fine adjustments in the end.
  • This CNN algorithm can be chosen due to its adaptive learning rate optimization that allows huge performance gains in terms of speed of training deep neural networks.
  • the number of convolutional blocks in the neural network and other hyperparameters such as the learning rate can also be adjusted according to the dataset available for training and applying the model, using experimentation and hyperparameter optimization techniques.
  • FIG. 2 illustrates a visual depiction of the image processing steps used to train a machine learning classifier according to examples of the disclosure.
  • the process 200 of FIG. 2 can represent a visual depiction of the process 100 described above with respect to FIG. 1.
  • the images from an image database can be cropped as described above with respect to step 106.
  • the shapes that delimit each crop field containing a specific species/variety can be further used to crop the image of that plantation as depicted at step 204.
  • the process can move to step 206 wherein the 8x8 patches are created as described above with respect to step 106 of FIG. 1.
  • each individual annotated patch can be fed into a CNN so as to train the classifier at step 208.
  • the output of the CNN can produce one or more classifications for each patch fed into the CNN.
  • the trained model can be used to predict the species or variety of an unknown plantation.
  • applying the classifier can involve the same process as training the classifier with respect to cropping, slicing, and preparing images for input into the classifier.
  • two additional steps can be included in the process when applying the classifier to classify an unknown crop species or variety: a segmentation step in the beginning of the process, to segment each crop field unit in a given region of interest, and a voting step, to combine the results of each 8x8 patch from the same crop unit into a more robust prediction.
  • FIG. 3 illustrates an exemplary process for classifying unknown crop species/variety using a machine classifier according to examples of the disclosure.
  • the process 300 of FIG. 3 wherein similar to step 102 of FIG. 1, images for classification are selected. Similar to step 102, the images selected at step 302 can be selected based on the growing season in which the image was captured or other features that ensure that the crops to be classified are at their peak visibility in the images.
  • the process 300 can move to step 304, wherein the selected images undergo a segmentation process.
  • the image segmentation process (carried out at step 304) can involve calculating the ND VI (Normalized Difference Vegetation Index) on the regions of interest to visually enhance the naked soil that usually separates different fields, and applying the Felzenszwalb graph-based segmentation algorithm (Felzenszwalb & Huttenlocher, 2004) on the resulting image to segment the individual crop fields.
  • ND VI Normalized Difference Vegetation Index
  • Other indexes in replacement of ND VI such as SAVI - Soil- Adjusted Vegetation Index
  • other segmentation algorithms in replacement of Felzenszwalb could also be used with no detriment to the invention disclosed herein.
  • a single field or region can comprise multiple slices. Therefore, to ensure accurate classification, once the slices have each been classified at step 308, the process 300 can move to step 310 wherein a voting process is applied to the classified slices in order to ensure maximum accuracy of the classification results.
  • the voting process performed at step 310 can combine the results of the model applied to each patch (e.g., slice) from an individual field, gathering consensus (majority voting) and improving the accuracy of the final prediction, choosing the predominant classification as the species/variety for that crop field.
  • FIG. 4 illustrates a visual depiction of the image processing steps used to classify an unknown crop species/varieties using a machine learning classifier according to examples of the disclosure.
  • the process depicted in FIG. 4 shows that the cropped images (cropped at step 306) and the field segmentation algorithm (applied at step 304) can be used to create one or more crop units 406. After the crop units (which represent a particular field of the same crop) are created, they are sliced into 8x8 patches as depicted at step 408. Each patch is then fed into a CNN classifier to perform the classification as depicted at 410.
  • the output of the classifier can produce a plurality of classified patches in which each patch fed into the CNN can be assigned a classification as depicted at 412. As depicted at 414, using the voting procedure described in at step 310 with respect to FIG. 3, each of the crop units generated at 406 can be classified. Finally, in one or more examples, the classified units can be stored and used to create a visualization (representing the classifier results) as depicted at step 418.
  • FIG. 5 illustrates an example of a computing device in accordance with one embodiment.
  • Device 500 can be a host computer connected to a network.
  • Device 500 can be a client computer or a server.
  • device 500 can be any suitable type of microprocessor-based device, such as a personal computer, workstation, server, or handheld computing device (portable electronic device), such as a phone or tablet.
  • the device can include, for example, one or more of processors 502, input device 506, output device 508, storage 510, and communication device 504.
  • Input device 506 and output device 508 can generally correspond to those described above and can either be connectable or integrated with the computer.
  • Input device 506 can be any suitable device that provides input, such as a touch screen, keyboard or keypad, mouse, or voice-recognition device.
  • Output device 508 can be any suitable device that provides output, such as a touch screen, haptics device, or speaker.
  • Software 512 which can be stored in storage 510 and executed by processor 502, can include, for example, the programming that embodies the functionality of the present disclosure (e.g., as embodied in the devices as described above).
  • Software 512 can also be stored and/or transported within any non-transitory computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as those described above, that can fetch instructions associated with the software from the instruction execution system, apparatus, or device and execute the instructions.
  • a computer-readable storage medium can be any medium, such as storage 510, that can contain or store programming for use by or in connection with an instruction execution system, apparatus, or device.
  • Software 512 can also be propagated within any transport medium for use by or in connection with an instruction execution system, apparatus, or device, such as those described above, that can fetch instructions associated with the software from the instruction execution system, apparatus, or device and execute the instructions.
  • a transport medium can be any medium that can communicate, propagate, or transport programming for use by or in connection with an instruction execution system, apparatus, or device.
  • the transport readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, or infrared wired or wireless propagation medium.
  • Device 500 may be connected to a network, which can be any suitable type of interconnected communication system.
  • the network can implement any suitable communications protocol and can be secured by any suitable security protocol.
  • the network can comprise network links of any suitable arrangement that can implement the transmission and reception of network signals, such as wireless network connections, T1 or T3 lines, cable networks, DSL, or telephone lines.
  • Device 500 can implement any operating system suitable for operating on the network.
  • Software 512 can be written in any suitable programming language, such as C, C++, Java, or Python.
  • application software embodying the functionality of the present disclosure can be deployed in different configurations, such as in a client/server arrangement or through a Web browser as a Web-based application or Web service, for example.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Astronomy & Astrophysics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Methods and systems to identify plants on crop fields using satellite images are provided. Starting from prior knowledge regarding crop fields that have different plants, multi-spectral images obtained from satellites are used to train a machine learning model to afterwards classify plants of unknown crop fields. To allow classification with high precision, the data is prepared before training and applying the model, including by identifying and filtering images that do not have enough vegetation coverage, applying a robust normalization to the reflectance captured on each wavelength, segmenting each crop field unit in a farm, and slicing images of each unit in image fragments. This process is done both for training the model, splitting the labeled dataset into training, validation, and test sets, as well as for applying the model after training. The architecture of the neural network used is tuned to achieve good results even with limited image resolution.

Description

SYSTEMS AND METHODS TO IDENTIFY PLANT SPECIES AND VARIETIES USING COMPUTER VISION AND INTELLIGENT TECHNOLOGIES
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority benefit of United States Provisional Patent Application No. 63/359,622, filed July 8, 2022, the contents of which are hereby incorporated by reference herein in their entirety.
FIELD OF THE DISCLOSURE
[0002] The present disclosure relates to systems and methods for classifying agricultural plant varieties and species using computer vision and machine learning classifiers.
BACKGROUND OF THE DISCLOSURE
[0003] The ability to quickly and efficiently classify plant species and varieties being grown in a large geographic area can provide insight into the diversity of plant life of a particular region and can also help to monitor use and market share of commercial plant species and varieties and define commercial strategies and policies for a long term maintenance of highly productive and disease monitoring plantations, representing a useful tool to land managers, planners, and policy makers.. However, especially when dealing with large geographic areas, time efficient classification can be challenging.
[0004] Monitoring vegetative growing species or plant varieties, e.g. sugarcane, potatoes, bamboo, banana, and others, can become even more challenging as the market for a specific variety can develop independently from seed producers. Specific varieties can be self- maintained by the growers which, generally produced their own plantlets for expansion of cultivated area. Specifically, for sugarcane, in the last 20 years, production has been increased as a result not just of the increase on productivity of plantations, but also is based on the increase on diversity of cultivated varieties, allowing the expansion of cultivated areas to other geographical regions. This geographical expansion and the development of adapted varieties to different edaphoclimatic conditions, can impact the sustainability of sugarcane market, which can be supported by the continuously supplying to the market of new and local adapted germplasm and also by the capacity to control diseases and pests. The development of highly local adapted cultivars and the increase on the diversity of commercial cultivated varieties as a strategy for disease control requires the ability to monitor the geographical distribution of varieties, guaranteeing the best use of the new germplasms and enabling the best results in terms of productivity and disease control.
As for other plant species and varieties, sugarcane variety classification currently are achieved in two different ways: analyzing genetic information extracted from live individuals looking for specific patterns manifested in different species, or with a protocol with more than 8 steps to visually classify the varieties based on morphological characteristics such as form, texture and color of the leaves, nodes size, and internode aspects, among others. Besides, to classify the varieties based on morphological characteristics, biometric analysis is considered important as depending on field and climatic conditions during production seasons, some morphological characteristics should be impacted and demonstrate relevant phenotypic alterations.
[0005] The first method (analyzing genetic information from extracted plants) is costly and depends on physically collecting samples of each crop field in order to classify the species or varieties. Additionally, for some species, as for example sugarcane, the complexity of the polyploid and aneuploid genome of modem hybrid varieties, imposes challenges on development of variety classification methods base on genetic information. [0006] The second method is time consuming, subject to variation due to environment conditions and highly dependent on a very skilled personnel doing a detailed visual inspection for the classification, especially to identify color variations and formats, either in person or with high quality images capturing details of the plant being analyzed from specific angles (e.g., details from leaves, stalks, and internodes, among others). Thus, both processes do not scale up for large areas such as the whole country (for instance sugar cane being grown in the entire country of Brazil, as well large area of India, China, Thailand and other countries).
[0007] Besides monitoring of specific crops plantations to guarantee the best practices of each culture and the authorized use of protected varieties, systems and methods for identification of plant species and varieties are also applicable and important for characterizing the geographic extent and nature of human-dominated ecosystems to understanding the environmental impacts of land use and land cover change. In order to characterize agricultural land cover globally, the development of a system able to calibrate satellite-derived land cover data against agricultural census data is fundamental and, despite the significant increase of the number of satellite image data available, these image resources still need a system to correctly classify species and varieties. Detailed information on agricultural land use practices (such as cropping systems) is necessary to understand the environmental consequences of cultivated ecosystems. Physiological distinction between plant species and varieties affects, e.g.., carbon and mineral cycles and methane emissions, interfering on conclusions about the environmental impacts of land use. Examples of important crops in terms of cultivated area around the world are: barley, cassava, cotton, groundnuts or peanuts, maize, millet, oil palm fruit, potatoes, rapeseed or canola, rice, rye, sorghum, soybeans, sugar cane, sugar beets, sunflower, citrus, and wheat. SUMMARY OF THE DISCLOSURE
[0008] In one or more examples, a method for identifying plants growing in one or more geographic areas comprises: receiving a plurality of images of the one or more geographic areas that contain one or more plants, selecting one or more images from the plurality of images for classification, cropping the selected images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas, converting the selected images into one or more image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas, applying a machine learning classifier to each patch of the one or more image patches to generate one or more classifications, wherein the machine learning classifier is created using a supervised training process that comprises using one or more annotated images to train the machine learning classifier, and identifying one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier.
[0009] Additionally or alternatively, the supervised training process comprises: receiving a plurality of training images from one or more geographic areas that contain a known plant, cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant, converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant, applying one or more annotations to the training image patches to indicate a plant contained within each training image patch, and processing each training image and its corresponding one or more annotations by the machine classifier. Optionally, the annotations of the training images can identify a specific target (e.g., a variety or a species) or can identify a target as pertaining to a specific group (e.g., a group of varieties or species). In that sense, the model can classify a target or a group of targets by binary or multiclass classifications (using one or multiple steps).
[0010] Additionally or alternatively, the received plurality of training images from one or more geographic areas are captured from a plurality of months during a plantation lifecycle.
[0011] Additionally or alternatively, the method comprises applying a segmentation process to each of the selected one or more images.
[0012] Additionally or alternatively, the segmentation process comprises calculating a normalized difference vegetation index (ND VI) for each image of the selected one or more images.
[0013] Additionally or alternatively, the segmentation process comprises calculating a soil-adjusted vegetation index (SAVI) for each image of the selected one or more images.
[0014] Additionally or alternatively, identifying the one or more plants growing in the one or more geographic areas based one or more classifications generated by the machine learning classifier comprises receiving a classification of each image patch of the one or more image patches and determining a majority classification from the received classification of each image patch.
[0015] Additionally or alternatively, identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises classifying the plant growing in the one or more geographic areas based on the majority classification corresponding to the one or more image patches corresponding to the geographic area. [0016] Additionally or alternatively, the machine classifier is implemented using one or more convolution neural networks (CNNs). Additionally or alternatively, recurrent neural networks and/or classical statistical models for image and time series processing may be used.
[0017] Additionally or alternatively, the CNN includes a plurality of convolutional blocks selected from the group consisting of a batch normalization block, a dropout block, and ReLU activation block.
[0018] Additionally or alternatively, the received plurality of images are multispectral images.
[0019] Additionally or alternatively, the received plurality of images are hyperspectral images.
[0020] Additionally or alternatively, the received plurality of images are RGB images. Additionally or alternatively, the received plurality of images are SAR (Synthetic Aperture Radar) images.
[0021] Additionally or alternatively, the received plurality of images of the one or more geographic areas are taken from a satellite.
[0022] Additionally or alternatively, the received plurality of images of the one or more geographic areas are taken from an airplane.
[0023] Additionally or alternatively, the received plurality of images of the one or more geographic areas are taken from an unmanned aerial vehicle (UAV).
[0024] Additionally or alternatively, converting the selected images into one or more patches comprises up- sampling the one or more image patches. [0025] In one or more examples, a system for identifying plants growing in one or more geographic areas comprises: one or more processors, memory comprising a local storage, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: receiving a plurality of images of the one or more geographic areas that contain one or more plants, selecting one or more images from the plurality of images for classification, cropping the selected images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas, converting the selected images into one or more image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas, applying a machine learning classifier to each patch of the one or more image patches to generate one or more classifications, wherein the machine learning classifier is created using a supervised training process that comprises using one or more annotated images to train the machine learning classifier, and identifying one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier.
[0026] The system of claim 18, wherein the supervised training process comprises: receiving a plurality of training images from one or more geographic areas that contain a known plant, cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant, converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant, applying one or more annotations to the training image patches to indicate a plant contained within each training image patch, and processing each training image and its corresponding one or more annotations by the machine classifier. Optionally, the annotations of the training images can identify a specific target (e.g., a variety or a species) or can identify a target as pertaining to a specific group (e.g., a group of varieties or species). In that sense, the model can classify a target or a group of targets by binary or multiclass classifications (using one or multiple steps).
[0027] Additionally or alternatively, the received plurality of training images from one or more geographic areas are captured from a plurality of months during a plantation lifecycle.
[0028] Additionally or alternatively, the one or more programs include instructions for applying a segmentation process to each of the selected one or more images.
[0029] Additionally or alternatively, the segmentation process comprises calculating a normalized difference vegetation index (ND VI) for each image of the selected one or more images.
[0030] Additionally or alternatively, the segmentation process comprises calculating a soil-adjusted vegetation index (SAVI) for each image of the selected one or more images.
[0031] Additionally or alternatively, identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises receiving a classification of each image patch of the one or more image patches and determining a majority classification from the received classification of each image patch
[0032] Additionally or alternatively, identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises classifying the plants growing in the one or more geographic areas based on the majority classification corresponding to the one or more image patches corresponding to the geographic area.
[0033] Additionally or alternatively, the machine classifier is implemented using one or more convolution neural networks (CNNs). Additionally or alternatively, recurrent neural networks and/or classical statistical models for image and time series processing may be used.
[0034] Additionally or alternatively, the CNN includes a plurality of convolutional blocks selected from the group consisting of a batch normalization block, a dropout block, and ReLU activation block.
[0035] Additionally or alternatively, the received plurality of images are multispectral images.
[0036] Additionally or alternatively, the received plurality of images are hyperspectral images.
[0037] Additionally or alternatively, the received plurality of images are RGB images. Additionally or alternatively, the received plurality of images are SAR (Synthetic Aperture Radar) images.
[0038] Additionally or alternatively, the received plurality of images of the one or more geographic areas are taken from a satellite.
[0039] Additionally or alternatively, the received plurality of images of the one or more geographic areas are taken from an airplane.
[0040] Additionally or alternatively, the received plurality of images of the one or more geographic areas are taken from an unmanned aerial vehicle (UAV). [0041] Additionally or alternatively, converting the selected images into one or more patches comprises up- sampling the one or more image patches.
[0042] In one or more examples, a non-transitory computer-readable storage medium comprising one or more programs for determining plants growing in one or more geographic area, wherein the one or more programs, when executed by one or more processors, cause the one or more processors to: receive a plurality of images of the one or more geographic areas that contain one or more plants, select one or more images from the plurality of images for classification, crop the selected images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas, convert the selected images into one or more image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas, apply a machine learning classifier to each patch of the one or more image patches to generate one or more classifications, wherein the machine learning classifier is created using a supervised training process that comprises using one or more annotated images to train the machine learning classifier; and identify one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier.
[0043] Additionally or alternatively, the supervised training process comprises: receiving a plurality of training images from one or more geographic areas that contain a known plant, cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant, converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant, applying one or more annotations to the training image patches to indicate a plant contained within each training image patch, and processing each training image and its corresponding one or more annotations by the machine classifier. Optionally, the annotations of the training images can identify a specific target (e.g., a variety or a species) or can identify a target as pertaining to a specific group (e.g., a group of varieties or species). In that sense, the model can classify a target or a group of targets by binary or multiclass classifications (using one or multiple steps).
[0044] Additionally or alternatively, the received plurality of training images from one or more geographic areas are captured from a plurality of months during a plantation lifecycle.
[0045] Additionally or alternatively, the one or more processors are caused to apply a segmentation process to each of the selected one or more images.
[0046] Additionally or alternatively, the segmentation process comprises calculating a normalized difference vegetation index (ND VI) for each image of the selected one or more images.
[0047] Additionally or alternatively, the segmentation process comprises calculating a soil-adjusted vegetation index (SAVI) for each image of the selected one or more images.
[0048] Additionally or alternatively, identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises receiving a classification of each image patch of the one or more image patches and determining a majority classification from the received classification of each image patch.
[0049] Additionally or alternatively, identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises classifying the plant growing in the one or more geographic areas based on the majority classification corresponding to the one or more image patches corresponding to the geographic area.
Additionally or alternatively, the machine classifier is implemented using one or more convolution neural networks (CNNs). Additionally or alternatively, recurrent neural networks and/or classical statistical models for image and time series processing may be used.
[0050] Additionally or alternatively, the CNN includes a plurality of convolutional blocks selected from the group consisting of a batch normalization block, a dropout block, and ReLU activation block.
[0051] Additionally or alternatively, the received plurality of images are multispectral images.
[0052] Additionally or alternatively, the received plurality of images are hyperspectral images.
[0053] Additionally or alternatively, the received plurality of images are RGB images. Additionally or alternatively, the received plurality of images are SAR (Synthetic Aperture Radar) images.
[0054] Additionally or alternatively, the received plurality of images of the one or more geographic areas are taken from a satellite.
[0055] Additionally or alternatively, the received plurality of images of the one or more geographic areas are taken from an airplane.
[0056] Additionally or alternatively, the received plurality of images of the one or more geographic areas are taken from an unmanned aerial vehicle (UAV). [0057] The non-transitory computer-readable storage medium of claim 35, wherein converting the selected images into one or more patches comprises up-sampling the one or more image patches.
BRIEF DESCRIPTION OF THE DRAWINGS
[0058] FIG. 1 illustrates an exemplary process for training and validating a machine learning classifier according to examples of the disclosure.
[0059] FIG. 2 illustrates a visual depiction of the image processing steps used to train a machine learning classifier according to examples of the disclosure.
[0060] FIG. 3 illustrates an exemplary process for classifying unknown crop species and varieties using a machine classifier according to examples of the disclosure.
[0061] FIG. 4 illustrates a visual depiction of the image processing steps used to classify an unknown crop species and varieties using a machine learning classifier according to examples of the disclosure.
[0062] FIG.5 illustrates an example of a computing device according to examples of the disclosure.
DETAILED DESCRIPTION
[0063] In the following description of the disclosure and embodiments, reference is made to the accompanying drawings in which are shown, by way of illustration, specific embodiments that can be practiced. It is to be understood that other embodiments and examples can be practiced and changes can be made without departing from the scope of the disclosure. [0064] In addition, it is also to be understood that the singular forms “a,” “an,” and
“the” used in the following description are intended to include the plural forms as well, unless the context clearly indicates otherwise. It is also to be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It is further to be understood that the terms “includes,” “including,” “comprises,” and/or “comprising,” when used herein, specify the presence of stated features, integers, steps, operations, elements, components, and/or units but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, units, and/or groups thereof.
[0065] Some portions of the detailed description that follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps (instructions) leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. Furthermore, it is also convenient at times to refer to certain arrangements of steps requiring physical manipulations of physical quantities as modules or code devices without loss of generality.
[0066] However, all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that, throughout the description, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission, or display devices.
[0067] Certain aspects of the present invention include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the present invention could be embodied in software, firmware, or hardware, and, when embodied in software, could be downloaded to reside on and be operated from different platforms used by a variety of operating systems.
[0068] The present invention also relates to a device for performing the operations herein. This device may be specially constructed for the required purposes, or it may comprise a generalpurpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a non-transitory, computer-readable storage medium, such as, but not limited to, any type of disk, including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application-specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability. The processing frameworks referred to herein can include a cloud architecture, with process orchestration systems for on-demand processing scalability. Any of the processing operations described herein may be performed by a single processor, multiple processors, distributed processor systems, and/or cloud architecture processing systems. [0069] The methods, devices, and systems described herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein.
[0070] Identifying the species, sub-species or the variety of a single plant can be a simple and quick process. One method can be to physically extract a sample of the plant growing in a field and performing a genetic analysis to ascertain what species of plant or variety of that species it is. Another method can involve performing a visual inspection of the plant and looking for physical markers (such as leave, stalks, internodes, etc.) that indicate the species or variety of plant. While the above methods can be straightforward for a single plant, these methods may not be efficient when attempting to analyze a large area or field of plants. For instance, it may not be efficient to extract physical samples of every plant growing in a field, and visual identification may prove to be too cumbersome and time intensive to be performed at scale on a large field. Furthermore, as described above, for some species with highly complex genomes and/or plastic morphological characteristics variating according to environmental factors, as for example sugarcane, the methodologies available for identification require a long-term process and a very skilled person to yield accurate results.
[0071] The above described inefficiencies become exacerbated when dealing with very large geographic areas (for instance an entire country or region of a country). It may be physically impossible to collect enough plant samples to accurately and completely classify the types of plants growing in a large area, or to visually inspect each and every plant to make the classification. Even if physically possible, the amount of time to perform such a classification can be labor and time intensive, making the process expensive (from a human labor and time standpoint).
[0072] What is needed is a method for classifying plants that can provide quick and accurate results, and can be used for classifications of plant species and varieties in large geographic areas. As described in detail below, employing the use of machine-learning based classifiers to automatically and efficiently classify the plant species and varieties growing in a large geographic area, can allow for the classification of plant species and/or varieties massively and quickly in very large territories. In addition, as further described below, the process of processing images used to train and apply a classifier can be tailored to ensure that the classification generated by such classifiers is accurate to an acceptable level. Thus, in one or more examples of the disclosure, and as described in detail below, the method for building and training the classifier can be important to ensure that the classifier makes classifications with a high-level of accuracy. Furthermore, and as described in detail below, the method of using the classifier can also be important to ensure a high-fidelity classification.
[0073] The examples described below are presented using sugar cane varieties as an exemplary context for the purposes of illustration. However, the examples should not be seen as limiting and can be applied to other types of plants and/or plant species and varieties.
[0074] FIG. 1 illustrates an exemplary process for training and validating a machine learning classifier to classify plant species and varieties according to examples of the disclosure. The process 100 of FIG. 1 can be used to generate an annotated data set that can be used to then train a machine learning classifier to automatically and efficiently classify plant species and varieties found in a particular geographic area. In one or more examples of the disclosure, the process 100 can begin at step 102 wherein images are selected to train and validate the classifier. In one or more examples of the disclosure, the images used to train and validate a classifier can be selected from one or more commercially available sources such as the Sentinel-2 Satellite or other image databases. Also, in other examples of the disclosure, more than one image per area can be used to train and validate a classifier, adding variation to the computer method and system. Additionally, distinct classifiers can be trained for each month during the plantation lifecycle and the multiple classifiers can be combined in the end of the process, which can result in larger plantations areas identified with increased confidence and accuracy.
[0075] In the examples of the Sentinel-2 satellite image database, and in one or more examples of the disclosure, the Sentinel-2 the Military Grid Reference System (MGRS) can be used as reference to download a tile image that covers an area of approximately 100km x 100km (1 million hectares). Each Sentinel-2 image has 13 spectral bands with different wavelengths, from the Visible (VNIR) and Near Infra-Red (NIR) to the Short Wave Infra- Red (SWIR).
[0076] In one or more examples, in order to select the best image or images for each location from the image database, at step 102, the metadata of the satellite images can be analyzed to find available images in the period that corresponds to the beginning of the harvest season. In the example of sugar cane fields, images corresponding to the beginning of the harvest season (for instance the month of April in Brazil) can be selected to ensure the images include sugar cane fields that have already grown to a size that makes the classification possible. In one or more examples, and for perennial or semi-perennial crops, as sugarcane, two or more images from each area can be selected during the crop lifecycle. Specifically, in one or more examples, for perennial or semi-perennial crops, as sugarcane, two or more images from each area can be selected during the period that corresponds to the harvest season of the crop. As an example, at least twelve images from the same location are selected during crop lifecycle. Images from the same location but different months or periods can be used to train and validate classifiers that will be able to learn specific characteristics of each species or variety that are dominant in that period, adding to the model morphological and environmental condition variations captured by satellite images, which can help with the accurate classification of different species and varieties throughout the year. In one or more examples, the combination of the results obtained from the classification in the different months or periods can be combined in order to (i) improve the accuracy of the classification for different species and varieties, (ii) be able to classify early stage crop fields that might be too young in some images, as well as crop fields that might be covered by clouds in multiple images captured by the satellite, and (iii) increase the confidence and accuracy of the classification based on the consistence in the results throughout multiple months or periods for each crop field, (e.g., how many months provides the same classification, representing consensus from the different trained classifiers for each month or period.) Additionally or alternatively, a soil and/or vegetation indexes can be used to identify and discard images from areas with low vegetation cover. In one or more examples, SAVI (Soil-adjusted vegetation index) and ND VI (Normalized difference vegetation index) can be used, alone or in combination. In one or more examples, SAVI index lower than 0.3 are used to identify images that should be disregarded.
[0077] In addition to selecting images from a specific time period, in one or more examples at step 102, the selected images can be ranked based on the cloud coverage and pixels lost due to satellite positioning (the lower the cloud coverage and pixels lost, the better). Finally, from the selected and ranked images, the full resolution images with all 13 channels can be downloaded for each selected image to cover the region of interest (e.g., approximately 1,000 images to cover all sugar cane farms in Brazil). In one or more examples, at least two images from the same region can be downloaded. In one or more examples, at least twelve images from the same region can be downloaded.
[0078] Following the image downloads at step 102, the process 100 can move to step 104 wherein the annotations applied to the image set for classifier training can be generated. In one or more examples of the disclosure, the labeled dataset for training and validating the model can be created using an annotated geospatial database that includes information of crop fields in which the different species and varieties are planted. A large annotated database can be critical to properly train the model, for instance, in one or more examples; in order to generate the necessary annotations for a training set to identify sugar cane varieties a proprietary database comprising 2.5 million hectares of sugar cane crop fields with different varieties planted can be utilized to generate the needed annotations. In some embodiments, annotations of training images can identify a specific target (e.g., a variety or a species) or can identify a target as pertaining to a specific group (e.g., a group of varieties or species). In that sense, the model can classify a target or a group of targets by binary or multiclass classifications (using one or multiple steps). In one or more examples, using the proprietary database, each image selected at step 102 can be annotated with the information extracted from the proprietary database at step 104. In one or examples, step 102 and 104 occur concomitantly (in parallel), at the same processing time.
[0079] Once the annotations have been generated at step 104, the process 100 can move to step 106 wherein each image is cropped and sliced to generate individual samples used for training the classifier. In one or more examples, the shapes that delimit each crop field containing a specific species and variety can be used to crop the image of that sugar cane plantation. The shape of crop fields is defined based on information from a pre-existent proprietary georeferenced database. In one or more examples, in addition to cropping each image to account from the shapes of a crop field, at step 106, each identified crop field can be further sliced in patches of 8 pixels by 8 pixels (representing an area of 80m by 80m), finally creating the labeled dataset that are going to be used for training the model. A fixed size patch can be used to allow for the proper training of a Neural Network (e.g., to feed the input layer). In one or more examples, different patch sizes can be empirically determined in order to define the optimal size for the specific images selected to train the classifier and associated with a particular plant species or variety to be classified (e.g., image resolution and spectral bands available, amount of labeled data, shapes of the crop fields).
[0080] In one or more examples, and at step 106, the step of cropping the image into fixed sized patches, can include ignoring the pixels at the border of each crop field, through an erosion operation, to avoid the noise that might be present due to the satellite sensors receiving the reflectance both from the plantation as well as neighboring areas, which can contain naked soil, other plantations and plantations from other species, a street, a construction or any other material. In one or more examples of the disclosure, the slicing process can also include using a sliding window technique to perform up-sampling in order to reduce the challenges due to the limited area available for the species/variety that have smaller market share. In one or more examples, the process of using a sliding window in the cropping process can include cropping regions with partial overlap, and moving the crop mask in smaller steps than the patch size. As an example, moving the mask in steps of four pixels instead of eight pixels can make the required the number of samples obtained for training roughly (depending on shape boundaries) multiplied by 4. Up- sampling can be critical to achieving a reasonable number of samples for each species or variety, achieving a balanced training set, and allowing the model to learn how to distinguish between different species or varieties.
[0081] In one or more examples of the disclosure, once the images have been cropped and sliced at step 106, the process 100 can move to step 108, wherein the annotations generated at step 104 can be applied to each individual slice created at step 106. Furthermore, once the annotations have been applied at step 108, the process 100 can move to step 110 wherein each generated slice can be normalized to better handle differences in the reflectance captured during the satellite imagining process, thus making sure that the comparison between samples is more accurate.
[0082] In one or more examples, the normalization of the sample images at step 110 can be done by adjusting the different ranges in the reflectance of each band to the same range with a linear transformation using the min/max values of each band. In one or more examples of step 110, instead of using the min/max values, different values can be chosen as min/max to remove the effect of outliers in the normalization and/or to saturate the image in certain ranges. In one or more examples of step 110, a transformation based on the distribution or histogram of each band can be employed to normalize the images in different ways for each bucket or percentile. In one or more examples of step 110, a robust scaler transform can be used to normalize the image scaling features using statistics that are robust to outliers.
[0083] After normalizing the samples at step 110, the process 100 can move to step 112 wherein the labeled dataset can be split to create training, validation, and testing sets. In one or more example, the slices from a single plantation can be kept together in the same set to avoid information leakage between training, validation, and testing sets. As described above, the training set must be balanced, e.g., with the same number of samples for each species/ variety, thus restricting the number of samples that can be used by the species/variety that have the least number of known crop fields in a particular geospatial labeled database. In one or more examples, for the species/varieties that have a higher number of samples, the process 100 at step 112 can include down- sampling, e.g., randomly choosing the ones to be used during the training process, while for the species/varieties that have a lower number of samples, the process 100 can employ an up-sampling technique using sliding windows as described above.
[0084] In one or more examples of the disclosure, once the training, validation, and testing sets have been created at step 112, the process 100 can move to step 114 wherein the classifier is trained using the training set. In one or more examples of the disclosure, the training set can be fed to a machine learning model, so the machine learning model can learn how to classify the species or varieties of each image patch of plantations. In one or more examples of the disclosure, the training set can be fed to a neural network model, so the neural network can learn how to classify the species or varieties of each image patch of plantations. In one or more examples, a deep neural network algorithm was chosen to avoid the need of building hand-engineered features that requires prior knowledge and human effort in feature design, given that experiments with traditional models using commonly used features such as average and standard deviation of the reflectance for each spectral bands and indexes such as ND VI (Normalized Difference Vegetation Index) and others didn’t produce accurate results. In one or more examples, a Convolutional Neural Network (CNN), a class of deep neural networks, can be utilized as the classifier due to its distinguishing features towards image classification problems, allowing the exploitation of strong spatial local correlation present in images, translational invariance, and shared- weights architecture, which can reduce the number of parameters learned and memory requirements for training such networks, allowing CNNs to better generalize on vision oriented tasks. In some examples, additionally or alternatively to use of CNNs, recurrent neural networks, other artificial neural networks, other machine learning architectures, and/or classical statistical models for image and time series processing may be used.
[0085] In one or more examples of the disclosure, a CNN architecture can be designed using three convolutional blocks, each one including convolution, batch normalization, dropout, and ReLU activation, followed by a fully connected layer. In one or more example, the input to the CNN can be an 8x8x13 multispectral image (8 pixels by 8 pixels by 13 spectral channels), and the output can be the predicted plant species or variety code. The size of the patches, described throughout this disclosure as 8x8x13, is meant only as an example, and the size can be adjusted depending on the resolution of the image source, the number of spectral channels available in the image, the average size of crop fields and the amount of labeled fields available.
[0086] In one or more examples, a CNN architecture can be used to allow the network to be deep enough to abstract the needed knowledge representations to learn how to identify the different plant species or variety, while controlling the depth to keep the network feasible to be trained with the amount of labeled data and image samples we have available. In one or more examples of the disclosure, the CNN can be trained using Adam and a decaying learning rate to make the model explore more in the beginning and perform fine adjustments in the end. This CNN algorithm can be chosen due to its adaptive learning rate optimization that allows huge performance gains in terms of speed of training deep neural networks. In addition, the number of convolutional blocks in the neural network and other hyperparameters such as the learning rate can also be adjusted according to the dataset available for training and applying the model, using experimentation and hyperparameter optimization techniques. Once the classifier has been trained and validated at step 114, the process 100 can move to step 116 wherein the process is terminated.
[0087] FIG. 2 illustrates a visual depiction of the image processing steps used to train a machine learning classifier according to examples of the disclosure. The process 200 of FIG. 2 can represent a visual depiction of the process 100 described above with respect to FIG. 1. In one or more examples, at step 202 the images from an image database can be cropped as described above with respect to step 106. In one or more examples, the shapes that delimit each crop field containing a specific species/variety can be further used to crop the image of that plantation as depicted at step 204. After cropping the images as described above, the process can move to step 206 wherein the 8x8 patches are created as described above with respect to step 106 of FIG. 1. Once the patches have been created, and as depicted at step 206, each individual annotated patch can be fed into a CNN so as to train the classifier at step 208. Finally, as depicted at step 210, the output of the CNN can produce one or more classifications for each patch fed into the CNN.
[0088] The trained model can be used to predict the species or variety of an unknown plantation. In some respects, applying the classifier can involve the same process as training the classifier with respect to cropping, slicing, and preparing images for input into the classifier. However, in order to achieve an accurate result with the classifier, two additional steps can be included in the process when applying the classifier to classify an unknown crop species or variety: a segmentation step in the beginning of the process, to segment each crop field unit in a given region of interest, and a voting step, to combine the results of each 8x8 patch from the same crop unit into a more robust prediction.
[0089] FIG. 3 illustrates an exemplary process for classifying unknown crop species/variety using a machine classifier according to examples of the disclosure. In one or more examples, the process 300 of FIG. 3, wherein similar to step 102 of FIG. 1, images for classification are selected. Similar to step 102, the images selected at step 302 can be selected based on the growing season in which the image was captured or other features that ensure that the crops to be classified are at their peak visibility in the images.
[0090] Once the images have been selected at step 302, the process 300 can move to step 304, wherein the selected images undergo a segmentation process. In one or more examples, the image segmentation process (carried out at step 304) can involve calculating the ND VI (Normalized Difference Vegetation Index) on the regions of interest to visually enhance the naked soil that usually separates different fields, and applying the Felzenszwalb graph-based segmentation algorithm (Felzenszwalb & Huttenlocher, 2004) on the resulting image to segment the individual crop fields. Other indexes in replacement of ND VI (such as SAVI - Soil- Adjusted Vegetation Index) and other segmentation algorithms in replacement of Felzenszwalb could also be used with no detriment to the invention disclosed herein.
Thus, the segmentation process can help to isolate fields found in the selected images.
[0091] Once the fields have been segmented at step 304, the process 300 can move to step 306 wherein the images are cropped and sliced similar to the process step 304 described above with respect to FIG. 4. In the examples of FIG. 3, the images can be cropped and sliced based on the results of the segmentation process described above with respect to step 304. Once the image slices have been created at step 306, the process can move to step 308, wherein the classifier is applied to the slices to generate a classification for each individual slice.
[0092] As discussed above, a single field or region can comprise multiple slices. Therefore, to ensure accurate classification, once the slices have each been classified at step 308, the process 300 can move to step 310 wherein a voting process is applied to the classified slices in order to ensure maximum accuracy of the classification results. The voting process performed at step 310 can combine the results of the model applied to each patch (e.g., slice) from an individual field, gathering consensus (majority voting) and improving the accuracy of the final prediction, choosing the predominant classification as the species/variety for that crop field. In one or more examples, at step 310, the entropy among the classifications of each patch can also be calculated, and a threshold can be used to decide whether the predominant classification should be used or not in the case of different patches from the same crop field being classified to multiple different species/varieties. In one or more example, a weighted voting based on the classification trust for each patch can also be applied instead of simple voting, though both voting approaches can lead to similar results.
[0093] FIG. 4 illustrates a visual depiction of the image processing steps used to classify an unknown crop species/varieties using a machine learning classifier according to examples of the disclosure. In one or more examples of the disclosure, the process depicted in FIG. 4 shows that the cropped images (cropped at step 306) and the field segmentation algorithm (applied at step 304) can be used to create one or more crop units 406. After the crop units (which represent a particular field of the same crop) are created, they are sliced into 8x8 patches as depicted at step 408. Each patch is then fed into a CNN classifier to perform the classification as depicted at 410. The output of the classifier can produce a plurality of classified patches in which each patch fed into the CNN can be assigned a classification as depicted at 412. As depicted at 414, using the voting procedure described in at step 310 with respect to FIG. 3, each of the crop units generated at 406 can be classified. Finally, in one or more examples, the classified units can be stored and used to create a visualization (representing the classifier results) as depicted at step 418.
[0094] FIG. 5 illustrates an example of a computing device in accordance with one embodiment. Device 500 can be a host computer connected to a network. Device 500 can be a client computer or a server. As shown in FIG. 5, device 500 can be any suitable type of microprocessor-based device, such as a personal computer, workstation, server, or handheld computing device (portable electronic device), such as a phone or tablet. The device can include, for example, one or more of processors 502, input device 506, output device 508, storage 510, and communication device 504. Input device 506 and output device 508 can generally correspond to those described above and can either be connectable or integrated with the computer. [0095] Input device 506 can be any suitable device that provides input, such as a touch screen, keyboard or keypad, mouse, or voice-recognition device. Output device 508 can be any suitable device that provides output, such as a touch screen, haptics device, or speaker.
[0096] Storage 510 can be any suitable device that provides storage, such as an electrical, magnetic, or optical memory, including a RAM, cache, hard drive, or removable storage disk. Communication device 504 can include any suitable device capable of transmitting and receiving signals over a network, such as a network interface chip or device. The components of the computer can be connected in any suitable manner, such as via a physical bus or wirelessly.
[0097] Software 512, which can be stored in storage 510 and executed by processor 502, can include, for example, the programming that embodies the functionality of the present disclosure (e.g., as embodied in the devices as described above).
[0098] Software 512 can also be stored and/or transported within any non-transitory computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as those described above, that can fetch instructions associated with the software from the instruction execution system, apparatus, or device and execute the instructions. In the context of this disclosure, a computer-readable storage medium can be any medium, such as storage 510, that can contain or store programming for use by or in connection with an instruction execution system, apparatus, or device.
[0099] Software 512 can also be propagated within any transport medium for use by or in connection with an instruction execution system, apparatus, or device, such as those described above, that can fetch instructions associated with the software from the instruction execution system, apparatus, or device and execute the instructions. In the context of this disclosure, a transport medium can be any medium that can communicate, propagate, or transport programming for use by or in connection with an instruction execution system, apparatus, or device. The transport readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, or infrared wired or wireless propagation medium.
[0100] Device 500 may be connected to a network, which can be any suitable type of interconnected communication system. The network can implement any suitable communications protocol and can be secured by any suitable security protocol. The network can comprise network links of any suitable arrangement that can implement the transmission and reception of network signals, such as wireless network connections, T1 or T3 lines, cable networks, DSL, or telephone lines.
[0101] Device 500 can implement any operating system suitable for operating on the network. Software 512 can be written in any suitable programming language, such as C, C++, Java, or Python. In various embodiments, application software embodying the functionality of the present disclosure can be deployed in different configurations, such as in a client/server arrangement or through a Web browser as a Web-based application or Web service, for example.
[0102] The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the techniques and their practical applications. Others skilled in the art are thereby enabled to best utilize the techniques and various embodiments with various modifications as are suited to the particular use contemplated.
[0103] Although the disclosure and examples have been fully described with reference to the accompanying figures, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of the disclosure and examples as defined by the claims.
[0104] This application discloses several numerical ranges in the text and figures. The numerical ranges disclosed inherently support any range or value within the disclosed numerical ranges, including the endpoints, even though a precise range limitation is not stated verbatim in the specification because this disclosure can be practiced throughout the disclosed numerical ranges.
[0105] The above description is presented to enable a person skilled in the art to make and use the disclosure and is provided in the context of a particular application and its requirements. Various modifications to the preferred embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the disclosure. Thus, this disclosure is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Finally, the entire disclosure of the patents and publications referred in this application are hereby incorporated herein by reference.

Claims

What is claimed is:
1. A method for identifying plants growing in one or more geographic areas, the method comprising: receiving a plurality of images of the one or more geographic areas that contain one or more plants; selecting one or more images from the plurality of images for classification; cropping the selected images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas; converting the selected images into one or more image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas; applying a machine learning classifier to each patch of the one or more image patches to generate one or more classifications, wherein the machine learning classifier is created using a supervised training process that comprises using one or more annotated images to train the machine learning classifier; and identifying one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier.
2. The method of claim 1, wherein the supervised training process comprises: receiving a plurality of training images from one or more geographic areas that contain a known plant; cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant; converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant; applying one or more annotations to the training image patches to indicate a plant contained within each training image patch; and processing each training image and its corresponding one or more annotations by the machine classifier.
3. The method of claim 2, wherein the received plurality of training images from one or more geographic areas are captured from a plurality of months during a plantation lifecycle.
4. The method of any of claims 1-3, wherein the method comprises applying a segmentation process to each of the selected one or more images.
5. The method of claim 4, wherein the segmentation process comprises calculating a normalized difference vegetation index (ND VI) for each image of the selected one or more images.
6. The method of any of claims 4-5, wherein the segmentation process comprises calculating a soil-adjusted vegetation index (SAVI) for each image of the selected one or more images.
7. The method of any of claims 1-6, wherein identifying the one or more plants growing in the one or more geographic areas based one or more classifications generated by the machine learning classifier comprises receiving a classification of each image patch of the one or more image patches and determining a majority classification from the received classification of each image patch.
8. The method of claim 7, wherein identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises classifying the plant growing in the one or more geographic areas based on the majority classification corresponding to the one or more image patches corresponding to the geographic area.
9. The method of any of claims 1-8, wherein the machine classifier is implemented using one or more convolution neural networks (CNNs).
10. The method of claim 9, wherein the CNN includes a plurality of convolutional blocks selected from the group consisting of a batch normalization block, a dropout block, and ReLU activation block.
11. The method of any of claims 1-10, wherein the received plurality of images are multispectral images.
12. The method of any of claims 1-11, wherein the received plurality of images are hyperspectral images.
13. The method of any of claims 1-12, wherein the received plurality of images are RGB images.
14. The method of any of claims 1-13, wherein the received plurality of images of the one or more geographic areas are taken from a satellite.
15. The method of any of claims 1-14, wherein the received plurality of images of the one or more geographic areas are taken from an airplane.
16. The method of any of claims 1-15, wherein the received plurality of images of the one or more geographic areas are taken from a unmanned aerial vehicle (UAV).
17. The method of any of claims 1-16, wherein converting the selected images into one or more patches comprises up-sampling the one or more image patches.
18. A system for identifying plants growing in one or more geographic areas, the system comprising: one or more processors; memory comprising a local storage; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: receiving a plurality of images of the one or more geographic areas that contain one or more plants ; selecting one or more images from the plurality of images for classification; cropping the selected images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas; converting the selected images into one or more image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas; applying a machine learning classifier to each patch of the one or more image patches to generate one or more classifications, wherein the machine learning classifier is created using a supervised training process that comprises using one or more annotated images to train the machine learning classifier; and identifying one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier.
19. The system of claim 18, wherein the supervised training process comprises: receiving a plurality of training images from one or more geographic areas that contain a known plant; cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant; converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant; applying one or more annotations to the training image patches to indicate a plant contained within each training image patch; and processing each training image and its corresponding one or more annotations by the machine classifier.
20. The system, of claim 19, wherein the received plurality of training images from one or more geographic areas are captured from a plurality of months during a plantation lifecycle.
21. The system of any of claims 18-20, wherein the one or more programs include instructions for applying a segmentation process to each of the selected one or more images.
22. The system of claim 21, wherein the segmentation process comprises calculating a normalized difference vegetation index (ND VI) for each image of the selected one or more images.
23. The system of any of claims 21-22, wherein the segmentation process comprises calculating a soil-adjusted vegetation index (SAVI) for each image of the selected one or more images.
24. The system of any of claims 18-23, wherein identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises receiving a classification of each image patch of the one or more image patches and determining a majority classification from the received classification of each image patch
25. The system of claim 24, wherein identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises classifying the plants growing in the one or more geographic areas based on the majority classification corresponding to the one or more image patches corresponding to the geographic area.
26. The system of any of claims 18-25, wherein the machine classifier is implemented using one or more convolution neural networks (CNNs).
27. The system of claim 26, wherein the CNN includes a plurality of convolutional blocks selected from the group consisting of a batch normalization block, a dropout block, and ReLU activation block.
28. The system of any of claims 18-27, wherein the received plurality of images are multispectral images.
29. The system of any of claims 18-28, wherein the received plurality of images are hyperspectral images.
30. The system of any of claims 18-29, wherein the received plurality of images are RGB images.
31. The system of any of claims 18-30, wherein the received plurality of images of the one or more geographic areas are taken from a satellite.
32. The system of any of claims 18-31, wherein the received plurality of images of the one or more geographic areas are taken from an airplane.
33. The system of any of claims 18-32, wherein the received plurality of images of the one or more geographic areas are taken from a unmanned aerial vehicle (UAV).
34. The system of any of claims 18-33, wherein converting the selected images into one or more patches comprises up-sampling the one or more image patches.
35. A non-transitory computer-readable storage medium comprising one or more programs for determining plants growing in one or more geographic area, wherein the one or more programs, when executed by one or more processors, cause the one or more processors to: receive a plurality of images of the one or more geographic areas that contain one or more plants; select one or more images from the plurality of images for classification; crop the selected images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas; convert the selected images into one or more image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas; apply a machine learning classifier to each patch of the one or more image patches to generate one or more classifications, wherein the machine learning classifier is created using a supervised training process that comprises using one or more annotated images to train the machine learning classifier; and identify one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier.
36. The non-transitory computer-readable storage medium of claim 35, wherein the supervised training process comprises: receiving a plurality of training images from one or more geographic areas that contain a known plant; cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant; converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant ; applying one or more annotations to the training image patches to indicate a plant contained within each training image patch; and processing each training image and its corresponding one or more annotations by the machine classifier.
37. The non-transitory computer-readable storage medium of claim 36, wherein the received plurality of training images from one or more geographic areas are captured from a plurality of months during a plantation lifecycle.
38. The non-transitory computer-readable storage medium of any of claims 35-37, wherein the one or more processors are caused to apply a segmentation process to each of the selected one or more images.
39. The non-transitory computer-readable storage medium of claim 38, wherein the segmentation process comprises calculating a normalized difference vegetation index (ND VI) for each image of the selected one or more images.
40. The non-transitory computer-readable storage medium of any of claims 38-39, wherein the segmentation process comprises calculating a soil-adjusted vegetation index (SAVI) for each image of the selected one or more images.
41. The non-transitory computer-readable storage medium of any of claims 35-40, wherein identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises receiving a classification of each image patch of the one or more image patches and determining a majority classification from the received classification of each image patch
42. The non-transitory computer-readable storage medium of claim 41, wherein identifying the one or more plants growing in the one or more geographic areas based on the one or more classifications generated by the machine learning classifier comprises classifying the plant growing in the one or more geographic areas based on the majority classification corresponding to the one or more image patches corresponding to the geographic area.
43. The non-transitory computer-readable storage medium of any of claims 35-42, wherein the machine classifier is implemented using one or more convolution neural networks (CNNs).
44. The non-transitory computer-readable storage medium of claim 43, wherein the CNN includes a plurality of convolutional blocks selected from the group consisting of a batch normalization block, a dropout block, and ReLU activation block.
45. The non-transitory computer-readable storage medium of any of claims 35-44, wherein the received plurality of images are multispectral images.
46. The non-transitory computer-readable storage medium of any of claims 35-45, wherein the received plurality of images are hyperspectral images.
47. The non-transitory computer-readable storage medium of any of claims 35-46, wherein the received plurality of images are RGB images.
48. The non-transitory computer-readable storage medium of any of claims 35-47, wherein the received plurality of images of the one or more geographic areas are taken from a satellite.
49. The non-transitory computer-readable storage medium of any of claims 35-48, wherein the received plurality of images of the one or more geographic areas are taken from an airplane.
50. The non-transitory computer-readable storage medium of any of claims 35-49, wherein the received plurality of images of the one or more geographic areas are taken from a unmanned aerial vehicle (UAV).
51. The non-transitory computer-readable storage medium of any of claims 35-50, wherein converting the selected images into one or more patches comprises up-sampling the one or more image patches.
52. A method for generating a machine learning classifier, the method comprising: receiving a plurality of training images from one or more geographic areas that contain a known plant; cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant; converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant; applying one or more annotations to the training image patches to indicate a plant contained within each training image patch; and processing each training image and its corresponding one or more annotations by the machine learning classifier.
53. A system for generating a machine learning classifier, the system comprising: one or more processors; memory comprising a local storage; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: receiving a plurality of training images from one or more geographic areas that contain a known plant; cropping the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant; converting the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant; applying one or more annotations to the training image patches to indicate a plant contained within each training image patch; and processing each training image and its corresponding one or more annotations by the machine learning classifier.
54. A non-transitory computer-readable storage medium comprising one or more programs for generating a machine learning classifier, wherein the one or more programs, when executed by one or more processors, cause the one or more processors to: receive a plurality of training images from one or more geographic areas that contain a known plant; crop the training images based on one or more shapes that delimit one or more boundaries of the one or more geographic areas that contain a known plant; convert the training images into one or more training image patches, wherein each patch of the one or more patches represents a subset of a geographic area of the one or more geographic areas that contain a known plant; apply one or more annotations to the training image patches to indicate a plant contained within each training image patch; and process each training image and its corresponding one or more annotations by the machine learning classifier.
PCT/IB2023/057044 2022-07-08 2023-07-07 Systems and methods to identify plant species and varieties using computer vision and intelligent technologies Ceased WO2024009284A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263359622P 2022-07-08 2022-07-08
US63/359,622 2022-07-08

Publications (1)

Publication Number Publication Date
WO2024009284A1 true WO2024009284A1 (en) 2024-01-11

Family

ID=87557538

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2023/057044 Ceased WO2024009284A1 (en) 2022-07-08 2023-07-07 Systems and methods to identify plant species and varieties using computer vision and intelligent technologies

Country Status (1)

Country Link
WO (1) WO2024009284A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119107553A (en) * 2024-09-12 2024-12-10 广东省国土资源测绘院 Characteristic crop identification method and system based on satellite-borne and airborne hyperspectral remote sensing
TWI895113B (en) * 2024-09-20 2025-08-21 瑞竣科技股份有限公司 Vegetation satellite image identification system and method
CN120875185A (en) * 2025-09-26 2025-10-31 西安科技大学 Dynamic monitoring method for vegetation coverage of photovoltaic area based on artificial intelligence

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10852421B1 (en) * 2019-01-24 2020-12-01 Descartes Labs, Inc. Sparse phase unwrapping

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10852421B1 (en) * 2019-01-24 2020-12-01 Descartes Labs, Inc. Sparse phase unwrapping

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SANDEEP KUMAR M ET AL: "Delineation of field boundary from multispectral satellite images through U-Net segmentation and template matching", ECOLOGICAL INFORMATICS, ELSEVIER, AMSTERDAM, NL, vol. 64, 18 July 2021 (2021-07-18), XP086757844, ISSN: 1574-9541, [retrieved on 20210718], DOI: 10.1016/J.ECOINF.2021.101370 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119107553A (en) * 2024-09-12 2024-12-10 广东省国土资源测绘院 Characteristic crop identification method and system based on satellite-borne and airborne hyperspectral remote sensing
TWI895113B (en) * 2024-09-20 2025-08-21 瑞竣科技股份有限公司 Vegetation satellite image identification system and method
CN120875185A (en) * 2025-09-26 2025-10-31 西安科技大学 Dynamic monitoring method for vegetation coverage of photovoltaic area based on artificial intelligence

Similar Documents

Publication Publication Date Title
Ninomiya High-throughput field crop phenotyping: current status and challenges
Palei et al. A systematic review of citrus disease perceptions and fruit grading using machine vision
Moghimi et al. Aerial hyperspectral imagery and deep neural networks for high-throughput yield phenotyping in wheat
Xu et al. Instance segmentation method for weed detection using UAV imagery in soybean fields
Pathak et al. A review of unmanned aerial vehicle-based methods for plant stand count evaluation in row crops
Bakhshipour et al. Weed segmentation using texture features extracted from wavelet sub-images
Abdullahi et al. Convolution neural network in precision agriculture for plant image recognition and classification
WO2024009284A1 (en) Systems and methods to identify plant species and varieties using computer vision and intelligent technologies
Moeinizade et al. An applied deep learning approach for estimating soybean relative maturity from UAV imagery to aid plant breeding decisions
Tong et al. Deep Learning for Image-Based Plant Growth Monitoring: A Review.
CN113657158B (en) Google EARTH ENGINE-based large-scale soybean planting area extraction algorithm
Safari et al. A review on automated detection and assessment of fruit damage using machine learning
Mumtaz et al. Integrated digital image processing techniques and deep learning approaches for wheat stripe rust disease detection and grading
Chowdhury et al. Plant Leaf Disease Detection and Classification Using Deep Learning: A Review and A Proposed System on Bangladesh's Perspective
Ali et al. LodgeNet: an automated framework for precise detection and classification of wheat lodging severity levels in precision farming
Malounas et al. Testing the suitability of automated machine learning, hyperspectral imaging and CIELAB color space for proximal in situ fertilization level classification
Menezes et al. Pseudo-label semi-supervised learning for soybean monitoring
CN119206489A (en) An early identification and monitoring method for field crops based on three-stage ensemble learning
Guzel et al. Deep learning for image-based detection of weeds from emergence to maturity in wheat fields
Khan et al. A Systematic Literature Review of Machine Learning and Deep Learning Approaches for Spectral Image Classification in Agricultural Applications Using Aerial Photography.
Adelaja et al. Leveraging Deep Learning for Real-Time Coffee Leaf Disease Identification
Valente et al. Fast classification of large germinated fields via high-resolution UAV imagery
Van Haeften et al. Unmanned aerial vehicle phenotyping of agronomic and physiological traits in mungbean
Nadiger et al. Intelligent techniques for nutrition level prediction in guava plants
Atianashie Disease Detection in CCN-51 Cocoa Fruits through Convolutional Neural Networks: A Novel Approach for the Ghana Cocoa Board

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23751354

Country of ref document: EP

Kind code of ref document: A1

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112024027616

Country of ref document: BR

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01E

Ref document number: 112024027616

Country of ref document: BR

Free format text: APRESENTE NOVAS FOLHAS DO (RELATORIO DESCRITIVO) ADAPTADAS AO ART. 26. I DA PORTARIA/INPI/NO 14/2024, UMA VEZ QUE O TITULO ENVIADO NA PETICAO NO 870240111320 DE 30/12/2024 ENCONTRA-SE FORA DA NORMA NO QUE SE REFERE A FORMATACAO, MAIS ESPECIFICAMENTE NAO PODEM CONSTAR EXPRESSOES COMO "RELATORIO DESCRITIVO" OU OUTRAS JUNTO AO TITULO. DA MESMA FORMA APRESENTE NOVAS VIAS DO (RESUMO) ADAPTADAS AO ART. 18 DA PORTARIA/INPI/NO 14/2024. A EXIGENCIA DEVE SER RESPONDIDA EM ATE 60 (SESSENTA) DIAS DE SUA PUBLICACAO E DEVE SER REALIZADA POR MEIO DA PETICAO GRU CODIGO DE SERVICO 207.

122 Ep: pct application non-entry in european phase

Ref document number: 23751354

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 112024027616

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20241230