YOLO11 vs YOLOv8#
Il campo della visione artificiale ha registrato notevoli progressi grazie alla continua evoluzione delle architetture di rilevamento di oggetti. Quando valutano i modelli per il deployment nel mondo reale, gli sviluppatori spesso confrontano i punti di forza di Ultralytics YOLO11 e del suo predecessore di grande successo, Ultralytics YOLOv8. Entrambi i modelli hanno definito gli standard del settore per velocità, accuratezza ed esperienza per gli sviluppatori, ma rispondono a fasi del ciclo di vita dei progetti e soglie di prestazione leggermente diverse.
Questa guida analizza in modo approfondito le loro architetture, metodologie di training e casi d'uso ideali per aiutarti a scegliere la soluzione migliore per i tuoi progetti di intelligenza artificiale.
Innovazioni architetturali#
Il passaggio da YOLOv8 a YOLO11 ha introdotto diversi perfezionamenti architetturali fondamentali, pensati per massimizzare l'efficienza dell'estrazione delle caratteristiche riducendo al minimo il carico computazionale.
Architettura di YOLO11#
YOLO11 segna un significativo passo avanti nell'ottimizzazione dell'uso dei parametri. Sostituisce i moduli C2f tradizionali con gli avanzati blocchi C3k2, che migliorano l'elaborazione delle caratteristiche spaziali senza aumentare eccessivamente il numero di parametri. Inoltre, YOLO11 introduce nel backbone il modulo C2PSA (Cross-Stage Partial Spatial Attention). Questo meccanismo di attenzione consente al modello di concentrarsi sulle regioni di interesse più importanti, migliorando notevolmente il rilevamento di oggetti piccoli e la gestione di occlusioni complesse.
- Autori: Glenn Jocher e Jing Qiu
- Organizzazione: Ultralytics
- Data: 2024-09-27
- GitHub: Repository Ultralytics
- Documentazione: Documentazione di YOLO11
Architettura di YOLOv8#
Lanciato un anno prima, YOLOv8 ha introdotto l'uso di una testa di rilevamento senza anchor, eliminando la necessità di regolare manualmente le anchor box e semplificando la formulazione della funzione di perdita. La sua architettura si basa soprattutto sul blocco C2f, una progettazione che bilancia efficacemente la profondità della rete e il flusso dei gradienti, rendendola estremamente robusta in un'ampia gamma di applicazioni di visione artificiale.
- Autori: Glenn Jocher, Ayush Chaurasia e Jing Qiu
- Organizzazione: Ultralytics
- Data: 2023-01-10
- GitHub: Repository Ultralytics
- Documentazione: Documentazione di YOLOv8
YOLOv8 ha gettato le basi per il rilevamento senza anchor nell'ecosistema Ultralytics, mentre YOLO11 ha perfezionato questo approccio con meccanismi di attenzione spaziale, raggiungendo un'accuratezza superiore con meno risorse computazionali.
Prestazioni e benchmark#
Quando distribuisci modelli su dispositivi edge come Raspberry Pi o su server ad alte prestazioni che eseguono NVIDIA TensorRT, è fondamentale comprendere il compromesso tra velocità e accuratezza. La tabella seguente mostra come YOLO11 superi costantemente YOLOv8 in termini di accuratezza per tutte le varianti di dimensioni.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Analisi delle metriche#
YOLO11 raggiunge una precisione media (mAP) notevolmente superiore riducendo al contempo sia il numero di parametri sia le operazioni in virgola mobile (FLOPs). Per esempio, il modello YOLO11m richiede il 22% di parametri in meno rispetto a YOLOv8m, ma raggiunge una mAP superiore di 1.3 punti sul dataset COCO. Inoltre, i test di velocità dell'inferenza su CPU dopo l'esportazione in formato ONNX mostrano che YOLO11 è nettamente più veloce, il che lo rende un'ottima scelta per deployment privi di accelerazione GPU dedicata.
I vantaggi dell’ecosistema Ultralytics#
Sia che tu scelga YOLO11 sia che scelga YOLOv8, entrambi i modelli beneficiano dell'ecosistema completo di Ultralytics, che semplifica notevolmente il ciclo di vita del machine learning.
Facilità d'uso e API semplice#
Il pacchetto Python ultralytics offre una API intuitiva che consente a ingegneri e ricercatori di addestrare, convalidare ed esportare modelli con poche righe di codice. In questo modo, astrae le consuete complessità legate alla configurazione degli ambienti di deep learning in PyTorch.
Efficienza dell'addestramento e requisiti di memoria#
A differenza dei pesanti Vision Transformers (come RT-DETR), i modelli Ultralytics YOLO sono rinomati per il basso consumo di memoria durante l'addestramento. Questa efficienza nell'uso della memoria consente agli sviluppatori di addestrare reti all'avanguardia su GPU consumer o in ambienti cloud come Google Colab, senza incorrere in errori di memoria esaurita.
Versatilità nelle attività di visione#
Sia YOLO11 che YOLOv8 sono veri modelli di apprendimento multi-task. Oltre al rilevamento degli oggetti standard con riquadri di delimitazione, supportano nativamente la segmentazione di istanze, la classificazione delle immagini, la stima della posa umana e i riquadri di delimitazione orientati (OBB) per le immagini aeree.
Casi d'uso e consigli#
La scelta tra YOLO11 e YOLOv8 dipende dai requisiti specifici del tuo progetto, dai vincoli di deployment e dalle preferenze relative all'ecosistema.
Quando scegliere YOLO11#
YOLO11 è un'ottima scelta 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 YOLOv8#
YOLOv8 è consigliato 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 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.
Esempio di codice: per iniziare#
Eseguire il deployment e addestrare un modello Ultralytics è incredibilmente intuitivo. L'esempio seguente mostra come caricare un modello YOLO11 preaddestrato, perfezionarlo su un dataset personalizzato ed esportarlo per il deployment su dispositivi edge usando Apple CoreML:
from ultralytics import YOLO
# Inizializza il modello YOLO11 small
model = YOLO("yolo11s.pt")
# Addestra il modello in modo efficiente con requisiti di memoria ottimizzati
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Valuta le prestazioni di validazione
metrics = model.val()
# Esegui l'inferenza in tempo reale su un'immagine di test
predictions = model("https://ultralytics.com/images/bus.jpg")
# Esporta in CoreML per un deployment rapido su dispositivi mobili
export_path = model.export(format="coreml")Poiché l'API Ultralytics è standardizzata, aggiornare una pipeline legacy da YOLOv8 a YOLO11 richiede in genere solo di modificare la stringa dei pesi da "yolov8n.pt" a "yolo11n.pt".
Uno sguardo al futuro: l'apice dell'IA edge con YOLO26#
Anche se YOLO11 è un'architettura matura e altamente capace, l'innovazione nell'IA continua a evolversi rapidamente. Per gli sviluppatori che avviano nuovi progetti e richiedono prestazioni all'avanguardia, Ultralytics YOLO26 (rilasciato a gennaio 2026) è la scelta migliore.
YOLO26 amplia i confini della visione artificiale con diverse funzionalità rivoluzionarie:
- Progettazione end-to-end senza NMS: Basandosi sui concetti esplorati in YOLOv10, YOLO26 offre una testa opzionale one-to-one (
nms=False) che salta la post-elaborazione di soppressione non massima (NMS), riducendo la latenza e rendendola più prevedibile su tutti i dispositivi di deployment. - Inferenza su CPU fino al 43% più veloce: Rimuovendo completamente il ramo Distribution Focal Loss (DFL), YOLO26 è ottimizzato appositamente per i dispositivi di edge computing privi di GPU potenti.
- Ottimizzatore MuSGD: Ispirato alle tecniche di addestramento dei modelli linguistici di grandi dimensioni (LLM), YOLO26 utilizza un ottimizzatore ibrido MuSGD che garantisce una convergenza dell'addestramento notevolmente stabile e rapida.
- ProgLoss + STAL: Queste funzioni di perdita avanzate migliorano notevolmente il riconoscimento di oggetti piccoli e fortemente occlusi, un requisito essenziale per la robotica autonoma e l'analisi basata su droni.
Che tu faccia affidamento sulla comprovata affidabilità di YOLOv8, sull'architettura ottimizzata di YOLO11 o sulle capacità di nuova generazione di YOLO26, la Ultralytics Platform ti offre gli strumenti necessari per portare senza difficoltà le tue applicazioni di IA visiva dalla fase di ideazione alla produzione. Esplora le numerose integrazioni disponibili per collegare i tuoi modelli ai flussi di lavoro aziendali e ai dashboard di analisi.