Detecting

Here are several objects that can be detected on optical Satellite imagery. For each type of object, you will find potential use cases as well as available datasets, models and resources.

Ships

Ship seen from above

Maritime traffic has doubled over the last 15 years. With more ships at sea, there is also more risks for piracy, illegal activities and environmental damages. Being able to monitor ships in high seas, far away from any coast, is a perfect task for Earth Observation satellites.

You will find a few datasets with annotated ships in satellite images on Kaggle. It is possible to detect ships on any type of optical imagery from Sentinel-2 images at 10 m. resolution to Planet imagery at 3 m. to Airbus Pleiades-NEO imagery at 30 cm.

Datasets from Airbus

The Airbus Ship Detection Challenge features a huge dataset of more than 80,000 annotated ships on roughly 200,000 optical SPOT imagery at 1.5 meters. The best way to solve this task if to use first a classification model to detect if there are any ships at all on the whole image and then use segmentation on the remaining imagery to detect the ships. By creating three classes (outside ship, inside ship and borders), it is possible to precisely separate the ships which are moored with other ships. You will find a lot of information in the notebooks and forums as well as some posts by the winners.

Datasets from Planet

Planet as a dataset on Kaggle to search for the presence of ships in chips of Planet satellite imagery. The ships in satellite imagery dataset contains extracts from San Francisco Bay using Planet satellite imagery. It is mostly a classification task.

There is a Coursera Guided Project based on this dataset: (price 8€ in Jan. 2021)

From C-CORE

And finally the Statoil/C-CORE Iceberg Classifier Challenge offers some radar imagery and a classification task to identify if objects in the images are ships or icebergs.

Wind turbines

Wind turbines

Wind turbines produce renewable energy but are also major obstacles to air navigation as they can often reach more than 100 meters.

Introduction and use cases

There are a few use cases for wind turbines detection on satellite imagery. A map of wind turbines at country level can be a great indicator of the country dependance to non renewable energy source.

By associating wind prediction and exact location of wind turbines, it is possible to predict the energy production for upcoming days. This could help traders to predict future energy prices.

The are also to control the correct alignment of the turbines with the wind direction from satellite imagery.

Datasets for Deep Learning

Here is the link to instructions on how to detect and annotate wind turbines on satellite imagery.

Airbus has published on Kaggle a dataset consisting of positive and negative patches (i.e. tiles with a wind turbines and tiles without wind turbines). This can be used to train a classification algorithm and potentially a detector.

If you would like to cross a list of wind turbines locations with some satellite imagery data, here (6MB zipped) is an extract of the OpenStreetMap database from early 2021 in CSV format with around 300,000 wind turbines all over the world. Below is the distribution of wind turbines in this file.

This database probably overlaps with the U.S.-only database provided by the USGS on this page.

It is probable that 5 m. is the minimum resolution to be able to detect wind turbines with a correct accuracy. There does not seem to be a publicly available machine learning dataset for wind turbines.

More resources

  • There is a great article about using synthetic imagery to build a wind turbine detector ; it also provide access to code source and dataset.
  • This news article presents the USGS initiative to map all windmills in the USA and links to various ways to access to the database.
  • Check also this article about finding wind turbines in Germany with the support of Esri GIS software
  • Daniel Moraite has a nice article on how to extract specific features like orientation after the detection of wind turbines.
  • And finally, you can also check this repository which has some started code to build a detector.

Solar Panels

Solar panels

Solar farms

They are actually built by commercial companies who resell the produced energy. Solar farms are easy to detect because that are usually pretty large.

Indeed, Astrea presents how they built a solar farm detector on Sentinel-2 images. It indicates that the final model had a precision of 92% and a recall of 85% of its solar farm predictions. Unfortunately very few details are given except that “the most important factor in model improvement came from getting more training data — not from hyper-parameter tuning or testing out different CNN architectures.”

Individual solar panels

Detection solar panels on roofs needs high resolution imagery. It is very difficult to achieve with 1.5m or even 50 cm imagery so you would need 30 cm imagery (Airbus Pleiades-NEO, aerial or drone imagery)

Stanford has create a project called DeepSolar which uses an AI algorithm to examine satellite images and identify solar installations.

There is also some interest in being able to detect suitable rooftops for solar panels. Google has a projet called SunRoof based on Lidar data which is not available everywhere. In this article about detecting rooftop solar power, you will learn that the detection of trees is important for a correct evaluation.

Finally, here is a small week-end project that you can try to replicate :)

Resources

Below are a few interesting resources about Deep Learning and Earth Observation.

Datasets

Computer

Some interesting satellite imagery datasets

SpaceNet is a super large open-source dataset for the detection of buildings and roads. It contains ~67,000 square km of very high-resolution imagery, >11M building footprints, and ~20,000 km of road labels. SpaceNet-1 to SpaceNet-7 correspond to different versions for different challenges.

xView is one of the largest publicly available datasets of overhead imagery. It contains images from complex scenes around the world.

Functional Map of the World (fMoW) is a dataset that aims to inspire the development of machine learning models capable of predicting the functional purpose of buildings and land use from temporal sequences of satellite images and a rich set of metadata features.

DOTA is a large-scale dataset for object detection in aerial images. It can be used to develop and evaluate object detectors in aerial images. The images are collected from different sensors and platforms.

AI-TOD is a dataset for tiny object detection in aerial images.

Make sure also to check these lists for more datasets :

About

Hey! My name is Jeff Faudi. I started this site as a collection of interesting stuff about Deep Learning applied to Satellite Imagery.

  • Objects to detect
  • Corresponding datasets
  • Great models to start with
  • Tools that you should use
  • Discussion on strategies for next steps

Feedback

This website is mostly a “note to self” about what I am currently working on. Mostly extracting small objects from optical satellite imagery. I have probably made a lot of approximations and missed plenty of good articles, datasets or contributions. Please send me your feedback!

If you want to go further and if you are not intimidated by a long list of valuable resources, you should absolutely check Rob Cole page about performing deep learning (DL) on satellite imagery.

Thanks to Unsplash for the great photographs :)

And many thanks to my company Airbus for offering me the opportunity to work on these exciting satellites images for the last 15 years.