IP Library Granted Patent US 12,136,201
Granted Patent B2
US 12,136,201 · App. 18/473,427 · Granted Nov 5, 2024

Machine learning techniques for identifying clouds and cloud shadows in satellite imagery

Inventors: Ying She (Union City, CA); Pramithus Khadka (Ofallon, CA); Wei Guan (Pleasanton, CA); Xiaoyuan Yang (Pleasanton, CA); Demir Devecigil (St. Charles, MO)
Assignee: CLIMATE LLC
G06T5/77G06F17/16G06N3/045G06N20/00G06V10/764G06V20/188
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,136,201
App. No.
18/473,427
Granted
Nov 5, 2024
Kind
B2
Abstract

Systems and methods for identifying clouds and cloud shadows in satellite imagery are described herein. In an embodiment, a system receives a plurality of images of agronomic fields produced using one or more frequency bands. The system also receives corresponding data identifying cloud and cloud shadow locations in the images. The system trains. a machine learning system to identify at least cloud locations using the images as inputs and at least data identifying pixels as cloud pixels or non-cloud pixels as outputs. When the system receives one or more particular images of a particular agronomic field produced using the one or more frequency bands, the system uses the one or more particular images as inputs into the machine learning system to identify a plurality of pixels in the one or more particular images as particular cloud locations.

Claims (46)

1. A system comprising:

one or more processors;

a memory storing instructions executable by the one or more processors to cause the system to:

receive a plurality of images of agronomic fields produced using one or more frequency bands;

receive data identifying cloud locations and cloud shadow locations in the plurality of images;

train a machine learning system to identify cloud locations using the plurality of images as inputs and data identifying pixels as cloud pixels or non-cloud pixels as outputs;

receive one or more particular images of a particular agronomic field produced using the one or more frequency bands;

use the one or more particular images as inputs into the machine learning system, identify a plurality of pixels in the one or more particular images as particular cloud pixels;

generate a subset of the particular images, wherein the subset of the particular images comprises images containing at least a threshold percentage of pixels identified by the machine learning system as particular cloud pixels; and

remove the subset of the particular images from the one or more particular images to generate a set of modeling images containing less than the threshold percentage of pixels identified by the machine learning system as particular cloud pixels.

2. The system of claim 1 , wherein the machine learning system is a convolutional encoder-decoder comprising a plurality of convolutional encoding steps interspersed with pooling steps and a plurality of convolutional deciding steps interspersed with upsampling steps.

3. The system of claim 1 , wherein the machine learning system is a convolutional encoder-decoder that has been customized to accept inputs of different types using a customized machine learning layer which shapes a build of a vector based on a symbolic shape of an output tensor.

4. The system of claim 1 , wherein each input of the inputs used to train the machine learning system comprise a plurality of stacked matrices, each of the plurality of stacked matrices generated from images captured using different frequency bands.

5. The system of claim 1 , wherein the threshold percentage of pixels is thirty percent.

6. The system of claim 1 , wherein the memory further stores instructions executable by the one or more processors to cause the system to generate an agronomic yield model of a field, wherein the agronomic field model is configured to model a yield of a crop based on the modeling images in the particular images, and wherein the agronomic yield model is a function of at least an average normalized difference vegetation index (NDVI) value or other index values across the field.

7. The system of claim 1 , wherein the memory further stores instructions executable by the one or more processors to cause the system to:

identify at least one ideal image of a field from the particular images, wherein the at least one ideal image does not contain any cloud pixels; and

display the ideal image on a computing device.

8. The system of claim 7 , wherein the memory further stores instructions executable by the one or more processors to cause the system to:

receive a request from a user for display of a current image of the particular agronomic field;

generate a current image of the particular agronomic field;

determine that the current image contains more than the threshold percentage of pixels;

generate an overlayed image by overlaying at least a portion of the current image with at least a portion of the ideal image; and

display the overlayed image on a computing device.

9. A computer-implemented method comprising:

receiving a plurality of images of agronomic fields produced using one or more frequency bands;

receiving data identifying cloud locations and cloud shadow locations in the plurality of images;

training a machine learning system to identify cloud locations using the plurality of images as inputs and data identifying pixels as cloud pixels or non-cloud pixels as outputs;

receiving one or more particular images of a particular agronomic field produced using the one or more frequency bands;

using the one or more particular images as inputs into the machine learning system, identify a plurality of pixels in the one or more particular images as particular cloud pixels;

generating a subset of the particular images, wherein the subset of the particular images comprises images containing at least a threshold percentage of pixels identified by the machine learning system as particular cloud pixels; and

removing the subset of the particular images from the one or more particular images to generate a set of modeling images containing less than the threshold percentage of pixels identified by the machine learning system as particular cloud pixels.

10. The computer-implemented method of claim 9 , wherein the machine learning system is a convolutional encoder-decoder comprising a plurality of convolutional encoding steps interspersed with pooling steps and a plurality of convolutional deciding steps interspersed with upsampling steps.

11. The computer-implemented method of claim 9 , wherein the machine learning system is a convolutional encoder-decoder that has been customized to accept inputs of different types using a customized machine learning layer which shapes a build of a vector based on a symbolic shape of an output tensor.

12. The computer-implemented method of claim 9 , wherein each input of the inputs used to train the machine learning system comprise a plurality of stacked matrices, each of the plurality of stacked matrices generated from images captured using different frequency bands.

13. The computer-implemented method of claim 9 , wherein the threshold percentage of pixels is thirty percent.

14. The computer-implemented method of claim 9 , further comprising:

generating an agronomic yield model of a field, wherein the agronomic field model is configured to model a yield of a crop based on the modeling images in the particular images, and

wherein the agronomic yield model is a function of at least an average normalized difference vegetation index (NDVI) value or other index values across the field.

15. The computer-implemented method of claim 9 , further comprising identifying at least one ideal image of a field from the particular images, wherein the at least one ideal image does not contain any cloud pixels.

16. The computer-implemented method of 15 , further comprising:

receiving a request from a user for display of a current image of the particular agronomic field;

generating a current image of the particular agronomic field;

determining that the current image contains more than the threshold percentage of pixels;

generating an overlayed image by overlaying at least a portion of the current image with at least a portion of the ideal image; and

displaying the overlayed image on a computing device.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2026
From: CLIMATE LLC
To: MONSANTO COMPANY
Reel/Frame 075177/0751 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2026
From: MONSANTO COMPANY
To: MONSANTO TECHNOLOGY LLC
Reel/Frame 075177/0908 →
CHANGE IN PRINCIPAL PLACE OF BUSINESS Recorded Feb 9, 2026
From: CLIMATE LLC
To: CLIMATE LLC
Reel/Frame 074752/0921 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2024
From: SHE, YING; KHADKA, PRAMITHUS; GUAN, WEI; YANG, XIAYUAN; DEVECIGIL, DEMIR
To: THE CLIMATE CORPORATION
Reel/Frame 066980/0135 →
CHANGE OF NAME Recorded Apr 2, 2024
From: THE CLIMATE CORPORATION
To: CLIMATE LLC
Reel/Frame 066986/0094 →
Continuity (4)
Continuation 17676018 · Feb 18, 2022
Continuation 16657957 · Oct 18, 2019
Provisional Application 62748293 · Oct 19, 2018
Related Publication 20240013352A1 · Jan 11, 2024