PeizeSun / SparseR-CNN

[CVPR2021, PAMI2023] End-to-End Object Detection with Learnable Proposal
MIT License
1.31k stars 187 forks source link

Sparse R-CNN: End-to-End Object Detection with Learnable Proposals

License: MIT

Paper (CVPR 2021)

Sparse R-CNN: End-to-End Object Detection with Learnable Proposals

Updates

Models

Method inf_time train_time box AP download
R50_100pro_3x 23 FPS 19h 42.8 model | log
R50_300pro_3x 22 FPS 24h 45.0 model | log
R101_100pro_3x 19 FPS 25h 44.1 model | log
R101_300pro_3x 18 FPS 29h 46.4 model | log

If download link is invalid, models and logs are also available in Github Release and Baidu Drive by code wt9n.

Notes

Method inf_time train_time box AP codebase
R50_300pro_3x 22 FPS 24h 45.0 detectron2
R50_300pro_3x.detco 22 FPS 28h 46.5 detectron2
PVTSmall_300pro_3x 13 FPS 50h 45.7 mmdetection
PVTv2-b2_300pro_3x 11 FPS 76h 50.1 mmdetection

Installation

The codebases are built on top of Detectron2 and DETR.

Requirements

Steps

  1. Install and build libs

    git clone https://github.com/PeizeSun/SparseR-CNN.git
    cd SparseR-CNN
    python setup.py build develop
  2. Link coco dataset path to SparseR-CNN/datasets/coco

    mkdir -p datasets/coco
    ln -s /path_to_coco_dataset/annotations datasets/coco/annotations
    ln -s /path_to_coco_dataset/train2017 datasets/coco/train2017
    ln -s /path_to_coco_dataset/val2017 datasets/coco/val2017
  3. Train SparseR-CNN

    python projects/SparseRCNN/train_net.py --num-gpus 8 \
    --config-file projects/SparseRCNN/configs/sparsercnn.res50.100pro.3x.yaml
  4. Evaluate SparseR-CNN

    python projects/SparseRCNN/train_net.py --num-gpus 8 \
    --config-file projects/SparseRCNN/configs/sparsercnn.res50.100pro.3x.yaml \
    --eval-only MODEL.WEIGHTS path/to/model.pth
  5. Visualize SparseR-CNN

    python demo/demo.py\
    --config-file projects/SparseRCNN/configs/sparsercnn.res50.100pro.3x.yaml \
    --input path/to/images --output path/to/save_images --confidence-threshold 0.4 \
    --opts MODEL.WEIGHTS path/to/model.pth

    Third-party resources

License

SparseR-CNN is released under MIT License.

Citing

If you use SparseR-CNN in your research or wish to refer to the baseline results published here, please use the following BibTeX entries:


@article{peize2020sparse,
  title   =  {{SparseR-CNN}: End-to-End Object Detection with Learnable Proposals},
  author  =  {Peize Sun and Rufeng Zhang and Yi Jiang and Tao Kong and Chenfeng Xu and Wei Zhan and Masayoshi Tomizuka and Lei Li and Zehuan Yuan and Changhu Wang and Ping Luo},
  journal =  {arXiv preprint arXiv:2011.12450},
  year    =  {2020}
}