AdaSemSeg β Trained Model Checkpoints
Trained checkpoints for AdaSemSeg, a few-shot semantic segmentation method for seismic facies interpretation, from:
Saha, S. and Whitaker, R. AdaSemSeg: An Adaptive Few-shot Semantic Segmentation of Seismic Facies. IEEE Transactions on Geoscience and Remote Sensing, 2025. arXiv:2501.16760
Code: github.com/Surojit-Utah/AdaSemSeg Β· Pretrained SimCLR encoder used to initialize these models: Surojit-Utah/adasemseg-simclr-encoder
What problem this addresses
AdaSemSeg is built around three properties, evaluated directly by the checkpoints in this repository:
- Class-agnostic architecture, variable number of target classes. Multi-class facies segmentation is decomposed into a set of binary tasks sharing a single backbone, so the number of trainable parameters is fixed and does not grow with the number of facies in a dataset. The same architecture is trained jointly across F3 (6 classes), Parihaka (6), and Penobscot (7) with no per-dataset redesign.
- Cross-domain generalization with no target-domain fine-tuning. Each checkpoint is meta-trained under a leave-one-dataset-out protocol: the target (evaluation) dataset is entirely absent from training. At inference, the target dataset only supplies a small support set (1 or 5 annotated slices) β there are no gradient updates on target data. This is a stronger setting than most Generalized Few-Shot Segmentation (GFS-Seg) or class-incremental few-shot segmentation work, which typically test generalization to unseen classes within a domain the model was already trained on, rather than to a domain never seen during training at all.
- Not seismic-specific in principle. The underlying idea β a class-agnostic, shared-backbone architecture that adapts to a new domain and a new target-class taxonomy from a handful of support examples, without fine-tuning β applies to any few-shot segmentation setting where both the domain and the number of classes can vary at deployment time (e.g. cross-scanner/cross-institution medical image segmentation). Seismic facies interpretation is the evaluated case study here, not an architectural boundary.
Important: what each checkpoint was trained on
The folder name is the held-out target dataset, not the training data β under leave-one-out meta-training, a checkpoint is trained on the other two datasets and evaluated zero-shot (no fine-tuning) on the named one:
| Checkpoint path | Trained (meta-training) on | Evaluated (meta-testing, no fine-tuning) on |
|---|---|---|
f3/{1,5}-shot/bestmodel.pth.tar |
Parihaka + Penobscot | F3 |
parihaka/{1,5}-shot/bestmodel.pth.tar |
F3 + Penobscot | Parihaka |
penobscot/{1,5}-shot/bestmodel.pth.tar |
F3 + Parihaka | Penobscot |
1-shot / 5-shot refers to the number of annotated support slices used at meta-testing time on the target dataset β training data volume is the same across both.
Reported performance (paper Table III, FwF1)
| Target dataset | Shots | AdaSemSeg | ProtoSemSeg (competing baseline) | Transfer learning |
|---|---|---|---|---|
| F3 | 1 | 0.85 | 0.55 | 0.84 |
| F3 | 5 | 0.89 | 0.68 | 0.84 |
| Parihaka | 1 | 0.84 | 0.52 | 0.54 |
| Parihaka | 5 | 0.86 | 0.58 | 0.62 |
| Penobscot | 1 | 0.93 | 0.58 | 0.67 |
| Penobscot | 5 | 0.96 | 0.71 | 0.89 |
AdaSemSeg outperforms both the prototype-based competing method (ProtoSemSeg, also available on the Hub: Surojit-Utah/protosemseg-checkpoints) and transfer learning (fine-tuning on target support slices), despite never fine-tuning on the target dataset itself. Full PA / MCA / FwIoU / FwF1 breakdowns (inline and crossline, both shot counts) are in the main repo README and REPRODUCE.md.
Architecture
Image encoder: ResNet-50, initialized with the SimCLR checkpoint. Decoder: U-Net-style with double convolution + transpose convolution. Gaussian Process regression is applied at two latent layers (bottleneck and the layer above it) for per-class binary mask prediction, following the configuration used in DGPNet (Johnander et al., "Dense Gaussian Processes for Few-Shot Segmentation," ECCV 2022). See paper Appendix A ("Details of the Neural Network Architectures") and methods/adasemseg/models/DGP_resnet_unet.py for the exact definition.
Usage
Each checkpoint is a standard PyTorch checkpoint dict; weights are stored under the net key (or state_dict, both are accepted β see methods/adasemseg/evaluate.py). Because AdaSemSeg is a multi-component architecture (image encoder + mask encoder + GP regression + decoder), loading it requires the model class from the GitHub repo rather than a generic snippet:
git clone https://github.com/Surojit-Utah/AdaSemSeg
cd AdaSemSeg
python scripts/download_assets.py --data # F3/Parihaka/Penobscot volumes
# Download this checkpoint from the Hub and pass its path with --checkpoint
python scripts/evaluate_adasemseg.py --checkpoint /path/to/bestmodel.pth.tar --classes ...
See scripts/evaluate_adasemseg.py and checkpoints/scenarios.json in the main repo for a complete, working example per scenario.
Citation
@article{saha2025adasemseg,
title={AdaSemSeg: An Adaptive Few-shot Semantic Segmentation of Seismic Facies},
author={Saha, Surojit and Whitaker, Ross},
journal={IEEE Transactions on Geoscience and Remote Sensing},
year={2025},
doi={10.1109/TGRS.2025.3595010}
}
@dataset{saha2026adasemsegweights,
title={AdaSemSeg: Trained Model Checkpoints for Adaptive Few-Shot Semantic Segmentation of Seismic Facies},
author={Saha, Surojit and Whitaker, Ross},
year={2026},
publisher={Zenodo},
doi={10.5281/zenodo.21762769},
url={https://doi.org/10.5281/zenodo.21762769}
}