All Projects → jeya-maria-jose → Kiu Net Pytorch

jeya-maria-jose / Kiu Net Pytorch

Licence: mit
Official Pytorch Code of KiU-Net for Image Segmentation - MICCAI 2020 (Oral)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Kiu Net Pytorch

Cascaded Fcn
Source code for the MICCAI 2016 Paper "Automatic Liver and Lesion Segmentation in CT Using Cascaded Fully Convolutional NeuralNetworks and 3D Conditional Random Fields"
Stars: ✭ 296 (+120.9%)
Mutual labels:  deep-neural-networks, segmentation, semantic-segmentation, medical-imaging
Medicaldetectiontoolkit
The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.
Stars: ✭ 917 (+584.33%)
Mutual labels:  deep-neural-networks, segmentation, semantic-segmentation, medical-imaging
Niftynet
[unmaintained] An open-source convolutional neural networks platform for research in medical image analysis and image-guided therapy
Stars: ✭ 1,276 (+852.24%)
Mutual labels:  deep-neural-networks, segmentation, medical-imaging
Crfasrnn pytorch
CRF-RNN PyTorch version http://crfasrnn.torr.vision
Stars: ✭ 102 (-23.88%)
Mutual labels:  deep-neural-networks, segmentation, semantic-segmentation
Keras Unet
Helper package with multiple U-Net implementations in Keras as well as useful utility tools helpful when working with image semantic segmentation tasks. This library and underlying tools come from multiple projects I performed working on semantic segmentation tasks
Stars: ✭ 196 (+46.27%)
Mutual labels:  deep-neural-networks, segmentation, semantic-segmentation
Dltk
Deep Learning Toolkit for Medical Image Analysis
Stars: ✭ 1,249 (+832.09%)
Mutual labels:  deep-neural-networks, medical-imaging
X Ray Classification
X-ray Images (Chest images) analysis and anomaly detection using Transfer learning with inception v2
Stars: ✭ 83 (-38.06%)
Mutual labels:  deep-neural-networks, medical-imaging
Vnet Tensorflow
Tensorflow implementation of the V-Net architecture for medical imaging segmentation.
Stars: ✭ 84 (-37.31%)
Mutual labels:  segmentation, medical-imaging
Setr Pytorch
Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers
Stars: ✭ 96 (-28.36%)
Mutual labels:  segmentation, semantic-segmentation
Deep Segmentation
CNNs for semantic segmentation using Keras library
Stars: ✭ 69 (-48.51%)
Mutual labels:  segmentation, semantic-segmentation
Deep Learning Drizzle
Drench yourself in Deep Learning, Reinforcement Learning, Machine Learning, Computer Vision, and NLP by learning from these exciting lectures!!
Stars: ✭ 9,717 (+7151.49%)
Mutual labels:  deep-neural-networks, medical-imaging
Segmentation
Tensorflow implementation : U-net and FCN with global convolution
Stars: ✭ 101 (-24.63%)
Mutual labels:  segmentation, semantic-segmentation
Adn
ADN: Artifact Disentanglement Network for Unsupervised Metal Artifact Reduction
Stars: ✭ 81 (-39.55%)
Mutual labels:  deep-neural-networks, medical-imaging
Cnn Paper2
🎨 🎨 深度学习 卷积神经网络教程 :图像识别,目标检测,语义分割,实例分割,人脸识别,神经风格转换,GAN等🎨🎨 https://dataxujing.github.io/CNN-paper2/
Stars: ✭ 77 (-42.54%)
Mutual labels:  deep-neural-networks, segmentation
Quicknat pytorch
PyTorch Implementation of QuickNAT and Bayesian QuickNAT, a fast brain MRI segmentation framework with segmentation Quality control using structure-wise uncertainty
Stars: ✭ 74 (-44.78%)
Mutual labels:  segmentation, medical-imaging
3dunet abdomen cascade
Stars: ✭ 91 (-32.09%)
Mutual labels:  segmentation, semantic-segmentation
Vision4j Collection
Collection of computer vision models, ready to be included in a JVM project
Stars: ✭ 132 (-1.49%)
Mutual labels:  segmentation, semantic-segmentation
Dilation Tensorflow
A native Tensorflow implementation of semantic segmentation according to Multi-Scale Context Aggregation by Dilated Convolutions (2016). Optionally uses the pretrained weights by the authors.
Stars: ✭ 134 (+0%)
Mutual labels:  segmentation, semantic-segmentation
Hyperdensenet
This repository contains the code of HyperDenseNet, a hyper-densely connected CNN to segment medical images in multi-modal image scenarios.
Stars: ✭ 124 (-7.46%)
Mutual labels:  deep-neural-networks, segmentation
Pointcnn
PointCNN: Convolution On X-Transformed Points (NeurIPS 2018)
Stars: ✭ 1,120 (+735.82%)
Mutual labels:  deep-neural-networks, segmentation

KiU-Net-pytorch PWC

Paper (Conference) | Paper (Journal Extension) | Project Page | Slides

Official Pytorch Code for the paper "KiU-Net: Towards Accurate Segmentation of Biomedical Images using Over-complete Representations" , presented at MICCAI 2020 and its

Journal Extension: "KiU-Net: Overcomplete Convolutional Architectures for Biomedical Image and Volumetric Segmentation" (Under Review)

About this repo:

This repo hosts the code for the following networks:

  1. KiU-Net 2D
  2. KiU-Net 3D
  3. Res-KiU-Net
  4. Dense-KiU-Net

It also has dataloaders organized for generic 2D image segmentation and 3D volumetric segmentation for BraTS, LiTS dataset; for easy benchmarking of medical image and volumetric segmentation algorithms.

Introduction

In a generic "encoder-decoder" architecture , the initial few blocks of the encoder learn low-level features of the data while the later blocks learn the high-level features. Eventually, the encoder learns to map the data to lower dimensionality (in the spatial sense). The increasing receptive field size over the depth of the network, constrains the network to focus more on the higher-level features. In our proposed architecture , we introduce Ki-Net where we use overcomplete representations which constraints the receptive field from increasing. This is done by a simple change in the architecture of encoder where max-pooling is replaced by up-sampling. This helps the filters in deep layers focus more on the low-level details helping in fine segmentation. This network, when augmented with U-Net is termed as KiU-Net which results in significant improvements in the case of segmenting small anatomical landmarks and blurred noisy boundaries while obtaining better overall performance. More details can be found in the paper.

Prerequisites:

  • Python 3.6
  • Pytorch 1.4

Pytorch Installation

Links for downloading the public Datasets:

  1. GLAS Dataset - Link (Original) | Link (Resized)
  2. RITE Dataset - Link (Original) | Link (Resized)
  3. BraTS Dataset - Link
  4. LiTS Dataset - Link
  5. Brain Anatomy US dataset introduced in the paper will be made public in the future.

Using the Code for your dataset

  • Clone this repository:
git clone https://github.com/jeya-maria-jose/KiU-Net-pytorch
cd KiU-Net-pytorch

Dataset Preparation

Prepare the dataset in the following format for easy use of the code. The train and test folders should contain two subfolders each: img and label. Make sure the images their corresponding segmentation masks are placed under these folders and have the same name for easy correspondance. Please change the data loaders to your need if you prefer not preparing the dataset in this format.

Train Folder-----
      img----
          0001.png
          0002.png
          .......
      label---
          0001.png
          0002.png
          .......
Validation Folder-----
      img----
          0001.png
          0002.png
          .......
      label---
          0001.png
          0002.png
          .......
Test Folder-----
      img----
          0001.png
          0002.png
          .......
      label---
          0001.png
          0002.png
          .......

  • This code is written for binary segmentation of an grayscale image. For using RGB images, just change the number of channels in the first and last layers in kiunet class found in arch/ae.py . For using KiU-Net for segmentation of more than one class, change the number of channels in the softmax layer in kiunet class found in arch/ae.py . The code is written for images of dimenstions 128x128. Either resize your images to the exact dimension for using the code directly or make changes in the ratios in interpolation functions accordingly in case of using dimensions which are not powers of 2.

  • The ground truth images should have pixels corresponding to the labels. Example: In case of binary segmentation, the pixels in the GT should be 0 or 1.

Training Command:

python train.py --train_dataset "enter train directory" --val_dataset "enter validation directory" --direc 'path for results to be saved' --batch_size 1 --epoch 400 --save_freq 10 --modelname "kiunet" --learning_rate 0.0001
Change modelname to kiunet3d, reskiunet or densekiunet to train those architectures

Testing Command:

python test.py --loaddirec "./saved_model_path/model_name.pth" --val_dataset "test dataset directory" --direc 'path for results to be saved' --batch_size 1 --modelname "kiunet"

The results including predicted segmentations maps will be placed in the results folder along with the model weights. Run the performance metrics code in MATLAB for calculating DICE Coefficient and Jaccard Index.

KiU-Net 3D:

The model file of KiU-Net 3D can be found at arch/ae.py .

Using the Code for BraTS Dataset

Check out readme in "BRATS/" folder for details on training KiU-Net 3D for BraTS dataset.

Using the Code for LiTS Dataset

Check out readme in "LiTS/" folder for details on training KiU-Net 3D for LiTS dataset.

Acknowledgement:

The dataloader code is inspired from pytorch-UNet , BraTS 2018 dataloader and LiTS dataloader.

Citation:

@inproceedings{valanarasu2020kiu,
  title={KiU-Net: Towards Accurate Segmentation of Biomedical Images Using Over-Complete Representations},
  author={Valanarasu, Jeya Maria Jose and Sindagi, Vishwanath A and Hacihaliloglu, Ilker and Patel, Vishal M},
  booktitle={Medical Image Computing and Computer Assisted Intervention--MICCAI 2020: 23rd International Conference, Lima, Peru, October 4--8, 2020, Proceedings, Part IV 23},
  pages={363--373},
  year={2020},
  organization={Springer}
}
@article{valanarasu2020kiu,
  title={KiU-Net: Overcomplete Convolutional Architectures for Biomedical Image and Volumetric Segmentation},
  author={Valanarasu, Jeya Maria Jose and Sindagi, Vishwanath A and Hacihaliloglu, Ilker and Patel, Vishal M},
  journal={arXiv preprint arXiv:2010.01663},
  year={2020}
}

Open an issue in case of any queries or mail me directly.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].