Qu'est-ce que la métrique mAP et comment est-elle calculée?


Réponses:


45

Les citations sont tirées de l' article de Zisserman mentionné ci-dessus - 4.2 Évaluation des résultats (page 11) :

Premièrement, un "critère de chevauchement" est défini comme une intersection sur union supérieure à 0,5. (par exemple, si une boîte prédite satisfait à ce critère par rapport à une boîte de vérité terrain, elle est considérée comme une détection). Ensuite, une correspondance est faite entre les boîtes GT et les boîtes prédites en utilisant cette approche «gourmande»:

Les détections produites par une méthode ont été attribuées aux objets de vérité terrain satisfaisant au critère de chevauchement dans l'ordre classé par la sortie de confiance (décroissante). Plusieurs détections du même objet dans une image ont été considérées comme de fausses détections, par exemple 5 détections d'un seul objet comptées comme 1 détection correcte et 4 fausses détections

Par conséquent, chaque case prédite est soit Vrai-Positif, soit Faux-Positif. Chaque boîte de vérité terrain est vraie positive. Il n'y a pas de vrais négatifs.

Ensuite, la précision moyenne est calculée en faisant la moyenne des valeurs de précision sur la courbe précision-rappel où le rappel est dans la plage [0, 0,1, ..., 1] (par exemple, moyenne de 11 valeurs de précision). Pour être plus précis, nous considérons une courbe PR légèrement corrigée, où pour chaque point de courbe (p, r), s'il existe un point de courbe différent (p ', r') tel que p '> p et r'> = r , on remplace p par le maximum p 'de ces points.

Ce que je ne sais toujours pas, c'est ce qui est fait avec ces boîtes GT qui ne sont jamais détectées (même si la confiance est de 0). Cela signifie qu'il existe certaines valeurs de rappel que la courbe de rappel de précision n'atteindra jamais, ce qui rend le calcul de précision moyenne supérieur à indéfini.

Éditer:

Réponse courte: dans la région où le rappel est inaccessible, la précision tombe à 0.

Une façon d'expliquer cela est de supposer que lorsque le seuil de confiance s'approche de 0, un nombre infini de boîtes englobantes prédites s'allument sur toute l'image. La précision passe alors immédiatement à 0 (puisqu'il n'y a qu'un nombre fini de boîtes GT) et le rappel ne cesse de croître sur cette courbe plate jusqu'à atteindre 100%.


2
Ce n'est pas la seule chose qui n'est pas claire. Prenons un cas où il y a deux boîtes prédites (P1, P2) et deux boîtes de vérité terrain (T1, T2), où P2 a une confiance plus élevée que P1. Les deux P1 et P2 chevauchent T1. Puisque P2 a la confiance la plus élevée, il est clair que P2 devrait être considéré comme la correspondance pour T1. Ce qui n'est pas donné, c'est que si P1 a également un certain chevauchement d'IOU avec T2, mais inférieur à l'IOU avec T1, devrait-on donner à P1 une «seconde chance» d'essayer de s'aligner sur T2, ou ne devrait-elle pas?
Martin

Quelqu'un peut-il clarifier le problème avec les boîtes GT non détectées?
Jonathan le

@Jonathan: alors rejetons-nous simplement les prédictions avec IoU <0,5 et calculons l'aire sous la courbe PR pour les prédictions avec IoU> = 0,5?
Alex

@Alex Non. Les prédictions avec IoU <0,5 sont des faux positifs.
Jonathan

1
@Martin comme vous pouvez le voir sur github , P1 n'aura pas une seconde chance mais un faux positif.
qq456cvb

49

mAP est la précision moyenne moyenne.

Son utilisation est différente dans le domaine de la recherche d'informations (référence [1] [2] paramètres ) et de classification multi-classes (détection d'objet).

Pour le calculer pour la détection d'objets, vous calculez la précision moyenne pour chaque classe de vos données en fonction de vos prédictions de modèle. La précision moyenne est liée à l'aire sous la courbe précision-rappel pour une classe. Ensuite, en prenant la moyenne de ces précision de classe individuelle moyenne, vous obtenez la précision moyenne moyenne.

Pour calculer la précision moyenne, voir [3]


32

Pour la détection, un moyen courant de déterminer si une proposition d'objet était correcte est Intersection over Union (IoU, IU). Cela prend l'ensemble A des pixels d'objet proposés et l'ensemble des vrais pixels d'objet Bet calcule:

Généralement, IoU> 0,5 signifie qu'il s'agissait d'un hit, sinon c'était un échec. Pour chaque classe, on peut calculer le

  • True Positive TP (c): une proposition a été faite pour la classe c et il y avait en fait un objet de classe c
  • Faux positif FP (c): une proposition a été faite pour la classe c, mais il n'y a pas d'objet de classe c
  • Précision moyenne pour la classe c:

La mAP (précision moyenne moyenne) est alors:

Remarque: si l'on veut de meilleures propositions, on augmente l'IoU de 0,5 à une valeur plus élevée (jusqu'à 1,0 ce qui serait parfait). On peut le désigner par mAP @ p, où p \ in (0, 1) est l'IoU.

mAP@[.5:.95] signifie que le mAP est calculé sur plusieurs seuils puis à nouveau moyenné

Edit: Pour plus d'informations, voir les métriques d'évaluation COCO


9

Je pense que la partie importante ici est de relier comment la détection d'objet peut être considérée comme la même chose que les problèmes de recherche d'informations standard pour lesquels il existe au moins une excellente description de la précision moyenne .

Le résultat de certains algorithmes de détection d'objets est un ensemble de boîtes de délimitation proposées, et pour chacune d'elles, un score de confiance et de classification (un score par classe). Ignorons les scores de classification pour le moment et utilisons la confiance comme entrée pour une classification binaire de seuil . Intuitivement, la précision moyenne est une agrégation de tous les choix pour la valeur seuil / seuil. Mais attendez; pour calculer la précision, il faut savoir si une case est correcte!

C'est là que ça devient déroutant / difficile; contrairement aux problèmes classiques de recherche d'informations, nous avons ici un niveau de classification supplémentaire. Autrement dit, nous ne pouvons pas faire de correspondance exacte entre les boîtes, nous devons donc classer si une boîte englobante est correcte ou non. La solution consiste essentiellement à faire une classification codée en dur sur les dimensions de la boîte; nous vérifions si elle recoupe suffisamment une vérité de terrain pour être considérée comme «correcte». Le seuil de cette partie est choisi par bon sens. L'ensemble de données sur lequel vous travaillez définira probablement ce qu'est ce seuil pour une boîte englobante «correcte». La plupart des ensembles de données le définissent simplement à 0,5 IoU et en restent là (je recommande de faire quelques calculs manuels IoU [ils ne sont pas difficiles] pour avoir une idée de la stricte IoU de 0,5).

Maintenant que nous avons défini ce que signifie être «correct», nous pouvons simplement utiliser le même processus que la recherche d'informations.

Pour trouver la précision moyenne moyenne (mAP), il vous suffit de stratifier vos cases proposées en fonction du maximum des scores de classification associés à ces cases, puis la moyenne (prenez la moyenne) de la précision moyenne (AP) sur les classes.

TLDR; faire la distinction entre déterminer si une prédiction de boîte englobante est `` correcte '' (niveau supplémentaire de classification) et évaluer dans quelle mesure la confiance de la boîte vous informe d'une prédiction de boîte englobante `` correcte '' (complètement analogue au cas de recherche d'informations) et les descriptions typiques de mAP aura du sens.


Il convient de noter que la zone sous la courbe de précision / rappel est la même chose que la précision moyenne , et nous approximons essentiellement cette zone avec la règle trapézoïdale ou de droite pour approximer les intégrales.


3

Définition: mAP → Précision moyenne moyenne

Dans la plupart des concours de détection d'objets, il existe de nombreuses catégories à détecter, et l'évaluation du modèle est effectuée sur une catégorie spécifique à chaque fois, le résultat de l'évaluation est l'AP de cette catégorie.

Lorsque chaque catégorie est évaluée, la moyenne de tous les AP est calculée comme le résultat final du modèle, qui est mAP.


0

entrez la description de l'image ici

L'intersection sur l'union (IOU) est une mesure basée sur l'indice Jaccard qui évalue le chevauchement entre deux boîtes englobantes. Il nécessite une boîte englobante de vérité terrain et une boîte englobante prédite En appliquant l'IOU, nous pouvons dire si une détection est valide (True Positive) ou non (False Positive). L'IOU est donnée par la zone de chevauchement entre la boîte englobante prédite et le sol boîte englobante de vérité divisée par la zone d'union entre eux.


La question concerne mAP et non IoU. Donc, vous devriez au moins clarifier comment l'IoU est lié à mAP.
nbro
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.