All Projects → EsmeYi → Unet Crf Rnn

EsmeYi / Unet Crf Rnn

Edge-aware U-Net with CRF-RNN layer for Medical Image Segmentation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Unet Crf Rnn

Fcn For Semantic Segmentation
Implemention of FCN-8 and FCN-16 with Keras and uses CRF as post processing
Stars: ✭ 155 (+146.03%)
Mutual labels:  crf, fcn
Semantic Segmentation Of Remote Sensing Images
遥感图像的语义分割,基于深度学习,在Tensorflow框架下,利用TF.Keras,运行环境TF2.0+
Stars: ✭ 125 (+98.41%)
Mutual labels:  unet, crf
Multiclass Semantic Segmentation Camvid
Tensorflow 2 implementation of complete pipeline for multiclass image semantic segmentation using UNet, SegNet and FCN32 architectures on Cambridge-driving Labeled Video Database (CamVid) dataset.
Stars: ✭ 67 (+6.35%)
Mutual labels:  unet, fcn
DDUnet-Modified-Unet-for-WMH-with-Dense-Dilate
WMH segmentaion with unet, dilated_unet, and with ideas from denseNet
Stars: ✭ 23 (-63.49%)
Mutual labels:  fcn, unet
Segmentation
Tensorflow implementation : U-net and FCN with global convolution
Stars: ✭ 101 (+60.32%)
Mutual labels:  unet, fcn
TensorFlow-Advanced-Segmentation-Models
A Python Library for High-Level Semantic Segmentation Models based on TensorFlow and Keras with pretrained backbones.
Stars: ✭ 64 (+1.59%)
Mutual labels:  fcn, unet
Segmentation Networks Benchmark
Evaluation framework for testing segmentation networks in Keras
Stars: ✭ 34 (-46.03%)
Mutual labels:  unet
Unet Tensorflow
Tensorflow implement of U-Net
Stars: ✭ 50 (-20.63%)
Mutual labels:  unet
Tf Unet
tensorflow version of unet
Stars: ✭ 29 (-53.97%)
Mutual labels:  unet
Lm Lstm Crf
Empower Sequence Labeling with Task-Aware Language Model
Stars: ✭ 778 (+1134.92%)
Mutual labels:  crf
Tf Lstm Crf Batch
Tensorflow-LSTM-CRF tool for Named Entity Recognizer
Stars: ✭ 59 (-6.35%)
Mutual labels:  crf
Unet 3d
3D Unet Equipped with Advanced Deep Learning Methods
Stars: ✭ 57 (-9.52%)
Mutual labels:  unet
Lung Segmentation
Segmentation of Lungs from Chest X-Rays using Fully Connected Networks
Stars: ✭ 47 (-25.4%)
Mutual labels:  unet
Simple crf
simple Conditional Random Field implementation in Python
Stars: ✭ 35 (-44.44%)
Mutual labels:  crf
Ner blstm Crf
LSTM-CRF for NER with ConLL-2002 dataset
Stars: ✭ 51 (-19.05%)
Mutual labels:  crf
Pytorch Auto Drive
Segmentation models (ERFNet, ENet, DeepLab, FCN...) and Lane detection models (SCNN, SAD, PRNet, RESA, LSTR...) based on PyTorch 1.6 with mixed precision training
Stars: ✭ 32 (-49.21%)
Mutual labels:  fcn
Ntagger
reference pytorch code for named entity tagging
Stars: ✭ 58 (-7.94%)
Mutual labels:  crf
Kittiseg
A Kitti Road Segmentation model implemented in tensorflow.
Stars: ✭ 873 (+1285.71%)
Mutual labels:  fcn
Fcn Googlenet
GoogLeNet implementation of Fully Convolutional Networks for Semantic Segmentation in TensorFlow
Stars: ✭ 45 (-28.57%)
Mutual labels:  fcn
Data Science Bowl 2018
End-to-end one-class instance segmentation based on U-Net architecture for Data Science Bowl 2018 in Kaggle
Stars: ✭ 56 (-11.11%)
Mutual labels:  unet

U-Net with a CRF-RNN layer

This project aims at improving U-Net for medical images segmentation. Our model was implemented using Tensorflow and Keras, and the CRF-RNN layer refers to this repo

Introducion

  • U-Net with CRF-RNN layer paper:
  1. UNet-CRF-RNN
  • Reference paper:
  1. U-Net
  2. FCN
  3. CRF-RNN

This repo provides an U-Net with the CRF-RNN layer, and also provides some extract models for comparison, like SegNet, FCN, vanilla U-Net and so on.

modelFns = {'unet':Models.VanillaUnet.VanillaUnet, 
            'segnet':Models.Segnet.Segnet , 
            'vgg_unet':Models.VGGUnet.VGGUnet , 
            'vgg_unet2':Models.VGGUnet.VGGUnet2 , 
            'fcn8':Models.FCN8.FCN8, 
            'fcn32':Models.FCN32.FCN32, 
            'crfunet':Models.CRFunet.CRFunet   }

Usage

  • data hierarchy
    Use the Keras data generators to load train and test
    Image and label are in structure:
        train/
            img/
                0/
            gt/
                0/

        test/
            img/
                0/
            gt/
                0/

  • Training parameters
'--batch_size', type=int, default=1, help='input batch size'
'--learning_rate', type=float, default=0.0001, help='learning rate'
'--lr_decay', type=float, default=0.9, help='learning rate decay'
'--epoch', type=int, default=80, help='# of epochs'
'--imSize', type=int, default=320, help='then crop to this size'
'--iter_epoch', type=int, default=0, help='# of iteration as an epoch'
'--num_class', type=int, default=2, help='# of classes'
'--checkpoint_path', type=str, default='', help='where checkpoint saved'
'--data_path', type=str, default='', help='where dataset saved. See loader.py to know how to organize the dataset folder'
'--load_from_checkpoint', type=str, default='', help='where checkpoint saved'
  • Train your model
    python train.py --data_path ./datasets/ --checkpoint_path ./checkpoints/
    
  • Visualize the train loss, dice score, learning rate, output mask, and first layer convolutional kernels per iteration in tensorboard
    tensorboard tensorboard --logdir=./checkpoints
    
  • Evaluate your model
    python eval.py --data_path ./datasets/ --load_from_checkpoint ./checkpoints/model-xxxx
    

Result

  • Dataset
  1. Hippocampus Segmentation: ADNI
  2. Hippocampus Segmentation: NITRC
  • Parameters
param value
batch_size 5
epoch 80
iter_epoch 10
imSize 320
learning_rate 0.001
lr_decay 0.9
  • Result
model IU DSC PA
CNN-CRF 68.73% 73.22% 51.77%
FCN-8s 59.61% 65.73% 44.26%
Segnet 70.85% 79.01% 58.03%
Vanilla U-Net 75.42% 83.49% 72.18%
U-Net-CRF 78.00% 85.77% 79.05%
Our method 79.89% 87.31% 81.27%
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].