/

June 18, 2020

Deep learning approach for building detection

Building detection using machine learning

Building detection in satellite and aerial imagery is crucial in city management. Buildings are one of the key pieces of cadastral information related to population and cities, and are fundamental to urban planning & policymaking. Critical infrastructures, such as public transport, electricity, water distribution networks, or postal and delivery services, rely heavily on accurate population and building maps.

On top of that, it is essential to get real-life, up-to-date information about buildings each time there is a need for disaster risk management, risk assessment, or emergency relief. For example, managers of vaccination campaigns must have all the data about settlements and their residents to make sure that each person will receive a vaccine. Unfortunately, such data is not always available from local authorities, especially in developing countries. And even when it is available, it is not always up-to-date. It is therefore not surprising that there is such a strong interest among decision-makers to obtain geospatial data and extract insights about buildings. At Picterra, we present a deep learning approach for building detection that cuts 90% of the cost, time, and other resources spent on analyzing geospatial data.

building detection

What is a building?

There is one very important question that needs to be answered before applying a deep learning approach for building detection. What actually is a building? This question may seem obvious, but the reality is far from it. There are simply so many different types of buildings: American style, European style, buildings in slums, refugee camps, informal settlements, just to name a few types. Some buildings are residential, some industrial or agricultural. They appear in different geographies, on different backgrounds. On top of that, buildings can also be presented in different types of data, such as RGB, heat map, or elevation/terrain models. Finally, the resolution of the image can be low or high. A building can also appear very differently on an image, depending on its background and surroundings.

Below you can find a few examples that illustrate this issue. Each image presents buildings but it is different in terms of quality and resolution. Some buildings are touching each other, some are clearly detached.

buildings types

What is also important is people’s understanding of what a building is. Someone may say that there are three buildings on the image below, just connected by shared terraces. Someone else may say it’s a one big complex building. Balconies can be included in the footprint, but it’s not a strict rule.

What is the footprint of this/these building(s)?
What is the footprint of this/these building(s)?

The truth is people will always have different definitions of buildings. That brings us to machine learning. How can we use the algorithms to solve the issue of detecting automatically so many different types of buildings?

Machine learning is all about data – in short, it learns from image content and outlines of buildings in those images. The core algorithm, which in our case is a deep learning architecture, doesn’t need to change in order to adapt to any specific building detection scenario. What really needs to change is the data. You just need to upload the right data to the platform to easily create and feed that data into the model.

Picterra can process various, endless types of data. One of the big strengths of our machine learning algorithms (and machine learning in general) is that it can adapt to very different data. If you have a machine learning model, with DHM data for example, the model will adapt to the data you provided.

Coming back to buildings, it is important to understand that there is no such thing as a single global building detector. There are different use cases, different buildings, different solutions. Different data. The reason behind this is that even if a machine learning model that has been trained on lots of data, it will likely not have been trained on the imagery that fits your data. Models might have been pre-trained on a lot of data, but still, they won’t work well in every possible scenario. That’s what makes the Picterra platform different. It’s about you, your data, and your needs.

With Picterra,

  • You can train your own models quickly and intuitively.
  • Each model solves one task, but you have the flexibility to quickly create many different models.
  • Each model still only works well on data similar to what you trained it on.
  • You define the data, which means you define the scenario.
  • You have the flexibility to iteratively improve your model and expand its generalization-ability.
  • You define the scenario, your building type, your sensor type, your resolution, and your background regions of interest.

As a side note, on Picterra you’re not limited to detect buildings only. You can use exactly the same workflow on the platform to detect cows, roads, water bodies, etc. Check our Applications Page to get different ideas.

Real-World use cases and success stories

Global Forest Watch (GFW), a platform that provides near-real-time forest change data, leverages geospatial AI to monitor deforestation worldwide. GFW combines satellite imagery and advanced algorithms to identify areas with significant forest cover loss and provide alerts to governments, NGOs, and other stakeholders.

SkyFi, a provider of advanced aerial data and analytics solutions, collaborated with Picterra to track the environmental footprint of mining activities using geospatial AI technology. By combining SkyFi’s high-resolution aerial imagery with Picterra’s machine learning algorithms, they were able to monitor land-use changes, detect early signs of deforestation, and assess the impact of mining operations on surrounding ecosystems. Click here to read more.

The Rainforest Foundation, an organization committed to preserving rainforests and supporting indigenous communities, has partnered with Planet, an earth observation company, to utilize geospatial AI technology. The collaboration aims to monitor illegal logging activities and provide evidence to local authorities to enforce legal actions against violators.

SGS, a leading inspection, verification, testing, and certification company, partnered with Picterra to leverage their geospatial AI technology in monitoring and protecting the world’s forests. By utilizing machine learning and satellite imagery analysis, SGS was able to detect and track deforestation events, assess compliance with forestry regulations, and efficiently report the findings to relevant stakeholders. Click here to read more.

In Indonesia, the government has partnered with organizations such as Global Forest Watch and the World Resources Institute to harness geospatial AI technology in monitoring and enforcing the country’s moratorium on new logging permits. The collaboration has helped the Indonesian government identify and prosecute companies that have breached the moratorium, reducing deforestation rates significantly.

How easy is this to do for a non-machine learning expert?

As long as you are the expert of your data, which in this context means that you can define buildings in your imagery, then you’re good to go. You don’t need to know any technical details about machine learning.

You still have to put some effort into annotating but you can get satisfactory results on Picterra with just a handful of annotations – their quality is much more important than quantity. Annotations on Picterra are examples that teach your detector how to automatically identify objects or patterns that you need to find or count in your imagery, for example, your type of building. You neither need to spend hours on annotating the images nor hire a service that does it. That’s why the cost and/or time saving can be huge. Spending an hour on teaching a model replaces even weeks of manual annotations.

Deep learning approach for building detection - how much data do you need?

Usually, a lot less than you think. It depends on the complexity of your use case, but the amount of data you need is usually not as much as you may hear about in academia. Some users have used as few as 10 annotations to get adequate results, and it takes literally a minute. We have also released a feature called Base Detectors, which lets you train your models on top of pre-trained models, allowing you to produce good results with even fewer annotations.

Building detection on satellite imagery - how to get data?

The good news is that there are plenty of resources where everyone can access the relevant data, both paid and free. As we have already mentioned, accessing the Earth Observation data is crucial, as the cadastral information related to buildings may often be not up-to-date, not available, or even non-existent. Performing (and repeating) in-site surveying is extremely costly and at the same time, remote areas can be easily observed from remote sensing imagery.

Check our Imagery Page to investigate different options for acquiring geospatial data. You’ll learn how to access and integrate imagery from the following sources:

  • Aerial or satellite WMS
  • Sentinel-1 & 2 imagery
  • Aerial campaigns over countries
  • OpenAerialMap
  • SkyWatch

You also need to know what kind of data is suitable for your project. The range you can use to detect buildings can go from 1 to 10 meters from the satellite.

imagery resulution

To get a building footprint, you need at least 50 cm. Higher resolutions are useful when you need to categorize the buildings. Lower resolutions, like 1 meter can be used to localize buildings, 10 meters – to map urban areas.

If you already possess geospatial data, you can easily upload it to Picterra and integrate it with other GIS tools you may use. You may also automate some work through our API.

Picterra lets you:

  • Easily integrate state-of-the-art machine learning models in your app.
  • Connect your data source (e.g. WMS).
  • Train a model in our user-friendly GUI.
  • Call your model and deploy it to your data streams with Picterra public API.
  • Access Python & JavaScript library.

Real-life examples of building detection with Picterra

Our users regularly identify various types of buildings. Below you can find a few examples of detectors they have shared with us:

cameroon

Mapping both finished buildings and those under construction in Cameroon.

tanzania

Mapping buildings under construction in Tanzania, identified by the finalists of Tanzania Open AI Challenge organized by Tanzania Flying Labs. The manual annotations on Picterra took only 2 minutes!

Real-life examples of building detection with Picterra

Summary

As you can see, identifying buildings in satellite, aerial, and drone imagery can be done quickly and easily. A deep learning approach for building detection is proven to bring highly accurate results for a fraction of time and cost that otherwise would be spent on manual work. However, it always has to start with a clear definition of what the building is for your use case. We have covered this topic in more detail in the webinar that we hosted at the beginning of June. Watch the webinar and register on the Picterra platform to do it yourself!

Authors:

Roger Fong

Roger Fong

Lead Machine Learning Engineer
Frank de Morsier

Frank de Morsier

COO & Co-founder

Want to join the fight against deforestation?

sign up to our newsletter