/BoxInstSeg

A toolbox for box-supervised instance segmentation.

Primary LanguagePythonApache License 2.0Apache-2.0

Weclome the discussions and contributions.

Introduction

BoxInstSeg is a toolbox that aims to provide state-of-the-art box-supervised instance segmentation algorithms. It is built on top of mmdetection. The main branch works with Pytorch 1.6+ or higher (we recommend Pytorch 1.9.0)

Major features

  • Support of instance segmentation with only box annotations

    We implement multiple box-supervised instance segmentation methods in this toolbox,(e.g. BoxInst, DiscoBox). This toolbox can achieve the similar performance as the original paper.

  • MMdetection feature inheritance

    This toolbox doesn't change the structure and logic of mmdetection. It inherits all features from MMdetection.

demo.mp4

Update

  • The codes of Box2mask are available.

Model Zoo

Supported methods

COCO (val)

method Backbone GPUs Models sched. config AP (this rep) AP(original rep/paper)
BoxInst R-50 8 model 1x config 30.7 30.7
BoxInst R-50 8 model 3x config 32.1 31.8
BoxInst R-101 8 model 1x config 32.0 32.2
BoxInst R-101 8 model 3x config 33.1 33.0
DiscoBox R-50 8 model 3x config 32.2 31.4(wo ms)
DiscoBox R-101 8 model 3x config 33.4 --
Box2Mask-T R-50 8 model 50e config 35.9 36.1
Box2Mask-T R-101 8 model 50e config 38.2 37.9
Box2Mask-T Swin-L 8 model 50e config 41.9/42.5 41.3/42.4
  • The above models are trained with ms to make a performance comparison.
  • For Swin-L model, the result of a/b format is on val/test-dev set. A100 GPUs are used for the default config.

Pascal VOC

method Backbone GPUs Models sched. config AP AP_50 AP_75
BoxInst R-50 4 model 3x config 32.0 60.2 30.2
BoxInst R-101 4 model 3x config 34.2 62.4 33.2
DiscoBox R-50 4 model 3x config 32.9 61.0 31.5
DiscoBox R-101 4 model 3x config 34.6 63.0 33.0
Box2Mask-T R-50 4 model 50e config 38.0 65.9 38.2
Box2Mask-T R-101 4 model 50e config 39.6 66.6 40.9
  • Pascal VOC is the extension of the training set of VOC 2012 with SBD. The link of whole dataset with coco json format is here(GoogleDrive)

Installation and Getting Started

This is built on the MMdetection (V2.25.0). Please refer to Installation and Getting Started for the details of installation and basic usage. We also recommend the user to refer the office introduction of MMdetection.

License

This project is released under the Apache 2.0 license.

Acknowledgement

This project is built based on MMdetection and part of module is borrowed from the original rep of Adelaidet and DiscoBox.

More

  • This repo will update the survey of box-supervised instance segmentation, we highly welcome the user to develop more algorithms in this toolbox.

  • If this rep is helpful for your work, please give me a star.