mAP (precisione media) per il rilevamento di oggetti

La mAP (precisione media) è una metrica popolare per misurare l’accuratezza dei rilevatori di oggetti come Faster R-CNN, SSD, ecc. che vengono trattati anche nel nostro corso di Computer Vision Hands-On.

La precisione media calcola il valore medio della precisione per un valore di richiamo compreso tra 0 e 1. Sembra complicato, ma in realtà è piuttosto semplice e lo illustriamo con un esempio. Ma prima di questo, faremo un rapido riepilogo su precisione, richiamo e IoU.

Precisione e richiamo

La precisione misura l’accuratezza delle previsioni, ovvero la percentuale di previsioni corrette.

Il richiamo misura la capacità di trovare tutti gli elementi positivi. Ad esempio, possiamo trovare l’80% dei possibili casi positivi nelle nostre prime K previsioni.

IoU (Intersezione su unione)IoU (Intersezione su unione)

IoU misura la sovrapposizione tra due confini. Lo usiamo per misurare quanto il confine previsto si sovrappone alla verità di base (il confine dell’oggetto reale). In alcuni set di dati, viene predefinita una soglia IoU (ad esempio 0,5) per classificare se la previsione è un vero positivo o un falso positivo.

AP

Creiamo un esempio troppo semplice per dimostrare il calcolo della precisione media. In questo esempio, l’intero set di dati contiene solo 5 mele. Raccogliamo tutte le previsioni fatte per le mele in tutte le immagini e le classifichiamo in ordine decrescente in base al livello di confidenza previsto. La seconda colonna indica se la previsione è corretta o meno. In questo esempio, la previsione è corretta se IoU ≥ 0,5.

Prendiamo la riga con il rango #3 e dimostriamo come vengono calcolate la precisione e il richiamo.

La precisione è la proporzione di TP = 2/3 = 0,67.

Il richiamo è la proporzione di TP sui possibili positivi = 2/5 = 0,4.

I valori di richiamo aumentano man mano che si scende nella classifica delle previsioni. Tuttavia, la precisione ha un andamento a zig-zag: scende con i falsi positivi e risale con i veri positivi.

Tracciamo il grafico della precisione rispetto al valore di richiamo per vedere questo andamento a zig-zag.

La definizione generale di precisione media (AP) consiste nel trovare l’area sotto la curva precisione-richiamo di cui sopra.

La precisione e il richiamo sono sempre compresi tra 0 e 1. Pertanto, anche AP rientra tra 0 e 1. Prima di calcolare l’AP per il rilevamento degli oggetti, spesso si smussa il modello a zigzag.

Graficamente, a ogni livello di richiamo, sostituiamo ogni valore di precisione con il valore di precisione massimo a destra di quel livello di richiamo.

La linea arancione viene quindi trasformata in linea verde e la curva diminuisce in modo monotono invece che a zig-zag. Il valore di AP calcolato sarà meno sospettabile di piccole variazioni nella classifica. Matematicamente, sostituiamo il valore di precisione per il richiamo ȓ con la precisione massima per qualsiasi richiamo ≥ ȓ.

AP interpolato

PASCAL VOC è un popolare set di dati per il rilevamento di oggetti. Per la sfida PASCAL VOC, una predizione è positiva se IoU ≥ 0,5. Inoltre, se vengono rilevati più rilevamenti dello stesso oggetto, il primo viene considerato positivo e gli altri negativi.

In Pascal VOC2008, viene calcolata una media per l’AP interpolata a 11 punti.

Innanzitutto, dividiamo il valore di richiamo da 0 a 1,0 in 11 punti – 0, 0,1, 0,2, …, 0,9 e 1,0. Quindi, calcoliamo la media del valore di precisione massima per questi 11 valori di richiamo.

Nel nostro esempio, AP = (5 × 1,0 + 4 × 0,57 + 2 × 0,5)/11

Ecco le definizioni matematiche più precise.

Quando APᵣ diventa estremamente piccolo, possiamo assumere che i termini rimanenti siano pari a zero. In altre parole, non dobbiamo necessariamente fare previsioni finché il richiamo non raggiunge il 100%. Se i possibili livelli di precisione massima scendono a un livello trascurabile, possiamo fermarci. Per 20 classi diverse in PASCAL VOC, calcoliamo un AP per ogni classe e forniamo anche una media di questi 20 risultati AP.

Secondo il ricercatore originale, l’intenzione di utilizzare 11 punti interpolati per calcolare l’AP è

L’intenzione di interpolare la curva di precisione/richiamo in questo modo è di ridurre l’impatto delle “oscillazioni” nella curva di precisione/richiamo, causate da piccole variazioni nella classificazione degli esempi.

Tuttavia, questo metodo interpolato è un’approssimazione che soffre di due problemi. È meno preciso. In secondo luogo, perde la capacità di misurare la differenza per i metodi con AP basso. Pertanto, dopo il 2008 è stato adottato un diverso calcolo dell’AP per PASCAL VOC.

AP (Area sotto la curva AUC)

Per le gare Pascal VOC successive, VOC2010-2012 campiona la curva in corrispondenza di tutti i valori unici di richiamo (r₁, r₂, …), ogni volta che il valore massimo di precisione scende. Con questa modifica, misuriamo l’area esatta sotto la curva precisione-richiamo dopo la rimozione degli zigzag.

Non è necessaria alcuna approssimazione o interpolazione. Invece di campionare 11 punti, campioniamo p(rᵢ) ogni volta che scende e calcoliamo AP come somma dei blocchi rettangolari.

Questa definizione è chiamata Area Under Curve (AUC). Come mostrato di seguito, poiché i punti interpolati non coprono il punto in cui la precisione diminuisce, entrambi i metodi divergono.

Mappa COCO

Gli ultimi lavori di ricerca tendono a fornire risultati solo per il set di dati COCO. In COCO mAP, per il calcolo viene utilizzata una definizione di AP interpolata a 101 punti. Per COCO, AP è la media su più IoU (l’IoU minimo per considerare una corrispondenza positiva). AP@[.5:.95] corrisponde all’AP medio per IoU da 0,5 a 0,95 con una dimensione di passo di 0,05. Per il concorso COCO, l’AP è la media di 10 livelli IoU su 80 categorie (AP@[.50:.05:.95]: parte da 0,5 a 0,95 con una dimensione di 0,05). Di seguito sono riportate alcune altre metriche raccolte per il dataset COCO.

E questo è il risultato di AP per il rilevatore YOLOv3.

Nella figura precedente, AP@.75 indica l’AP con IoU=0.75.

mAP (mean average precision) è la media degli AP. In alcuni contesti, calcoliamo l’AP per ogni classe e ne facciamo la media. In altri contesti, invece, hanno lo stesso significato. Ad esempio, nel contesto COCO, non c’è differenza tra AP e mAP. Ecco la citazione diretta del COCO:

L’AP viene calcolato come media di tutte le categorie. Tradizionalmente, si parla di “precisione media” (mAP). Non facciamo distinzione tra AP e mAP (e allo stesso modo AR e mAR) e riteniamo che la differenza sia chiara dal contesto.

In ImageNet si utilizza il metodo AUC. Quindi, anche se tutti seguono lo stesso principio nella misurazione di AP, il calcolo esatto può variare a seconda dei set di dati. Fortunatamente, sono disponibili kit di sviluppo per il calcolo di questa metrica.

 

Articolo originale di Jonathan Hui

mAP (mean Average Precision) for Object Detection | by Jonathan Hui | Medium

Share:

Contenuti
Torna in alto