dbolya / tide

A General Toolbox for Identifying Object Detection Errors
https://dbolya.github.io/tide
MIT License
702 stars 115 forks source link

What is the difference between "Miss" in "Main Errors" and "FalseNeg" in "Special Errors" #13

Closed Yuxin-CV closed 3 years ago

Yuxin-CV commented 3 years ago

As mentioned in the paper:

I think these two errors are similar, but their dAP are different. I wonder what is the difference between them. Thanks! @dbolya

dbolya commented 3 years ago

Hi Yuxin,

Missed detections don't include all false negatives, since a false negative could also be a classification or localization error.

Consider the situation where there's one detection and one ground truth in the image. Let's say that detection perfectly localizes the object, but predicts the wrong class. In this case, we have one false positive (the detection) and one false negative (the GT not properly classified). Since this is a Classification Error, of which that GT is a part, it is not a Missed Error (since the detector didn't miss it, it just classified it wrong). Thus, the Missed GT Oracle would not fix this error, only the Classification Oracle would (and it fixes both at once by changing the detection to the correct class).

On the other hand, the False Negative Oracle and False Positive Oracles would count this as 2 separate errors, one false negative (the GT), and one false positive (the detection). Under those two oracles, these two errors get fixed individually rather than together (like for classification and localization error).

TL;DR: The Missed GT Oracle doesn't cover all false negatives, while the False Negative Oracle does.

Yuxin-CV commented 3 years ago

Everything fell into place~ Thanks for your TIDE & prompt response :) @dbolya