CVAIJun 19, 2022

A Parallel Implementation of Computing Mean Average Precision

arXiv:2206.09504v126 citationsh-index: 6Has Code
Originality Synthesis-oriented
AI Analysis

This provides a more efficient tool for researchers and practitioners in computer vision who need to evaluate object detectors during training, though it is an incremental improvement over existing methods.

The paper tackles the inefficiency of computing Mean Average Precision (mAP) for object detection by proposing a parallelized implementation that processes mini-batches of bounding boxes during inference, resulting in a much faster calculation that fits into training routines.

Mean Average Precision (mAP) has been widely used for evaluating the quality of object detectors, but an efficient implementation is still absent. Current implementations can only count true positives (TP's) and false positives (FP's) for one class at a time by looping through every detection of that class sequentially. Not only are these approaches inefficient, but they are also inconvenient for reporting validation mAP during training. We propose a parallelized alternative that can process mini-batches of detected bounding boxes (DTBB's) and ground truth bounding boxes (GTBB's) as inference goes such that mAP can be instantly calculated after inference is finished. Loops and control statements in sequential implementations are replaced with extensive uses of broadcasting, masking, and indexing. All operators involved are supported by popular machine learning frameworks such as PyTorch and TensorFlow. As a result, our implementation is much faster and can easily fit into typical training routines. A PyTorch version of our implementation is available at https://github.com/bwangca/fast-map.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes