MedNeXt-B + DistMap (auxiliary SDT loss) — BraTS 2023 GLI (5-fold CV)

3D segmentation of brain tumor regions (NCR, edema, enhancing tumor) on multi-modal MRI (T1, T1ce, T2, FLAIR), trained on the BraTS 2023 GLI challenge dataset using nnU-Net v2 with the MedNeXt-B backbone (Roy et al., MICCAI 2023).

This repository ships the 5 cross-validation folds of the model. Use the same fold-of-the-patient at inference, or ensemble all 5 folds for higher robustness (BraTS-style soft voting).

Per-fold validation Dice (best EMA, foreground-mean)

Fold Best EMA Dice Trained epochs
fold 0 0.9341 291
fold 1 0.9367 298
fold 2 0.9400 247
fold 3 0.9351 291
fold 4 0.9336 262

Mean across folds : 0.9359.

Files

  • fold_{0..4}/model.safetensors — network weights (weights-only, no optimizer state)
  • fold_{0..4}/metadata.json — trainer name, best EMA Dice, allowed mirroring axes, configuration
  • fold_{0..4}/plans.json — nnU-Net architecture plan (patch size 128³, BS 2, MedNeXt-B)

Usage

import torch
from safetensors.torch import load_file
from huggingface_hub import hf_hub_download

# Pick a fold (0–4), or load all 5 for ensembling
fold = 0
weights_path = hf_hub_download(repo_id="GuillaumeCassez/mednext-distmap-brats2023gli", filename=f"fold_{fold}/model.safetensors")
plans_path   = hf_hub_download(repo_id="GuillaumeCassez/mednext-distmap-brats2023gli", filename=f"fold_{fold}/plans.json")

state_dict = load_file(weights_path)
# Build the MedNeXt model with nnU-Net v2 (see https://github.com/MIC-DKFZ/nnUNet)
# and load the state_dict :
# model.load_state_dict(state_dict)

For the full inference pipeline (preprocessing, sliding-window prediction, TTA) you need :

Training details

  • Backbone : MedNeXt-B (Roy et al., MICCAI 2023)
  • Framework : nnU-Net v2 with custom trainer
  • Input : 4-modality MRI (T1, T1ce, T2, FLAIR), patch 128³, BS 2, BF16
  • Loss : Dice + cross-entropy + λ × MSE on Signed Distance Transform (auxiliary head)
  • Hardware : RTX PRO 6000 Blackwell (96 GB)
  • Schedule : 300 epochs per fold, ~13 h 30 wall-clock
  • Cross-validation : 5-fold stratified by patient ID over 1196 patients

Auxiliary head

On top of the standard segmentation output, this model has an auxiliary head that regresses a Signed Distance Transform (SDT) for each tumor class (NCR, ED, ET). Architecture : Conv3D(32 → 3, kernel 1×1×1) + tanh. Loss : Dice + CE + λ × MSE(SDT), λ = 1. Reference : Ma 2020 (MIDL), Xue 2020 (AAAI).

Important characterised side-effect : the SDT auxiliary head produces spurious isolated connected components ("fragments"), particularly on NCR (×1.5 vs Baseline). This artefact is invisible to Dice but visible via topological CC counts and HD95. The companion paper proposes a parameter-free post-hoc CC-consensus filter that eliminates 66 % of NCR fragments at no Dice cost and improves NCR HD95 from 4.86 to 4.48 mm (p = 5.7 × 10⁻¹⁴).

Companion artefacts

License

MIT (weights and code). Raw BraTS 2023 GLI imaging data is not redistributed (challenge license).

Citation

@misc{cassez2026ccconsensus,
  title  = {Distance Map Auxiliary Loss for Brain Tumor Segmentation: Honest Re-evaluation under the Official BraTS-2023 Metrics — a Recall-Oriented SDT Head and a Connected-Component Consensus that Beats the Baseline},
  author = {Cassez, Guillaume},
  year   = {2026},
  doi    = {10.5281/zenodo.19695263},
  url    = {https://guillaume-cassez.fr/imagerie-medicale/}
}

Acknowledgments

The author thanks Stanislas Larnier for methodological guidance, feedback on the framing of research questions, and careful reviews of successive drafts of the companion paper.

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