Eine gängige Methode zur Feststellung, ob ein Objektvorschlag richtig war, ist die Ermittlung von Schnittpunkten über Union (IoU, IU). Dies nimmt die Menge der vorgeschlagenen Objektpixel und die Menge der wahren Objektpixel B und berechnet:
Im Allgemeinen bedeutet IoU> 0,5, dass es ein Treffer war, ansonsten war es ein Fehlschlag. Für jede Klasse kann man das berechnen
- Wahre Positive ( ): ein Vorschlag für die Klasse gemacht c und es gab tatsächlich ein Objekt der Klasse c
- False Positive ( ): Es wurde ein Vorschlag für die Klasse c gemacht , aber es gibt kein Objekt der Klasse c
- Durchschnittliche Präzision für Klasse : # T P ( c )
Der mAP (Mean Average Precision) =
Wenn man bessere Vorschläge möchte, erhöht man die IoU von 0,5 auf einen höheren Wert (bis zu 1,0, was perfekt wäre). Man kann dies mit mAP @ p bezeichnen, wobei die IoU ist.
Aber was bedeutet mAP@[.5:.95]
(wie in diesem Artikel beschrieben )?
computer-vision
Martin Thoma
quelle
quelle
[.5:.95]
Teil bezieht sich auf einen Bereich von IoU-Werten, aber wie dieser Bereich in einem einzelnen mAP bewertet wird, würde ich nicht wissen.Antworten:
mAP@[.5:.95]
(Jemand bezeichnetmAP@[.5,.95]
) bedeutet durchschnittliche mAP über verschiedene IoU-Schwellen von 0,5 bis 0,95, Schritt 0,05 (0,5, 0,55, 0,6, 0,65, 0,7, 0,75, 0,8, 0,85, 0,9, 0,95).Übrigens zeigt der Quellcode von coco genau, was zu
mAP@[.5:.95]
tun ist:self.iouThrs = np.linspace(.5, 0.95, np.round((0.95 - .5) / .05) + 1, endpoint=True)
Verweise
https://github.com/pdollar/coco
http://mscoco.org/
https://www.cs.cornell.edu/~sbell/pdf/cvpr2016-ion-bell.pdf
https://arxiv.org/pdf/1506.01497.pdf
https://arxiv.org/pdf/1611.10012.pdf
quelle
quelle
AP wird über alle Kategorien gemittelt. Traditionell wird dies als "Mean Average Precision" (mAP) bezeichnet. Wir unterscheiden nicht zwischen AP und mAP (und auch nicht zwischen AR und mAR) und gehen davon aus, dass der Unterschied aus dem Kontext klar hervorgeht.
http://cocodataset.org/#detections-eval
quelle