Object Detection
Il rilevamento di oggetti individua ogni oggetto in un'immagine e restituisce per ciascuno un riquadro di delimitazione, un'etichetta di classe e un punteggio di confidenza. Scopri come funzionano e vengono valutati i rilevatori.
Il rilevamento di oggetti è un'attività di visione artificiale che consiste nell'individuare ogni istanza di un insieme di classi note in un'immagine o in un fotogramma video e nel segnalare dove si trova. Per ogni oggetto restituisce un riquadro di delimitazione, un'etichetta di classe e un punteggio di confidenza, trasformando così una foto di strada in un elenco di riquadri etichettati, uno per ogni auto, persona o semaforo. Questo elenco è l'input per il conteggio, la misurazione, il tracciamento e il controllo dei robot.
Cosa restituisce un rilevatore#
Ogni rilevamento ha tre componenti. Il riquadro è memorizzato come coordinate degli angoli (x1, y1, x2, y2) oppure come punto centrale con larghezza e altezza, in pixel o normalizzate rispetto alle dimensioni dell'immagine. La classe è un indice nell'insieme di etichette del modello, come le 80 categorie del dataset COCO. Il punteggio, compreso tra 0 e 1, indica quanto è probabile che il riquadro contenga quella classe, e le applicazioni conservano solo i rilevamenti sopra una soglia di confidenza, bilanciando oggetti mancati e falsi allarmi.
from ultralytics import YOLO
# Load a YOLO26 nano detector pretrained on the 80 COCO classes
model = YOLO("yolo26n.pt")
# Run detection on one image
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Each detection carries a class, a confidence score, and a box in pixels
for box in result.boxes:
name = result.names[int(box.cls)]
corners = box.xyxy[0].int().tolist()
print(f"{name} {box.conf.item():.2f} {corners}")Ogni riga stampata corrisponde a un oggetto rilevato: il nome della classe, la confidenza e le coordinate in pixel degli angoli superiore sinistro e inferiore destro.
Come funzionano i rilevatori di oggetti#
I rilevatori moderni sono reti neurali composte da tre fasi. Un backbone, solitamente una rete convoluzionale o un vision transformer, trasforma l'immagine in mappe di caratteristiche. Un neck, come una rete piramidale delle caratteristiche, unisce queste mappe a diverse scale, così da rappresentare sia gli oggetti piccoli sia quelli grandi. Una testa di rilevamento predice quindi i punteggi di classe e le coordinate dei riquadri in migliaia di posizioni. Le posizioni vicine si attivano per lo stesso oggetto, quindi l'output grezzo contiene molti candidati sovrapposti; la maggior parte delle pipeline elimina i riquadri con punteggi bassi e applica la soppressione dei massimi non locali (NMS) per mantenere un solo riquadro per oggetto. I rilevatori end-to-end, come DETR, vengono addestrati per generare esattamente una predizione per oggetto, quindi saltano questo passaggio.
I rilevatori differiscono nel modo in cui individuano i candidati. I rilevatori a due stadi, come Faster R-CNN, propongono prima le regioni che potrebbero contenere un oggetto, quindi classificano e perfezionano ciascuna regione. I rilevatori a uno stadio, come YOLO, introdotto nel 2015, predicono tutti i riquadri e le classi in un unico passaggio, rendendo pratico il rilevamento in tempo reale. I primi modelli a uno stadio regredivano gli scostamenti rispetto a riquadri ancora predefiniti, mentre i rilevatori senza ancore predicono direttamente le distanze da un punto della griglia ai quattro bordi del riquadro. YOLO26 è un rilevatore a uno stadio senza ancore che applica NMS per impostazione predefinita; passare nms=False lo commuta a una testa one-to-one che restituisce i riquadri finali senza passare per NMS.
Addestramento e valutazione#
I rilevatori apprendono da immagini annotate con un riquadro e una classe per ogni oggetto. Durante l'addestramento, una fase di assegnazione delle etichette decide quali predizioni sono responsabili di ogni oggetto etichettato, mentre la loss combina un termine di classificazione con uno di regressione dei riquadri, solitamente basato sull'intersezione sull'unione (IoU), cioè la sovrapposizione tra un riquadro predetto e uno etichettato. Anche la valutazione usa nuovamente IoU: un rilevamento è considerato corretto quando la classe coincide e la sua IoU con un riquadro etichettato raggiunge una soglia. La precisione media (mAP) riassume quindi precisione e richiamo a tutti i livelli di confidenza e per tutte le classi. COCO riporta mAP50, calcolato con una IoU di 0,5, e usa mAP50-95, mediata su dieci soglie IoU da 0,50 a 0,95, come metrica principale. La classifica VLM usa mAP50 per confrontare i modelli visione-linguaggio che rilevano oggetti basandosi solo sui nomi delle classi. Ultralytics Platform usa questi modelli per annotare automaticamente i dataset di rilevamento prima che YOLO26 venga addestrato sulle etichette.
Applicazioni nel mondo reale#
- Guida autonoma: i sistemi di assistenza alla guida e di guida autonoma rilevano veicoli, pedoni, ciclisti e segnali stradali in ogni fotogramma della videocamera; il tracciamento e la pianificazione del movimento agiscono poi su quei riquadri.
- Vendita al dettaglio: le videocamere sugli scaffali rilevano i prodotti e gli spazi vuoti per segnalare gli articoli esauriti, mentre i sistemi di pagamento automatico rilevano gli articoli messi alla cassa.
- Ispezione manifatturiera: le videocamere delle linee di produzione rilevano graffi, ammaccature e componenti mancanti, così i pezzi difettosi vengono scartati al loro passaggio.
Rilevamento di oggetti a confronto con attività correlate#
- Classificazione delle immagini assegna un'unica etichetta all'intera immagine senza indicare la posizione.
- Segmentazione di istanze traccia il contorno di ogni oggetto rilevato con una maschera di pixel che ne segue la forma esatta.
- Riquadri di delimitazione orientati aggiungono un angolo di rotazione a ogni riquadro, in modo che si adatti agli oggetti inclinati, come navi e veicoli nelle immagini aeree.
- Tracciamento degli oggetti collega i rilevamenti dello stesso oggetto nei diversi fotogrammi video e assegna a ciascuno un ID persistente.
- Rilevamento 3D degli oggetti predice un riquadro nello spazio 3D, descritto dal centro, dalla lunghezza, dalla larghezza e dall'altezza in metri e dall'angolo di direzione.










