Update README.md
Browse files
README.md
CHANGED
@@ -1,5 +1,67 @@
|
|
1 |
---
|
|
|
2 |
library_name: terratorch
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
---
|
4 |
|
5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
license: apache-2.0
|
3 |
library_name: terratorch
|
4 |
+
datasets:
|
5 |
+
- ibm-esa-geospatial/TerraMesh
|
6 |
+
tags:
|
7 |
+
- Earth Observation
|
8 |
+
- TerraMind
|
9 |
+
- IBM
|
10 |
+
- ESA
|
11 |
---
|
12 |
|
13 |
+
# TerraMind 1.0 NDVI Tokenizer
|
14 |
+
|
15 |
+
TerraMind is the first multimodal any-to-any generative foundation model for Earth Observation jointly developed by IBM, ESA, and Forschungszentrum Jülich.
|
16 |
+
The model is pre-trained using FSQ-VAE tokens as targets. This tokenizer encodes and decodes Normalized Difference Vegetation Index (NDVI) maps for the TerraMind model.
|
17 |
+
|
18 |
+

|
19 |
+
|
20 |
+
The tokenizer uses FSQ with five dimensions and a codebook size of 15'360 tokens.
|
21 |
+
The decoding process uses diffusion steps for the reconstruction.
|
22 |
+
The model was pre-trained for 20 epochs on nine million NDVI images from the TerraMesh dataset.
|
23 |
+
|
24 |
+
## Usage
|
25 |
+
|
26 |
+
The tokenizer is fully integrated into the fine-tuning toolkit [TerraTorch](https://ibm.github.io/terratorch/).
|
27 |
+
You can initialize the pre-trained tokenizer with:
|
28 |
+
|
29 |
+
```python
|
30 |
+
from terratorch.registry import FULL_MODEL_REGISTRY
|
31 |
+
model = FULL_MODEL_REGISTRY.build('terramind_v1_tokenizer_ndvi', pretrained=True)
|
32 |
+
```
|
33 |
+
|
34 |
+
Once the model is build, it can be used to encode image and decode tokens.
|
35 |
+
The number of diffusion steps is defined with `timesteps`.
|
36 |
+
Increasing the diffusion steps adds more details to the reconstruction which can also lead to hallucinations.
|
37 |
+
|
38 |
+
```python
|
39 |
+
# Encode image
|
40 |
+
_, _, tokens = model.encode(ndvi_tensor)
|
41 |
+
# Decode tokens
|
42 |
+
reconstruction = model.decode_tokens(tokens, verbose=True, timesteps=10)
|
43 |
+
# Encode & decode
|
44 |
+
reconstruction = model(ndvi_tensor)
|
45 |
+
```
|
46 |
+
|
47 |
+
This tokenizer is automatically loaded with TerraMind generation models like `terramind_v1_base_generate`, see [here](https://huggingface.co/ibm-esa-geospatial/TerraMind-1.0-base#generations) for details.
|
48 |
+
|
49 |
+
We provide example code for the tokenizer at https://github.com/IBM/terramind.
|
50 |
+
|
51 |
+
|
52 |
+
## Feedback
|
53 |
+
|
54 |
+
If you have feedback or any questions, please start a discussion in this HF repository or submitting an issue to [TerraMind](https://github.com/IBM/terramind) on GitHub.
|
55 |
+
|
56 |
+
## Citation
|
57 |
+
|
58 |
+
If you use TerraMind in your research, please cite our [TerraMind](https://arxiv.org/abs/2504.11171) pre-print.
|
59 |
+
|
60 |
+
```text
|
61 |
+
@article{jakubik2025terramind,
|
62 |
+
title={TerraMind: Large-Scale Generative Multimodality for Earth Observation},
|
63 |
+
author={Jakubik, Johannes and Yang, Felix and Blumenstiel, Benedikt and Scheurer, Erik and Sedona, Rocco and Maurogiovanni, Stefano and Bosmans, Jente and Dionelis, Nikolaos and Marsocci, Valerio and Kopp, Niklas and others},
|
64 |
+
journal={arXiv preprint arXiv:2504.11171},
|
65 |
+
year={2025}
|
66 |
+
}
|
67 |
+
```
|