IP Library Granted Patent US 10,685,253
Granted Patent B2
US 10,685,253 · App. 16/140,052 · Granted Jun 16, 2020

Advanced cloud detection using neural networks and optimization techniques

Inventor: Michael Aschenbeck (Arvada, CO)
Assignee: DigitalGlobe, Inc.
G06K9/4642G06K9/0063G06K9/6267G06N3/08G06T7/11G06T7/143G06T7/162G06F16/9024G06K2009/00644G06T2207/10036G06T2207/20081G06T2207/20084
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,685,253
App. No.
16/140,052
Granted
Jun 16, 2020
Kind
B2
Abstract

Techniques for automatically determining, on a pixel by pixel basis, whether imagery includes ground images or is obscured by cloud cover. The techniques include training a Neural Network, making an initial determination of cloud or ground by using the Neural Network, and performing a max-flow, min-cut operation on the image to determine whether each pixel is a cloud or ground imagery.

Claims (42)

1. A computer-implemented process for determining whether given imagery in an overhead image is cloud imagery or ground imagery, comprising:

for multiple portions of an overhead image, making an initial determination about whether each of the multiple portions primarily contains cloud imagery or primarily contains ground imagery by, with a processor, utilizing a neural network to classify each of the multiple portions of the overhead image as one of cloud or ground; and

with a processor, performing an optimization technique on the multiple portions of the overhead image using the initial determination to determine which portions of the overhead image include cloud imagery or ground imagery;

wherein the optimization technique includes applying a window, having a height and width that are less than a height and width of the overhead image and that are the same as that of the multiple portions of the overhead image, the various portions partially overlapping adjacent portions, in order to determine if each portion most likely contains cloud imagery or ground imagery, and incrementing or decrementing a score for each pixel in the portion based on whether the determination was of cloud imagery or ground imagery, respectively.

2. A computer-implemented process as defined in claim 1 , wherein the optimization technique further includes identifying adjacent pixels and calculating a capacity between the identified adjacent pixels.

3. A computer-implemented process as defined in claim 2 , wherein the score for each pixel represents the likelihood that the pixel does or does not contain a cloud, wherein the optimization technique further includes creating a grid-graph of the scores of the pixels with adjacency information associated with each set of adjacent pixels.

4. A computer-implemented process as defined in claim 3 , wherein the optimization technique further includes connecting the pixels of the grid-graph to both a source and a sink using the pixel score as the capacity, wherein one of the source and the sink represents cloud and one represents ground, and performing a min-cut/max-flow segmentation on the overhead image.

5. A computer-implemented process as defined in claim 1 , wherein the overhead image is a satellite-based image.

6. A computer-implemented process as defined in claim 1 , further including adding to metadata associated with each pixel an indication of whether each such pixel includes cloud imagery.

7. A computer-implemented process as defined in claim 6 , further including using the indication of cloud imagery in the metadata to select pixels for an orthomosaic image free of clouds.

8. A computer-implemented process for determining whether given imagery in an overhead image is cloud imagery or ground imagery, comprising:

for multiple portions of an overhead image, making an initial determination about whether each of the multiple portions primarily contains cloud imagery or primarily contains ground imagery by with a processor, utilizing a neural network to classify each of the multiple portions of the overhead image as one of cloud or ground;

applying a window, having a height and width that are less than a height and width of the overhead image and that are the same as that of the multiple portions of the overhead image, to various portions of the overhead image, the various portions partially overlapping adjacent portions, in order to determine if each portion most likely contains cloud imagery or ground imagery, and incrementing or decrementing a score for each pixel in the portion based on whether the determination was of cloud imagery or ground imagery, respectively;

creating a weight for each pixel to represent the likelihood that the pixel does or does not contain a cloud;

identifying adjacent pixels and calculating a capacity between the identified adjacent pixels;

creating a grid-graph of the scores of the pixels with adjacency information associated with each set of adjacent pixels;

connecting the pixels of the grid-graph to both a source and a sink using the pixel score as the capacity, wherein one of the source and the sink represents cloud and one represents ground; and

performing a min-cut/max-flow segmentation on the overhead image to define portions of the overhead image which are believed to include cloud imagery and portions of the overhead image which are believed to include ground imagery.

9. A computer-implemented process as defined in claim 8 , wherein the overhead image is a satellite-based image.

10. A computer-implemented process as defined in claim 8 , further including adding to metadata associated with each pixel an indication of whether each such pixel includes cloud imagery.

11. A computer-implemented process as defined in claim 10 , further including using the indication of cloud imagery in the metadata to select pixels for an orthomosaic image free of clouds.

12. A computer-implemented process for determining whether given imagery in an overhead image is cloud imagery or ground imagery, comprising:

receiving an overhead image having a plurality of pixels;

sliding an n×n overlapping subwindow throughout the overhead image so that image portions of the overhead image can be classified;

for the image portion seen in each subwindow, classifying the image portion as cloud or ground with the use of a Neural Network and that comprises an initial determination;

adding a vote to each pixel based on the classification of each image portion containing the pixel; and

with a processor, performing an optimization technique on the classifications of the pixels in the overhead image using the initial determination to determine which pixels of the overhead image include cloud imagery or ground imagery.

13. A computer-implemented process as defined in claim 12 , wherein the optimization technique includes identifying adjacent pixels and calculating a capacity between the identified adjacent pixels.

14. A computer-implemented process as defined in claim 13 , wherein the optimization technique further includes creating a score for each pixel to represent the likelihood that the pixel does or does not contain a cloud and creating a grid-graph of the scores of the pixels with adjacency information associated with each set of adjacent pixels.

15. A computer-implemented process as defined in claim 14 , wherein the optimization technique further includes connecting the pixels of the grid-graph to both a source and a sink using the pixel score as the capacity, wherein one of the source and the sink represents cloud and one represents ground, and performing a min-cut/max-flow segmentation on the overhead image.

16. A computer-implemented process as defined in claim 12 , wherein the adding a vote operation includes applying a window, having a height and width that are less than a height and width of the overhead image and that are the same as that of the subwindow, to various portions of the overhead image, the various portions partially overlapping adjacent portions, in order to determine if each portion most likely contains cloud imagery or ground imagery, and incrementing or decrementing a score for each pixel in the portion based on whether the determination was of cloud imagery or ground imagery, respectively.

17. A computer-implemented process as defined in claim 12 , wherein the overhead image is a satellite-based image.

18. A computer-implemented process as defined in claim 12 , further including adding to metadata associated with each pixel an indication of whether each such pixel includes cloud imagery.

19. A computer-implemented process as defined in claim 18 , further including using the indication of cloud imagery in the metadata to select pixels for an orthomosaic image free of clouds.

20. A computer-implemented process for determining whether given imagery in an overhead image is cloud imagery or ground imagery, comprising:

for multiple portions of an overhead image, making an initial determination about whether each of the multiple portions primarily contains cloud imagery or primarily contains ground imagery by, with a processor, utilizing a neural network to classify each of the multiple portions of the overhead image as one of cloud or ground; and

with a processor, performing an optimization technique on the multiple portions of the overhead image using the initial determination to determine which portions of the overhead image include cloud imagery or ground imagery, wherein the optimization technique includes identifying adjacent pixels and calculating a capacity between the identified adjacent pixels.

21. A computer-implemented process for determining whether given imagery in an overhead image is cloud imagery or ground imagery, comprising:

for multiple portions of an overhead image, making an initial determination about whether each of the multiple portions primarily contains cloud imagery or primarily contains ground imagery by, with a processor, utilizing a neural network to classify each of the multiple portions of the overhead image as one of cloud or ground;

with a processor, performing an optimization technique on the multiple portions of the overhead image using the initial determination to determine which portions of the overhead image include cloud imagery or ground imagery;

adding to metadata associated with each pixel an indication of whether each such pixel includes cloud imagery; and

using the indication of cloud imagery in the metadata to select pixels for an orthomosaic image free of clouds.

Assignments (16)
RELEASE OF SECURITY INTEREST Recorded Mar 3, 2026
From: SIXTH STREET LENDING PARTNERS, ACTING IN ITS CAPACITY AS AGENT
To: AURORA INSIGHT INC.; VANTOR INC. (F/K/A MAXAR INTELLIGENCE INC.); VANTOR SERVICES INC. (F/K/A MAXAR MISSION SOLUTIONS INC.); LANTERIS SPACE LLC (F/K/A MAXAR SPACE LLC); SPATIAL ENERGY, LLC; LANTERIS SPACE ROBOTICS LLC (F/K/A MAXAR SPACE ROBOTICS LLC); VANTOR HOLDINGS INC. (F/K/A MAXAR TECHNOLOGIES HOLDINGS INC.)
Reel/Frame 075021/0624 →
CERTIFICATE OF AMENDMENT Recorded Jan 7, 2026
From: MAXAR INTELLIGENCE INC.
To: VANTOR INC.
Reel/Frame 074270/0330 →
CHANGE OF NAME Recorded Nov 4, 2025
From: MAXAR INTELLIGENCE INC.
To: VANTOR INC.
Reel/Frame 073462/0438 →
RELEASE (REEL 060389/FRAME 0720) Recorded May 12, 2023
From: ROYAL BANK OF CANADA
To: MAXAR INTELLIGENCE INC.; MAXAR SPACE LLC
Reel/Frame 063633/0431 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 5, 2023
From: MAXAR INTELLIGENCE INC. (F/K/A DIGITALGLOBE, INC.); AURORA INSIGHT INC.; MAXAR MISSION SOLUTIONS INC. ((F/K/A RADIANT MISSION SOLUTIONS INC. (F/K/A THE RADIANT GROUP, INC.)); MAXAR SPACE LLC (F/K/A SPACE SYSTEMS/LORAL, LLC); SPATIAL ENERGY, LLC; MAXAR SPACE ROBOTICS LLC ((F/K/A SSL ROBOTICS LLC) (F/K/A MDA US SYSTEMS LLC)); MAXAR TECHNOLOGIES HOLDINGS INC.
To: SIXTH STREET LENDING PARTNERS, AS ADMINISTRATIVE AGENT
Reel/Frame 063660/0138 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT - RELEASE OF REEL/FRAME 053866/0412 Recorded May 4, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MAXAR INTELLIGENCE INC.; MAXAR SPACE LLC
Reel/Frame 063544/0011 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT - RELEASE OF REEL/FRAME 060389/0782 Recorded May 4, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MAXAR INTELLIGENCE INC.; MAXAR SPACE LLC
Reel/Frame 063544/0074 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AND TRADEMARKS - RELEASE OF REEL/FRAME 051258/0465 Recorded May 4, 2023
From: ROYAL BANK OF CANADA, AS AGENT
To: MAXAR INTELLIGENCE INC.; MAXAR SPACE LLC
Reel/Frame 063542/0300 →
CHANGE OF NAME Recorded Feb 15, 2023
From: DIGITALGLOBE, INC.
To: MAXAR INTELLIGENCE INC.
Reel/Frame 062760/0832 →
RELEASE OF SECURITY INTEREST Recorded Jun 21, 2022
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: DIGITALGLOBE, INC.; SPACE SYSTEMS/LORAL, LLC; RADIANT GEOSPATIAL SOLUTIONS LLC
Reel/Frame 060390/0282 →
SECURITY AGREEMENT Recorded Jun 17, 2022
From: MAXAR INTELLIGENCE INC.; MAXAR SPACE LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 060389/0782 →
SECURITY AGREEMENT Recorded Jun 16, 2022
From: MAXAR INTELLIGENCE INC.; MAXAR SPACE LLC
To: ROYAL BANK OF CANADA
Reel/Frame 060389/0720 →
PATENT SECURITY AGREEMENT Recorded Sep 23, 2020
From: DIGITALGLOBE, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 053866/0412 →
SECURITY AGREEMENT (NOTES) Recorded Dec 12, 2019
From: DIGITALGLOBE, INC.; RADIANT GEOSPATIAL SOLUTIONS LLC; SPACE SYSTEMS/LORAL, LLC (F/K/A SPACE SYSTEMS/LORAL INC.)
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, - AS NOTES COLLATERAL AGENT
Reel/Frame 051262/0824 →
AMENDED AND RESTATED U.S. PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Dec 11, 2019
From: DIGITALGLOBE, INC.
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 051258/0465 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2018
From: ASCHENBECK, MICHAEL
To: DIGITALGLOBE, INC.
Reel/Frame 046976/0692 →