YOLOv8 vs YOLOv5: Un confronto dettagliato
Il confronto tra Ultralytics YOLOv8 e Ultralytics YOLOv5 per il rilevamento di oggetti rivela sia la costante evoluzione dell'architettura YOLO sia i punti di forza distinti di ciascun modello. Entrambi i modelli, sviluppati da Ultralytics, sono rinomati per il loro eccezionale equilibrio tra velocità e precisione. Tuttavia, soddisfano diverse priorità nel campo della computer vision. Questa pagina fornisce un confronto tecnico dettagliato per aiutare sviluppatori e ricercatori a prendere una decisione informata in base ai requisiti del loro progetto, evidenziando i vantaggi dell'ecosistema Ultralytics.
YOLOv8: La soluzione all'avanguardia
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/
Ultralytics YOLOv8 è l'ultima release principale della serie YOLO, progettata come framework unificato per supportare una gamma completa di attività di visione artificiale. Queste includono il rilevamento di oggetti, la segmentazione di istanze, la classificazione delle immagini, la stima della posa e i bounding box orientati (OBB). YOLOv8 introduce significative innovazioni architetturali, come un rivelatore senza ancore e un collo C2f perfezionato, che ne migliorano le prestazioni e la flessibilità.
Punti di forza
- Accuratezza e prestazioni superiori: YOLOv8 offre costantemente una maggiore accuratezza (mAP) rispetto a YOLOv5 in tutte le dimensioni del modello, pur mantenendo velocità di inferenza competitive. Ciò fornisce un eccellente equilibrio di prestazioni per applicazioni complesse.
- Versatilità Migliorata: Progettato come un framework completo, YOLOv8 supporta nativamente più attività di visione. Questa versatilità consente agli sviluppatori di utilizzare una singola architettura di modello coerente per progetti complessi e sfaccettati, semplificando lo sviluppo e l'implementazione.
- Architettura moderna: Il design anchor-free di YOLOv8 riduce la complessità del processo di addestramento e il numero di iperparametri da ottimizzare, portando spesso a una migliore generalizzazione su diversi set di dati. Il modulo C2f aggiornato fornisce una fusione delle caratteristiche più efficiente rispetto al modulo C3 di YOLOv5.
- Esperienza utente semplificata: Come per tutti i modelli Ultralytics, YOLOv8 beneficia di una semplice API Python e di una CLI, di un'ampia documentazione e di un ecosistema ben mantenuto. Ciò include l'integrazione con Ultralytics HUB per la formazione no-code e la gestione MLOps.
- Efficienza della memoria: I modelli Ultralytics YOLO sono ottimizzati per un basso utilizzo della memoria sia durante l'addestramento che durante l'inferenza, rendendoli più accessibili rispetto a molte architetture ad alta intensità di risorse come i Transformer.
Punti deboli
- Requisiti computazionali: Pur essendo efficienti, i modelli YOLOv8 più grandi (L/X) richiedono una notevole potenza di calcolo, il che potrebbe rappresentare un vincolo per l'implementazione su dispositivi edge con risorse estremamente limitate.
Casi d'uso ideali
YOLOv8 è la scelta consigliata per i nuovi progetti che richiedono prestazioni e flessibilità all'avanguardia.
- Robotica avanzata: Per la comprensione complessa di scene e l'interazione con oggetti dove un'elevata precisione è fondamentale.
- Analisi di immagini ad alta risoluzione: Eccelle in applicazioni come l'analisi di immagini mediche dove è fondamentale rilevare dettagli molto precisi.
- Sistemi di Visione Multi-Task: Ideale per sistemi che necessitano di eseguire detection, segmentation e stima della posa simultaneamente, come nell'analisi smart del retail.
YOLOv5: Lo standard affermato e versatile
Autore: Glenn Jocher
Organizzazione: Ultralytics
Data: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Documentazione: https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5 è diventato uno standard industriale poco dopo il suo rilascio, celebrato per il suo eccezionale equilibrio tra velocità, precisione e notevole facilità d'uso. Costruito su PyTorch, presenta un backbone CSPDarknet53 e un neck PANet. La sua detection head anchor-based è altamente efficiente e il modello si adatta a varie dimensioni (n, s, m, l, x) per adattarsi a diversi budget computazionali.
Punti di forza
- Velocità di inferenza eccezionale: YOLOv5 è altamente ottimizzato per l'inferenza rapida, il che lo rende una scelta ideale per i sistemi in tempo reale, specialmente su CPU e dispositivi edge.
- Ecosistema Maturo e Stabile: Essendo presente nel settore da diversi anni, YOLOv5 ha una vasta base di utenti, un ampio supporto della comunità e una ricchezza di tutorial e integrazioni di terze parti. La sua stabilità lo rende una scelta affidabile per gli ambienti di produzione.
- Facilità d'uso: YOLOv5 è rinomato per la sua semplice API e la pipeline di training diretta, che lo hanno reso incredibilmente popolare sia per i principianti che per gli esperti. L'ecosistema Ultralytics garantisce un'esperienza utente fluida dal training al deployment.
- Efficienza di addestramento: Il modello offre un processo di addestramento efficiente con pesi pre-addestrati facilmente disponibili, consentendo una prototipazione e uno sviluppo rapidi.
Punti deboli
- Accuratezza Inferiore: Rispetto a YOLOv8, i modelli YOLOv5 hanno generalmente punteggi mAP inferiori per una data dimensione. Il divario di prestazioni diventa più evidente con modelli più grandi.
- Rilevamento basato su anchor: La sua dipendenza da anchor box predefiniti a volte può richiedere una messa a punto manuale per ottenere prestazioni ottimali su dataset con oggetti di forma o scala insolita.
Casi d'uso ideali
YOLOv5 rimane un modello potente e rilevante, in particolare per le applicazioni in cui velocità e stabilità sono fondamentali.
- Edge Computing: Le sue varianti più piccole (n/s) sono perfette per l'implementazione su dispositivi con risorse limitate come Raspberry Pi e NVIDIA Jetson.
- Sorveglianza in tempo reale: Ideale per i sistemi di sicurezza e il monitoraggio video in diretta dove è essenziale una bassa latenza.
- Applicazioni Mobile: Adatto per attività di rilevamento oggetti on-device in cui le risorse computazionali sono limitate.
Sfida di prestazioni: YOLOv8 contro YOLOv5
I benchmark delle prestazioni sul dataset COCO illustrano chiaramente i progressi compiuti con YOLOv8. In generale, i modelli YOLOv8 offrono una precisione superiore con caratteristiche di prestazioni comparabili o migliorate.
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 |
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 |
Dalla tabella, è evidente che i modelli YOLOv8 offrono un significativo aumento del mAP. Ad esempio, YOLOv8s raggiunge 44.9 mAP, superando di gran lunga i 37.4 mAP di YOLOv5s con solo un marginale aumento dei parametri e della latenza. Allo stesso modo, YOLOv8x raggiunge 53.9 mAP, superando i 50.7 mAP di YOLOv5x pur essendo più efficiente dal punto di vista computazionale.
Conclusione: Quale modello dovresti scegliere?
Sia YOLOv5 che YOLOv8 sono modelli eccellenti, ma soddisfano esigenze diverse.
-
YOLOv5 è una scelta fantastica per le applicazioni in cui la massima velocità di inferenza e una piattaforma matura e stabile sono le massime priorità. Rimane un forte contendente per il deployment su dispositivi con risorse limitate e per i progetti che beneficiano del suo vasto ecosistema.
-
YOLOv8 rappresenta la prossima generazione della tecnologia YOLO. È la scelta consigliata per nuovi progetti che cercano la massima accuratezza e la versatilità in diverse attività di visione. La sua architettura moderna, anchor-free e il framework unificato lo rendono una soluzione più potente e flessibile per una vasta gamma di applicazioni, dalla ricerca alla produzione.
Per la maggior parte dei casi d'uso, le prestazioni e la flessibilità superiori di YOLOv8 lo rendono l'opzione preferita.
Esplora altri modelli
Ultralytics continua a innovare nel campo della computer vision. Per gli utenti che esplorano altre opzioni all'avanguardia, offriamo anche modelli come YOLOv9, YOLOv10 e l'ultimo YOLO11, ognuno dei quali offre vantaggi unici. Puoi trovare analisi più dettagliate sulla nostra pagina di confronto dei modelli.