YOLOv5 vs YOLO11: un confronto tecnico completo
Nel panorama in rapida evoluzione della computer vision, la scelta del giusto modello di rilevamento degli oggetti è fondamentale per il successo del progetto. Due delle pietre miliari più significative in questo campo sono YOLOv5 e il recente YOLO11. Mentre YOLOv5 ha stabilito uno standard leggendario per facilità d'uso e velocità, YOLO11 si spinge oltre i confini della precisione e dell'efficienza, sfruttando anni di ricerca e sviluppo.
Questa guida fornisce un'analisi tecnica dettagliata di queste due architetture, aiutando sviluppatori, ricercatori e ingegneri a prendere decisioni informate per le loro applicazioni di IA.
Ultralytics YOLOv5: il cavallo di battaglia affidabile
Rilasciato nel 2020, YOLOv5 ha rivoluzionato l'accessibilità del rilevamento degli oggetti. È stato il primo modello "You Only Look Once" implementato nativamente in PyTorchche lo rende incredibilmente facile da addestrare e distribuire per gli sviluppatori. Il suo equilibrio tra velocità e accuratezza lo ha reso la scelta ideale per ogni tipo di applicazione, dall'ispezione industriale ai veicoli autonomi.
Dettagli tecnici:
- Autori: Glenn Jocher
- Organizzazione:Ultralytics
- Data: 2020-06-26
- GitHub:https://github.com/ultralytics/yolov5
- Documenti:https://docs.ultralytics.com/models/yolov5/
Caratteristiche principali e architettura
YOLOv5 utilizza un'architettura basata sulle ancore. Ha introdotto una spina dorsale CSPDarknet, che ha migliorato significativamente il flusso del gradiente e ridotto il costo computazionale rispetto alle precedenti iterazioni. Il modello impiega una rete di aggregazione di percorsi (Path Aggregation Network, PANet) per incrementare il flusso di informazioni e integra l'aumento dei dati Mosaic durante l'addestramento, una tecnica che è diventata uno standard per migliorare la robustezza del modello rispetto agli oggetti più piccoli.
Punti di forza
YOLOv5 è rinomato per la sua stabilità e maturità. Con anni di test da parte della comunità, l'ecosistema di tutorial, integrazioni di terze parti e guide all'implementazione è molto vasto. È una scelta eccellente per i sistemi legacy o per i dispositivi edge, dove sono già presenti ottimizzazioni hardware specifiche per la sua architettura.
Ultralytics YOLO11: lo stato dell'arte dell'evoluzione
Lancio alla fine del 2024, YOLO11 rappresenta l'avanguardia dell'intelligenza artificiale della visione. Si basa sulle lezioni apprese da YOLOv5 e YOLOv8. YOLOv8 per offrire un modello più veloce, più accurato e più efficiente dal punto di vista computazionale.
Dettagli tecnici:
- Autori: Glenn Jocher, Jing Qiu
- Organizzazione:Ultralytics
- Data: 2024-09-27
- GitHub:https://github.com/ultralytics/ultralytics
- Documenti:https://docs.ultralytics.com/models/yolo11/
Architettura e caratteristiche principali
YOLO11 introduce significativi miglioramenti architettonici, tra cui il blocco C3k2 e i moduli C2PSA (Cross-Stage Partial with Spatial Attention). A differenza di YOLOv5, YOLO11 utilizza una testa di rilevamento priva di ancore, che semplifica il processo di addestramento eliminando la necessità di calcolare manualmente le caselle di ancoraggio. Questo cambiamento di design migliora la generalizzazione e consente al modello di adattarsi meglio a diversi set di dati.
Versatilità senza pari
Una delle caratteristiche distintive di YOLO11 è il supporto nativo di più attività di computer vision all'interno di un unico framework. Mentre YOLOv5 si è concentrato principalmente sul rilevamento (con un successivo supporto per la segmentazione), YOLO11 è stato costruito da zero per gestire:
- Rilevamento di oggetti
- Segmentazione delle istanze
- Classificazione delle immagini
- Stima della posa
- Oriented Bounding Boxes (OBB)
Questa versatilità consente agli sviluppatori di affrontare problemi complessi di robotica e analisi senza dover cambiare framework.
Confronto delle prestazioni
Il passaggio da YOLOv5 a YOLO11 comporta un sostanziale aumento delle prestazioni. Le metriche dimostrano che YOLO11 offre un compromesso superiore tra velocità e precisione.
Precisione ed efficienza
YOLO11 ottiene costantemente una precisione media superiore (mAP) sul dataset COCO rispetto ai modelli YOLOv5 di dimensioni simili. Ad esempio, il modello YOLO11m supera il modello YOLOv5x, molto più grande, in termini di accuratezza (51,5 contro 50,7 mAP) pur operando con una frazione dei parametri (20,1M contro 97,2M). Questa drastica riduzione delle dimensioni del modello si traduce in una riduzione dei requisiti di memoria sia per l'addestramento che per l'inferenza, un fattore critico per l'implementazione su hardware edge AI con risorse limitate.
Velocità di inferenza
Grazie a scelte architetturali ottimizzate, YOLO11 brilla per la velocità di inferenza CPU . Il modello YOLO11n crea un nuovo punto di riferimento per le applicazioni in tempo reale, raggiungendo un tempo di 56,1 ms su CPU con ONNX, significativamente più veloce del suo predecessore.
Efficienza della memoria
I modelli Ultralytics YOLO11 sono progettati per un utilizzo ottimale della memoria. Rispetto ai rilevatori basati su trasformatori come RT-DETRYOLO11 richiede una quantità di memoria CUDA significativamente inferiore durante l'addestramento, rendendolo accessibile agli sviluppatori con GPU consumer standard.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
Formazione ed esperienza di sviluppo
Entrambi i modelli beneficiano dell'ecosistema completo di Ultralytics , noto per la sua "facilità d'uso".
Integrazione perfetta
YOLO11 è integrato nel moderno ultralytics Pacchetto Python , che unifica tutte le attività in una semplice API. Ciò consente di addestrare, convalidare e distribuire i dati in poche righe di codice.
from ultralytics import YOLO
# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Train on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Sebbene YOLOv5 abbia un proprio repository dedicato, può anche essere caricato facilmente tramite PyTorch Hub o utilizzato all'interno dell'ecosistema più recente per alcune attività. La solida documentazione per entrambi i modelli assicura che, sia che si tratti di eseguire la regolazione degli iperparametri o di esportare in OpenVINOil processo è semplificato.
Benefici per l'ecosistema
Scegliere un modello Ultralytics significa accedere a una suite di strumenti ben curati. Dall'integrazione con Comet per il monitoraggio degli esperimenti alla gestione continua dei set di dati, l'ecosistema supporta l'intero ciclo di vita degli MLOps. Lo sviluppo attivo garantisce la distribuzione regolare di patch di sicurezza e miglioramenti delle prestazioni.
Casi d'uso ideali
Quando scegliere YOLOv5
- Hardware legacy: se si dispone di dispositivi edge esistenti (come i vecchi Raspberry Pis) con pipeline specificamente ottimizzate per l'architettura YOLOv5 .
- Flussi di lavoro consolidati: Per i progetti in modalità di manutenzione, dove l'aggiornamento dell'architettura del modello principale comporterebbe costi di rifattorizzazione significativi.
- Ottimizzazioni GPU specifiche: Nei rari casi in cui i motori TensorRT specifici sono fortemente sintonizzati per l'esatta struttura dei livelli di YOLOv5.
Quando scegliere YOLO11
- Nuovi sviluppi: Per quasi tutti i nuovi progetti, YOLO11 è il punto di partenza consigliato grazie al suo rapporto superiore tra precisione e calcolo.
- Applicazioni CPU in tempo reale: Le applicazioni che girano su processori standard, come i laptop o le istanze cloud, traggono immensi vantaggi dalle ottimizzazioni della velocità CPU di YOLO11.
- Attività complesse: Progetti che richiedono la segmentazione dell'istanza o la stima della posa insieme al rilevamento.
- Requisiti di alta precisione: Settori come l'imaging medico o l'analisi delle immagini satellitari, in cui il rilevamento di piccoli oggetti con elevata precisione è fondamentale.
Conclusione
YOLOv5 rimane una testimonianza di un design dell'intelligenza artificiale efficiente e accessibile, avendo alimentato innumerevoli innovazioni negli ultimi anni. Tuttavia, YOLO11 rappresenta il futuro. Con la sua architettura avanzata priva di ancoraggi, i suoi punteggi mAP superiori e la sua maggiore versatilità, offre agli sviluppatori un set di strumenti più potente per risolvere le moderne sfide della computer vision.
Adottando YOLO11, non solo otterrete prestazioni migliori, ma sarete anche a prova di futuro con le vostre applicazioni all'interno del fiorente ecosistema Ultralytics .
Esplora altri modelli
Se siete interessati a confrontare queste architetture con altri modelli leader, esplorate i nostri confronti dettagliati: