All Projects → bethgelab → Siamese Mask Rcnn

bethgelab / Siamese Mask Rcnn

Licence: other
Siamese Mask R-CNN model for one-shot instance segmentation

Projects that are alternatives of or similar to Siamese Mask Rcnn

Copy Paste Aug
Copy-paste augmentation for segmentation and detection tasks
Stars: ✭ 132 (-48.64%)
Mutual labels:  object-detection, jupyter-notebook, instance-segmentation
Detectorch
Detectorch - detectron for PyTorch
Stars: ✭ 566 (+120.23%)
Mutual labels:  object-detection, jupyter-notebook, instance-segmentation
Spoonn
FPGA-based neural network inference project with an end-to-end approach (from training to implementation to deployment)
Stars: ✭ 186 (-27.63%)
Mutual labels:  object-detection, jupyter-notebook
Py R Fcn Multigpu
Code for training py-faster-rcnn and py-R-FCN on multiple GPUs in caffe
Stars: ✭ 192 (-25.29%)
Mutual labels:  object-detection, jupyter-notebook
Traffic Sign Detection
Traffic Sign Detection. Code for the paper entitled "Evaluation of deep neural networks for traffic sign detection systems".
Stars: ✭ 200 (-22.18%)
Mutual labels:  object-detection, jupyter-notebook
Face mask detection
Face mask detection system using Deep learning.
Stars: ✭ 168 (-34.63%)
Mutual labels:  object-detection, jupyter-notebook
Shape Detection
🟣 Object detection of abstract shapes with neural networks
Stars: ✭ 170 (-33.85%)
Mutual labels:  object-detection, jupyter-notebook
Nas fpn tensorflow
NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection.
Stars: ✭ 198 (-22.96%)
Mutual labels:  object-detection, jupyter-notebook
Yolov4 Cloud Tutorial
This repository walks you through how to Build and Run YOLOv4 Object Detections with Darknet in the Cloud with Google Colab.
Stars: ✭ 153 (-40.47%)
Mutual labels:  object-detection, jupyter-notebook
Mmdetection
OpenMMLab Detection Toolbox and Benchmark
Stars: ✭ 17,646 (+6766.15%)
Mutual labels:  object-detection, instance-segmentation
Ownphotos
Self hosted alternative to Google Photos
Stars: ✭ 2,587 (+906.61%)
Mutual labels:  object-detection, jupyter-notebook
Sipmask
SipMask: Spatial Information Preservation for Fast Image and Video Instance Segmentation (ECCV2020)
Stars: ✭ 255 (-0.78%)
Mutual labels:  object-detection, jupyter-notebook
Ciou
Complete-IoU (CIoU) Loss and Cluster-NMS for Object Detection and Instance Segmentation (YOLACT)
Stars: ✭ 166 (-35.41%)
Mutual labels:  object-detection, instance-segmentation
Awesome Satellite Imagery Datasets
🛰️ List of satellite image training datasets with annotations for computer vision and deep learning
Stars: ✭ 2,447 (+852.14%)
Mutual labels:  object-detection, instance-segmentation
Yolov3 Tf2
YoloV3 Implemented in Tensorflow 2.0
Stars: ✭ 2,327 (+805.45%)
Mutual labels:  object-detection, jupyter-notebook
Adelaidet
AdelaiDet is an open source toolbox for multiple instance-level detection and recognition tasks.
Stars: ✭ 2,565 (+898.05%)
Mutual labels:  object-detection, instance-segmentation
Deep Learning With Python
Deep learning codes and projects using Python
Stars: ✭ 195 (-24.12%)
Mutual labels:  object-detection, jupyter-notebook
Taco
🌮 Trash Annotations in Context Dataset Toolkit
Stars: ✭ 243 (-5.45%)
Mutual labels:  object-detection, jupyter-notebook
Ssd keras
简明 SSD 目标检测模型 keras version(交通标志识别 训练部分见 dev 分支)
Stars: ✭ 152 (-40.86%)
Mutual labels:  object-detection, jupyter-notebook
Ios Coreml Yolo
Almost Real-time Object Detection using Apple's CoreML and YOLO v1 -
Stars: ✭ 153 (-40.47%)
Mutual labels:  object-detection, jupyter-notebook

Siamese Mask R-CNN

This is the official implementation of Siamese Mask R-CNN from One-Shot Instance Segmentation. It is based on the Mask R-CNN implementation by Matterport.

The repository includes:

  • [x] Source code of Siamese Mask R-CNN
  • [x] Training code for MS COCO
  • [x] Evaluation on MS COCO metrics (AP)
  • [x] Training and evaluation of one-shot splits of MS COCO
  • [x] Training code to reproduce the results from the paper
  • [x] Pre-trained weights for ImageNet
  • [x] Pre-trained weights for all models from the paper
  • [x] Code to evaluate all models from the paper
  • [x] Code to generate result figures

One-Shot Instance Segmentation

One-shot instance segmentation can be summed up as: Given a query image and a reference image showing an object of a novel category, we seek to detect and segment all instances of the corresponding category (in the image above ‘person’ on the left, ‘car’ on the right). Note that no ground truth annotations of reference categories are used during training. This type of visual search task creates new challenges for computer vision algorithms, as methods from metric and few-shot learning have to be incorporated into the notoriously hard tasks ofobject identification and segmentation. Siamese Mask R-CNN extends Mask R-CNN - a state-of-the-art object detection and segmentation system - with a Siamese backbone and a matching procedure to perform this type of visual search.

Installation

  1. Clone this repository
  2. Prepare COCO dataset as described below
  3. Run the install_requirements.ipynb notebook to install all relevant dependencies.

Requirements

Linux, Python 3.4+, Tensorflow, Keras 2.1.6, cython, scikit_image 0.13.1, h5py, imgaug and opencv_python

Prepare COCO dataset

The model requires MS COCO and the CocoAPI to be added to /data.

cd data
git clone https://github.com/cocodataset/cocoapi.git

It is recommended to symlink the dataset root of MS COCO.

ln -s $PATH_TO_COCO$/coco coco

If unsure follow the instructions of the Matterport Mask R-CNN implementation.

Get pretrained weights

Get the pretrained weights from the releases menu and save them to /checkpoints.

Training

To train siamese mask r-cnn on MS COCO simply follow the instructions in the training.ipynb notebook. There are two model configs available, a small one which runs on a single GPU with 12GB memory and a large one which needs 4 GPUs with 12GB memory each. The second model config is the same as used in our experiments.

To reproduce our results and train the models reported in the paper run the notebooks provided in experiments. Those models need 4 GPUs with 12GB memory each.

Our models are trained on the coco 2017 training set, of which we remove the last 3000 images for validation.

Evaluation

To evaluate and visualize a models results run the evaluation.ipynb notebook. Make sure to use the same config as used for training the model.

To evaluate the models reported in the paper run the evaluation notebook provided in experiments. Each model will be evaluated 5 times to compensate for the stochastic effects introduced by randomly choosing the reference instances. The final result is the mean of those five runs.

We use the coco 2017 val set for testing and the last 3000 images from the training set for validation.

Model description

Siamese Mask R-CNN is designed as a minimal variation of Mask R-CNN which can perform the visual search task described above. For more details please read the paper.

Citation

If you use this repository or want to reference our work please cite our paper:

@article{michaelis_one-shot_2018,
    title = {One-Shot Instance Segmentation},
    author = {Michaelis, Claudio and Ustyuzhaninov, Ivan and Bethge, Matthias and Ecker, Alexander S.},
    year = {2018},
    journal = {arXiv},
    url = {http://arxiv.org/abs/1811.11507}
}
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].