All Projects → saic-vul → Adaptis

saic-vul / Adaptis

Licence: mpl-2.0
[ICCV19] AdaptIS: Adaptive Instance Selection Network, https://arxiv.org/abs/1909.07829

Projects that are alternatives of or similar to Adaptis

Mxnet Finetuner
An all-in-one Deep Learning toolkit for image classification to fine-tuning pretrained models using MXNet.
Stars: ✭ 100 (-68.15%)
Mutual labels:  jupyter-notebook, mxnet
Copy Paste Aug
Copy-paste augmentation for segmentation and detection tasks
Stars: ✭ 132 (-57.96%)
Mutual labels:  jupyter-notebook, instance-segmentation
Aws Machine Learning University Accelerated Nlp
Machine Learning University: Accelerated Natural Language Processing Class
Stars: ✭ 1,695 (+439.81%)
Mutual labels:  jupyter-notebook, mxnet
Aws Machine Learning University Accelerated Cv
Machine Learning University: Accelerated Computer Vision Class
Stars: ✭ 1,068 (+240.13%)
Mutual labels:  jupyter-notebook, mxnet
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 (-32.48%)
Mutual labels:  jupyter-notebook, instance-segmentation
Ko en neural machine translation
Korean English NMT(Neural Machine Translation) with Gluon
Stars: ✭ 55 (-82.48%)
Mutual labels:  jupyter-notebook, mxnet
Insightface Just Works
Insightface face detection and recognition model that just works out of the box.
Stars: ✭ 127 (-59.55%)
Mutual labels:  jupyter-notebook, mxnet
Deep Learning Vm
Sets up a VM with Keras, TensorFlow, TFLearn and Theano installed
Stars: ✭ 23 (-92.68%)
Mutual labels:  jupyter-notebook, mxnet
Instancesegmentation sentinel2
🌱 Deep Learning for Instance Segmentation of Agricultural Fields - Master thesis
Stars: ✭ 206 (-34.39%)
Mutual labels:  jupyter-notebook, instance-segmentation
Keraspersonlab
Keras-tensorflow implementation of PersonLab (https://arxiv.org/abs/1803.08225)
Stars: ✭ 163 (-48.09%)
Mutual labels:  jupyter-notebook, instance-segmentation
Vapoursynthcolab
AI Video Processing/Upscaling With VapourSynth in Google Colab
Stars: ✭ 47 (-85.03%)
Mutual labels:  jupyter-notebook, mxnet
Siamese Mask Rcnn
Siamese Mask R-CNN model for one-shot instance segmentation
Stars: ✭ 257 (-18.15%)
Mutual labels:  jupyter-notebook, instance-segmentation
Video Tutorial Cvpr2020
A Comprehensive Tutorial on Video Modeling
Stars: ✭ 48 (-84.71%)
Mutual labels:  jupyter-notebook, mxnet
Polyaxon Examples
Code for polyaxon tutorials and examples
Stars: ✭ 57 (-81.85%)
Mutual labels:  jupyter-notebook, mxnet
Deeplabv3 Plus
Tensorflow 2.3.0 implementation of DeepLabV3-Plus
Stars: ✭ 32 (-89.81%)
Mutual labels:  jupyter-notebook, cityscapes
Robust Detection Benchmark
Code, data and benchmark from the paper "Benchmarking Robustness in Object Detection: Autonomous Driving when Winter is Coming" (NeurIPS 2019 ML4AD)
Stars: ✭ 128 (-59.24%)
Mutual labels:  jupyter-notebook, cityscapes
Polyrnn Pp
Inference Code for Polygon-RNN++ (CVPR 2018)
Stars: ✭ 704 (+124.2%)
Mutual labels:  jupyter-notebook, instance-segmentation
Aws Machine Learning University Accelerated Tab
Machine Learning University: Accelerated Tabular Data Class
Stars: ✭ 718 (+128.66%)
Mutual labels:  jupyter-notebook, mxnet
Tfvos
Semi-Supervised Video Object Segmentation (VOS) with Tensorflow. Includes implementation of *MaskRNN: Instance Level Video Object Segmentation (NIPS 2017)* as part of the NIPS Paper Implementation Challenge.
Stars: ✭ 151 (-51.91%)
Mutual labels:  jupyter-notebook, instance-segmentation
Fusenet
Deep fusion project of deeply-fused nets, and the study on the connection to ensembling
Stars: ✭ 230 (-26.75%)
Mutual labels:  jupyter-notebook, mxnet

AdaptIS: Adaptive Instance Selection Network

This codebase implements the system described in the paper "AdaptIS: Adaptive Instance Selection Network", Konstantin Sofiiuk, Olga Barinova, Anton Konushin. Accepted at ICCV 2019. The code performs instance segmentation and can be also used for panoptic segmentation.

[UPDATE] We have released PyTorch implementation of our algorithm (now it supports only ToyV1 and ToyV2 datasets on single gpu). See pytorch branch.

drawing

ToyV2 dataset

alt text

We generated an even more complex synthetic dataset to show the main advantage of our algorithm over other detection-based instance segmentation algorithms. The new dataset contains 25000 images for training and 1000 images each for validation and testing. Each image has resolution of 128x128 and can contain from 12 to 52 highly overlapping objects.

You can download the ToyV2 dataset from here. You can test and visualize the model trained on this dataset using this notebook. You can download pretrained model from here.

alt text

ToyV1 dataset

We used the ToyV1 dataset for our experiments in the paper. We generated 12k samples for the toy dataset (10k for training and 2k for testing). The dataset has two versions:

  • original contains generated samples without augmentations;
  • augmented contains generated samples with fixed augmentations (random noise and blur).

We trained our model on the original/train part and tested it on the augmented/test part. You can download the toy dataset from here. The repository provides an example of testing and metric evalutation for the toy dataset. You can test and visualize trained model on the toy dataset using provided Jupyter Notebook. You can download pretrained model from here.

Setting up a development environment

AdaptIS is built using Python 3.6 and relies on the recent version of MXNet. The easiest way to install MXNet is through pip. The following command installs all necessary packages:

pip3 install -r requirements.txt

Some of the inference code is written using Cython, you must compile the code before testing:

make -C ./adaptis/inference/cython_utils

Training

You can train model for the ToyV2 dataset by the following command:

python3 train_toy_v2.py --batch-size=14 --workers=2 --gpus=0 --dataset-path=<toy-dataset-path>

You can train model for the toy dataset (original from the paper) by the following command:

python3 train_toy.py --batch-size=14 --workers=2 --gpus=0 --dataset-path=<toy-dataset-path>

To train ResNet-50 model for Cityscapes use the script:

python3 train_cityscapes.py --batch-size=8 --workers=2 --gpus=0,1 --dataset-path=<cityscapes-path>

Main results

drawing

COCO:

Backbone Split PQ PQst PQth
ResNeXt-101 val 42.3 31.8 49.2
ResNeXt-101 test-dev 42.8 31.8 50.1

Mapillary Vistas:

Backbone Split PQ PQst PQth
ResNeXt-101 val 35.9 41.9 31.5
ResNeXt-101 test-dev 36.8 41.4 33.3

Cityscapes:

Backbone PQ PQst PQth mIoU AP
ResNet-50 59.0 61.3 55.8 75.3 32.3
ResNet-101 60.6 62.9 57.5 77.2 33.9
ResNeXt-101 62.0 64.4 58.7 79.2 36.3

License

The code of AdaptIS is released under the MPL 2.0 License. MPL is a copyleft license that is easy to comply with. You must make the source code for any of your changes available under MPL, but you can combine the MPL software with proprietary code, as long as you keep the MPL code in separate files.

Citation

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

@article{adaptis2019,
  title={AdaptIS: Adaptive Instance Selection Network},
  author={Konstantin Sofiiuk, Olga Barinova, Anton Konushin},
  journal={arXiv preprint arXiv:1909.07829},
  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].