FedFound: Federated Foundation Models for Gastrointestinal Endoscopy
This repository contains pretrained foundation models released as part of the paper:
FedFound: Federated Foundation Models for Gastrointestinal Endoscopy
The models were trained using self-supervised learning on gastrointestinal endoscopy images under centralized, local, and federated learning settings. Two pretraining paradigms are provided:
- Masked Autoencoder (MAE)
- Momentum Contrast (MoCo)
These checkpoints can be used as initialization for downstream gastrointestinal endoscopy tasks such as classification, segmentation, and representation learning.
Available Checkpoints
| Checkpoint | Clients | Pretraining |
|---|---|---|
| lb_split1.pth | 1 | MAE |
| lb_split2.pth | 1 | MAE |
| lb_split10.pth | 10 | MAE |
| lb_split20.pth | 20 | MAE |
| ub_central.pth | Centralized | MAE |
| fedavg_split1.pth | 6 | MAE |
| fedavg_split2.pth | 6 | MAE |
| fedavg_split10.pth | 10 | MAE |
| fedavg_split20.pth | 20 | MAE |
| fedavgm_split1.pth | 6 | MAE |
| fedavgm_split2.pth | 6 | MAE |
| fedavgm_split10.pth | 10 | MAE |
| fedavgm_split20.pth | 20 | MAE |
| fedadam_split1.pth | 6 | MAE |
| fedadam_split2.pth | 6 | MAE |
| fedadam_split10.pth | 10 | MAE |
| fedadam_split20.pth | 20 | MAE |
| fedadagrad_split1.pth | 6 | MAE |
| fedadagrad_split2.pth | 6 | MAE |
| fedadagrad_split10.pth | 10 | MAE |
| fedadagrad_split20.pth | 20 | MAE |
| moco_lb_split1.pth | 1 | MoCo |
| moco_lb_split2.pth | 1 | MoCo |
| moco_ub_central.pth | Centralized | MoCo |
| moco_fedavg_split1.pth | 6 | MoCo |
| moco_fedavg_split2.pth | 6 | MoCo |
Naming Convention
- lb: Lower Bound (single-client training)
- ub: Upper Bound (centralized training)
- fedavg: FedAvg aggregation
- fedavgm: FedAvgM aggregation
- fedadam: FedAdam aggregation
- fedadagrad: FedAdagrad aggregation
- moco: Momentum Contrast (MoCo) pretraining
- Models without the
mocoprefix use Masked Autoencoder (MAE) pretraining
Usage
import torch
checkpoint = torch.load("fedavg_split1.pth", map_location="cpu")
if isinstance(checkpoint, dict) and "model" in checkpoint:
state_dict = checkpoint["model"]
else:
state_dict = checkpoint
model.load_state_dict(state_dict, strict=False)
Repository Contents
This repository contains only pretrained model weights.
No patient images, labels, metadata, or clinical information are included.
Citation
If you use these models in your research, please cite:
@article{devkota2025federated,
title={Federated foundation model for gi endoscopy images},
author={Devkota, Alina and Amireskandari, Annahita and Palko, Joel and Thakkar, Shyam and Adjeroh, Donald and Jiang, Xiajun and Bhattarai, Binod and Gyawali, Prashnna K},
journal={arXiv preprint arXiv:2505.24108},
year={2025}
}
Contact
For questions regarding the models, datasets, or training procedures, please open an issue or contact the authors of the paper.