Bounding Box
Impara come i bounding box definiscono le posizioni degli oggetti nella computer vision. Esplora i formati delle coordinate, le applicazioni reali e come usare Ultralytics YOLO26.
Un bounding box è una regione rettangolare definita da un insieme di coordinate che racchiude un oggetto specifico all'interno di un'immagine o di un fotogramma video. Nel campo della computer vision (CV), questi box fungono da annotazioni fondamentali per insegnare ai sistemi di artificial intelligence (AI) come localizzare e riconoscere elementi distinti. Piuttosto che limitarsi a classificare un'intera immagine come "contenente un'auto", un bounding box consente a un modello di individuare con precisione la posizione esatta e l'estensione spaziale dell'auto, separandola dallo sfondo e da altre entità. Questa capacità di localizzazione è essenziale per le attività di object detection, in cui l'obiettivo è identificare più oggetti contemporaneamente con elevata precisione.
Concetti chiave e coordinate#
Per elaborare i dati visivi in modo efficace, i modelli di machine learning (ML) si affidano a specifici sistemi di coordinate per rappresentare i bounding box matematicamente. Il formato scelto spesso determina il modo in cui i dati vengono preparati per il model training e il modo in cui il modello emette le sue predizioni.
- XYXY Coordinates: Questo formato definisce un box utilizzando i valori assoluti in pixel dell'angolo in alto a sinistra e dell'angolo in basso a destra. È intuitivo per strumenti di visualizzazione come OpenCV o Matplotlib quando si disegnano rettangoli direttamente sulle immagini.
- XYWH Format: Comune in dataset come COCO, questo metodo specifica il punto centrale dell'oggetto seguito dalla larghezza e dall'altezza del box. Questa rappresentazione è fondamentale per calcolare le loss functions durante il processo di apprendimento.
- Normalized Coordinates: Per garantire la scalability tra immagini di diverse risoluzioni, le coordinate vengono spesso scalate a un intervallo compreso tra 0 e 1. Questo aiuta i modelli a generalizzare meglio quando analizzano input di dimensioni variabili.
Applicazioni nel mondo reale#
Le bounding box sono i mattoni fondamentali per innumerevoli soluzioni di AI in svariati settori. Abilitando una localizzazione precisa, consentono ai sistemi di interagire in modo intelligente con il mondo fisico.
- Autonomous Vehicles: Le auto a guida autonoma utilizzano i bounding box per rilevare e tracciare pedoni, altri veicoli, segnali stradali e ostacoli in tempo reale. Questa consapevolezza spaziale è cruciale affinché i sistemi di navigazione e sicurezza prendano decisioni in frazioni di secondo.
- Retail Analytics: Nei negozi intelligenti, i bounding box aiutano a monitorare l'inventario sugli scaffali e a tracciare le interazioni dei clienti con i prodotti. Questi dati possono automatizzare il rifornimento delle scorte e fornire approfondimenti sul comportamento degli acquirenti senza conteggi manuali.
Le bounding box in azione#
Quando si utilizzano architetture moderne come YOLO26, il modello predice i bounding box insieme a un'etichetta di classe e a un confidence score. Il seguente esempio dimostra come eseguire l'inferenza su un'immagine e accedere alle coordinate del bounding box utilizzando il pacchetto ultralytics.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Access bounding box coordinates (xyxy format) for the first detected object
boxes = results[0].boxes
print(boxes.xyxy[0]) # Output: tensor([x1, y1, x2, y2, ...])Termini correlati e differenziazione#
Sebbene le bounding box siano standard per il rilevamento generale, si distinguono da altri tipi di annotazione utilizzati in attività più granulari.
- Instance Segmentation: A differenza di un bounding box rettangolare, la segmentazione crea una maschera perfetta a livello di pixel che traccia il contorno esatto di un oggetto. Questo è utile quando la forma precisa è più importante della posizione generale.
- Oriented Bounding Box (OBB): I bounding box standard sono allineati agli assi (rettangoli verticali). Gli OBB possono ruotare per adattarsi a oggetti inclinati, come navi in immagini satellitari o pacchi su un nastro trasportatore, fornendo una maggiore aderenza e riducendo il rumore di fondo.
- Keypoints: Invece di racchiudere un oggetto, i keypoints identificano punti di riferimento specifici, come le articolazioni su un corpo umano per il pose estimation.
Strumenti per l'annotazione e la gestione#
La creazione di annotazioni con bounding box di alta qualità è un passaggio fondamentale nella pipeline di ML. La Ultralytics Platform semplifica questo processo offrendo strumenti per il data annotation e la gestione dei dataset. Un'annotazione corretta garantisce che i modelli imparino a distinguere gli oggetti con precisione, riducendo al minimo errori come l'overfitting o la confusione con lo sfondo. Tecniche avanzate come la Non-Maximum Suppression (NMS) vengono utilizzate durante l'inferenza per perfezionare queste predizioni rimuovendo i box sovrapposti, assicurando che rimanga solo il rilevamento più accurato per ciascun oggetto.






