TMB-S3 models

Pretrained burned-area segmentation models for Sentinel-3 OLCI time series, trained on the TMB-S3 dataset. All four use the SegFormer backbone: it gives the best results of the paper in each setting (tied with U-Net for the ConvLSTM band-subset model).

  • Paper: "Temporal Modelling for Burn Scars on Sentinel-3", Barco L., Arnaudo E., Bragagnolo A., Rossi C., Garza P., Application of Information and Communication Technologies (AICT) Conference 2026.
  • Code: GitHub, needed to run the models.
Folder Model Bands Test F1 Test IoU
segformer_2d_earlyfusion_all 2D SegFormer, bi-temporal early fusion 21 66.01 57.43
segformer_2d_earlyfusion_subset 2D SegFormer, bi-temporal early fusion 5 65.83 56.83
convlstm_segformer_prepost_all ConvLSTM + SegFormer, pre- and post-fire sequence 21 68.41 59.29
convlstm_segformer_prepost_subset ConvLSTM + SegFormer, pre- and post-fire sequence 5 69.45 59.81

F1 and IoU are for the burned class (×100), averaged over the 118 test bounding boxes, with the paper's test protocol. The 5-band subset is Oa21, Oa17, Oa08, Oa06 and Oa04.

How these weights were chosen. Each configuration was trained with 3 seeds (17, 42, 127), and the paper reports mean ± standard deviation over them. The checkpoint of each run is the epoch with the highest validation burned-class F1. Among the 3 seeds, the run released here is the one with the highest test F1, so these scores are above the paper's means (2D: 65.50 / 65.73; ConvLSTM: 67.64 / 68.24) and should not be read as unbiased estimates.

Inputs

  • 2D early fusion: the pre-fire acquisition and the last post-fire acquisition concatenated along channels, plus ESA WorldCover: 43 channels (21 bands) or 11 (5 bands).
  • ConvLSTM: the whole sequence (one pre-fire acquisition, then the post-fire acquisitions), each frame with WorldCover appended: 22 or 6 channels per frame. The prediction at the last frame is the output.

Normalisation, band selection and early fusion are done by the code's test transform, driven by each folder's config.yaml.

Files

Each folder contains:

  • config.yaml: the training configuration, as in the code repository's configs/.
  • model.ckpt: Lightning checkpoint (weights and hyperparameters; optimizer state removed).
  • model.safetensors: the same network weights, loadable without pickle.
  • test_results.csv: per-bounding-box test metrics of this checkpoint.

Usage

With the code repository and the dataset in data/tmb-s3/:

hf download links-ads/tmb-s3-models --local-dir models
uv run tools/launch.py test models/convlstm_segformer_prepost_subset \
  -c models/convlstm_segformer_prepost_subset/model.ckpt \
  --temporal-agg last_full --burnt-vote-threshold 0.5 \
  --water-mask-key landcover --water-mask-value 7 8

This reproduces test_results.csv, and writes the results to <folder>/test/.

To load only the network:

import sys, yaml
from safetensors.torch import load_file

sys.path.insert(0, "tools")  # code repository root
from launch import _build_model

name = "models/convlstm_segformer_prepost_subset"
model = _build_model(yaml.safe_load(open(f"{name}/config.yaml")))
model.load_state_dict(load_file(f"{name}/model.safetensors"))
model.eval()

License

MIT, like the code. The training data is covered by the licenses listed in the dataset card.

Citation

TBD

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train links-ads/tmb-s3