métrique des cartes dans la détection d'objets et la vision par ordinateur

dans la vision par ordinateur et la détection d'objets, la méthode d'évaluation courante est mAP. Quel est-il et comment est-il calculé?

62
demandé sur mk18 2016-03-29 06:03:12

4 réponses

les Citations sont de la mentionnés ci-dessus 151910920" Zisserman papier - 4.2 Évaluation des Résultats (Page 11) :

D'abord 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é au sol, elle est considérée comme une détection). Puis une correspondance est faite entre les boîtes GT et les boîtes prédites en utilisant cette approche "cupide":

détections sortie par une méthode ont été attribués à des objets de vérité au sol satisfaisant au critère de chevauchement classé par ordre décroissant) la confiance de sortie. Détection Multiple du même objet dans une image ont été considérés comme des fausses détections, par exemple 5 détections d'un seul objet comptés comme 1 détection correcte et 4 fausses détections

donc chaque case prédite est soit True-Positive ou False-Positive. Chaque boîte de vérité est soit Vrai-positif ou faux-négatif. 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 se situe dans l'intervalle [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 y a un point de courbe différent (p', r') tel que p' > p et r' >= r, Nous remplaçons p par p' maximum de ceux point.

ce qui n'est pas encore clair pour moi, c'est ce qui est fait avec les boîtes GT qui sont jamais détecté (même si la confiance est 0). Cela signifie qu'il y a certaines valeurs de rappel que la courbe de rappel de précision n'atteindra jamais, ce qui fait que le calcul de la précision moyenne au-dessus n'est pas défini.

Edit:

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

une façon d'expliquer cela est de supposer que lorsque le seuil de confiance approche 0, un nombre infini de prédit les boîtes limites 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 continue d'augmenter sur cette courbe plate jusqu'à ce que nous atteignions 100%.

28
répondu Jonathan 2018-02-14 15:12:23

est la précision moyenne.

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

pour le calculer pour la détection D'objet, vous calculez la précision moyenne pour chaque classe dans vos données basées sur 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 cette moyenne de précision de classe individuelle vous donne la moyenne de précision.

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

34
répondu Ankitp94 2016-05-28 11:36:18

pour la détection, un moyen courant pour déterminer si un objet proposé était à droite se trouve Intersection au-dessus de L'Union (IoU, IU). Cela prend l'ensemble A des pixels d'objet proposés et de l'ensemble des pixels d'objet réels B et calcule:

en général, IoU > 0.5 signifie que c'était un succès, 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 effectivement un objet de la Classe C
  • faux positif FP (c): une proposition a été faite pour la Classe c, mais il n'y a pas d'objet de la Classe C
  • précision moyenne pour la Classe c:

la carte (précision moyenne) est alors:

Note: Si l'on veut de meilleures propositions, on augmente les IoU de 0.5 à une valeur plus élevée (jusqu'à 1.0 ce qui serait parfait). On peut le dénoter avec mAP@p, où p \in (0, 1) est la IoU.

mAP@[.5:.95] signifie que la carte est calculée sur plusieurs seuils et qu'elle est ensuite de nouveau calculée en moyenne

Edit: Pour plus d' informations détaillées voir le COCO paramètres D'évaluation

17
répondu mk18 2018-10-03 19:25:22

je pense que l'important ici est de relier le comment de détection d'un objet peut être considéré comme le standard de récupération de l'information à des problèmes pour lesquels il existe au moins un excellente description de la précision moyenne .

la sortie d'un algorithme de détection d'objet est un ensemble de boîtes de limites proposées, et pour chacune, un score de confiance et de classification (un score par classe). Ignorons les scores de classification pour l'instant, et utilisez la confiance comme entrée dans une classification binaire 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, nous avons besoin de savoir si une boîte est correcte!

c'est là que ça devient confus/difficile; par opposition aux problèmes typiques de récupération de l'information, nous avons en fait un niveau de classification supplémentaire ici. C'est-à-dire qu'on ne peut pas faire une correspondance exacte entre les boîtes, nous devons donc classer si une boîte de délimitation est correcte ou non. La solution consiste essentiellement à effectuer une classification codée en dur sur les dimensions de la boîte; nous vérifions si elle recoupe suffisamment toute vérité de fond pour être considérée comme "correcte". Le seuil pour cette partie est choisi par le bon sens. L'ensemble de données sur lequel vous travaillez définira probablement ce seuil pour une zone de délimitation "correcte". La plupart des ensembles de données viennent de le définir à 0.5 IoU et de le laisser à cela (I il est recommandé de faire quelques calculs manuels de L'IoU [ils ne sont pas difficiles] pour avoir une idée de la rigueur de l'IoU de 0,5 en réalité est).

Maintenant que nous avons défini ce que signifie être "correct", il suffit d'utiliser le même processus que la recherche d'information.

pour trouver la précision moyenne (carte), vous n'avez qu'à stratifier les cases proposées en fonction du maximum des cotes de classification associées à ces cases, puis de la moyenne (prendre la moyenne) de la moyenne précision (AP) sur les classes.

TLDR; faire la distinction entre déterminer si une prédiction de la zone de délimitation est "correcte" (niveau de classification supplémentaire) et évaluer dans quelle mesure la confiance dans la zone de délimitation vous informe d'une prédiction de la zone de délimitation "correcte" (tout à fait analogue au cas de récupération de l'information) et les descriptions typiques de la carte auront du sens.


Il est intéressant de noter que l'Aire sous la La courbe de précision/rappel est la même chose que la précision moyenne , et nous nous rapprochons essentiellement de cette zone avec la règle trapézoïdale ou de droite pour l'approximation des intégrales.

7
répondu Multihunter 2017-11-17 04:13:55