mAP (mean Average Precision) e mAR (mean Average Recall) in Object Detection, cosa sono?

AI, INTELLIGENZA ARTIFICIALE

Se vi trovate su questa pagina probabilmente state lavorando su sistemi di object detection (SSD, Faster R-CNN) e vi sarete chiesti cosa indichino quelle metriche che vi sta restituendo il vostro modello neurale in fase di training. Bene vediamo cosa sono.

mAP (mean Average Precision) è una metrica molto diffusa utilizzata  per misurare l’accuratezza dei sistemi di object detection ed indica il valore di precisione medio per il valore di recall compreso tra 0 e 1. Detto così forse non è molto comprensibile, ma cerchiamo di scoprirne il significato.

Prima di tutto facciamo un pò di richiami partendo dalle definizioni di:   precisionrecall e IoU.

La precision, misura quanto siano accurate le previsioni (indica in sostanza la percentuale delle predizioni  corrette) e si esprime come rapporto tra i True Positive ( risposte corrette)  e la somma dei True Positive  ( risposte corrette)  è dei False positive ( risposte ritenute corrette dalla rete ma in realtà errate) . In altri termini andiamo a capire con questa metrica la percentuale di quant volte  la rete mi ha restituito falsi positivi.

precision = \frac{TP}{TP + FP}

La Recall  indica  quanto il sistema sia in grado di giudicare  positivamente ( indica infatti la capacità di un sistema di trovare i  possibili casi positivi nelle nostre migliori previsioni) e si esprime come rapporto tra i True Positive (risposte corrette) e la somma dei True Positive (risposte corrette) e dei False Negative ( risposte della rete ritenute negative quando in realtà sono positive)

recall = \frac{TP}{TP + FN}

dove:

TP = True Positive
TN = True Negative
FP = False Positive
Fn = False Negative

La IoU (Intersection over union)  misura la sovrapposizione tra 2 perimetri. Viene usata  per misurare quanto il bounding box  predetto si sovrappone al ground truth (ovvero il box che contiene l’oggetto reale). Guarda la figura successiva per avere una idea.

A questo punto  abbiamo gli elementi per interpretare  alcune delle metriche di cui avrete  letto.

Ad esempio:

DetectionBoxes_Precision/mAP mean average precision  ( precisione media) calcolata sulle  classi mediate su  IOU thresholds compreso tra .5 to .95 con .05 increments
DetectionBoxes_Precision/mAP@.50IOU mean average precision (precisione media) calcolata sul 50% IOU
DetectionBoxes_Precision/mAP@.75IOU mean average precision (precisione media) calcolata sul 75% IOU
DetectionBoxes_Precision/mAP (small) mean average precision (precisione media) calcolata sul piccoli oggetti  (area < 32^2 pixels)
DetectionBoxes_Precision/mAP (medium) mean average precision (precisione media) calcolata per oggetti di media dimensione (32^2 pixels < area < 96^2 pixels)
DetectionBoxes_Precision/mAP (large) mean average precision (precisione media) calcolata per oggetti di grande dimensione  (96^2 pixels < area < 10000^2 pixels)
DetectionBoxes_Recall/AR@1 average recall (recall media) con 1 detection
DetectionBoxes_Recall/AR@10 average recall (recall media) con 10 detection
DetectionBoxes_Recall/AR@100 average recall (recall media) con 100 detection
DetectionBoxes_Recall/AR@100 (small) average recall (recall media) per piccoli oggetti per 100 detection
DetectionBoxes_Recall/AR@100 (medium) average recall (recall media) per oggetti di media dimensione per 100 detection
DetectionBoxes_Recall/AR@100 (large) average recall (recall media) per oggetti di grande dimensione per 100 detection
Se vuoi farmi qualche richiesta o contattarmi per un aiuto riempi il seguente form

    Comments