Spaces:
Runtime error
Runtime error
# Probabilistic two-stage detection | |
Two-stage object detectors that use class-agnostic one-stage detectors as the proposal network. | |
<p align="center"> <img src='projects/CenterNet2/centernet2_docs/centernet2_teaser.jpg' align="center" height="150px"> </p> | |
> [**Probabilistic two-stage detection**](http://arxiv.org/abs/2103.07461), | |
> Xingyi Zhou, Vladlen Koltun, Philipp Krähenbühl, | |
> *arXiv technical report ([arXiv 2103.07461](http://arxiv.org/abs/2103.07461))* | |
Contact: [zhouxy@cs.utexas.edu](mailto:zhouxy@cs.utexas.edu). Any questions or discussions are welcomed! | |
## Abstract | |
We develop a probabilistic interpretation of two-stage object detection. We show that this probabilistic interpretation motivates a number of common empirical training practices. It also suggests changes to two-stage detection pipelines. Specifically, the first stage should infer proper object-vs-background likelihoods, which should then inform the overall score of the detector. A standard region proposal network (RPN) cannot infer this likelihood sufficiently well, but many one-stage detectors can. We show how to build a probabilistic two-stage detector from any state-of-the-art one-stage detector. The resulting detectors are faster and more accurate than both their one- and two-stage precursors. Our detector achieves 56.4 mAP on COCO test-dev with single-scale testing, outperforming all published results. Using a lightweight backbone, our detector achieves 49.2 mAP on COCO at 33 fps on a Titan Xp. | |
## Summary | |
- Two-stage CenterNet: First stage estimates object probabilities, second stage conditionally classifies objects. | |
- Resulting detector is faster and more accurate than both traditional two-stage detectors (fewer proposals required), and one-stage detectors (lighter first stage head). | |
- Our best model achieves 56.4 mAP on COCO test-dev. | |
- This repo also includes a detectron2-based CenterNet implementation with better accuracy (42.5 mAP at 70FPS) and a new FPN version of CenterNet (40.2 mAP with Res50_1x). | |
## Main results | |
All models are trained with multi-scale training, and tested with a single scale. The FPS is tested on a Titan RTX GPU. | |
More models and details can be found in the [MODEL_ZOO](projects/CenterNet2/centernet2_docs/MODEL_ZOO.md). | |
#### COCO | |
| Model | COCO val mAP | FPS | | |
|-------------------------------------------|---------------|-------| | |
| CenterNet-S4_DLA_8x | 42.5 | 71 | | |
| CenterNet2_R50_1x | 42.9 | 24 | | |
| CenterNet2_X101-DCN_2x | 49.9 | 8 | | |
| CenterNet2_R2-101-DCN-BiFPN_4x+4x_1560_ST | 56.1 | 5 | | |
| CenterNet2_DLA-BiFPN-P5_24x_ST | 49.2 | 38 | | |
#### LVIS | |
| Model | val mAP box | | |
| ------------------------- | ----------- | | |
| CenterNet2_R50_1x | 26.5 | | |
| CenterNet2_FedLoss_R50_1x | 28.3 | | |
#### Objects365 | |
| Model | val mAP | | |
|-------------------------------------------|----------| | |
| CenterNet2_R50_1x | 22.6 | | |
## Installation | |
Our project is developed on [detectron2](https://github.com/facebookresearch/detectron2). Please follow the official detectron2 [installation](https://github.com/facebookresearch/detectron2/blob/master/INSTALL.md). All our code is under `projects/CenterNet2/`. In theory, you should be able to copy-paste `projects/CenterNet2/` to the latest detectron2 release or your own detectron2 repo to run our project. There might be API changes in future detectron2 releases that make it incompatible. | |
We use the default detectron2 demo script. To run inference on an image folder using our pre-trained model, run | |
~~~ | |
python projects/CenterNet2/demo/demo.py --config-file projects/CenterNet2/configs/CenterNet2_R50_1x.yaml --input path/to/image/ --opts MODEL.WEIGHTS models/CenterNet2_R50_1x.pth | |
~~~ | |
## Benchmark evaluation and training | |
Please check detectron2 [GETTING_STARTED.md](https://github.com/facebookresearch/detectron2/blob/master/GETTING_STARTED.md) for running evaluation and training. Our config files are under `projects/CenterNet2/configs` and the pre-trained models are in the [MODEL_ZOO](projects/CenterNet2/centernet2_docs/MODEL_ZOO.md). | |
## License | |
Our code under `projects/CenterNet2/` is under [Apache 2.0 license](projects/CenterNet2/LICENSE). `projects/CenterNet2/centernet/modeling/backbone/bifpn_fcos.py` are from [AdelaiDet](https://github.com/aim-uofa/AdelaiDet), which follows the original [non-commercial license](https://github.com/aim-uofa/AdelaiDet/blob/master/LICENSE). The code from detectron2 follows the original [Apache 2.0 license](LICENSE). | |
## Citation | |
If you find this project useful for your research, please use the following BibTeX entry. | |
@inproceedings{zhou2021probablistic, | |
title={Probabilistic two-stage detection}, | |
author={Zhou, Xingyi and Koltun, Vladlen and Kr{\"a}henb{\"u}hl, Philipp}, | |
booktitle={arXiv preprint arXiv:2103.07461}, | |
year={2021} | |
} | |