|
--- |
|
license: apache-2.0 |
|
--- |
|
|
|
## Overview |
|
|
|
[SatlasPretrain](https://satlas-pretrain.allen.ai) is a large-scale remote sensing image understanding dataset, |
|
intended for pre-training powerful foundation models on a variety of types of satellite and aerial images. |
|
It pairs remote sensing images with hundreds of millions of labels derived from [OpenStreetMap](https://www.openstreetmap.org/), [WorldCover](https://esa-worldcover.org/), other existing datasets, and new manual annotation. |
|
|
|
Quick links: |
|
|
|
- [Learn more about the dataset](https://satlas-pretrain.allen.ai) |
|
- [Download the dataset](https://github.com/allenai/satlas/blob/main/SatlasPretrain.md) |
|
- [Fine-tune the pre-trained foundation models](https://github.com/allenai/satlaspretrain_models/) |
|
|
|
## Dataset |
|
|
|
The dataset is contained in the tar files in the `dataset/` folder of this repository. |
|
Our [Github repository](https://github.com/allenai/satlas/blob/main/SatlasPretrain.md) contains details about the format of the dataset and how to use it, as well as pre-training code. |
|
|
|
The dataset is released under [ODC-BY](https://github.com/allenai/satlas/blob/main/DataLicense). |
|
|
|
## Models |
|
|
|
The models here are Swin Transformer and Resnet backbones pre-trained on the different types of remote sensing images in SatlasPretrain: |
|
|
|
- Sentinel-2 |
|
- Sentinel-1 |
|
- Landsat 8/9 |
|
- 0.5 - 2 m/pixel aerial imagery |
|
|
|
The pre-trained backbones are expected to improve performance on a wide range of remote sensing and geospatial tasks, such as planetary and environmental monitoring. |
|
They have already been deployed to develop robust models for detecting solar farms, wind turbines, offshore platforms, and tree cover in [Satlas](https://satlas.allen.ai), a platform for accessing global geospatial data generated by AI from satellite imagery. |
|
|
|
[See here](https://github.com/allenai/satlaspretrain_models/) for details on how to use the models and the expected inputs. |
|
|
|
The model weights are released under [ODC-BY](https://github.com/allenai/satlas/blob/main/DataLicense). |
|
|
|
### Usage and Input Normalization |
|
|
|
The backbones can be loaded for fine-tuning on downstream tasks: |
|
|
|
import torch |
|
import torchvision |
|
model = torchvision.models.swin_transformer.swin_v2_b() |
|
full_state_dict = torch.load('satlas-model-v1-highres.pth') |
|
# Extract just the Swin backbone parameters from the full state dict. |
|
swin_prefix = 'backbone.backbone.' |
|
swin_state_dict = {k[len(swin_prefix):]: v for k, v in full_state_dict.items() if k.startswith(swin_prefix)} |
|
model.load_state_dict(swin_state_dict) |
|
|
|
They can also be easily initialized using the lightweight [`satlaspretrain_models` package](https://github.com/allenai/satlaspretrain_models/). |
|
|
|
## Code |
|
|
|
The training code and SatlasPretrain dataset are at https://github.com/allenai/satlas/. |
|
|
|
SatlasPretrain is [a paper](https://arxiv.org/abs/2211.15660) appearing at the International Conference on Computer Vision in October 2023. |
|
|
|
## Feedback |
|
|
|
We welcome any feedback about the model or training data. |
|
To contact us, please [open an issue on the SatlasPretrain github](https://github.com/allenai/satlas/issues). |