COMP3888 pancreas segmentation checkpoints

This model repo is part of COMP3888 (Computer Science Capstone Project) at the University of Sydney. The group members are Adam Lukic, Joy Yan, Mitchell Cooper, Jordan Guyot, Dillon de Silva, Quinn Hannam, and Will Pennell.

This repo consists of nnU-Net v2 (3D full resolution) checkpoints for pancreas segmentation on CT and MRI. Each file is an nnU-Net checkpoint_best.pth renamed for this release. They are not Transformers models: AutoModel and from_pretrained cannot rebuild them.

Training used the COMP3888 capstone project's internal datasets, built by combining AMOS22, MSD Task07 Pancreas, and PanSegData. CT training reads ct_pancreas_70_tumour_inc; MRI training reads mri_pancreas_70_tumour_inc. The locked test split is 87 CT cases (45 AMOS22, 42 MSD) and 124 MRI cases (9 AMOS22, 58 PanSegData T1, 57 PanSegData T2).

All eight runs use nnUNetTrainer_P35, 150 epochs, fold 0, and seed 123. Dice stays at weight 1.0. The four loss recipes are:

Recipe Cross-entropy schedule
Boundary Boundary-weighted CE, weight 1.0, peak 5, width 2
Centre Centre-weighted CE, weight 1.0, peak 5
C2B Centre-weighted CE 1.5 β†’ 0 and boundary-weighted CE 0 β†’ 1.5, crossfade over epochs 38–112
C2B aggressive Centre-weighted CE 1.5 β†’ 0 and boundary-weighted CE 0 β†’ 1.5, both with peak 5 (boundary width 2). Epochs 0–40 stay centre-heavy, the crossfade is a 10-epoch ramp over epochs 40–50, and epochs 50–150 stay boundary-heavy

Configs for each run are under ct/configs/ and mri/configs/.

Results

Values are medians on the locked test split, except the aggressive IoU, sensitivity, specificity, and connected-component cells, which are means. A few failed cases pull mean HD95 and mean connected-component counts well above the typical case. Dice, IoU, sensitivity, and specificity are higher-is-better. HD95 and connected components are lower-is-better. F1 is omitted because it matches Dice on this binary task. Within each table, the best value in a column is bolded. Ties are bolded together.

Case-weighted is the median across every test scan. A source with more cases (MSD on CT; PanSeg T1 and T2 on MRI) therefore contributes more of the cases that the median is taken over.

Source-weighted is the unweighted average of the per-source medians. Each source dataset counts once, so the 9-case AMOS MRI subset counts as much as the 58-case PanSeg T1 subset. The evaluation reports call the same weighting source-balanced when it is applied to means.

Boundary, centre, and base C2B values are medians from the per-case evaluation files. Aggressive Dice and HD95 are medians from the run summaries. Those summaries only have means for IoU, sensitivity, specificity, and connected components, so those four aggressive cells are means and are marked (mean). They are not bolded against the medians in the same column. These are single-fold descriptive results.

Case-weighted

CT

Checkpoint Dice IoU Sensitivity Specificity HD95 (mm) Components
ct/ct_final_ckpt_standard_boundary_loss.pth 0.8679 0.7666 0.9055 0.999801 5.48 1
ct/ct_final_ckpt_standard_center_loss.pth 0.8477 0.7357 0.9129 0.999792 8.61 2
ct/ct_final_ckpt_c2b_annealing.pth 0.8562 0.7486 0.9121 0.999794 6.06 1
ct/ct_final_ckpt_c2b_annealing_aggressive.pth 0.8701 0.7241 (mean) 0.8467 (mean) 0.999757 (mean) 5.71 1.99 (mean)

MRI

Checkpoint Dice IoU Sensitivity Specificity HD95 (mm) Components
mri/mri_final_ckpt_standard_boundary_loss.pth 0.8480 0.7361 0.8563 0.999466 6.00 1
mri/mri_final_ckpt_standard_center_loss.pth 0.8410 0.7256 0.8564 0.999440 6.07 1
mri/mri_final_ckpt_c2b_annealing.pth 0.8419 0.7270 0.8551 0.999462 6.00 1
mri/mri_final_ckpt_c2b_annealing_aggressive.pth 0.8459 0.7120 (mean) 0.8358 (mean) 0.999330 (mean) 6.00 1.28 (mean)

Source-weighted

CT

Checkpoint Dice IoU Sensitivity Specificity HD95 (mm) Components
ct/ct_final_ckpt_standard_boundary_loss.pth 0.8654 0.7634 0.8809 0.999813 5.35 1.50
ct/ct_final_ckpt_standard_center_loss.pth 0.8557 0.7484 0.8837 0.999760 8.50 1.75
ct/ct_final_ckpt_c2b_annealing.pth 0.8654 0.7635 0.8871 0.999804 5.68 1.50
ct/ct_final_ckpt_c2b_annealing_aggressive.pth 0.8664 0.7233 (mean) 0.8453 (mean) 0.999755 (mean) 5.74 1.98 (mean)

MRI

Checkpoint Dice IoU Sensitivity Specificity HD95 (mm) Components
mri/mri_final_ckpt_standard_boundary_loss.pth 0.8485 0.7373 0.8595 0.999529 5.96 1
mri/mri_final_ckpt_standard_center_loss.pth 0.8493 0.7386 0.8572 0.999523 5.96 1
mri/mri_final_ckpt_c2b_annealing.pth 0.8467 0.7348 0.8576 0.999528 6.12 1
mri/mri_final_ckpt_c2b_annealing_aggressive.pth 0.8488 0.7220 (mean) 0.8314 (mean) 0.999448 (mean) 5.91 1.30 (mean)

Usage

Load a downloaded checkpoint from the COMP3888 project environment (uv sync --extra nnunet). NnUNetModel rebuilds the network from plans embedded in the .pth and stubs nnUNetTrainer_P35 when that trainer is not installed.

The filename argument is the path shown in the file list on the model page for dillondesilva/comp3888-capstone-panseg-models. Checkpoints live under ct/ and mri/. Set modality to match the folder.

from huggingface_hub import hf_hub_download
from panseg.models.nnunet import NnUNetModel

ckpt = hf_hub_download(
    repo_id="dillondesilva/comp3888-capstone-panseg-models",
    filename="ct/ct_final_ckpt_c2b_annealing.pth",  # copy from the model repo file list
)
model = NnUNetModel(modality="ct", checkpoint_path=ckpt)
mask = model.run(volume, affine)  # [D, H, W] or [1, D, H, W], plus a 4x4 affine
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