A Decision-Aware Evaluation Protocol for Uncertainty in Medical Image Segmentation
Organizations: Independent Researcher · School of Computer Science, University of Nottingham, Nottingham, UK
Abstract
Medical segmentation uncertainty is often evaluated with calibration error or pixel-level error-detection scores, but these metrics do not show whether uncertainty improves downstream review decisions. We propose a decision-aware evaluation protocol that separates uncertainty estimation from deferral policy and evaluates their combination under fixed review budgets: which pixels, regions, or images should be accepted, and which should be reviewed. The protocol reports fixed-budget error reduction, risk-coverage behaviour, region-level review proxies, structural failure modes, probability-derived baselines, and sensitivity to review assumptions. We instantiate it across retinal vessel, skin lesion, and polyp segmentation with multiple backbones and uncertainty estimators. Under matched inference budgets and canonical multi-layer MC Dropout, test-time augmentation (TTA) gives a stronger error-detection signal across matched MC--TTA comparisons, including architecture and dropout-placement checks. However, estimator rankings are not universal. For example, probability-derived scores remain competitive, deep ensembles can outperform TTA, learned deferral helps mainly when the base estimator is weak, and rankings can change with review unit, uncertainty target, correction assumptions, and cost model. Structural and second-observer analyses further show that boundary and thin-structure failures are partly tied to annotation ambiguity. These findings support evaluating uncertainty as an estimator-policy-review configuration, not as a standalone score map. Code: https://anonymous.4open.science/r/Uncertainity-in-Medical-Image-Segmentation/README.md
Figures & tables
| Dataset | Train | Val / fit | Test | Split status |
|---|---|---|---|---|
| DRIVE | 16 | 4 | 20 | official test |
| FIVES | 520 | 120 | 160 | self-defined |
| ISIC 2018 | 1686 | 389 | 519 | self-defined |
| Kvasir-SEG | 650 | 150 | 200 | self-defined |
| Comparison family | Positive | BH sig. | Mean |
|---|---|---|---|
| Matched budget, anchor | 24/24 | 24/24 | +0.035 |
| 10 MC realizations | 24/24 | 24/24 | +0.033 |
| Complementary backbone | 24/24 | 24/24 | +0.063 |
| Dropout placement | 72/72 | 72/72 | +0.075 |
| Dropout rate, DRIVE only | 24/24 | 18/24 | +0.015 |
| Training seed, DRIVE only | 15/18 | 10/18 | +0.009 |
| Dataset | Func. | MC-T6 | MC-T50 | TTA-T6 | Ens. | |
|---|---|---|---|---|---|---|
| DRIVE | Var | 0.839 | 0.857 | 0.858 | 0.806 | |
| DRIVE | MI | 0.852 | 0.868 | 0.868 | 0.799 | |
| FIVES | Var | 0.852 | 0.878 | 0.858 | 0.881 | |
| FIVES | MI | 0.859 | 0.882 | 0.872 | 0.886 | |
| ISIC | Var | 0.803 | 0.840 | 0.867 | 0.896 | |
| ISIC | MI | 0.821 | 0.851 | 0.874 | 0.894 |
| Audit | Main result |
|---|---|
| Learned deferral | Capt.@20% improves in 16/18 cell–estimator settings; DRIVE uses only 4 validation images for fitting. |
| Transfer vs raw target | 8/18 significantly better, 7/18 significantly worse, 3/18 n.s. |
| Transfer vs in-domain refit | 4/18 significantly better, 9/18 significantly worse, 5/18 n.s.; refitting is usually safer. |
| DRIVE second observer | Global MC–TTA differences are n.s.; TTA gains concentrate on thin structures ( variance, MI). |
| Human-disagreement target | MI AUROC is 0.813 for MC and 0.817 for TTA, but all scores are near chance on disputed pixels. |
| Coordinate | What should be reported |
|---|---|
| Estimator | MC/TTA/ensemble/probability score and uncertainty functional. |
| Compute | Number of passes or ensemble members; matched or deliberately swept. |
| Backbone | Segmentation checkpoint and whether the comparator changes it. |
| Policy | Raw ranking, adaptive threshold, learned head, or conformal rule. |
| Fitting data | Validation images used for policy fitting; no test-label fitting. |
| Review unit | Pixel, block, patch, connected component, region, or image. |
| Dataset | Architecture | Wave | Train | Val | Test | Split status | MC | TTA | Ens. | Head fit | Head eval |
|---|---|---|---|---|---|---|---|---|---|---|---|
| DRIVE | U-Net | canonical + Waves A/C/D/E/F | 16 | 4 | 20 | official test, self-defined train/val | 20 | 20 | 20 | 4 | 20 |
| DRIVE | MiT-B2 TransUNet | Wave B (complementary architecture) | 16 | 4 | 20 | official test, self-defined train/val | 20 | 20 | 0 | 0 | 0 |
| FIVES | MiT-B2 encoder + U-Net decoder | canonical + Waves A/C/D/E/F | 520 | 120 | 160 | self-defined | 160 | 160 | 160 | 120 | 160 |
| FIVES | U-Net | Wave B (complementary architecture) | 520 | 120 | 160 | self-defined | 160 | 160 | 0 | 0 | 0 |
| ISIC | U-Net | canonical + Waves A/C/D/E/F | 1686 | 389 | 519 | self-defined | 519 | 519 | 519 | 389 | 519 |
| ISIC | MiT-B2 TransUNet | Wave B (complementary architecture) | 1686 | 389 | 519 | self-defined | 519 | 519 | 0 | 0 | 0 |
| Dataset | Func. | MC | MC | MC | |||
|---|---|---|---|---|---|---|---|
| DRIVE | Var | 0.805 | +0.017 * | 0.831 | +0.019 * | 0.839 | +0.019 * |
| DRIVE | MI | 0.807 | +0.016 * | 0.843 | +0.017 * | 0.852 | +0.016 * |
| FIVES | Var | 0.829 | +0.004 * | 0.844 | +0.008 * | 0.852 | +0.007 * |
| FIVES | MI | 0.837 | +0.010 * | 0.853 | +0.014 * | 0.859 | +0.014 * |
| ISIC | Var | 0.761 | +0.056 * | 0.793 | +0.060 * | 0.803 | +0.064 * |
| Axis | TTA | BH | mean | range |
|---|---|---|---|---|
| Matched budget, anchor (4 ds) | 24/24 | 24/24 | +0.035 | [+0.004, +0.065] |
| 10 MC realizations (4 ds) | 24/24 | 24/24 | +0.033 | [+0.003, +0.063] |
| Complementary backbone (4 ds) | 24/24 | 24/24 | +0.063 | [+0.015, +0.133] |
| Dropout placement (4 ds) | 72/72 | 72/72 | +0.075 | [+0.004, +0.250] |
| Dropout rate (DRIVE) | 24/24 | 18/24 | +0.015 | [+0.003, +0.038] |
| Training seed (DRIVE) | 15/18 | 10/18 | +0.009 | [-0.004, +0.020] |
| mean image AUROC | vs TTA-T6 | ||||||
|---|---|---|---|---|---|---|---|
| Dataset | Func. | MC T6 | MC T50 | TTA T6 | Ens. 5 | MC T50 | Ens. 5 |
| DRIVE | Var | 0.839 | 0.857 | 0.858 | 0.806 | -0.001 | -0.052 * |
| DRIVE | MI | 0.852 | 0.868 | 0.868 | 0.799 | +0.000 | -0.069 * |
| FIVES | Var | 0.852 | 0.878 | 0.858 | 0.881 | +0.019 * | +0.023 * |
| FIVES | MI | 0.859 | 0.882 | 0.872 | 0.886 | +0.010 * | +0.014 * |
| ISIC | Var | 0.803 | 0.840 | 0.867 | 0.896 | -0.028 * | +0.029 * |
| Dataset | Train | Val / fit imgs | Test | Capt.@20 wins |
| DRIVE | 16 | 4 | 20 | 2/2 |
| FIVES | 520 | 120 | 160 | 2/4 |
| ISIC | 1686 | 389 | 519 | 4/4 |
| Kvasir | 650 | 150 | 200 | 8/8 |
| Total | – | – | – | 16/18 |
| Cell | Arm | Fit imgs | Eval imgs | Learned | Plain | 95% CI | ||
|---|---|---|---|---|---|---|---|---|
| drive/unet | MC | 4 | 20 | 0.796 | 0.623 | +0.173 ∗ | [+0.133,+0.218] | |
| drive/unet | TTA | 4 | 20 | 0.830 | 0.817 | +0.013 ∗ | [+0.010,+0.015] | |
| fives/unet | MC | 120 | 160 | 0.861 | 0.790 | +0.071 ∗ | [+0.059,+0.084] | |
| fives/unet | TTA | 120 | 160 | 0.924 | 0.928 | -0.004 ∗ | [-0.004,-0.003] | |
| fives/unetpp | MC | 120 | 160 | 0.838 | 0.778 | +0.061 ∗ | [+0.053,+0.069] | |
| fives/unetpp | TTA | 120 | 160 | 0.908 | 0.909 | -0.001 | [-0.002,+0.001] | 0.337 |
| Arm | Source | Target | Transfer | Reference | 95% CI | Verdict | |||
|---|---|---|---|---|---|---|---|---|---|
| A cross domain | kvasir/unetpp | fives/unetpp | 160 | 0.0023 | 0.0022 | +0.0002 ∗ | [+0.0001,+0.0002] | Reference | |
| A cross domain | fives/unetpp | kvasir/unetpp | 200 | 0.0236 | 0.0082 | +0.0154 ∗ | [+0.0102,+0.0212] | Reference | |
| A cross domain | kvasir/deeplabv3plus | isic/deeplabv3plus | 519 | 0.0074 | 0.0081 | -0.0008 ∗ | [-0.0011,-0.0004] | Transfer | |
| A cross domain | isic/deeplabv3plus | kvasir/deeplabv3plus | 200 | 0.0083 | 0.0084 | -0.0001 | [-0.0002,+0.0000] | 0.086 | n.s. |
| A cross domain | drive/unet | fives/unet | 160 | 0.0019 | 0.0018 | +0.0001 ∗ | [+0.0000,+0.0001] | Reference | |
| A cross domain | fives/unet | drive/unet | 20 | 0.0173 | 0.0151 | +0.0021 ∗ | [+0.0019,+0.0024] | Reference |
| Arm | Source | Target | Transfer | Reference | 95% CI | Verdict | |||
|---|---|---|---|---|---|---|---|---|---|
| A cross domain | kvasir/unetpp | fives/unetpp | 160 | 0.0023 | 0.0021 | +0.0002 ∗ | [+0.0002,+0.0003] | Reference | |
| A cross domain | fives/unetpp | kvasir/unetpp | 200 | 0.0236 | 0.0082 | +0.0153 ∗ | [+0.0102,+0.0211] | Reference | |
| A cross domain | kvasir/deeplabv3plus | isic/deeplabv3plus | 519 | 0.0074 | 0.0059 | +0.0015 ∗ | [+0.0007,+0.0023] | Reference | |
| A cross domain | isic/deeplabv3plus | kvasir/deeplabv3plus | 200 | 0.0083 | 0.0082 | +0.0001 | [-0.0000,+0.0002] | 0.100 | n.s. |
| A cross domain | drive/unet | fives/unet | 160 | 0.0019 | 0.0020 | -0.0001 ∗ | [-0.0002,-0.0001] | Transfer | |
| A cross domain | fives/unet | drive/unet | 20 | 0.0173 | 0.0126 | +0.0047 ∗ | [+0.0039,+0.0056] | Reference |
| ID | Experiment | Status | Data | Method | Metric | Effect | CI |
|---|---|---|---|---|---|---|---|
| CPU-001 | exp01_drive_annotation_disagreement | PASS | DRIVE | mc_mutual_information | mean_image_auroc_human_disagreement | 0.8131 | [0.8007, 0.8253] |
| CPU-002 | exp01_drive_annotation_disagreement | PASS | DRIVE | tta_mutual_information | mean_image_auroc_human_disagreement | 0.8166 | [0.8056, 0.8271] |
| CPU-003 | exp02_imperfect_reviewer | PASS | DRIVE | all_estimators | ranking_reversal_fraction_vs_perfect_reviewer | 0.1600 | – |
| CPU-004 | exp03_review_unit_sensitivity | PASS | DRIVE | all_estimators | fraction_review_unit_budget_cells_reversing_pixel_winner | 0.6286 | – |
| CPU-005 | exp04_calibration | PASS_WITH_LIMITATION | DRIVE | mc | best_calibrated_probability_minus_best_sampling_error_auroc | -0.0506 | – |
| CPU-006 | exp04_calibration | PASS_WITH_LIMITATION | DRIVE | tta | best_calibrated_probability_minus_best_sampling_error_auroc | -0.0315 | – |
| Score | Region | MC | TTA | 95% CI | ||
|---|---|---|---|---|---|---|
| variance | Global | 0.857 | 0.859 | +0.001 | [-0.005,+0.009] | 0.862 |
| variance | DisAgree | 0.474 | 0.473 | -0.001 | [-0.008,+0.006] | 0.971 |
| variance | Agree | 0.922 | 0.924 | +0.002 | [-0.001,+0.006] | 0.444 |
| variance | Boundary | 0.714 | 0.717 | +0.003 | [-0.000,+0.005] | 0.164 |
| variance | Thin | 0.514 | 0.585 | +0.072 ∗ | [+0.061,+0.084] | |
| MI | Global | 0.868 | 0.868 | +0.000 | [-0.005,+0.007] | 0.971 |
| Dataset | Region | Region frac. | MC | TTA | 95% CI | |||
|---|---|---|---|---|---|---|---|---|
| DRIVE | Boundary | 1 | 20 | 0.154 | 0.621 | 0.625 | +0.005 | [+0.002,+0.007] |
| DRIVE | Boundary | 2 | 20 | 0.267 | 0.714 | 0.717 | +0.003 | [-0.000,+0.005] |
| DRIVE | Boundary | 3 | 20 | 0.356 | 0.761 | 0.760 | -0.001 | [-0.004,+0.002] |
| DRIVE | Boundary | 4 | 20 | 0.429 | 0.786 | 0.783 | -0.003 | [-0.007,+0.000] |
| DRIVE | Thin | 1 | 20 | 0.071 | 0.514 | 0.585 | +0.072 | [+0.061,+0.084] |
| DRIVE | Thin | 2 | 20 | 0.107 | 0.624 | 0.694 | +0.070 | [+0.059,+0.082] |
Uncertainty Quantification
Uncertainty quantification estimates how reliable predictions and scientific inferences are, and how uncertainty propagates into decisions.
See all 647 papers