Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Intersection over Union (IoU)

L'intersezione sull'unione (IoU) misura quanto un riquadro previsto si sovrappone a quello reale, da 0 a 1. Formula, codice Python, soglie e loss basate su IoU.

L'intersezione su unione (IoU) misura la sovrapposizione tra due regioni: l'area che condividono divisa per l'area complessiva che coprono. Varia da 0 per regioni che non si toccano a 1 per regioni identiche ed è la stessa quantità nota in statistica come indice di Jaccard. Nel rilevamento di oggetti, l'IoU confronta un riquadro di delimitazione previsto con il riquadro di riferimento annotato e determina se una previsione è corretta, quali previsioni duplicate vengono rimosse e come vengono addestrate le previsioni dei riquadri.

Come si calcola l'IoU#

IoU = area di intersezione / area di unione, dove l'unione è l'area del riquadro A più l'area del riquadro B meno la loro intersezione, in modo che la regione condivisa venga conteggiata una sola volta. Per due riquadri allineati agli assi e rappresentati tramite coordinate degli angoli, l'intersezione è a sua volta un rettangolo delimitato dai bordi interni dei due riquadri; la sua larghezza o altezza viene impostata a zero se i riquadri non si sovrappongono.

# Boxes as [x1, y1, x2, y2] in pixels
label = [100, 100, 200, 200]
pred = [110, 110, 210, 210]

# Intersection rectangle, clamped to zero when the boxes do not overlap
w = max(0, min(label[2], pred[2]) - max(label[0], pred[0]))
h = max(0, min(label[3], pred[3]) - max(label[1], pred[1]))
intersection = w * h

# Union counts the overlap only once
area_label = (label[2] - label[0]) * (label[3] - label[1])
area_pred = (pred[2] - pred[0]) * (pred[3] - pred[1])
union = area_label + area_pred - intersection

print(f"IoU = {intersection} / {union} = {intersection / union:.3f}")

Lo script stampa IoU = 8100 / 11900 = 0.681. Spostare di 10 pixel in ogni direzione un riquadro di 100 pixel riduce la sovrapposizione a 90 × 90 pixel e aumenta l'unione a 11.900, perciò uno spostamento del 10% costa quasi un terzo del punteggio. Poiché entrambe le aree si ridimensionano insieme, l'IoU è invariante rispetto alla scala: lo stesso disallineamento relativo produce lo stesso punteggio per un uccello di 20 pixel e un camion di 2.000 pixel. Un errore fisso in pixel penalizza quindi soprattutto gli oggetti piccoli; uno spostamento laterale di un solo pixel riduce l'IoU a 0,905 per un riquadro di 20 pixel e a 0,990 per un riquadro di 200 pixel.

Soglie IoU nella valutazione#

Una soglia di valutazione trasforma l'IoU in una decisione sì o no. Una previsione è un vero positivo quando la classe corrisponde e l'IoU con un riquadro di riferimento non ancora abbinato raggiunge la soglia; altrimenti è un falso positivo. Il benchmark PASCAL VOC usava 0,5, un valore meno permissivo di quanto sembri: due riquadri uguali spostati lateralmente di un terzo della loro larghezza hanno un'IoU esattamente pari a 0,5. Il benchmark COCO calcola la media dei risultati su dieci soglie, da 0,50 a 0,95; è così che la precisione media media (mAP) premia una localizzazione precisa.

IoU durante l'addestramento e il postprocessing#

  • Funzioni di perdita per la regressione dei riquadri: i rilevatori addestrano le coordinate dei riquadri usando 1 − IoU o una sua variante, perché una funzione di perdita sulle coordinate grezze tratta allo stesso modo un errore di 10 pixel su riquadri piccoli e grandi. L'IoU semplice non fornisce alcun gradiente quando i riquadri non si sovrappongono, quindi la Generalized IoU (GIoU) aggiunge una penalità basata sul riquadro più piccolo che racchiude entrambi, mentre la Distance-IoU e la Complete IoU (DIoU, CIoU) aggiungono termini per la distanza tra i centri e il rapporto d'aspetto. YOLO26 addestra la testa dei riquadri con una funzione di perdita CIoU e usa inoltre la CIoU per decidere a quale oggetto annotato assegnare le previsioni durante l'addestramento.
  • Soppressione dei massimi non locali (NMS): durante l'inferenza, un riquadro la cui IoU con un riquadro della stessa classe e con punteggio più alto supera una soglia viene considerato un duplicato e rimosso.
  • Tracciamento degli oggetti: tracker come ByteTrack usano l'IoU tra le tracce esistenti e i nuovi rilevamenti come costo di abbinamento tra un fotogramma e l'altro.

IoU per altre forme#

Lo stesso rapporto si applica a qualsiasi coppia di regioni. La segmentazione calcola l'IoU delle maschere sugli insiemi di pixel: la segmentazione delle istanze la usa per abbinare le maschere previste alle etichette, mentre i benchmark di segmentazione semantica riportano la media tra le classi come mIoU. I riquadri ruotati richiedono un'intersezione poligonale o un'approssimazione gaussiana come ProbIoU; il rilevamento 3D calcola l'IoU tra parallelepipedi, nello spazio 3D completo o tramite la sovrapposizione delle loro impronte viste dall'alto.

  • Coefficiente di Dice: il doppio dell'intersezione diviso per la somma delle due aree. Ordina le previsioni nello stesso modo dell'IoU, perché Dice = 2 × IoU / (1 + IoU), ed è comune nella segmentazione di immagini mediche.
  • Accuratezza: la percentuale di previsioni di classe corrette, che non dice nulla sulla posizione di un riquadro.
  • mAP: una metrica riassuntiva a livello di rilevamento, basata sulle soglie IoU, che combina la localizzazione con precisione e richiamo tra le classi.

La relazione con Dice permette anche di convertire le soglie: un'IoU di 0,5 equivale a un punteggio Dice di 0,667 e un'IoU di 0,9 equivale a un punteggio Dice di 0,947.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning