Confronto tra modelli: YOLOv9 e YOLOv8 per il rilevamento di oggetti
La scelta del modello di object detection giusto è una decisione critica che bilancia accuratezza, velocità e risorse computazionali. Questa pagina offre un confronto tecnico dettagliato tra Ultralytics YOLOv8, un modello versatile e facile da usare, e YOLOv9, un modello noto per le sue nuove innovazioni architetturali. Analizzeremo le loro architetture, le metriche di performance e i casi d'uso ideali per aiutarti a determinare la soluzione migliore per i tuoi progetti di computer vision.
YOLOv9: Avanzamento dell'accuratezza con una nuova architettura
YOLOv9 è stato introdotto come un significativo passo avanti nel rilevamento di oggetti, concentrandosi principalmente sul superamento della perdita di informazioni nelle reti neurali profonde per aumentare l'accuratezza.
- Autori: Chien-Yao Wang, Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
- Data: 2024-02-21
- Arxiv: https://arxiv.org/abs/2402.13616
- GitHub: https://github.com/WongKinYiu/yolov9
- Documentazione: https://docs.ultralytics.com/models/yolov9/
Architettura e Innovazioni Chiave
YOLOv9 introduce due importanti innovazioni: Programmable Gradient Information (PGI) e la Generalized Efficient Layer Aggregation Network (GELAN). PGI è progettato per fornire informazioni complete in ingresso per il calcolo della funzione di perdita, il che aiuta a mitigare il problema del collo di bottiglia delle informazioni e assicura che vengano generati gradienti più affidabili per gli aggiornamenti della rete. GELAN è una nuova architettura di rete altamente efficiente che ottimizza l'utilizzo dei parametri e l'efficienza computazionale. Insieme, queste caratteristiche consentono a YOLOv9 di raggiungere un'elevata accuratezza, spesso stabilendo nuovi benchmark all'avanguardia su dataset come COCO.
Punti di forza
- Accuratezza all'avanguardia: I modelli YOLOv9, in particolare le varianti più grandi, raggiungono punteggi mAP di livello superiore, spingendo i confini dell'accuratezza del rilevamento oggetti in tempo reale.
- Elevata efficienza: L'architettura GELAN consente a YOLOv9 di offrire prestazioni elevate con meno parametri e requisiti computazionali (FLOPs) rispetto ad alcuni altri modelli con precisione simile.
- Preservazione delle informazioni: PGI affronta efficacemente il problema della perdita di informazioni nelle reti profonde, fondamentale per l'addestramento di modelli molto profondi e accurati.
Punti deboli
- Ecosistema e Usabilità: Essendo un modello proveniente da un repository di ricerca, YOLOv9 manca dell'ecosistema rifinito e pronto per la produzione che Ultralytics fornisce. Il processo di training può essere più complesso e il supporto della community e le integrazioni di terze parti sono meno maturi.
- Versatilità delle attività: L'implementazione originale di YOLOv9 è focalizzata principalmente sul rilevamento di oggetti. Non offre il supporto integrato e unificato per altre attività di visione come la segmentazione, la stima della posa o la classificazione, che è standard nei modelli Ultralytics.
- Risorse di addestramento: L'addestramento di YOLOv9 può richiedere più risorse e tempo rispetto ai processi semplificati offerti da Ultralytics YOLOv8.
Ultralytics YOLOv8: Versatilità e facilità d'uso
Ultralytics YOLOv8 è un modello all'avanguardia sviluppato da Ultralytics, noto per il suo eccezionale equilibrio tra velocità, precisione e, soprattutto, la sua facilità d'uso e versatilità. È progettato come un framework completo per l'addestramento, la convalida e l'implementazione di modelli per una vasta gamma di attività di visione artificiale.
- Autori: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- Organizzazione: Ultralytics
- Data: 2023-01-10
- GitHub: https://github.com/ultralytics/ultralytics
- Documentazione: https://docs.ultralytics.com/models/yolov8/
Architettura e caratteristiche principali
YOLOv8 si basa sui successi delle precedenti versioni di YOLO con significativi affinamenti architetturali, tra cui un nuovo head di rilevamento anchor-free e un backbone C2f (CSP con 2 convoluzioni) modificato. Questo design non solo migliora le prestazioni, ma semplifica anche il modello e i suoi passaggi di post-elaborazione. Tuttavia, la vera forza di YOLOv8 risiede nel suo ecosistema olistico.
Punti di forza
- Eccezionale bilanciamento delle prestazioni: YOLOv8 offre un fantastico compromesso tra velocità e accuratezza, rendendolo altamente adatto a una vasta gamma di applicazioni del mondo reale, dai dispositivi edge con risorse limitate ai server cloud ad alte prestazioni.
- Versatilità senza pari: YOLOv8 è un vero framework multi-tasking. Supporta il rilevamento di oggetti, la segmentazione di istanze, la classificazione delle immagini, la stima della posa e i bounding box orientati (OBB) all'interno di un unico framework unificato. Questa versatilità è un vantaggio importante rispetto a modelli più specializzati come YOLOv9.
- Facilità d'uso: Ultralytics ha dato priorità a un'esperienza utente semplificata. Con una semplice API Python e una CLI, un'ampia documentazione e una vasta gamma di tutorial, gli sviluppatori possono iniziare in pochi minuti.
- Ecosistema ben manutenuto: YOLOv8 è supportato dallo sviluppo attivo di Ultralytics, da una solida community open-source, da aggiornamenti frequenti e da una perfetta integrazione con Ultralytics HUB per flussi di lavoro di addestramento senza codice e MLOps.
- Efficienza di addestramento: Il processo di addestramento è altamente efficiente, con pesi pre-addestrati facilmente disponibili e requisiti di memoria inferiori rispetto a molte altre architetture, specialmente i modelli basati su transformer.
- Pronto per la distribuzione: YOLOv8 è progettato per una facile distribuzione con supporto integrato per l'esportazione in vari formati come ONNX, TensorRT e OpenVINO, semplificando il percorso verso la produzione.
Punti deboli
- Accuratezza di picco: Pur essendo estremamente accurati, i modelli YOLOv9 più grandi possono raggiungere un mAP leggermente superiore nel benchmark COCO in un'attività di puro object detection. Tuttavia, questo spesso avviene a scapito della versatilità e della facilità d'uso.
Testa a testa sulle prestazioni: Precisione e velocità
Nel confrontare le prestazioni, è essenziale esaminare il quadro completo, inclusi accuratezza (mAP), velocità di inferenza, dimensione del modello (parametri) e costo computazionale (FLOP).
Modello | dimensione (pixel) |
mAPval 50-95 |
Velocità CPU ONNX (ms) |
Velocità T4 TensorRT10 (ms) |
parametri (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
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 |
Dalla tabella possiamo vedere che YOLOv9-E raggiunge il mAP più alto. Tuttavia, i modelli YOLOv8 dimostrano velocità di inferenza superiori, specialmente le varianti più piccole come YOLOv8n, che è cruciale per le applicazioni in tempo reale. YOLOv8 fornisce un profilo di prestazioni più completo e pratico su diversi hardware, con benchmark di velocità ben documentati che sono essenziali per la pianificazione della produzione.
Conclusione: Quale modello dovresti scegliere?
La scelta tra YOLOv9 e YOLOv8 dipende molto dalle priorità del tuo progetto.
Scegliere YOLOv9 se:
- Il tuo obiettivo primario e unico è ottenere la massima precisione assoluta nel rilevamento di oggetti su benchmark come COCO.
- Stai lavorando in un contesto di ricerca in cui l'obiettivo principale è l'esplorazione di nuove architetture come PGI e GELAN.
- Disponi di risorse computazionali ed esperienza significative per gestire un flusso di lavoro di addestramento e implementazione più complesso.
Scegliere Ultralytics YOLOv8 se:
- Hai bisogno di un modello robusto, affidabile e facile da usare per una vasta gamma di applicazioni.
- Il tuo progetto richiede più del semplice rilevamento di oggetti, come la segmentazione di istanze, la stima della posa o la classificazione. La versatilità di YOLOv8 consente di risparmiare un'enorme quantità di tempo di sviluppo.
- Dai la priorità a un flusso di lavoro rapido ed efficiente, dall'addestramento all'implementazione. L'ecosistema Ultralytics è progettato per portarti più velocemente alla produzione.
- Hai bisogno di un modello che offra un eccellente equilibrio tra velocità e precisione, adatto sia per l'edge che per l'implementazione su cloud.
- Apprezzi un forte supporto della comunità, aggiornamenti continui e documentazione completa.
Per la stragrande maggioranza di sviluppatori, ricercatori e aziende, Ultralytics YOLOv8 è la scelta consigliata. La sua combinazione di prestazioni elevate, incredibile versatilità e un ecosistema user-friendly e ben supportato lo rende uno strumento più pratico e potente per la creazione di soluzioni di computer vision nel mondo reale.
Se stai esplorando altri modelli, potresti anche essere interessato a Ultralytics YOLOv5, noto per la sua stabilità e ampia adozione, o a RT-DETR, un'architettura alternativa basata su transformer. Puoi trovare maggiori confronti sulla nostra pagina di confronto dei modelli.