All Projects → baumgach → acdc_segmenter

baumgach / acdc_segmenter

Licence: Apache-2.0 License
Public code for our submission to the 2017 ACDC Cardiac Segmentation challenge

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to acdc segmenter

VNet
Prostate MR Image Segmentation 2012
Stars: ✭ 54 (-20.59%)
Mutual labels:  challenge, segmentation
retinal-exudates-detection
exudates detection using hybrid approach (Image Morphology & Machine Learning)
Stars: ✭ 53 (-22.06%)
Mutual labels:  segmentation
unsupervised llamas
Code for https://unsupervised-llamas.com
Stars: ✭ 70 (+2.94%)
Mutual labels:  segmentation
challenge-charlie
Frontend code challenge
Stars: ✭ 71 (+4.41%)
Mutual labels:  challenge
segmenter
[ICCV2021] Official PyTorch implementation of Segmenter: Transformer for Semantic Segmentation
Stars: ✭ 463 (+580.88%)
Mutual labels:  segmentation
mri-deep-learning-tools
Resurces for MRI images processing and deep learning in 3D
Stars: ✭ 56 (-17.65%)
Mutual labels:  segmentation
DeepFashion MRCNN
Fashion Item segmentation with Mask_RCNN
Stars: ✭ 29 (-57.35%)
Mutual labels:  segmentation
x-force
winning sloution of Digtial Manfacturing Algorithm Competition II of JinNan Tianjin
Stars: ✭ 56 (-17.65%)
Mutual labels:  segmentation
unet-pytorch
No description or website provided.
Stars: ✭ 18 (-73.53%)
Mutual labels:  segmentation
lite.ai.toolkit
🛠 A lite C++ toolkit of awesome AI models with ONNXRuntime, NCNN, MNN and TNN. YOLOX, YOLOP, MODNet, YOLOR, NanoDet, YOLOX, SCRFD, YOLOX . MNN, NCNN, TNN, ONNXRuntime, CPU/GPU.
Stars: ✭ 1,354 (+1891.18%)
Mutual labels:  segmentation
HoughRectangle
Rectangle detection using the Hough transform
Stars: ✭ 76 (+11.76%)
Mutual labels:  segmentation
Image-Processing-in-Python
This repository contains the links to the article that I wrote on Medium pertaining to Image processing.
Stars: ✭ 23 (-66.18%)
Mutual labels:  segmentation
instant-segment
Fast English word segmentation in Rust
Stars: ✭ 49 (-27.94%)
Mutual labels:  segmentation
segmentation training pipeline
Research Pipeline for image masking/segmentation in Keras
Stars: ✭ 54 (-20.59%)
Mutual labels:  segmentation
brainreg-segment
Segmentation of 3D shapes in a common anatomical space
Stars: ✭ 13 (-80.88%)
Mutual labels:  segmentation
GLC
GeoLifeCLEF challenge toolkit and starter code
Stars: ✭ 34 (-50%)
Mutual labels:  challenge
TNSCUI2020-Seg-Rank1st
This is the source code of the 1st place solution for segmentation task in MICCAI 2020 TN-SCUI challenge.
Stars: ✭ 161 (+136.76%)
Mutual labels:  segmentation
shellnet
ShellNet: Efficient Point Cloud Convolutional Neural Networks using Concentric Shells Statistics
Stars: ✭ 80 (+17.65%)
Mutual labels:  segmentation
pyconvsegnet
Semantic Segmentation PyTorch code for our paper: Pyramidal Convolution: Rethinking Convolutional Neural Networks for Visual Recognition (https://arxiv.org/pdf/2006.11538.pdf)
Stars: ✭ 32 (-52.94%)
Mutual labels:  segmentation
LineSegm
Line Segmentation of Handwritten Documents using the A* Path Planning Algorithm
Stars: ✭ 19 (-72.06%)
Mutual labels:  segmentation

This repository contains code to train state-of-the-art cardiac segmentation networks as described in this paper: An Exploration of 2D and 3D Deep Learning Techniques for Cardiac MR Image Segmentation. The modified U-Net architecture achieved the 3rd overall rank at the MICCAI 2017 ACDC Cardiac segmentation challenge.

Authors:

  • Christian F. Baumgartner (email)
  • Lisa M. Koch (email)

If you find this code helpful in your research please cite the following paper:

@article{baumgartner2017exploration,
  title={An Exploration of {2D} and {3D} Deep Learning Techniques for Cardiac {MR} Image Segmentation},
  author={Baumgartner, Christian F and Koch, Lisa M and Pollefeys, Marc and Konukoglu, Ender},
  journal={arXiv preprint arXiv:1709.04496},
  year={2017}
}

Pre-trained weights

Pretrained weights for the best performing method can be found here: https://git.ee.ethz.ch/baumgach/acdc_pretrained_weights

It was not possible to upload all experiments due to size limits. However, the pretrained weights for the other experiments can be requested via email from [email protected].

Requirements

  • Python 3.5 (tested with Python 3.5.3)
  • Tensorflow (tested with tensorflow 1.12)
  • The package requirements are given in requirements.txt

Getting the code

Clone the repository by typing

git clone https://github.com/baumgach/acdc_segmenter.git

Installing required Python packages

Create an environment with Python 3.5. If you use virutalenv it might be necessary to first upgrade pip (pip install --upgrade pip).

Next, install the required packages listed in the requirements.txt file:

pip install -r requirements.txt

The tensorflow packages are not part of the requirements file because you may want to toggle the CPU and GPU version. For the GPU version type

pip install tensorflow-gpu==1.12

If you want to use the CPU version use the following command.

pip install tensorflow==1.12

If you want to go back and forth between GPU and CPU it probably makes sense to make two separate environments which are identical except for the tensorflow version.

Download the ACDC challenge data

If you don't have access to the data already you can sign up and download it from this webpage.

The cardiac segmentation challenge and the data is described in detail here.

Running the code locally

Open the config/system.py and edit all the paths there to match your system.

Next, open train.py and, at the top of the file, select the experiment you want to run (or simply use the default).

To train a model simpy run:

python train.py

WARNING: When you run the code on CPU, you need around 12 GB of RAM. Make sure your system is up to the task. If not you can try reducing the batch size, or simplifying the network.

In system.py, a log directory was defined. By default it is called acdc_logdir. You can start a tensorboard session in order to monitor the training of the network(s) by typing the following in a shell with your virtualenv activated

tensorboard --logdir=acdc_logdir --port 8008

Then, navigate to localhost:8008 in your browser to open tensorboard.

At any point during the training, or after, you can evaluate your model by typing the following:

python evaluate acdc_logdir/unet3D_bn_modified_wxent

where you have to adapt the line to match your experiment. Note that, the path must be given relative to your working directory. Giving the full path will not work.

Running the code on the ETH CVL (Biwi) GPU infrastructure:

Instructions for setting everything up to run this code on the Biwi GPU infrastructure can be found here.

Don't forget to change the at_biwi option in config/system.py!

Known issues

None at the moment

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