Coder Social home page Coder Social logo

shakex / recurrent-decoding-cell Goto Github PK

View Code? Open in Web Editor NEW
19.0 3.0 6.0 125.95 MB

[AAAI'20] Segmenting Medical MRI via Recurrent Decoding Cell (Spotlight)

Home Page: https://arxiv.org/abs/1911.09401

License: MIT License

Python 100.00%
aaai2020 mri-segmentation semantic-segmentation encoder-decoder medical-image-segmentation

recurrent-decoding-cell's Introduction

Recurrent Decoding Cell

license

This is the PyTorch implementation for AAAI 2020 paper Segmenting Medical MRI via Recurrent Decoding Cell by Ying Wen, Kai Xie, Lianghua He.

network

Overview

Recurrent Decoding Cell (RDC) is a novel feature fusion unit used in the encoder-decoder segmentation network for MRI segmentation. RDC leverages convolutional RNNs (e.g. ConvLSTM, ConvGRU) to memorize the long-term context information from the previous layers in the decoding phase. The RDC based encoder-decoder network named Convolutional Recurrent Decoding Network (CRDN) achieves promising semgmentation reuslts -- 99.34% dice score on BrainWeb, 91.26% dice score on MRBrainS, and 88.13% dice score on HVSMR. The model is also robust to image noise and intensity non-uniformity in medical MRI.

Models Implemented

Enviroments

  • pytorch == 1.1.0
  • torchvision == 0.2.2.post3
  • matplotlib == 2.1.0
  • numpy == 1.11.3
  • tqdm == 4.31.1

One-line installation

pip install -r requirements.txt

Datasets

Usage

Setup config

model:
    arch: <name> [options: 'FCN, SegNet, UNet, VGG16RNN, ResNet50RNN, UNetRNN, VGGUNet, ResNet50UNet, UNetFCN, ResNet50FCN, UNetSegNet']

data:
    dataset: <name> [options: 'BrainWeb, MRBrainS, HVSMR']
    train_split: train
    val_split: val
    path: <path/to/data>

training:
    gpu_idx: 0
    train_iters: 30000
    batch_size: 1
    val_interval: 300
    n_workers: 4
    print_interval: 100
    optimizer:
        name: <optimizer_name> [options: 'sgd, adam, adamax, asgd, adadelta, adagrad, rmsprop']
        lr: 6.0e-4
        weight_decay: 0.0005
    loss:
        name: 'cross_entropy'
    lr_schedule:
        name: <schedule_type> [options: 'constant_lr, poly_lr, multi_step, cosine_annealing, exp_lr']
        <scheduler_keyarg1>:<value>

    # Resume from checkpoint
    resume: <path_to_checkpoint>
    
    # model save path
    model_dir: <path_to_save_model>

testing:
    # trained model path
    trained_model: <path_to_trained_model>

    # segmentation results save path
    path: <path_to_results>
    
    # if show boxplot results
    boxplot: False

To train the model :

run train.py

To test the model :

run test.py

Results

  • Some visualization results of the proposed CRDN and other encoding-decoding methods. vis

  • please refer to the paper for other experiments. (ablation study, comparisons, network robustness)

Acknowledgements

Special thanks for the github repository meetshah1995/pytorch-semseg for providing the semacntic segmentation algorithms in PyTorch.

Citation

Please cite these papers in your publications if it helps your research:

@inproceedings{wen2020segmenting,
  title={Segmenting Medical MRI via Recurrent Decoding Cell.},
  author={Wen, Ying and Xie, Kai and He, Lianghua},
  booktitle={AAAI},
  pages={12452--12459},
  year={2020}
}

For any problems, please contact [email protected]

recurrent-decoding-cell's People

Contributors

shakex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

recurrent-decoding-cell's Issues

How to preprocess the brinweb datasets

When i download the brainweb datasets i found the format is 'rawb',i want to know how to change it to format 'bmp'.I hope i also can do the ablation study. thanks for your time and kindness.

how to train the model use ResNet50RNN

when i change the arch to ResNet50RNN, it shows that "expected objetc of backend CPU but got backend CUDA for sequence element 1 in sequence argument at position #1 'tensors'" so can you tell me how to solve it ?i try to solve it use different server,but it still didn't work.
微信图片_20210401184518

about target picture

it's a great honor for me to read your paper,when i run your code and saw the target picture in gt,i have question about why all the target picture looks like is black,and did all the target picture is zero tensor ?thanks for your time and kindness.

change different datasets problem

hello, when i use the MRBrainS to train the network,meet the prolem as follows,
"RuntimeError: Expected 4-dimensional input for 4-dimensional weight [16, 3, 3, 3], but got 5-dimensional input of size [1, 3, 240, 240, 3] instead",I don't know check out it well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.