Anchor Boxes
Scopri come gli anchor box fungono da modelli di riferimento per il rilevamento degli oggetti. Scopri come migliorano l'accuratezza e come modelli come Ultralytics YOLO26 utilizzano architetture anchor-free.
I riquadri di ancoraggio sono rettangoli di riferimento predefiniti, con rapporti d'aspetto e scale specifici, distribuiti sull'immagine per aiutare i modelli di rilevamento degli oggetti a localizzare e classificare gli oggetti. Anziché chiedere a una rete neurale di prevedere da zero le dimensioni e la posizione esatte di un oggetto, operazione che può risultare instabile a causa dell'enorme varietà delle forme degli oggetti, il modello utilizza questi modelli fissi come punto di partenza. Imparando a prevedere di quanto modificare, o "regredire", questi riquadri iniziali per adattarli alla verità di riferimento, il sistema può ottenere una convergenza più rapida e una maggiore accuratezza. Questa tecnica ha trasformato profondamente il campo della visione artificiale (CV), semplificando il complesso compito della localizzazione e trasformandolo in un problema di ottimizzazione più gestibile.
Il meccanismo dei riquadri di ancoraggio#
Nei rilevatori basati su ancoraggi classici, l'immagine di input viene suddivisa in una griglia di celle. In corrispondenza di ogni cella, la rete genera più riquadri di ancoraggio con geometrie diverse. Ad esempio, per rilevare contemporaneamente un pedone alto e un'auto larga, il modello potrebbe proporre nello stesso punto centrale un riquadro alto e stretto e uno basso e largo.
Durante l'addestramento del modello, questi ancoraggi vengono confrontati con gli oggetti reali utilizzando una metrica chiamata Intersezione sull'unione (IoU). Gli ancoraggi che si sovrappongono significativamente a un oggetto annotato vengono designati come campioni "positivi". La rete impara quindi due attività parallele:
-
Classificazione: assegna un punteggio di probabilità all'ancoraggio, indicando la probabilità che contenga una classe specifica, ad esempio "cane" o "bicicletta". A questo scopo utilizza obiettivi standard di apprendimento supervisionato, come la perdita di entropia incrociata.
-
Regressione del riquadro: calcola i valori precisi degli scostamenti, ovvero gli spostamenti delle coordinate e i fattori di scala, necessari per trasformare l'ancoraggio generico in un riquadro di delimitazione adattato con precisione.
Questo approccio consente al modello di gestire più oggetti di dimensioni diverse situati vicini gli uni agli altri, poiché a ogni oggetto può essere assegnato l'ancoraggio che meglio corrisponde alla sua forma.
Applicazioni nel mondo reale#
Sebbene le architetture più recenti si stiano orientando verso design privi di ancoraggi, i riquadri di ancoraggio rimangono fondamentali in molti sistemi di produzione consolidati, nei quali le caratteristiche degli oggetti sono prevedibili.
- Vendita al dettaglio e gestione dell'inventario: nelle soluzioni di vendita al dettaglio basate sull'IA, le telecamere monitorano le scorte sugli scaffali. Poiché prodotti come scatole di cereali o lattine di bibite hanno dimensioni standardizzate, i riquadri di ancoraggio possono essere adattati a questi rapporti d'aspetto specifici. Questa conoscenza preliminare aiuta il modello a mantenere un elevato richiamo anche in ambienti affollati.
- Guida autonoma: gli stack di percezione nei veicoli autonomi si basano sul rilevamento di pedoni, veicoli e segnali stradali. Poiché un'auto vista da lontano presenta un profilo relativamente coerente rispetto alla strada, l'utilizzo di ancoraggi adattati a queste forme garantisce un tracciamento degli oggetti affidabile e una stima della distanza accurata.
Basato su ancoraggi e privo di ancoraggi#
È importante distinguere tra i metodi tradizionali basati su ancoraggi e i moderni rilevatori privi di ancoraggi.
- Basato su ancoraggi: modelli come l'originale Faster R-CNN o le prime versioni di YOLO, ad esempio Ultralytics YOLOv5, utilizzano questi modelli predefiniti. Sono robusti, ma spesso richiedono la regolazione manuale degli iperparametri, come dimensioni e rapporti degli ancoraggi, oppure algoritmi di clustering come il clustering k-means per adattarsi a nuovi set di dati.
- Privo di ancoraggi: i modelli avanzati, tra cui YOLO26, utilizzano spesso approcci privi di ancoraggi o end-to-end. Queste reti prevedono direttamente i centri degli oggetti o i punti chiave, eliminando la necessità di configurare manualmente gli ancoraggi. Ciò semplifica l'architettura e accelera l'inferenza, eliminando i calcoli necessari per elaborare migliaia di ancoraggi vuoti dello sfondo.
Esempio: accesso alle informazioni sugli ancoraggi#
Sebbene le API di alto livello moderne, come la piattaforma Ultralytics, nascondano questi dettagli durante l'addestramento, comprendere il funzionamento degli ancoraggi è utile quando si lavora con architetture di modelli meno recenti o si analizzano i file di configurazione dei modelli. Il frammento seguente mostra come caricare un modello e analizzarne la configurazione, nella quale le impostazioni degli ancoraggi, se presenti, vengono generalmente definite.
from ultralytics import YOLO
# Load a pre-trained YOLO model (YOLO26 is anchor-free, but legacy configs act similarly)
model = YOLO("yolo26n.pt")
# Inspect the model's stride, which relates to grid cell sizing in detection
print(f"Model strides: {model.model.stride}")
# For older anchor-based models, anchors might be stored in the model's attributes
# Modern anchor-free models calculate targets dynamically without fixed boxes
if hasattr(model.model, "anchors"):
print(f"Anchors: {model.model.anchors}")
else:
print("This model architecture is anchor-free.")Sfide e considerazioni#
Sebbene siano efficaci, i riquadri di ancoraggio introducono complessità. L'enorme quantità di ancoraggi generati, spesso decine di migliaia per immagine, crea un problema di sbilanciamento tra le classi, poiché la maggior parte degli ancoraggi copre soltanto lo sfondo. Tecniche come la Focal Loss vengono utilizzate per attenuare questo problema riducendo il peso degli esempi di sfondo facili. Inoltre, l'output finale richiede generalmente la soppressione dei non massimi (NMS) per filtrare i riquadri sovrapposti ridondanti, assicurando che per ogni oggetto rimanga soltanto il rilevamento con la maggiore confidenza.









