YOLOv5 vs YOLO11: Un confronto tecnico completo
Nel panorama in rapida evoluzione della computer vision, la scelta del modello di object detection giusto è fondamentale per il successo del progetto. Due delle pietre miliari più significative in questo campo sono YOLOv5 e il recentemente rilasciato YOLO11. Mentre YOLOv5 ha stabilito uno standard leggendario per la facilità d'uso e la velocità, YOLO11 spinge 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 di oggetti. È stato il primo modello "You Only Look Once" implementato nativamente in PyTorch, rendendo incredibilmente facile per gli sviluppatori addestrare e implementare. Il suo equilibrio tra velocità e precisione lo ha reso la scelta ideale per qualsiasi 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 su anchor. Ha introdotto un backbone CSPDarknet, che ha migliorato significativamente il flusso del gradiente e ridotto il costo computazionale rispetto alle iterazioni precedenti. Il modello impiega un neck Path Aggregation Network (PANet) per aumentare 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 contro 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 alla distribuzione è vasto. È una scelta eccellente per sistemi legacy o dispositivi edge in cui sono già presenti ottimizzazioni hardware specifiche per la sua architettura.
Ultralytics YOLO11: L'evoluzione all'avanguardia
In arrivo alla fine del 2024, YOLO11 rappresenta l'avanguardia dell'IA visiva. Si basa sugli insegnamenti tratti da YOLOv5 e YOLOv8 per fornire 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 perfezionamenti architetturali, tra cui i moduli C3k2 block e C2PSA (Cross-Stage Partial with Spatial Attention). A differenza di YOLOv5, YOLO11 utilizza un head di detect anchor-free, che semplifica il processo di training eliminando la necessità di calcolare manualmente le anchor box. 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 suo supporto nativo per molteplici attività di computer vision all'interno di un singolo framework. Mentre YOLOv5 si concentrava principalmente sul detect (con 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 complessi problemi di robotica e analisi senza cambiare framework.
Confronto delle prestazioni
La transizione da YOLOv5 a YOLO11 produce notevoli guadagni in termini di prestazioni. Le metriche dimostrano che YOLO11 offre un compromesso superiore tra velocità e precisione.
Accuratezza vs. Efficienza
YOLO11 raggiunge costantemente una precisione media (mAP) più elevata sul dataset COCO rispetto ai modelli YOLOv5 di dimensioni simili. Ad esempio, il modello YOLO11m supera il molto più grande YOLOv5x in accuratezza (51,5 vs 50,7 mAP) pur operando con una frazione dei parametri (20,1 M vs 97,2 M). Questa drastica riduzione delle dimensioni del modello si traduce in minori requisiti di memoria durante il training e l'inferenza, un fattore critico per l'implementazione su hardware edge AI con risorse limitate.
Velocità di inferenza
Grazie a scelte architetturali ottimizzate, YOLO11 eccelle nelle velocità di inferenza su CPU. Il modello YOLO11n crea un nuovo punto di riferimento per le applicazioni in tempo reale, raggiungendo solo 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 rivelatori basati su transformer come RT-DETR, YOLO11 richiede significativamente meno memoria CUDA durante l'addestramento, rendendolo accessibile agli sviluppatori con GPU standard per utenti privati.
| 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 |
Addestramento ed esperienza dello sviluppatore
Entrambi i modelli beneficiano del completo ecosistema Ultralytics, noto per la sua "Facilità d'uso".
Integrazione semplificata
YOLO11 è integrato nel moderno ultralytics Pacchetto python, che unifica tutte le attività sotto una semplice API. Ciò consente l'addestramento, la convalida e il deployment 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 il suo repository dedicato, può anche essere caricato facilmente tramite PyTorch Hub o utilizzato all'interno del nuovo ecosistema per determinate attività. La solida documentazione per entrambi i modelli assicura che, sia che tu stia eseguendo la regolazione degli iperparametri o esportando in OpenVINO, il processo sia semplificato.
Vantaggi dell'ecosistema
Scegliere un modello Ultralytics significa ottenere l'accesso a una suite di strumenti ben mantenuta. Dall'integrazione con Comet per il track degli esperimenti alla gestione semplificata dei dataset, l'ecosistema supporta l'intero ciclo di vita MLOps. Questo sviluppo attivo garantisce che le patch di sicurezza e i miglioramenti delle prestazioni vengano forniti regolarmente.
Casi d'uso ideali
Quando scegliere YOLOv5
- Hardware legacy: Se si dispone di dispositivi edge esistenti (come i vecchi Raspberry Pi) con pipeline specificamente ottimizzate per l'architettura YOLOv5.
- Flussi di Lavoro Consolidati: Per progetti in modalità di manutenzione avanzata in cui l'aggiornamento dell'architettura del modello di base comporterebbe costi di refactoring significativi.
- Ottimizzazioni GPU Specifiche: In rari casi in cui specifici motori TensorRT sono fortemente ottimizzati per l'esatta struttura a livelli di YOLOv5.
Quando scegliere YOLO11
- Nuovi sviluppi: Per praticamente tutti i nuovi progetti, YOLO11 è il punto di partenza raccomandato grazie al suo rapporto accuratezza/calcolo superiore.
- Applicazioni CPU in tempo reale: Le applicazioni in esecuzione su processori standard, come laptop o istanze cloud, beneficiano enormemente delle ottimizzazioni della velocità della CPU di YOLO11.
- Task complessi: Progetti che richiedono la segmentation di istanza o la stima della posa insieme al detect.
- Requisiti di alta precisione: Domini come l'imaging medicale o l'analisi di immagini satellitari, in cui è fondamentale rilevare piccoli oggetti con elevata precisione.
Conclusione
YOLOv5 rimane una testimonianza di progettazione AI efficiente e accessibile, avendo alimentato innumerevoli innovazioni negli ultimi anni. Tuttavia, YOLO11 rappresenta il futuro. Con la sua architettura avanzata senza anchor, punteggi mAP superiori e maggiore versatilità, fornisce agli sviluppatori un set di strumenti più potente per risolvere le moderne sfide della computer vision.
Adottando YOLO11, non solo ottieni prestazioni migliori, ma proteggi anche le tue applicazioni per il futuro all'interno del fiorente ecosistema Ultralytics.
Esplora altri modelli
Se sei interessato a confrontare queste architetture con altri modelli leader, esplora i nostri confronti dettagliati: