CoolFace
Modelpublic

sdoerrich97/colorist_densenet121_epistr_s133560673

sourceHugging Facemitupdated 18d agoView on Hugging Face
0likes26downloads
Model Card

Colorist — DenseNet121 on Epithelium-Stroma (seed 133560673)

One checkpoint from the model zoo accompanying "Simple, Safe, and Overlooked: Reclaiming Sustainable Domain Generalization with Statistical Color Matching" (MICCAI DEMI 2026, arXiv:2608.18915).

Colorist is a training-free augmentation: it matches each colour channel's first two moments to those of a randomly drawn style image. That is a per-pixel affine map, so it leaves the spatial anatomical layout untouched. The augmentation has no parameters, so there are no weights for it. This repository holds a downstream artefact: a DenseNet121 trained with it on Epithelium-Stroma, using RGB mean-standard-deviation matching applied with probability 0.3.

Model Details

  • —Developed by: Sebastian Doerrich, xAILab Bamberg, University of Bamberg
  • —Model type: DenseNet121 image classifier (timm), trained from scratch on Epithelium-Stroma
  • —License: MIT. The weights carry the code's license; training used no framework imposing stronger terms. The training data does not — Epithelium-Stroma keeps its own license and is not redistributed here.

Sources

  • —Paper: https://arxiv.org/abs/2608.18915
  • —Code: https://github.com/sdoerrich97/colorist
  • —Package: https://pypi.org/project/colorist-aug/
  • —Collection: all 57 checkpoints are grouped in the Colorist collection

Usage

python
from colorist import load_pretrained_classifier

model, config = load_pretrained_classifier("epistr", seed=133560673)

Needs the optional extra: pip install "colorist-aug[weights]". Preprocess with the normalization in config.json; ImageNet statistics are not what this was trained on.

DatasetEpithelium-Stroma (epistr)
Classes2 (binary-class)
Input224 x 224 RGB
Seed133560673

Results

Test balanced accuracy on Epithelium-Stroma, for every published seed:

SeedTest balanced accuracy
713975890.8124
1335606730.9088
2650170050.8822

Mean over seeds 0.8678 (sd 0.0498).

Trained without any augmentation, the same architecture reaches 0.6096 on this dataset.

Read the three seeds together, not this one alone. Every number in the paper is a mean over all three, and on the small covariate-shift benchmarks the spread between them is large. The other two:

Do not average these checkpoints into one. They are trained from scratch with different initialisations, so they occupy different loss basins and averaging their weights cancels their features rather than combining them: measured on BloodMNIST, the three seeds score 0.9844 / 0.9886 / 0.9918 and their weight-average scores 0.1250, which is exactly chance for 8 classes.

Limitations

  • —Photometric shift only. The transform is affine per pixel and changes no geometry, so it does not address geometric or resolution shift.
  • —A research artefact. Not validated for clinical use; not for diagnosis.

Citation

bibtex
@article{doerrich2026colorist,
  title         = {Simple, Safe, and Overlooked: Reclaiming Sustainable Domain
                   Generalization with Statistical Color Matching},
  author        = {Doerrich, Sebastian and Di Salvo, Francesco and
                   Rai, Shyam Nandan and Lents, Marco and Ledig, Christian},
  year          = {2026},
  eprint        = {2608.18915},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CV},
  url           = {https://arxiv.org/abs/2608.18915}
}