Science and engineering

Machine learning for remote sensing

Remote sensing applies machine learning to satellite and aerial imagery: classifying land cover from spectral bands, detecting change such as deforestation or flooding between dates, masking clouds, and estimating crop condition from vegetation indices like NDVI.

How machine learning is used in remote sensing

Classifying land cover

Models assign each pixel or area a class such as forest, cropland, water or built-up, using spectral bands, indices and texture. Frequent satellite revisits allow maps that update as the land changes.

Real exampleDynamic World (Brown et al., Scientific Data, 2022)Produces near real-time 10 m global land use and land cover maps from Sentinel-2 imagery using deep learning.

Mapping floods

Radar satellites see through cloud, which is common during floods. Segmentation models trained on labelled radar scenes map flood water quickly for response teams.

Real exampleSen1Floods11 (Cloud to Street)A georeferenced dataset for training and testing deep learning flood mapping algorithms on Sentinel-1 radar imagery.

Masking clouds

Clouds and shadows corrupt optical images, so most pipelines start by detecting them. Pixel classifiers trained on labelled scenes do this automatically for every image.

Real examples2cloudless (Sentinel Hub)An open-source Python package for automated cloud detection in Sentinel-2 imagery, based on a single-scene, pixel-based machine learning detector.

Extracting buildings and infrastructure

Segmentation networks trace building outlines and roads from high-resolution imagery, producing map layers at national and global scale.

Real exampleGlobal ML building footprints (Microsoft Bing Maps)Bing Maps released open building footprints derived from satellite imagery, reporting 1.4 billion buildings detected from imagery captured between 2014 and 2024.

Can you learn machine learning for remote sensing?

Yes. Remote sensing specialists can add machine learning to their knowledge of sensors and imagery, starting with pixel classifiers and moving to deep learning. Learn Python and raster handling, accuracy assessment, classical classifiers, then segmentation networks.

  1. PythonScript image processing that you would otherwise do in desktop software.Learn it in Python
  2. Raster data handlingRead, reproject, tile and mask imagery with rasterio and xarray, or work in Google Earth Engine.
  3. Accuracy assessmentConfusion matrices, sampling design and area-adjusted accuracy for honest map validation.Learn it in Statistics
  4. Pixel classificationRandom forests on spectral bands and indices such as NDVI are the classic baseline.Learn it in Machine Learning
  5. Deep learning for imageryU-nets and transformers for segmentation and change detection.Learn it in Deep Learning

Moving into machine learning for remote sensing

If you already work in the field

Remote sensing specialists know sensors, atmospheric effects and ground truth, which machine learning engineers often underestimate. Add Python and deep learning, then reproduce a land cover or flood map for an area you know and assess it with proper accuracy statistics. Space agencies, environmental agencies, insurers and agriculture technology companies hire for this.

If you come from data science or ML

Machine learning engineers should learn the main sensor types (optical and SAR), spectral bands, projections, cloud and atmospheric effects and accuracy assessment practice. Google Earth Engine or Copernicus data tutorials are a practical start.

Roles that do this workRemote sensing scientistEarth observation data scientistGeospatial machine learning engineerGIS analyst

Tools you will use

ToolWhat you use it for
RasterioRead, reproject and window multispectral satellite rasters.
rioxarrayWork with labelled raster time series in Xarray, including clipping and reprojection.
TorchGeoLoad Earth-observation datasets and pretrained models for deep learning on imagery.
Google Earth EngineQuery Sentinel and Landsat archives, compute indices and train classifiers in the cloud.
scikit-learnTrain pixel-level random forests and baselines on band values and indices.

Public data to practise on

  • EuroSAT: Sentinel-2 image patches labelled into land-use and land-cover classes, in RGB and all-band versions.
  • Copernicus Data Space Ecosystem: Full Sentinel-2 and Sentinel-1 archives for your own study area; free registration required.
  • USGS EarthExplorer: Landsat scenes and other imagery for long-term change detection; free registration required.

Your first project

Download the multispectral version of EuroSAT, classify land cover with a random forest on per-band means and NDVI, and compare it with a small TorchGeo convolutional network using overall accuracy and per-class recall.

Common questions

Which satellites are used for machine learning in remote sensing?

Free data from Sentinel-1 radar, Sentinel-2 optical and Landsat is the most common starting point, with commercial very high resolution imagery for detailed tasks.

What is NDVI?

NDVI, the normalised difference vegetation index, compares near-infrared and red reflectance to indicate green vegetation. It is a common input feature for crop and vegetation models.

Why is cloud masking important?

Clouds and their shadows hide the surface in optical images and corrupt any model trained or applied on them. Masking them is usually the first processing step.

Is deep learning always better than random forests for satellite imagery?

No. Random forests on spectral features remain strong for pixel classification with limited labels. Deep learning wins when spatial patterns matter, such as buildings, roads or field boundaries, and when enough labels exist.

Courses for these skills

New to programming or maths? Start with Python, or follow the machine learning path in order. Published lessons are free to read; compare Free and Pro.