YOLOv8 vs YOLO11#
La rapida evoluzione della computer vision è stata trainata in larga misura dai continui progressi nei framework di rilevamento degli oggetti in tempo reale. Per gli sviluppatori e i ricercatori che si orientano nel panorama attuale, scegliere il modello giusto è fondamentale per bilanciare precisione, velocità ed efficienza nell'uso delle risorse. In questo confronto tecnico analizzeremo le differenze tra due modelli fondamentali dell'ecosistema Ultralytics: Ultralytics YOLOv8 e Ultralytics YOLO11.
Entrambi i modelli presentano i tratti distintivi delle architetture Ultralytics: facilità d'uso, ecosistema curato e aggiornato con costanza ed efficienza di addestramento senza pari, con requisiti di memoria ridotti. Esaminiamo nel dettaglio le loro architetture, i benchmark delle prestazioni e gli scenari di distribuzione ideali.
Panoramica dei modelli#
Prima di confrontare i meriti tecnici specifici, è utile descrivere le origini e le specifiche principali di entrambi i modelli.
Ultralytics YOLOv8#
Rilasciato all'inizio del 2023 come un importante passo avanti, YOLOv8 ha introdotto il rilevamento anchor-free e notevoli miglioramenti alle funzioni di perdita, diventando rapidamente il riferimento di eccellenza per un'ampia varietà di attività di machine learning.
- Autori: Glenn Jocher, Ayush Chaurasia e Jing Qiu
- Organizzazione: Ultralytics
- Data: 2023-01-10
- GitHub: ultralytics/ultralytics
Ultralytics YOLO11#
Sulla scia del successo dei predecessori, YOLO11 ha perfezionato l'architettura di base per spingere ancora oltre la frontiera di Pareto tra precisione e latenza, introducendo un numero di parametri altamente ottimizzato senza sacrificare la capacità predittiva.
- Autori: Glenn Jocher e Jing Qiu
- Organizzazione: Ultralytics
- Data: 2024-09-27
- GitHub: ultralytics/ultralytics
Se stai valutando approcci alternativi, Ultralytics supporta anche modelli basati su Transformer come RT-DETR e rilevatori open-vocabulary zero-shot come YOLO-World. Tuttavia, per ottenere una latenza e un'efficienza di memoria ottimali, le architetture YOLO standard restano in genere la scelta preferita.
Differenze architetturali e metodologiche#
Il passaggio da YOLOv8 a YOLO11 rappresenta un'evoluzione ponderata della progettazione delle reti neurali, non una revisione totale, e garantisce così la stabilità dell'ecosistema curato e aggiornato con costanza che ruota attorno ai modelli.
Ottimizzazioni del backbone e del neck#
YOLOv8 ha introdotto un backbone CNN semplificato, abbandonando gli anchor box tradizionali e trattando il rilevamento degli oggetti come un problema di previsione del centro. Questo approccio anchor-free ha ridotto notevolmente la complessità della regressione dei riquadri delimitatori. YOLO11 è partito da queste basi, introducendo una rete piramidale di caratteristiche (FPN) ottimizzata e modificando i blocchi C2f in moduli C3k2. Questa modifica consente a YOLO11 di estrarre caratteristiche spaziali più ricche, migliorando la precisione sugli oggetti più piccoli, tipici del dataset COCO.
Requisiti di memoria ed efficienza di addestramento#
Uno dei vantaggi più significativi di YOLOv8 e YOLO11 sono i requisiti di memoria ridotti durante l'addestramento. A differenza dei pesanti Transformer per la visione, che possono facilmente esaurire la VRAM dell'hardware consumer, questi modelli sono ottimizzati per un addestramento accessibile con PyTorch su GPU standard. YOLO11 riduce notevolmente il numero totale di parametri: nella variante grande (L) ne ha fino al 42% in meno rispetto a YOLOv8, aumentando al contempo la precisione media (mAP). Ciò significa epoche più rapide e un'impronta di carbonio inferiore per l'addestramento del modello.
Metriche di prestazione#
Per valutare davvero l'equilibrio tra prestazioni di questi modelli, è necessario consultare benchmark oggettivi. La tabella seguente confronta YOLOv8 e YOLO11 nelle varianti di dimensioni standard (da nano a extra-large).
| 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.1 |
| 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.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
Come mostrato, YOLO11 supera costantemente YOLOv8 in precisione pur usando meno parametri e FLOPs. La velocità di inferenza su CPU, misurata con ONNX Runtime, mette in risalto l'efficienza superiore di YOLO11 per le distribuzioni edge. Con l'esportazione in NVIDIA TensorRT, entrambi i modelli offrono latenze eccezionali inferiori a 15 ms, essenziali per l'analisi dei flussi video nel mondo reale.
Ecosistema e facilità d’uso#
Entrambi i modelli traggono enormi vantaggi dal pacchetto Python unificato ultralytics. Questa facilità d'uso permette agli ingegneri di passare senza difficoltà da YOLOv8 a YOLO11. Bastano poche righe di codice per eseguire l'addestramento, la convalida e l'esportazione.
from ultralytics import YOLO
# Carica un modello YOLO11 preaddestrato (puoi semplicemente sostituirlo con "yolov8n.pt")
model = YOLO("yolo11n.pt")
# Addestra il modello in modo efficiente su un dataset locale
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Esporta il modello ottimizzato in ONNX
model.export(format="onnx")L'integrazione senza interruzioni si estende alla piattaforma Ultralytics, che semplifica l'addestramento nel cloud, il monitoraggio dei modelli e la distribuzione senza richiedere conoscenze avanzate di DevOps.
Versatilità e applicazioni reali#
Un tratto distintivo del framework Ultralytics è la sua intrinseca versatilità. YOLOv8 e YOLO11 supportano entrambi un'ampia gamma di attività di computer vision oltre al rilevamento standard degli oggetti:
- Segmentazione di istanze: maschere molto precise a livello di pixel, utili per l'imaging medico e la guida autonoma.
- Stima della posa: rilevamento dei punti chiave pensato per l'analisi sportiva e l'interazione uomo-computer.
- Classificazione delle immagini: categorizzazione leggera basata su backbone addestrati su ImageNet.
- Riquadri delimitatori orientati (OBB): essenziali per identificare oggetti ruotati nelle immagini satellitari.
Disponibile da più tempo, YOLOv8 vanta un'enorme raccolta di tutorial della community e distribuzioni aziendali ampiamente collaudate. Se stai integrando pipeline legacy che richiedono espressamente le forme dei tensori di YOLOv8, resta una scelta molto affidabile. Per i nuovi progetti che puntano alla massima efficienza, ad esempio la distribuzione su dispositivi edge embedded come Raspberry Pi, YOLO11 è invece la scelta operativa migliore grazie al rapporto superiore tra velocità e numero di parametri.
Casi d'uso e consigli#
La scelta tra YOLOv8 e YOLO11 dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle tue preferenze in termini di ecosistema.
Quando scegliere YOLOv8#
YOLOv8 è un'ottima scelta per:
- Distribuzioni versatili e multi-attività: progetti che richiedono un modello collaudato per rilevamento, segmentazione, classificazione e stima della posa nell’ecosistema Ultralytics.
- Sistemi di produzione consolidati: ambienti di produzione esistenti già basati sull’architettura YOLOv8, con pipeline di distribuzione stabili e ben testate.
- Ampio supporto della community e dell’ecosistema: applicazioni che traggono vantaggio dagli estesi tutorial di YOLOv8, dalle integrazioni di terze parti e dalle risorse della community attiva.
Quando scegliere YOLO11#
YOLO11 è consigliato per:
- Deployment edge in produzione: applicazioni commerciali su dispositivi come Raspberry Pi o NVIDIA Jetson, per cui affidabilità e manutenzione attiva sono fondamentali.
- Applicazioni di visione multi-task: progetti che richiedono rilevamento, segmentazione, stima della posa e OBB all'interno di un unico framework unificato.
- Prototipazione e deployment rapidi: team che devono passare rapidamente dalla raccolta dei dati alla produzione usando la API Python di Ultralytics, semplice e intuitiva.
Quando scegliere Ultralytics (YOLO26)#
Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la combinazione migliore di prestazioni ed esperienza per gli sviluppatori:
- Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
- Ambienti con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
- Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.
La frontiera tecnologica: i vantaggi di YOLO26#
YOLOv8 e YOLO11 sono architetture straordinarie, ma il panorama dell'IA è in continua evoluzione. Per gli sviluppatori che puntano allo stato dell'arte assoluto nel 2026, Ultralytics YOLO26 rappresenta il prossimo enorme passo avanti.
YOLO26 reinventa radicalmente la pipeline di distribuzione. Adotta un design end-to-end senza NMS, un approccio rivoluzionario introdotto per la prima volta in YOLOv10, che (con nms=False) elimina i complessi passaggi di post-elaborazione. Inoltre, la rimozione della DFL (Distribution Focal Loss) semplifica notevolmente la logica di esportazione e migliora la compatibilità con i dispositivi edge a basso consumo, offrendo un'inferenza su CPU fino al 43% più veloce rispetto ai predecessori.
Il nuovo ottimizzatore MuSGD, ispirato alle tecniche di addestramento degli LLM, migliora drasticamente la stabilità e la velocità di convergenza dell'addestramento. Inoltre, nuove formulazioni delle funzioni di perdita come ProgLoss + STAL migliorano notevolmente il riconoscimento degli oggetti piccoli, un problema storico per IoT e robotica. Grazie a miglioramenti specifici per le attività, come RLE per la stima della posa e proto multi-scala per la segmentazione, YOLO26 non ha rivali.
Inizia con YOLOv8 se hai bisogno di un ampio supporto della community per sistemi legacy. Passa a YOLO11 per un equilibrio più raffinato tra velocità e numero ridotto di parametri. Scegli YOLO26 per l'architettura del futuro, ottimizzata per l'edge computing e priva di NMS.
Conclusione#
La scelta tra YOLOv8 e YOLO11 dipende in ultima analisi dalle tempistiche del tuo progetto e dai vincoli hardware. YOLOv8 è un gigante del settore collaudato sul campo, che offre una stabilità senza pari. YOLO11, invece, perfeziona quell'architettura e offre un mAP superiore con meno parametri, risultando estremamente interessante per le applicazioni edge con risorse limitate. Qualunque sia la tua scelta, l'API Python di Ultralytics, perfettamente integrata, garantisce un flusso di sviluppo agile, efficiente e ampiamente supportato. E quando sarai pronto a superare i limiti dell'edge computing, YOLO26 sarà lì ad aspettarti.