All Projects → zudi-lin → Pytorch_connectomics

zudi-lin / Pytorch_connectomics

Licence: mit
PyTorch Connectomics: segmentation toolbox for EM connectomics

Projects that are alternatives of or similar to Pytorch connectomics

Cellpose
a generalist algorithm for cellular segmentation
Stars: ✭ 244 (+430.43%)
Mutual labels:  jupyter-notebook, segmentation
Sipmask
SipMask: Spatial Information Preservation for Fast Image and Video Instance Segmentation (ECCV2020)
Stars: ✭ 255 (+454.35%)
Mutual labels:  jupyter-notebook, segmentation
Pointrend Pytorch
A PyTorch implementation of PointRend: Image Segmentation as Rendering
Stars: ✭ 249 (+441.3%)
Mutual labels:  jupyter-notebook, segmentation
Portraitnet
Code for the paper "PortraitNet: Real-time portrait segmentation network for mobile device" @ CAD&Graphics2019
Stars: ✭ 207 (+350%)
Mutual labels:  jupyter-notebook, segmentation
Fbrs interactive segmentation
[CVPR2020] f-BRS: Rethinking Backpropagating Refinement for Interactive Segmentation https://arxiv.org/abs/2001.10331
Stars: ✭ 366 (+695.65%)
Mutual labels:  jupyter-notebook, segmentation
Tfwss
Weakly Supervised Segmentation with Tensorflow. Implements instance segmentation as described in Simple Does It: Weakly Supervised Instance and Semantic Segmentation, by Khoreva et al. (CVPR 2017).
Stars: ✭ 212 (+360.87%)
Mutual labels:  jupyter-notebook, segmentation
brainreg-segment
Segmentation of 3D shapes in a common anatomical space
Stars: ✭ 13 (-71.74%)
Mutual labels:  neuroscience, segmentation
Severstal Steel Defect Detection
Kaggle Segmentation Challenge
Stars: ✭ 160 (+247.83%)
Mutual labels:  jupyter-notebook, segmentation
Unet
unet for image segmentation
Stars: ✭ 3,751 (+8054.35%)
Mutual labels:  jupyter-notebook, segmentation
Tianchi Medical Lungtumordetect
天池医疗AI大赛[第一季]:肺部结节智能诊断 UNet/VGG/Inception/ResNet/DenseNet
Stars: ✭ 314 (+582.61%)
Mutual labels:  jupyter-notebook, segmentation
Neurotech Course
CS198-96: Intro to Neurotechnology @ UC Berkeley
Stars: ✭ 202 (+339.13%)
Mutual labels:  jupyter-notebook, neuroscience
Neuromatch Academy
Preparatory Materials, Self-guided Learning, and Project Management for Neuromatch Academy activities
Stars: ✭ 30 (-34.78%)
Mutual labels:  jupyter-notebook, neuroscience
Keraspersonlab
Keras-tensorflow implementation of PersonLab (https://arxiv.org/abs/1803.08225)
Stars: ✭ 163 (+254.35%)
Mutual labels:  jupyter-notebook, segmentation
Kaggle airbus ship detection
Kaggle airbus ship detection challenge 21st solution
Stars: ✭ 238 (+417.39%)
Mutual labels:  jupyter-notebook, segmentation
Hair Segmentation
hair segmentation in mobile device
Stars: ✭ 160 (+247.83%)
Mutual labels:  jupyter-notebook, segmentation
navis
Python 3 library for analysis of neuroanatomical data
Stars: ✭ 68 (+47.83%)
Mutual labels:  neuroscience, segmentation
Suite2p
cell detection in calcium imaging recordings
Stars: ✭ 153 (+232.61%)
Mutual labels:  jupyter-notebook, neuroscience
Keras Segmentation Deeplab V3.1
An awesome semantic segmentation model that runs in real time
Stars: ✭ 156 (+239.13%)
Mutual labels:  jupyter-notebook, segmentation
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 (+543.48%)
Mutual labels:  jupyter-notebook, segmentation
Fsgan
FSGAN - Official PyTorch Implementation
Stars: ✭ 420 (+813.04%)
Mutual labels:  jupyter-notebook, segmentation

PyTorch Connectomics (PyTC)

Introduction

The field of connectomics aims to reconstruct the wiring diagram of the brain by mapping the neural connections at the level of individual synapses. Recent advances in electronic microscopy (EM) have enabled the collection of a large number of image stacks at nanometer resolution, but the annotation requires expertise and is super time-consuming. Here we provide a deep learning framework powered by PyTorch for automatic and semi-automatic data annotation in connectomics. This repository is actively under development by Visual Computing Group (VCG) at Harvard University.

Key Features

  • Multitask Learning
  • Active Learning
  • CPU and GPU Parallelism

If you want new features that are relatively easy to implement (e.g., loss functions, models), please open a feature requirement discussion in issues or implement by yourself and submit a pull request. For other features that requires substantial amount of design and coding, please contact the author directly.

Environment

The code is developed and tested under the following configurations.

  • Hardware: 1-8 Nvidia GPUs (with at least 12G GPU memories) (change SYSTEM.NUM_GPU accordingly)
  • Software: CentOS Linux 7.4 (Core), CUDA>=10.2, Python>=3.8, PyTorch>=1.5.1, YACS>=0.1.8

Installation

Create a new conda environment:

conda create -n py3_torch python=3.8
source activate py3_torch
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch

Please note that this package is mainly developed on the Harvard FASRC cluster. More information about GPU computing on the FASRC cluster can be found here.

Download and install the package:

git clone https://github.com/zudi-lin/pytorch_connectomics.git
cd pytorch_connectomics
pip install --upgrade pip
pip install -r requirements.txt
pip install --editable .

For more information and frequently asked questions about installation, please check the installation guide.

Notes

Data Augmentation

We provide a data augmentation interface several different kinds of commonly used augmentation method for EM images. The interface is pure-python, and operate on and output only numpy arrays, so it can be easily incorporated into any kinds of python-based deep learning frameworks (e.g., TensorFlow). For more details about the design of the data augmentation module, please check the documentation.

YACS Configuration

We use the Yet Another Configuration System (YACS) library to manage the settings and hyperparameters in model training and inference. The configuration files for tutorial examples can be found here. All available configuration options can be found at connectomics/config/config.py. Please note that the default value of several options is None, which is only supported after YACS v0.1.8.

Model Zoo

We provide several encoder-decoder architectures, which can be found here. Those models can be used for both semantic segmentation and bottom-up instance segmentation of 3D image stacks. We also provide benchmark results on several public connectomics datasets here with detailed training specifications for users to reproduce.

Acknowledgement

This project is built upon numerous previous projects. Especially, we'd like to thank the contributors of the following github repositories:

License

This project is licensed under the MIT License - see the LICENSE file for details.

Citation

If you find PyTorch Connectomics useful in your research, please cite:

@misc{lin2019pytorchconnectomics,
  author =       {Zudi Lin and Donglai Wei},
  title =        {PyTorch Connectomics},
  howpublished = {\url{https://github.com/zudi-lin/pytorch_connectomics}},
  year =         {2019}
}
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].