TSD

April 4, 2021 · View on GitHub

News:

2021.1.26: We add supports for openimages dataset and also release the pretrained models.

2020.6.9: We add supports for Mask RCNN and Cascade RCNN. The pretrained models are also released via GoogleDrive.

2020.5.8: We add supports for fp16 training with TSD and update the performance on X101_64x4d backbone.

2020.4.29: We reimplement the TSD algorithm based on the MMDetection framework.

Paper:

Revisiting the Sibling Head in Object Detector (CVPR 2020) (https://arxiv.org/abs/2003.07540)

1st place solutions for openimage 2019 (https://arxiv.org/abs/2003.07557)

Introduction

The installation of MMDetection can be found from the official github(https://github.com/open-mmlab/mmdetection)

TSD is a plugin detector head which is friendly to any anchor-based two stage detectors (Faster RCNN, Mask RCNN and so on).

Overview

Changelog

V1.0: We firstly reimplement the experiments based on Faster RCNN with Resnet families.

The SharedFCBBoxHead is used as the sibling head.

The corresponding configuration can be found in (faster_rcnn_r50_fpn_TSD_1x.py, faster_rcnn_r101_fpn_TSD_1x.py, faster_rcnn_r152_fpn_TSD_1x.py)

Tips:

  1. LR can be set to base_lr*total_batch (base_lr=0.00125, 0.04 = 0.00125*32 in our experiments.)
  2. An external epoch can be used to perform warmup. (base_lr will be incresed to LR in the first epoch)

Preparing Data

We add supports for both coco dataset and openimages dataset. Datasets should be organized as following.

Files in ./TSD/data/OpenImages/challenge2019 can be downloaded from here or Dropbox.

TSD/data
├── coco
│   ├── annotations
│   ├── train2017
│   └── val2017
└── OpenImages
    ├── challenge2019
    │   ├── challenge-2019-train-detection-bbox.txt
    │   ├── challenge-2019-validation-detection-bbox.txt
    │   ├── class_label_tree.np
    │   └── class_sample_train.pkl
    └── OpenImages
        ├── test
        ├── train
        └── validation

Experiments on COCO Dataset

Reimplemented methods and backbones are shown in the below table. It's based on the Faster RCNN with FPN. More backbones and experiments are underway. (If you want to obtain the pretrained models via other manners, please send me e-mail).

For standard Faster RCNN

BackboneTSDAPAP_0.5AP_0.75AP_sAP_mAP_lDownload
ResNet5036.258.139.021.839.946.1
ResNet5040.961.944.424.244.454.0model
ResNet10138.960.642.422.343.650.6
ResNet10142.363.145.925.146.356.5model
ResNet15240.562.144.524.645.051.8
ResNet15243.764.547.626.148.057.5model

For Mask RCNN

BackboneTSDAPAP_0.5AP_0.75AP_sAP_mAP_lMaskAPDownload
ResNet5041.261.944.724.344.854.835.8model

For Cascade RCNN

BackboneTSDAPAP_0.5AP_0.75AP_sAP_mAP_lDownload
ResNet50------
ResNet5042.059.945.424.345.557.1model
ResNet10141.860.045.524.445.855.1
ResNet10142.960.846.424.846.557.7model
ResNet101_mstest45.063.649.228.749.157.8

TBD

We will continue to update the pretrained models of some heavy backbones. We train the ResNext101-64x4d model with DCN and multi-scale training. Evaluation is performed on COCO minival with multi-scale test.

BackboneTSDAPAP_0.5AP_0.75AP_sAP_mAP_lDownload
X-101-64x4d-FPN49.270.153.833.253.163.7model

Experiments on OpenImages Dataset

For standard Faster RCNN

BackboneTSDAPDownload
ResNet5070.7model
ResNet5072.2model

Installation

Please refer to MMdetection for installation and dataset preparation.

Get Started

./tools/slurm_train.sh dev TSD configs/faster_rcnn_r152_fpn_TSD_1x.py exp/TSD_r152/ 16

Citations

If the TSD helps your research, please cite the follow papers.

@article{song2020revisiting,
  title={Revisiting the Sibling Head in Object Detector},
  author={Song, Guanglu and Liu, Yu and Wang, Xiaogang},
  journal={CVPR},
  year={2020}
}
@article{liu20201st,
  title={1st Place Solutions for OpenImage2019--Object Detection and Instance Segmentation},
  author={Liu, Yu and Song, Guanglu and Zang, Yuhang and Gao, Yan and Xie, Enze and Yan, Junjie and Loy, Chen Change and Wang, Xiaogang},
  journal={arXiv preprint arXiv:2003.07557},
  year={2020}
}

Contact

If you have any questions, please contact (songguanglu@sensetime.com).