IP Library Granted Patent US 10,025,983
Granted Patent B2
US 10,025,983 · App. 14/860,247 · Granted Jul 17, 2018

Ponding water detection on satellite imagery

Inventors: Wei Guan (Fremont, CA); Pramithus Khadka (Saint Louis, MO)
Assignee: The Climate Corporation
G06K9/0063G06K9/00657G06K2009/00644
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 10,025,983
App. No.
14/860,247
Granted
Jul 17, 2018
Kind
B2
Abstract

A system for identifying ponding water located on a field from image data is described. In an approach, an image of an agricultural field is analyzed using a classifier that has been trained based on the spectral bands of labeled image pixels to identify a probability for each pixel within the image that the pixel corresponds to water. A flow simulation is performed to determine regions of the field that are likely to pool water after rainfall based on precipitation data, elevation data, and soil property data of the field. A graph of vertices representing the pixels and edges representing connections between neighboring pixels is generated. The probability of each pixel within the graph being ponding water is set based on the probability pixel being water, the likelihood that water will pool in the area represented by the pixel, the probability of neighboring pixels being ponding water, and a cropland mask that identifies which pixels correspond to cropland. A class for each pixel is then determined that maximizes the joint probability over the graph.

Claims (69)

1. A method comprising:

a computer system receiving image data of a field comprising a plurality of pixels, precipitation data for the plurality of pixels of the image data of the field indicating one or more amounts of rainfall over one or more regions of the field, elevation data indicating one or more elevations over the one or more regions of the field, and soil property data indicating one or more properties of soil found across the one or more regions of the field;

the computer system running a flow simulation over the plurality of pixels of the image data of the field, and based on the precipitation data for the plurality of pixels, the elevation data, and the soil property data, to identify a set of pixels, of the plurality of pixels within the image data, that are likely to have ponding water after the rainfall;

for each pixel, from the set of pixels within the plurality of pixels, the computer system: estimating, using a classifier trained to estimate probabilities that pixels represent ponding water, a probability that a pixel from the set of pixels represents water; assigning the probability to the pixel; determining, based on the probability assigned to the pixel and particular precipitation data, from the precipitation data, assigned to the pixel, a class, from one or more classes, to indicate the probability that the pixel represents ponding water after the rainfall;

the computer system generating one or more alerts corresponding to the one or more classes determined for the set of pixels.

2. The method of claim 1 , wherein the image data is satellite image data.

3. The method of claim 1 , wherein the classifier is logistic regression that has been trained on labeled pixel data derived from one or more images of one or more agricultural fields.

4. The method of claim 1 , wherein running the flow simulation includes:

initializing a water level for each region of a plurality of regions of the field;

iteratively rebalancing water levels between the plurality of regions, wherein at each iteration water flows from higher elevation regions to neighboring lower elevation regions based on the elevation data until a stopping condition occurs, wherein as water flows from the higher elevation regions to the neighboring lower elevation regions an amount of water is removed by being absorbed by soil based on the soil property data;

after iteratively rebalancing the water levels between the plurality of regions of the field, using regions of the plurality of regions which still contain water to identify the set of pixels within the image data that are likely to have ponding water after the rainfall.

5. The method of claim 1 , wherein each pixel of the plurality of pixels comprises one or more light bands and determining the class for each pixel of the plurality of pixels includes:

generating a model, wherein the model includes a graph comprising a set of vertices, each vertex in the set of vertices representing a respective pixel of the plurality of pixels, and a set of edges representing connections between neighboring pixels of the plurality of pixels;

for each vertex in the set of vertices, setting a probability of being ponding water based on the one or more light bands for the pixel represented by the vertex, a probability of representing water for the pixel represented by the vertex, whether the pixel represented by the vertex is in the set of pixels that are likely to have ponding water, and a probability of neighboring pixels of the pixel represented by the vertex being ponding water;

determining the class for each vertex in the set of vertices that maximizes a joint probability over the graph.

6. The method of claim 5 , wherein the model is implemented using a Markov Random Field.

7. The method of claim 5 , wherein the model increases the probability of being ponding water for a given vertex when the probability of representing water for the pixel represented by the given vertex indicates that the pixel represented by the given vertex likely represents water and the pixel represented by the given vertex is in the set of pixels that are likely to have ponding water.

8. The method of claim 5 , further comprising receiving cropland data that indicates which pixels of the plurality of pixels corresponds to cropland, wherein the model classifies the pixel represented by a given vertex as not ponding water if the cropland data indicates that the pixel represented by the given vertex does not correspond to cropland.

9. The method of claim 1 , wherein generating the one or more alerts includes sending a message to a user device that specifies ponding water has been detected on the field and one or more locations where the ponding water has been detected based on pixels which have been classified as representing ponding water.

10. The method of claim 1 , wherein generating the one or more alerts includes identifying a shortest route to visit each area on the field corresponding to pixels which have been classified as representing ponding water.

11. The method of claim 1 wherein the field comprises any of a field of crops, and a golf course.

12. A non-transitory computer-readable storage medium storing one or more instructions which, when executed by one or more processors, cause the one or more processors to perform steps comprising:

a computer system receiving image data of a field comprising a plurality of pixels, precipitation data for the plurality of pixels of the image data of the field indicating one or more amounts of rainfall over one or more regions of the field, elevation data indicating one or more elevations over the one or more regions of the field, and soil property data indicating one or more properties of soil found across the one or more regions of the field;

the computer system running a flow simulation over the plurality of pixels, of the image data of the field, and based on the precipitation data for the plurality of pixels, the elevation data, and the soil property data, to identify a set of pixels, of the plurality of pixels within the image data, that are likely to have ponding water after the rainfall;

for each pixel, from the set of pixels within the plurality of pixels, the computer system: estimating, using a classifier trained to estimate probabilities that pixels represent pounding ponding water, a probability that a pixel from the set of pixels represents water; assigning the probability to the pixel; determining, based on the probability assigned to the pixel and particular precipitation data, from the precipitation data, assigned to the pixel, a class, from one or more classes, to indicate the probability that the pixel represents ponding water after the rainfall;

the computer system generating one or more alerts corresponding to the one or more classes determined for the set of pixels.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the image data is satellite image data.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the classifier is logistic regression that has been trained on labeled pixel data derived from one or more images of one or more agricultural fields.

15. The non-transitory computer-readable storage medium of claim 12 , wherein running the flow simulation includes:

initializing a water level for each region of a plurality of regions of the field;

iteratively rebalancing water levels between the plurality of regions, wherein at each iteration water flows from higher elevation regions to neighboring lower elevation regions based on the elevation data until a stopping condition occurs, wherein as water flows from the higher elevation regions to the neighboring lower elevation regions an amount of water is removed by being absorbed by soil based on the soil property data;

after iteratively rebalancing the water levels between the plurality of regions of the field, using regions of the plurality of regions which still contain water to identify the set of pixels within the image data that are likely to have ponding water after the rainfall.

16. The non-transitory computer-readable storage medium of claim 12 , wherein each pixel of the plurality of pixels comprises one or more light bands and determining the class for each pixel of the plurality of pixels includes:

generating a model, wherein the model includes a graph comprising a set of vertices, each vertex in the set of vertices representing a respective pixel of the plurality of pixels, and a set of edges representing connections between neighboring pixels of the plurality of pixels;

for each vertex in the set of vertices, setting a probability of being ponding water based on the one or more light bands for the pixel represented by the vertex, a probability of representing water for the pixel represented by the vertex, whether the pixel represented by the vertex is in the set of pixels that are likely to have ponding water, and a probability of neighboring pixels of the pixel represented by the vertex being ponding water;

determining the class for each vertex in the set of vertices that maximizes a joint probability over the graph.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the model is implemented using a Markov Random Field.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the model increases the probability of being ponding water for a given vertex when the probability of representing water for the pixel represented by the given vertex indicates that the pixel represented by the given vertex likely represents water and the pixel represented by the given vertex is in the set of pixels that are likely to have ponding water.

19. The non-transitory computer-readable storage medium of claim 16 , further comprising receiving cropland data that indicates which pixels of the plurality of pixels corresponds to cropland, wherein the model classifies the pixel represented by a given vertex as not ponding water if the cropland data indicates that the pixel represented by the given vertex does not correspond to cropland.

20. The non-transitory computer-readable storage medium of claim 12 , wherein generating the one or more alerts includes sending a message to a user device that specifies ponding water has been detected on the field and one or more locations where the ponding water has been detected based on pixels which have been classified as representing ponding water.

21. The non-transitory computer-readable storage medium of claim 12 , wherein generating the one or more alerts includes identifying a shortest route to visit each area on the field corresponding to pixels which have been classified as representing ponding water.

22. A data processing system comprising:

a memory;

one or more processors coupled to the memory;

spectral analysis logic stored in the memory, executable by the one or more processors, and configured to cause the one or more processors to:

receive image data of a field comprising a plurality of pixels,

use a classifier that has been trained to estimate probabilities that pixels represent ponding water;

flow simulation logic stored in the memory, executable by the one or more processors, and configured to cause the one or more processors to:

receive precipitation data for the plurality of pixels for the image data for the field indicating one or more amounts of rainfall over one or more regions of the field, elevation data indicating one or more elevations over the one or more regions of the field, and soil property data indicating one or more properties of soil found across the one or more regions of the field,

run a flow simulation over the plurality of pixels of the image data of the field, and based on the precipitation data for the plurality of pixels, the elevation data, and the soil property data, to identify a set of pixels, of the plurality of pixels within the image data, that are likely to have ponding water after the rainfall;

coupling logic stored in the memory, executable by the one or more processors, and configured to cause the one or more processors to:

for each pixel, from the set of pixels within the plurality of pixels, determine, based on the probability assigned to the pixel and particular precipitation data, from the precipitation data, assigned to the pixel, a class, from one or more classes, to indicate the probability that the pixel represents ponding water after the rainfall;

alert logic stored in the memory, executable by the one or more processors, and configured to cause the one or more processors to:

generate one or more alters corresponding to the one or more classes determined for the set of pixels.

23. The data processing system of claim 22 , wherein the image data is satellite image data.

24. The data processing system of claim 22 , wherein the classifier is logistic regression that has been trained on labeled pixel data derived from one or more images of one or more agricultural fields.

25. The data processing system of claim 22 , wherein the flow simulation logic is configured to run the flow simulation by:

initializing a water level for each region of a plurality of regions of the field;

iteratively rebalancing water levels between the plurality of regions, wherein at each iteration water flows from higher elevation regions to neighboring lower elevation regions based on the elevation data until a stopping condition occurs, wherein as water flows from the higher elevation regions to the neighboring lower elevation regions an amount of water is removed by being absorbed by soil based on the soil property data;

after iteratively rebalancing the water levels between the plurality of regions of the field, using regions of the plurality of regions which still contain water to identify the set of pixels within the image data that are likely to have ponding water after the rainfall.

26. The data processing system of claim 22 , wherein each pixel of the plurality of pixels comprises one or more light bands and the coupling logic is configured to determine the class for each pixel of the plurality of pixels by:

generating a model, wherein the model includes a graph comprising a set of vertices, each vertex in the set of vertices representing a respective pixel of the plurality of pixels, and a set of edges representing connections between neighboring pixels of the plurality of pixels;

for each vertex in the set of vertices, setting a probability of being ponding water based on the one or more light bands for the pixel represented by the vertex, a probability of representing water for the pixel represented by the vertex, whether the pixel represented by the vertex is in the set of pixels that are likely to have ponding water, and a probability of neighboring pixels of the pixel represented by the vertex being ponding water;

determining the class for each vertex in the set of vertices that maximizes a joint probability over the graph.

27. The data processing system of claim 26 , wherein the model is implemented using a Markov Random Field.

28. The data processing system of claim 26 , wherein the model increases the probability of being ponding water for a given vertex when the probability of representing water for the pixel represented by the given vertex indicates that the pixel represented by the given vertex likely represents water and the pixel represented by the given vertex is in the set of pixels that are likely to have ponding water.

29. The data processing system of claim 26 , wherein the coupling logic is further configured to receive cropland data that indicates which pixels of the plurality of pixels corresponds to cropland, wherein the model classifies the pixel represented by a given vertex as not ponding water if the cropland data indicates that the pixel represented by the given vertex does not correspond to cropland.

30. The data processing system of claim 22 , wherein the alert logic is configured to generate the one or more alerts by sending a message to a user device that specifies ponding water has been detected on the field and one or more locations where the ponding water has been detected based on pixels which have been classified as representing ponding water.

31. The data processing system of claim 22 , the alert logic is configured to generate the one or more alerts by identifying a shortest route to visit each area on the field corresponding to pixels which have been classified as representing ponding water.

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 Sep 2, 2025
From: CLIMATE LLC
To: CLIMATE LLC
Reel/Frame 072809/0473 →
CHANGE OF NAME Recorded Nov 16, 2023
From: THE CLIMATE CORPORATION
To: CLIMATE LLC
Reel/Frame 065610/0571 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2015
From: GUAN, WEI; KHADKA, PRAMITHUS
To: THE CLIMATE CORPORATION
Reel/Frame 036615/0231 →
Continuity (1)
Related Publication 20170083747A1 · Mar 23, 2017
Cited By (22)
US 12,193,350 US 12,216,472 US 12,225,846 US 12,245,549 US 12,250,905 US 12,271,196 US 12,284,934 US 12,295,288 US 12,298,767 US 12,302,791 US 12,310,286 US 12,329,050 US 12,329,065 US 12,329,148 US 12,358,493 US 12,386,354 US 12,419,220 US 12,422,847 US 12,495,733 US 12,520,759 US 12,550,802 US 12,582,035