# CenterNet2
**Repository Path**: nightmare_0102/CenterNet2
## Basic Information
- **Project Name**: CenterNet2
- **Description**: https://github.com/xingyizhou/CenterNet2
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2022-02-22
- **Last Updated**: 2022-02-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Probabilistic two-stage detection
Two-stage object detectors that use class-agnostic one-stage detectors as the proposal network.
> [**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.
## Demo
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}
}