File size: 3,117 Bytes
147304d
 
 
8e4887f
 
 
fa00e54
 
 
8e4887f
fa00e54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8e4887f
 
fa00e54
 
 
 
 
8e4887f
fa00e54
8e4887f
 
 
 
 
 
 
 
 
 
 
 
fa00e54
8e4887f
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
---
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).