Giter VIP home page Giter VIP logo

vimh's Introduction

Practical uncertainty quantification of brain tumor segmentation

Accepted at MIDL 2022, please see the paper & reviews: https://openreview.net/forum?id=Srl3-HnY14U

if you use parts of this work in your work please reference

@inproceedings{ fuchs2022practical,
title={Practical uncertainty quantification for brain tumor segmentation},
author={Moritz Fuchs and Camila Gonzalez and Anirban Mukhopadhyay},
booktitle={Medical Imaging with Deep Learning},
year={2022},
url={https://openreview.net/forum?id=Srl3-HnY14U }
}

Abstract

Despite U-Nets being the de-facto standard for medical image segmentation, researchers have identified shortcomings of U-Nets, such as overconfidence and poor out-of-distribution generalization. Several methods for uncertainty quantification try to solve such problems by relying on well-known approximations such as Monte-Carlo Drop-Out, Probabilistic U-Net, and Stochastic Segmentation Networks. We introduce a novel multi-headed Variational U-Net. The proposed approach combines the global exploration capabilities of deep ensembles with the out-of-distribution robustness of Variational Inference. An efficient training strategy and an expressive yet general design ensure superior uncertainty quantification within a reasonable compute requirement. We thoroughly analyze the performance and properties of our approach on the publicly available BRATS2018 dataset. Further, we test our model on four commonly observed distribution shifts. The proposed approach has good uncertainty calibration and is robust to out-of-distribution shifts.

Installation

This framework was with the limitations of a NVIDIA GeForce GTX 1080 TI in mind so please adjust the Installation to your setup.

  • Option 1: Installation with requirements.txt may be used to create an environment using:

    $ conda create --name VIMH --file requirements.txt

  • Option 2: manually install environment to you system e.g.:

    $ conda create -n VIMH python=3.8.0
    $ conda activate VIMH
    $ conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
    $ conda install -c simpleitk simpleitk
    $ conda install -c conda-forge matplotlib tensorboardX tqdm

Usage

To run the train scripts for a model run the train_BRATS_Ensemble.py with the appropiate config file. e.g.

(VIMH) $ python train_BRATS_Ensemble.py ./config/VIMH.py

This framework currently supports following models:

  • VIMH 0.0
  • VIMH 0.5
  • VIMH 1.0
  • MH 0.0
  • MH 0.5
  • MH 1.0
  • SSNs

and provides configuration files for other frameworks models:

Prob. U-net
PHiSeg

Acknowledgements

This work was supported by the Bundesministerium f ̈ur Gesundheit (BMG) with grant [ZMVI1-2520DAT03A].

vimh's People

Contributors

gisco1993 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

vimh's Issues

Question on OOD Dataset Creation

Hello,

I've been exploring your construction of the OOD BRATS test set, but I'm slightly confused between what's reported in the paper and what's present in the brats.py file.

Specifically, in Section 4. and Appendix A. in the paper, you mention that the four augmentations you apply are

  1. Motion
  2. Ghosting
  3. Noise
  4. Spikes

But in brats.py there are imports for RandomBiasField, RandomSpike, RandomMotion, RandomGhosting. What confuses me is if I should assume Noise=RandomBiasField in the torchio library.

I ask because you parameterize the Noise using gaussian means and standard deviations in the paper (which sounds more like using the torchio RandomNoise function) whereas the RandomBiasField method is parameterized by polynomial coefficients.

I am not a domain expert, so I appreciate your patience and time reviewing this question. Thank you so much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.