All Projects → VITA-Group → Glnet

VITA-Group / Glnet

Licence: mit
[CVPR 2019, Oral] "Collaborative Global-Local Networks for Memory-Efficient Segmentation of Ultra-High Resolution Images" by Wuyang Chen*, Ziyu Jiang*, Zhangyang Wang, Kexin Cui, and Xiaoning Qian

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Glnet

cluster tools
Distributed segmentation for bio-image-analysis
Stars: ✭ 26 (-89.76%)
Mutual labels:  segmentation
PAPC
PAPC is a deep learning for point clouds platform based on pure PaddlePaddle
Stars: ✭ 55 (-78.35%)
Mutual labels:  segmentation
LSDNN
A robust laser stripe extraction method for structured-light vision sensing
Stars: ✭ 17 (-93.31%)
Mutual labels:  segmentation
Baysor
Bayesian Segmentation of Spatial Transcriptomics Data
Stars: ✭ 53 (-79.13%)
Mutual labels:  segmentation
CISTEM
Stemmer for German
Stars: ✭ 33 (-87.01%)
Mutual labels:  segmentation
cellcount
A Convolutional Neural Network for Segmenting and Counting Cells in Microscopy Images
Stars: ✭ 51 (-79.92%)
Mutual labels:  segmentation
face video segment
Face Video Segmentation - Face segmentation ground truth from videos
Stars: ✭ 84 (-66.93%)
Mutual labels:  segmentation
Mask-Propagation
[CVPR 2021] MiVOS - Mask Propagation module. Reproduced STM (and better) with training code 🌟. Semi-supervised video object segmentation evaluation.
Stars: ✭ 71 (-72.05%)
Mutual labels:  segmentation
HyperDenseNet pytorch
Pytorch version of the HyperDenseNet deep neural network for multi-modal image segmentation
Stars: ✭ 58 (-77.17%)
Mutual labels:  segmentation
ArabicProcessingCog
A Python package that do stemming, tokenization, sentence breaking, segmentation, normalization, POS tagging for Arabic language.
Stars: ✭ 19 (-92.52%)
Mutual labels:  segmentation
VOS-Paper-List
Semi-Supervised Video Object Segmentation(VOS) Paper List
Stars: ✭ 28 (-88.98%)
Mutual labels:  segmentation
TensorFlow-Advanced-Segmentation-Models
A Python Library for High-Level Semantic Segmentation Models based on TensorFlow and Keras with pretrained backbones.
Stars: ✭ 64 (-74.8%)
Mutual labels:  segmentation
dilation-keras
Multi-Scale Context Aggregation by Dilated Convolutions in Keras.
Stars: ✭ 72 (-71.65%)
Mutual labels:  segmentation
deepflash2
A deep-learning pipeline for segmentation of ambiguous microscopic images.
Stars: ✭ 34 (-86.61%)
Mutual labels:  segmentation
PyTorch-UNet
PyTorch Implementation for Segmentation and Saliency Prediction
Stars: ✭ 21 (-91.73%)
Mutual labels:  segmentation
XNet
CNN implementation for medical X-Ray image segmentation
Stars: ✭ 71 (-72.05%)
Mutual labels:  segmentation
nlp-pure
Natural language processing algorithms implemented in pure Ruby with minimal dependencies
Stars: ✭ 19 (-92.52%)
Mutual labels:  segmentation
GuidedLabelling
Exploiting Saliency for Object Segmentation from Image Level Labels, CVPR'17
Stars: ✭ 35 (-86.22%)
Mutual labels:  segmentation
superpixels-segmentation-gui-opencv
Superpixels segmentation algorithms with QT and OpenCV, with a nice GUI to colorize the cells
Stars: ✭ 23 (-90.94%)
Mutual labels:  segmentation
automated-deep-photo-style-transfer
TensorFlow implementation for the paper "Automated Deep Photo Style Transfer"
Stars: ✭ 92 (-63.78%)
Mutual labels:  segmentation

GLNet for Memory-Efficient Segmentation of Ultra-High Resolution Images

Language grade: Python License: MIT

Collaborative Global-Local Networks for Memory-Efficient Segmentation of Ultra-High Resolution Images

Wuyang Chen*, Ziyu Jiang*, Zhangyang Wang, Kexin Cui, and Xiaoning Qian

In CVPR 2019 (Oral). [Youtube]

Overview

Segmentation of ultra-high resolution images is increasingly demanded in a wide range of applications (e.g. urban planning), yet poses significant challenges for algorithm efficiency, in particular considering the (GPU) memory limits.

We propose collaborative Global-Local Networks (GLNet) to effectively preserve both global and local information in a highly memory-efficient manner.

  • Memory-efficient: training w. only one 1080Ti and inference w. less than 2GB GPU memory, for ultra-high resolution images of up to 30M pixels.

  • High-quality: GLNet outperforms existing segmentation models on ultra-high resolution images.

Acc_vs_Mem Inference memory v.s. mIoU on the DeepGlobe dataset. GLNet (red dots) integrates both global and local information in a compact way, contributing to a well-balanced trade-off between accuracy and memory usage.

Examples Ultra-high resolution Datasets: DeepGlobe, ISIC, Inria Aerial

Methods

GLNet GLNet: the global and local branch takes downsampled and cropped images, respectively. Deep feature map sharing and feature map regularization enforce our global-local collaboration. The final segmentation is generated by aggregating high-level feature maps from two branches.

GLNet Deep feature map sharing: at each layer, feature maps with global context and ones with local fine structures are bidirectionally brought together, contributing to a complete patch-based deep global-local collaboration.

Training

Current this code base works for Python version >= 3.5.

Please install the dependencies: pip install -r requirements.txt

First, you could register and download the Deep Globe "Land Cover Classification" dataset here: https://competitions.codalab.org/competitions/18468

Then please sequentially finish the following steps:

  1. ./train_deep_globe_global.sh
  2. ./train_deep_globe_global2local.sh
  3. ./train_deep_globe_local2global.sh

The above jobs complete the following tasks:

  • create folder "saved_models" and "runs" to store the model checkpoints and logging files (you could configure the bash scrips to use your own paths).
  • step 1 and 2 prepare the trained models for step 2 and 3, respectively. You could use your own names to save the model checkpoints, but this requires to update values of the flag path_g and path_g2l.

Evaluation

  1. Please download the pre-trained models for the Deep Globe dataset and put them into folder "saved_models":
  1. Download (see above "Training" section) and prepare the Deep Globe dataset according to the train.txt and crossvali.txt: put the image and label files into folder "train" and folder "crossvali"
  2. Run script ./eval_deep_globe.sh

Citation

If you use this code for your research, please cite our paper.

@inproceedings{chen2019GLNET,
  title={Collaborative Global-Local Networks for Memory-Efficient Segmentation of Ultra-High Resolution Images},
  author={Chen, Wuyang and Jiang, Ziyu and Wang, Zhangyang and Cui, Kexin and Qian, Xiaoning},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  year={2019}
}

Acknowledgement

We thank Prof. Andrew Jiang and Junru Wu for helping experiments.

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