YOLOv8 vs YOLO11: Evoluzione del rilevamento di oggetti in tempo reale
La scelta dell'architettura di computer vision giusta è una decisione critica che influisce sulla velocità, l'accuratezza e la scalabilità dei tuoi progetti di IA. Questa guida fornisce un confronto tecnico approfondito tra Ultralytics YOLOv8, uno standard industriale ampiamente adottato rilasciato nel 2023, e Ultralytics YOLO11, l'ultima evoluzione della serie YOLO progettata per un'efficienza e prestazioni superiori. Analizzeremo le loro differenze architetturali, le metriche di benchmark e i casi d'uso ideali per aiutarti a selezionare il modello migliore per le tue esigenze.
Ultralytics YOLOv8
Autori: Glenn Jocher, Ayush Chaurasia e Jing Qiu
Organizzazione:Ultralytics
Data: 2023-01-10
GitHub:https://github.com/ultralytics/ultralytics
Documentazione:https://docs.ultralytics.com/models/yolov8/
Rilasciato all'inizio del 2023, YOLOv8 ha segnato una pietra miliare significativa nella storia del rilevamento di oggetti. Ha introdotto un framework unificato che supporta più attività di computer vision, tra cui il detect, la segmentazione di istanze, la stima della posa e la classificazione delle immagini, all'interno di un singolo repository. YOLOv8 si è allontanato dal detect basato su anchor per passare a un approccio anchor-free, che semplifica il design e migliora la generalizzazione tra diverse forme di oggetti.
Architettura e caratteristiche principali
YOLOv8 ha sostituito i moduli C3 presenti in YOLOv5 con il modulo C2f (Cross-Stage Partial bottleneck con due convoluzioni). Questa modifica ha migliorato il flusso del gradiente e l'integrazione delle caratteristiche, mantenendo un ingombro leggero. L'architettura presenta anche una head disaccoppiata, che separa le attività di objectness, classificazione e regressione per aumentare la precisione.
Eredità di affidabilità
YOLOv8 è stato testato in migliaia di applicazioni commerciali, dall'automazione della produzione ai veicoli autonomi, affermandosi per la sua stabilità e facilità di implementazione.
Punti di forza e debolezze
- Punti di forza:
- Ecosistema maturo: Supportato da una vasta gamma di tutorial della community, integrazioni e guide alla distribuzione.
- Versatilità: Supporta nativamente OBB (Oriented Bounding Box) e la classificazione insieme al detection standard.
- Stabilità comprovata: Una scelta sicura per gli ambienti di produzione che richiedono un modello con una lunga esperienza.
- Punti deboli:
- Efficienza della velocità: Pur essendo veloce, è superato da YOLO11 in termini di velocità di inferenza su CPU ed efficienza dei parametri.
- Requisiti di calcolo: Le varianti più grandi (L, X) richiedono più VRAM e FLOP rispetto agli equivalenti YOLO11 ottimizzati.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
Ultralytics YOLO11
Autori: Glenn Jocher e Jing Qiu
Organizzazione:Ultralytics
Data: 2024-09-27
GitHub:https://github.com/ultralytics/ultralytics
Documentazione:https://docs.ultralytics.com/models/yolo11/
YOLO11 rappresenta l'avanguardia della famiglia di modelli Ultralytics. Progettato per ridefinire l'inferenza in tempo reale, si basa sui successi di YOLOv8 ma introduce sostanziali perfezionamenti architetturali. YOLO11 si concentra sulla massimizzazione della precisione riducendo al minimo il costo computazionale, rendendolo la scelta migliore per le moderne applicazioni di AI che vanno dai dispositivi edge ai server cloud.
Architettura e caratteristiche principali
YOLO11 introduce il C3k2 block e il modulo C2PSA (Cross-Stage Partial with Spatial Attention). Questi componenti migliorano la capacità del modello di estrarre caratteristiche complesse e gestire l'occlusione in modo più efficace rispetto alle iterazioni precedenti. L'architettura è ottimizzata per la velocità, offrendo tempi di elaborazione significativamente più rapidi sulle CPU—un fattore critico per le implementazioni di edge AI in cui le risorse GPU potrebbero non essere disponibili.
Il modello mantiene l'interfaccia unificata caratteristica di Ultralytics, garantendo che gli sviluppatori possano passare da attività come OBB o segment senza modificare il loro flusso di lavoro.
Punti di forza e debolezze
- Punti di forza:
- Efficienza Superiore: Raggiunge un mAP più elevato con fino al 22% in meno di parametri rispetto a YOLOv8, riducendo le dimensioni del modello e le esigenze di archiviazione.
- Inferenza più veloce: Ottimizzato specificamente per l'hardware moderno, offre velocità più elevate sia sui backend CPU che GPU.
- Estrazione di Feature Migliorata: Il nuovo backbone migliora la detect di piccoli oggetti e le prestazioni in scene affollate.
- Minore utilizzo di memoria: Richiede meno memoria CUDA durante l'addestramento rispetto ai modelli basati su transformer come RT-DETR, consentendo l'addestramento su hardware più accessibile.
- Punti deboli:
- Release più recente: Essendo un modello recente, specifici strumenti di terze parti di nicchia potrebbero richiedere tempo per aggiornare completamente il supporto, anche se l'ecosistema principale di Ultralytics lo supporta fin dal primo giorno.
from ultralytics import YOLO
# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()
Testa a testa sulle prestazioni
Il confronto seguente evidenzia i guadagni di efficienza di YOLO11. Mentre YOLOv8 rimane un potente contendente, YOLO11 offre costantemente una maggiore precisione (mAP) con una complessità computazionale (FLOPs) ridotta e velocità di inferenza più elevate. Ciò è particolarmente evidente nei modelli "Nano" e "Small", dove YOLO11n raggiunge un mAP di 39,5 rispetto al 37,3 di YOLOv8n, il tutto funzionando significativamente più velocemente sulla CPU.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Analisi delle metriche
YOLO11 dimostra un chiaro vantaggio nel compromesso velocità-accuratezza. Ad esempio, il modello YOLO11l supera YOLOv8l in accuratezza (+0,5 mAP) pur utilizzando circa il 42% in meno di parametri e funzionando il 36% più velocemente sulla CPU.
Ecosistema e facilità d'uso
Entrambi i modelli beneficiano del robusto ecosistema Ultralytics, progettato per democratizzare l'IA rendendo accessibile a tutti la tecnologia all'avanguardia.
- API unificata: Passare da YOLOv8 a YOLO11 è semplice come cambiare la stringa del modello da
yolov8n.ptayolo11n.pt. Non è richiesta alcuna refactoring del codice. - Efficienza di addestramento: Ultralytics fornisce set di dati con download automatico e pesi pre-addestrati, semplificando la pipeline dalla raccolta dei dati all'addestramento del modello.
- Versatilità di implementazione: Entrambi i modelli supportano l'esportazione con un clic in formati come ONNX, TensorRT, CoreML e TFLite, facilitando l'implementazione su diversi hardware, tra cui Raspberry Pi, telefoni cellulari e istanze cloud.
- Ben manutenuto: Aggiornamenti frequenti garantiscono la compatibilità con le versioni più recenti di PyTorch e CUDA, supportati da una community attiva su Discord e GitHub.
Conclusione e raccomandazioni
Mentre YOLOv8 rimane un modello affidabile e altamente capace, adatto per la manutenzione di sistemi legacy, YOLO11 è la chiara raccomandazione per tutti i nuovi sviluppi.
- Scegli YOLO11 se: Hai bisogno della massima accuratezza possibile, velocità di inferenza più elevate (specialmente su CPU) o stai eseguendo il deployment su dispositivi edge con risorse limitate dove memoria e spazio di archiviazione sono fondamentali. I suoi miglioramenti architetturali forniscono una base a prova di futuro per le applicazioni commerciali.
- Scegli YOLOv8 se: Hai una pipeline esistente fortemente ottimizzata per comportamenti specifici della v8 o sei vincolato da rigidi requisiti di progetto che impediscono l'aggiornamento all'architettura più recente.
Per coloro che sono interessati a esplorare altre architetture, la documentazione di Ultralytics copre anche modelli come YOLOv9, YOLOv10 e RT-DETR. Puoi visualizzare confronti più ampi sulla nostra pagina di confronto dei modelli.