Skip to content
Snippets Groups Projects
Select Git revision
  • 4fdf5c9a27a1a37c5ebb8c2da92643f9ba4f4906
  • master default protected
  • add-license-1
  • add-code-of-conduct-1
4 results

Unet-Segmentation-Pytorch-Nest-of-Unets

  • Open with
  • Download source code
  • Your workspaces

      A workspace is a virtual sandbox environment for your code in GitLab.

      No agents available to create workspaces. Please consult Workspaces documentation for troubleshooting.

  • user avatar
    Malav Bateriwala authored and GitHub committed
    4fdf5c9a
    History

    Unet-Segmentation-Pytorch-Nest-of-Unets

    forthebadge forthebadge

    HitCount License: MIT Maintenance GitHub issues

    Implementation of different kinds of Unet Models for Image Segmentation

    1. UNet - U-Net: Convolutional Networks for Biomedical Image Segmentation https://arxiv.org/abs/1505.04597

    2. RCNN-UNet - Recurrent Residual Convolutional Neural Network based on U-Net (R2U-Net) for Medical Image Segmentation https://arxiv.org/abs/1802.06955

    3. Attention Unet - Attention U-Net: Learning Where to Look for the Pancreas https://arxiv.org/abs/1804.03999

    4. 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

    5. 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. Run the file

    Add all your folders to this line 106-113

    t_data = '' # Input data
    l_data = '' #Input Label
    test_image = '' #Image to be predicted while training
    test_label = '' #Label of the prediction Image
    test_folderP = '' #Test folder Image
    test_folderL = '' #Test folder Label for calculating the Dice score

    4. Types of Unet

    Unet unet1

    RCNN Unet r2unet

    Attention Unet att-unet

    Attention-RCNN Unet att-r2u

    Nested Unet

    nested

    5. 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

    l2

    Filter Visulization

    filt1

    TensorboardX Still have to tweak some parameters to get visualization. Have messed up this trying to make pytorch 1.1.0 working with tensorboard directly (and then came to know Currently it doesn't support anything apart from linear graphs)

    Input Image Visulization for checking

    a) Original Image

    b) CenterCrop Image

    6. Results

    Dice Score for hippocampus segmentation ADNI-LONI Dataset

    7. Citation

    If you find it usefull for your work.

    @article{DBLP:journals/corr/abs-1906-07160,
      author    = {Malav Bateriwala and
                   Pierrick Bourgeat},
      title     = {Enforcing temporal consistency in Deep Learning segmentation of brain
                   {MR} images},
      journal   = {CoRR},
      volume    = {abs/1906.07160},
      year      = {2019},
      url       = {http://arxiv.org/abs/1906.07160},
      archivePrefix = {arXiv},
      eprint    = {1906.07160},
      timestamp = {Mon, 24 Jun 2019 17:28:45 +0200},
      biburl    = {https://dblp.org/rec/bib/journals/corr/abs-1906-07160},
      bibsource = {dblp computer science bibliography, https://dblp.org}
    }

    8. Blog about different Unets

    In progress