Advancing Earth Observation Through Machine Learning: A TorchGeo Tutorial
Authors: Caleb Robinson, Nils Lehmann, Adam J. Stewart, Burak Ekim, Heng Fang, Isaac A. Corley, Mauricio Cordeiro
Organizations: Microsoft AI for Good Research Lab · Chair of Data Science in Earth Observation, Technical University of Munich · Chair of Earth Observation, University of the Bundeswehr Munich · Department of Robotics, Perception and Learning, KTH Royal Institute of Technology · Wherobots · National Water and Sanitation Agency, Brazil, Federal District, Brasilia
Earth observation machine learning pipelines differ fundamentally from standard computer vision workflows. Imagery is typically delivered as large, georeferenced scenes, labels may be raster masks or vector geometries in distinct coordinate reference systems, and both training and evaluation often require spatially aware sampling and splitting strategies. TorchGeo is a PyTorch-based domain library that provides datasets, samplers, transforms and pre-trained models with the goal of making it easy to use geospatial data in machine learning pipelines. In this paper, we introduce a tutorial that demonstrates 1.) the core TorchGeo abstractions through code examples, and 2.) an end-to-end case study on multispectral water segmentation from Sentinel-2 imagery using the Earth Surface Water dataset. This demonstrates how to train a semantic segmentation model using TorchGeo datasets, apply the model to a Sentinel-2 scene over Rio de Janeiro, Brazil, and save the resulting predictions as a GeoTIFF for further geospatial analysis. The tutorial code itself is distributed as two Python notebooks: https://torchgeo.readthedocs.io/en/stable/tutorials/torchgeo.html and https://torchgeo.readthedocs.io/en/stable/tutorials/earth_surface_water.html.
Figures & tables
Figure 1: Earth Surface Water trained model predictions (blue) on a Sentinel-2 scene captured over Rio de Janeiro, Brazil.