Toggle view

Home › 
Projects › 
Monitoring urban growth and change

Monitoring urban growth and change

An image segmentation algorithm that supports sustainable city planning

Case Study
Computer Vision


Starting point

Urban planning in rapidly growing cities is a challenging task, especially when resources are scarce. In Lagos (Nigeria), Accra (Ghana) and Luanda (Angola), for which our solution was created, slum formation is a major urban planning issue as more and more people settle down in the periphery of these cities. In these areas, no basic infrastructure such as water, electricity or public schools are present which is why urban planners want to be able to monitor the growth of suburban areas.



Urban planners need very detailed information in a vertical and horizontal scale of individual houses. However, no current satellite imagery provides the required spatial resolution at reasonable costs. Because of this, urban planners in development countries work largely with Google or Bing Maps that provides high resolution data, but in irregular intervals. Additionally, drones and LIDAR flights with high resolution imagery (10-30 centimeter) are conducted, but due to budgetary constraints, this can only be done every two to ten years.

Lower resolution satellite data such as Sentinel-1 (radar) or Sentinel-2 (optical) is often disregarded, due to low resolution, cloud cover as well as the manual effort to analyse these assets on a continuous basis.



With the capacity of accessing high resolution satellite data such as RapidEye (5 meter), TerraSAR-x (3 meter) and TanDEM-X data (12 meter), two separate Machine Learning models were built. Both models rely on TerraSAR-X data as input, however the target data used uses binary labels created from RapidEye data for the vertical spread and TanDEM-X data as target data for the horizontal segmentation, respectively.

The goal was to train a model that can predict built-up or horizontal expansion of an urban area and to predict vertical elevation based on a measured DEM data set.

For horizontal spread, high accuracy could be reached and very precise maps could be created that display the expansion of urban areas over time. Determining vertical elevation, however, was more prone to error and noise due to the relatively low resolution. With higher resolution satellite data at low cost, it might become feasible in the coming years.


Starting point

Urban planning authorities employ a number of GIS experts experienced working with GIS software such as ArcGIS. For long-term infrastructure planning, very high resolution is required at building level. For this reason, drone or LIDAR images from flights are purchased. Since flights are very cost-intensive, these flights are carried out every two to ten years, depending on the available financial resources. This is insufficient due to the growth dynamics of these cities.

Satellite data is, although providing a lower spatial resolution, complimentary due to the higher time frequency. In practice, Bing and Google Maps is often used. However, the time interval of these images differ as e.g. Google Maps stitches together cloud-free images when available. Moreover, for countries outside of Northern America and Europe, the update frequency is rather low, resulting in less recent imagery for African cities.



Non-commercial satellite data such as Sentinel-1, Sentinel-2 or Landsat-8 with regular updates are alternatives to monitor urban growth and change for GIS practicioners. But, due to the low spatial resolution of 10 - 30 meters and the manual analysis required, this presents no viable option for continuous monitoring of urban areas.

Optical satellite data has the disadvantage that cloud cover prevents high interval observations, especially in tropical regions like the cities selected for this project (Accra, Lagos, Luanda).

Satellite elevation data is difficult to obtain at low cost and in high time intervals. TanDEM-x, ASTER and SRTM data are among the options to consider.



Technologies used

Backend: Python, PyTorch, PyTorch-Lightning, NumPy, Rasterio

Infrastructure: GCloud (Training), Git, tensorboard

As optical and elevation data have their respective downsides concerning cloud cover and update intervals, we decided to build a solution based on radar data with the highest time and spatial resolution possible. Research indicated that urban planners primarily work with very high resolution data such as drone imagery and currently conduct their analysis of expanding urban areas approximately once a year or every two years. It was decided that higher spatial resolution was preferred over time frequency. As the options were TerraSAR-x StripMap and Sentinel-1 and TerraSAR-X data providing a higher resolution, TerraSAR-x was chosen as primary data source for both tasks.

All satellite data was then pre-processed to prepare for feeding into a Machine Learning model.

Terra-SAR-x was taken as inputs for the Deep Learning models, RapidEye (for horizontal expansion) and TanDEM-X (for digital elevation) as labels or ground truth for the Machine Learning models. For the horizontal expansion, a U-Net network architecture was chosen. For vertical elevation, the relatively novel Im2Height approach was selected.

While it could be shown that horizontal urban expansion can be predicted quite accurately (F1-score of 0.9 on the training data set and 0.8 on the test set), the outputs of the vertical elevation predictions were quite noisy and prone to errors. The probable reason for this is that the TanDEM-x data is of lower resolution than the resolution of the input data that was used in the original paper by Mou and Zhu (2017).

Get quarterly AI news

Receive news about Machine Learning and news around dida.

Successfully signed up.

Valid email address required.

Email already signed up.

Something went wrong. Please try again.

By clicking "Sign up" you agree to our privacy policy.

dida Logo
Book ML Talk