Scoprite cos'è l'Intersection over UnionIoU), come si calcola e il suo ruolo fondamentale nel rilevamento degli oggetti e nella valutazione dei modelli di intelligenza artificiale.
L'Intersezione su UnioneIoU) è una metrica di valutazione fondamentale utilizzata in computer vision (CV) per misurare l'accuratezza di un un rilevatore di oggetti su un particolare set di dati. Spesso indicato nei circoli accademici come l'indice di indice di Jaccard, l IoU quantifica il grado di sovrapposizione tra due regioni due regioni: la bounding box prevista e generata da un modello e la e il rettangolo di selezione della verità a terra, ovvero l'annotazione etichettata a mano che rappresenta la posizione effettiva dell'oggetto. oggetto. Questa metrica produce un valore che va da 0 a 1, dove 0 indica che non c'è sovrapposizione e 1 rappresenta una perfetta perfetta corrispondenza tra la previsione e la realtà.
Il calcolo dell'IoU è concettualmente semplice e costituisce un parametro di riferimento standard per il rilevamento di oggetti. rilevamento di oggetti e segmentazione delle immagini. Si determina dividendo dividendo l'area di intersezione (la regione di sovrapposizione) per l'area di unione (l'area totale combinata di entrambi i riquadri). scatole). Normalizzando l'area di sovrapposizione rispetto all'area totale, IoU fornisce una misura invariante rispetto alla scala, il che significa che valuta la qualità dell'adattamento indipendentemente dall'area di sovrapposizione. valuta la qualità dell'adattamento indipendentemente dalle dimensioni dell'oggetto.
Nelle applicazioni pratiche, spesso si applica una soglia al punteggio IoU per classify una predizione come "positiva" o "negativa". "positiva" o "negativa". Ad esempio, nelle sfide standard come il COCO , una soglia IoU di 0,5 (o 50%) è comunemente usata per determinare se un rilevamento è positivo o negativo. 50%) è comunemente utilizzata per determinare se un rilevamento è valido. Questa soglia è fondamentale per il calcolo delle metriche a valle, come la precisione e la metriche a valle, come la precisione e la Recall, che alla fine confluiscono nel precisione media (mAP) utilizzato per per classificare le prestazioni del modello.
È possibile calcolare facilmente l'IoU tra le caselle utilizzando le funzioni di utilità fornite in
ultralytics pacchetto. Questo è utile per script di valutazione personalizzati o per comprendere il comportamento del modello durante l'inferenza.
inferenza.
import torch
from ultralytics.utils.metrics import box_iou
# Define a ground truth box and a predicted box in (x1, y1, x2, y2) format
# Example: A 100x100 pixel box starting at (50,50) vs shifted prediction
ground_truth = torch.tensor([[50, 50, 150, 150]])
prediction = torch.tensor([[60, 60, 160, 160]])
# Calculate the Intersection over Union
iou_score = box_iou(ground_truth, prediction)
print(f"IoU Score: {iou_score.item():.4f}")
# Output represents the overlap ratio
La precisione della localizzazione fornita da IoU è fondamentale in diversi settori in cui la sicurezza e l'accuratezza sono fondamentali. fondamentali.
Al di là della semplice valutazione, l IoU svolge un ruolo attivo nella meccanica interna delle architetture moderne, come ad esempio YOLO11.
È importante distinguere l IoU da termini simili per selezionare la metrica giusta per il vostro compito specifico.