Written by David Mascharka, Ryan Soklaski, and Arjun Majumdar
Common functionality for object detection
This repository hosts functions that are commonly used across object detection projects. The functionality here includes:
- Box overlap computation (IoU)
- Precision and recall calculations
- Computing targets for training a detector given a set of ground-truth objects
- Non-maximum suppression
- Coordinate transform utilities
- Focal loss in PyTorch
All the functions here are well-tested to ensure proper functionality of these utilities. This repository is meant to ensure that modifications and improvements that are implemented as part of one program migrate to other programs when appropriate.
To use detection-utils
you will need numpy
, numba
, and optionally pytorch
. We recommend either fetching numpy
from Anaconda or ensuring you can link against MKL yourself for
performance. You can install numba
via pip and PyTorch should be installed
according to your needs. For example:
$ conda install numpy
$ pip install numba torch torchvision
detection-utils
is availabe on PyPI: install via
$ pip install detection-utils
Clone this repository and install:
$ git clone https://github.com/davidmascharka/detection-utils.git && cd detection-utils
$ pip install .
To verify installation, ensure that pytest and
hypothesis are installed, then run
pytest
from the detection-utils
base directory.
If you're interested in contributing to this library, a good place to start is by browsing for open issues to see if there are desired features waiting for implementation. Please see the contributors file before you submit a pull request.
DISTRIBUTION STATEMENT A. Approved for public release. Distribution is unlimited.
This material is based upon work supported by the Under Secretary of Defense for Research and Engineering under Air Force Contract No. FA8702-15-D-0001. Any opinions, findings, conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Under Secretary of Defense for Research and Engineering.
© 2019 Massachusetts Institute of Technology.
MIT Proprietary, Subject to FAR52.227-11 Patent Rights - Ownership by the contractor (May 2014)
The software/firmware is provided to you on an As-Is basis
Delivered to the U.S. Government with Unlimited Rights, as defined in DFARS Part 252.227-7013 or 7014 (Feb 2014). Notwithstanding any copyright notice, U.S. Government rights in this work are defined by DFARS 252.227-7013 or DFARS 252.227-7014 as detailed above. Use of this work other than as specifically authorized by the U.S. Government may violate any copyrights that exist in this work.