I am trying to understand the average precision (AP) metrics in evaluating the performance of deep-learning based object detection models. Suppose we have the following ground true (four objects highlighted by four blue arrows):

enter image description here

where we have labelled four objects:

person 25 16 38 56
person 129 123 41 62
kite 45 16 38 56
kite 169 123 41 62

And when feeding the above image to an object detector, it gives the following outputs:

enter image description here

It's easy to see that the object detector identified another object with low confidence:

person 0.4 25 16 38 56
person 0.2 129 123 41 62
kite 0.3 45 16 38 56
kite 0.5 169 123 41 62
kite 0.1 769 823 141 162 <-------- a "kite"

In my humble opinion, this is an erroneous behavior of the object detector, which should be counted as a "false positive".

However, since the "kite" has a quite low confidence score (0.1), when using the standard mAP algorithm to compute the performance, I got the following output (I am using code from here to compute the mAP):

AP: 100.00% (kite)
AP: 100.00% (person)
mAP: 100.00%

So here are my questions and confusions:

  1. from what kind of design intension, the AP is designed in a way such that objects with low confidence score are ignored and therefore in this case we are with flying colors.

  2. Is there any metrics that can take this extra "kite" into consideration and therefore would output one "false positive" of the object detection model? I am just thinking that in this way, we can further proceed to improve the accuracy of this model during training.


Your Answer


Browse other questions tagged or ask your own question.