A computer can be taught how to speak languages, recognize faces and act as a personal assistant. However, although computers have become increasingly human, one element that seems obvious to us has easily evaded machine detection: the presence of clouds.

Automated cloud filtering for clearer understanding
Figure 1. Forest under cloud coverage
Source: Kayrros

Cloud detection is an extremely useful tool in image processing because it can be used to automatically filter large volumes of satellite imagery with clear visibility. The challenge is to create and implement a method to successfully filter these images, which is lot easier in theory than in practice since there are significant nuances as to what really constitutes cloud coverage. What if there’s just a thin fog, and the underlying landscape is still visible to the human eye? If the goal is indeed to monitor something on the ground, it would be useful to keep such an image, even though it may be a little cloudy.

There are several different methods that have been tested for automated cloud detection. One is by using satellite wavelengths. This method, however, doesn’t allow for the distinction between different types of clouds or white buildings for example, thereby raising the risk of filtering out usable data.

Figure 2. Detecting clouds over an industrial site
Source: Kayrros


Another method, which is somewhat more challenging, is to build a machine learning algorithm and select a complementary model—often a neural network—to “feed” the algorithm with human-labeled images of clouds and clear skies, so the model starts to learn patterns and distinguish clouds. The challenge here is that the dataset needs to be both sizeable and dynamic and include elements that are likely to throw the model off. Various landscapes, degrees of cloud coverage and white buildings are therefore thrown in. The reason for this is that if a dataset only contains imagery over a sea, for example, the model is not likely to perform well over a forest.

Getting the model right expands the range of possibility in analyzing big datasets by introducing automated clarity at scale, which in-turn opens the opportunity to derive better insights. One example of this is deforestation.

Figure 3. Pre- and post- deforestation
Source: Kayrros

On the left is an image taken before deforestation occurred, with the image on the right displaying the same terrain after it was leveled out by deforestation. The figure below displays the vegetation index of this forest within the same date range.

Figure 4. Timeseries without cloud filtering
Source: Kayrros

This is a time series constructed from all of the imagery of the forest within a two-year time period.  It is clear that deforestation took place sometime in the summer of the first year, as we can see by the drop in vegetation index. The exact date, however, is uncertain as the data are scattered and noisy.

Figure 5. Time series with cloud filtering
Source: Kayrros

Figure 5 shows the same time series again, once the cloudy imagery has been filtered out. Eliminating the noise from the signal significantly improves the ability to better determine when deforestation occurred.

Automated cloud detection allows monitoring of environmental changes, like deforestation, to be set up at scale. But what if we wanted to analyze the progression of deforestation across every forest worldwide?

Kayrros has integrated cloud detection into its platform to use as a pre-processing filter in monitoring any energy, natural resource or industrial asset worldwide, whether the available data consist of a few hundred images or a few thousand. Sometimes the things that appear most simple are most challenging. If greater understanding comes through greater clarity; clear skies could be a good first step. 

A team to change the way businesses make decisions