mAP (mean Average Precision) e mAR (mean Average Recall) in Object Detection, cosa sono?
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: precision, recall 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.
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)
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@ |
mean average precision (precisione media) calcolata sul 50% IOU |
| DetectionBoxes_Precision/mAP@ |
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 |

Comments