Esplora il funzionamento dei rilevatori di oggetti a due stadi, concentrandoti sulle proposte di regione e sulla classificazione. Scopri perché i modelli moderni come Ultralytics sono ora all'avanguardia.
I rilevatori di oggetti a due stadi sono una sofisticata classe di architetture di deep learning (DL) utilizzate nella visione artificiale per identificare e localizzare elementi all'interno di un'immagine. A differenza dei loro omologhi a stadio singolo, che eseguono il rilevamento in un unico passaggio, questi modelli dividono l'attività in due fasi distinte: proposta della regione e classificazione degli oggetti. Questo approccio biforcato è stato introdotto per dare priorità all'elevata precisione di localizzazione, rendendo questi rilevatori storicamente significativi nell'evoluzione dell' intelligenza artificiale (AI). Separando il "dove" dal "cosa", i rilevatori a due stadi spesso raggiungono una precisione superiore, in particolare su oggetti piccoli o occlusi, anche se questo comporta tipicamente un aumento delle risorse computazionali e una latenza di inferenza più lenta.
L'architettura di un rilevatore a due stadi si basa su un flusso di lavoro sequenziale che imita il modo in cui un essere umano potrebbe esaminare attentamente una scena.
Esempi di rilievo di questa architettura includono la famiglia R-CNN, in particolare Faster R-CNN e Mask R-CNN, che hanno definito lo standard per i benchmark accademici per diversi anni.
È utile distinguere i modelli a due stadi dai rilevatori di oggetti a stadio singolo come il Single Shot MultiBox Detector (SSD) e laYOLO Ultralytics YOLO . Mentre i modelli a due stadi danno la priorità alla precisione elaborando le regioni separatamente, i modelli a stadio singolo inquadrano il rilevamento come un unico problema di regressione, mappando i pixel dell'immagine direttamente alle coordinate del riquadro di delimitazione e alle probabilità di classe.
Storicamente, ciò ha creato un compromesso: i modelli a due stadi erano più accurati ma più lenti, mentre quelli a stadio unico erano più veloci ma meno precisi. Tuttavia, i progressi moderni hanno reso meno netta questa distinzione. I modelli all'avanguardia come YOLO26 utilizzano ora architetture end-to-end che rivaleggiano con l' accuratezza dei rilevatori a due stadi, pur mantenendo la velocità necessaria per l' inferenza in tempo reale.
A causa della loro enfasi sulla precisione e sul richiamo, i rilevatori a due stadi sono spesso preferiti in scenari in cui la sicurezza e i dettagli sono più critici della velocità di elaborazione grezza.
Mentre i rilevatori a due stadi hanno gettato le basi per una visione ad alta precisione, gli sviluppatori moderni utilizzano spesso modelli avanzati a stadio singolo che offrono prestazioni comparabili con flussi di lavoro di implementazione significativamente più semplici. Ultralytics semplifica l'addestramento e l'implementazione di questi modelli, gestendo in modo efficiente i set di dati e le risorse di calcolo.
Il seguente Python mostra come caricare ed eseguire l'inferenza utilizzando un moderno flusso di lavoro di rilevamento degli oggetti con
ultralytics, ottenendo risultati di elevata accuratezza simili agli approcci tradizionali in due fasi, ma con maggiore
efficienza:
from ultralytics import YOLO
# Load the YOLO26 model, a modern high-accuracy detector
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Process results (bounding boxes, classes, and confidence scores)
for result in results:
result.show() # Display the detection outcomes
print(result.boxes.conf) # Print confidence scores