TorchGeo: deep learning with geospatial data
  Remotely sensed geospatial data are critical for applications including
precision agriculture, urban planning, disaster monitoring and response, and
climate change research, among others. Deep learning methods are particularly
promising for modeling many remote sensing tasks given the success of deep
neural networks in similar computer vision tasks and the sheer volume of
remotely sensed imagery available. However, the variance in data collection
methods and handling of geospatial metadata make the application of deep
learning methodology to remotely sensed data nontrivial. For example, satellite
imagery often includes additional spectral bands beyond red, green, and blue
and must be joined to other geospatial data sources that can have differing
coordinate systems, bounds, and resolutions. To help realize the potential of
deep learning for remote sensing applications, we introduce TorchGeo, a Python
library for integrating geospatial data into the PyTorch deep learning
ecosystem. TorchGeo provides data loaders for a variety of benchmark datasets,
composable datasets for generic geospatial data sources, samplers for
geospatial data, and transforms that work with multispectral imagery. TorchGeo
is also the first library to provide pre-trained models for multispectral
satellite imagery (e.g. models that use all bands from the Sentinel 2
satellites), allowing for advances in transfer learning on downstream remote
sensing tasks with limited labeled data. We use TorchGeo to create reproducible
benchmark results on existing datasets and benchmark our proposed method for
preprocessing geospatial imagery on-the-fly. TorchGeo is open-source and
available on GitHub: https://github.com/microsoft/torchgeo.
