Unet-Segmentation-Pytorch-Nest-of-Unets
Implementation of different kinds of Unet Models for Image Segmentation
-
UNet - U-Net: Convolutional Networks for Biomedical Image Segmentation https://arxiv.org/abs/1505.04597
-
RCNN-UNet - Recurrent Residual Convolutional Neural Network based on U-Net (R2U-Net) for Medical Image Segmentation https://arxiv.org/abs/1802.06955
-
Attention Unet - Attention U-Net: Learning Where to Look for the Pancreas https://arxiv.org/abs/1804.03999
-
RCNN-Attention Unet - Attention R2U-Net : Just integration of two recent advanced works (R2U-Net + Attention U-Net) LeeJun Implementation - https://github.com/LeeJunHyun/Image_Segmentation.git
-
Nested UNet - UNet++: A Nested U-Net Architecture for Medical Image Segmentation https://arxiv.org/abs/1807.10165
With Layer Visualization
1. Getting Started
Clone the repo:
git clone https://github.com/bigmb/Unet-Segmentation-Pytorch-Nest-of-Unets.git
2. Requirements
python>=3.6
torch>=0.4.0
torchvision
torchsummary
tensorboardx
natsort
numpy
pillow
scipy
scikit-image
sklearn
Install all dependent libraries:
pip install -r requirements.txt
3. Types of Unet
Nested Unet
4. Visualization
To plot the loss , Visdom would be required. The code is already written, just uncomment the required part. Gradient flow can be used too. Taken from (https://discuss.pytorch.org/t/check-gradient-flow-in-network/15063/10)
A model folder is created and all the data is stored inside that. Last layer will be saved in the model folder. If any particular layer is required , mention it in the line 361.
Layer Visulization
Filter Visulization
Input Image Visulization for checking
a) Original Image
b) CenterCrop Image
5. Results
Dice Score