452

GitHub - yihui-he/softer-NMS: Softer-NMS: Rethinking Bounding Box Regression for...

 5 years ago
source link: https://github.com/yihui-he/softer-NMS
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

Softer-NMS: Rethinking Bounding Box Regression for Accurate Object Detection

Yihui He, Xiangyu Zhang , Kris Kitani and Marios Savvides, Carnegie Mellon University

We introduce a novel bounding box regression loss for learning bounding box transformation and localization variance together. The resulting localization variance is utilized in our new non-maximum suppression method to improve localization accuracy for object detection. On MS-COCO, we boost the AP of VGG-16 faster R-CNN from 23.6% to 29.1% with a single model and nearly no additional computational overhead. More importantly, our method improves the AP of ResNet-50 FPN fast R-CNN from 36.8% to 37.8%, which achieves state-of-the-art bounding box refinement result.

softer.png

Citation

If you find the code useful in your research, please consider citing:

@article{softernms,
  title={Softer-NMS: Rethinking Bounding Box Regression for Accurate Object Detection},
  author={He, Yihui and Zhang, Xiangyu and Kitani, Kris and Savvides, Marios},
  journal={arXiv preprint arXiv:1809.08545},
  year={2018}
}

Installation

Please find installation instructions for Caffe2 and Detectron in INSTALL.md.

Testing

Running inference using $N GPUs (e.g., N=8).

python2 tools/test_net.py \
    --cfg configs/12_2017_baselines/fast_rcnn_R-50-FPN_2x_our.yaml \
    --multi-gpu-testing \
    NUM_GPUS $N

Training

Training with 8 GPUs:

python2 tools/train_net.py \
    --cfg configs/12_2017_baselines/fast_rcnn_R-50-FPN_2x_our.yaml \
    OUTPUT_DIR /tmp/detectron-output

to train the initialization model:

python2 tools/train_net.py \
    --cfg configs/12_2017_baselines/fast_rcnn_R-50-FPN_2x_init.yaml \
    OUTPUT_DIR /tmp/detectron-output

Detectron

Detectron is Facebook AI Research's software system that implements state-of-the-art object detection algorithms, including Mask R-CNN. It is written in Python and powered by the Caffe2 deep learning framework.

At FAIR, Detectron has enabled numerous research projects, including: Feature Pyramid Networks for Object Detection, Mask R-CNN, Detecting and Recognizing Human-Object Interactions, Focal Loss for Dense Object Detection, Non-local Neural Networks, Learning to Segment Every Thing, Data Distillation: Towards Omni-Supervised Learning, DensePose: Dense Human Pose Estimation In The Wild, and Group Normalization.

33823288584_1d21cf0a26_k_example_output.jpg

Example Mask R-CNN output.

Introduction

The goal of Detectron is to provide a high-quality, high-performance codebase for object detection research. It is designed to be flexible in order to support rapid implementation and evaluation of novel research. Detectron includes implementations of the following object detection algorithms:

using the following backbone network architectures:

Additional backbone architectures may be easily implemented. For more details about these models, please see References below.

Update

License

Detectron is released under the Apache 2.0 license. See the NOTICE file for additional details.

Citing Detectron

If you use Detectron in your research or wish to refer to the baseline results published in the Model Zoo, please use the following BibTeX entry.

@misc{Detectron2018,
  author =       {Ross Girshick and Ilija Radosavovic and Georgia Gkioxari and
                  Piotr Doll\'{a}r and Kaiming He},
  title =        {Detectron},
  howpublished = {\url{https://github.com/facebookresearch/detectron}},
  year =         {2018}
}

Model Zoo and Baselines

We provide a large set of baseline results and trained models available for download in the Detectron Model Zoo.

Installation

Please find installation instructions for Caffe2 and Detectron in INSTALL.md.

Quick Start: Using Detectron

After installation, please see GETTING_STARTED.md for brief tutorials covering inference and training with Detectron.

Getting Help

To start, please check the troubleshooting section of our installation instructions as well as our FAQ. If you couldn't find help there, try searching our GitHub issues. We intend the issues page to be a forum in which the community collectively troubleshoots problems.

If bugs are found, we appreciate pull requests (including adding Q&A's to FAQ.md and improving our installation instructions and troubleshooting documents). Please see CONTRIBUTING.md for more information about contributing to Detectron.

References


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK