Skip to content

Latest commit

 

History

History
54 lines (47 loc) · 3.92 KB

README.md

File metadata and controls

54 lines (47 loc) · 3.92 KB

Robustness of Probabilistic U-Net

White Matter Hyperintensities (WMHs) segmentation using a modified U-Net architecture. Mainly this repository got inspiration and insight on repositories UNetPlusPlus and probabilistic_unet. In this repository, you can use many kinds of modified U-Net architecture, such as U-Net, Attention U-Net, U-Net++, Attention U-Net++, and Probabilistic U-Net. The implementation is using TensorFlow and Keras, please check the requirements.txt for the version that I used.

You can access the pre-trained models with these link: https://drive.google.com/drive/folders/1-G8h1XcnFNcFzAg2OdsxVa-3kF-sM6RA?usp=sharing

U-Net

Title: U-Net: Convolutional Networks for Biomedical Image Segmentation.
Authors: Olaf Ronneberger, Philipp Fischer, and Thomas Brox.
[paper]
The architecture of U-Net:
UNet

Attention U-Net

Title: Attention U-Net: Learning Where to Look for the Pancreas.
Authors: Ozan Oktay, Jo Schlemper, Loic Le Folgoc, Matthew Lee, Mattias Heinrich, Kazunari Misawa, Kensaku Mori, Steven McDonagh, Nils Y Hammerla, Bernhard Kainz, Ben Glocker, Daniel Rueckert.
[paper]
Attention Gate:
Attention Gate
The architecture of Attention U-Net:
Attention UNet

U-Net++

Title: UNet++: Redesigning Skip Connections to Exploit Multiscale Features in Image Segmentation.
Authors: Zongwei Zhou, Md Mahfuzur Rahman Siddiquee, Nima Tajbakhsh, Jianming Liang.
[paper]
The architecture of U-Net++:
UNet++

Attention U-Net++

Title: Attention Unet++: A Nested Attention-Aware U-Net for Liver CT Image Segmentation.
Authors: Chen Li, Yusong Tan, Wei Chen, Xin Luo, Yuanming Gao, Xiaogang Jia, Zhiying Wang.
[paper]
The architecture of Attention U-Net++:
Attention UNet++

Probabilistic U-Net

Title: A Probabilistic U-Net for Segmentation of Ambiguous Images.
Authors: Simon A. A. Kohl, Bernardino Romera-Paredes, Clemens Meyer, Jeffrey De Fauw, Joseph R. Ledsam, Klaus H. Maier-Hein, S. M. Ali Eslami, Danilo Jimenez Rezende, Olaf Ronneberger.
[paper]
The architecture of Probabilistic U-Net:
Training process:
Training
Sampling process:
Sampling

Usage

To use this repository, simply just call the (model name) function in model file.

import models.models as model
model = model.Unet(use_backbone=False, input_shape=(256,256,1), attention=False)
model.compile(optimizer='adam', loss='binary_crossentropy')
model.fit(img_train, seg_train, epochs=100, batch_size=32)

For the deterministic models, you can choose to use backbone or only (conv+relu)x2. If you want to use backbone please fill the parameter use_backbone into True. The backbone that compatible with this implementation is VGG, ResNet, and DenseNet. And if you want to use Attention Gate on modified U-Net architecture, please fill the parameter attention into True.