Vai al contenuto

Confronto tra modelli: YOLOv8 contro YOLOv9 per il rilevamento di oggetti

La scelta del modello di object detection più adatto è fondamentale per bilanciare accuratezza, velocità e risorse computazionali. Questa pagina offre un confronto tecnico dettagliato tra Ultralytics YOLOv8 e YOLOv9, entrambi modelli all'avanguardia della serie YOLO. Analizzeremo le loro architetture, le prestazioni e i casi d'uso per aiutarti a determinare la soluzione migliore per le tue esigenze, evidenziando perché la versatilità e l'ecosistema maturo di YOLOv8 lo rendono la scelta preferita per la maggior parte delle applicazioni.

Ultralytics YOLOv8: Semplificato e versatile

Ultralytics YOLOv8 è un modello di grande successo sviluppato da Glenn Jocher, Ayush Chaurasia e Jing Qiu presso Ultralytics e rilasciato il 10 gennaio 2023. È rinomato per il suo eccellente equilibrio tra velocità e precisione, progettato per essere facile da usare ed eccezionalmente versatile. Un vantaggio chiave di YOLOv8 è il suo supporto per una vasta gamma di attività di visione oltre al rilevamento di oggetti, tra cui la segmentazione di istanze, la stima della posa, la classificazione delle immagini e i bounding box orientati (OBB), il tutto all'interno di un unico framework unificato.

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/

Scopri di più su YOLOv8

Architettura e caratteristiche principali

YOLOv8 si basa sulle precedenti versioni di YOLO con significativi affinamenti architetturali, come un head di rilevamento anchor-free e un backbone CSPDarknet modificato con il modulo C2f. Questa scelta progettuale migliora la flessibilità e l'efficienza. Tuttavia, i suoi maggiori punti di forza risiedono nella sua usabilità e nel robusto ecosistema in cui si trova.

  • Facilità d'uso: YOLOv8 offre un'esperienza utente semplificata attraverso una semplice API Python e CLI, supportata da una vasta documentazione. Questo lo rende accessibile sia ai principianti che agli esperti.
  • Ecosistema ben mantenuto: Beneficia di sviluppo continuo, una solida comunità open-source, aggiornamenti frequenti e una profonda integrazione con Ultralytics HUB per l'addestramento senza codice e i flussi di lavoro MLOps.
  • Bilanciamento delle prestazioni: La famiglia di modelli raggiunge un buon compromesso tra velocità e precisione, rendendola adatta a diversi scenari di implementazione nel mondo reale, dai dispositivi edge ai server cloud.
  • Efficienza della memoria: Generalmente richiede meno memoria CUDA per l'addestramento e l'inferenza rispetto alle architetture più grandi come i transformer, consentendo lo sviluppo su una gamma più ampia di hardware.
  • Versatilità: Questa è una caratteristica distintiva. YOLOv8 eccelle nella gestione di molteplici attività di visione artificiale (rilevamento, segmentazione, classificazione, posa, OBB) all'interno di un singolo framework, una capacità spesso assente in modelli più specializzati come YOLOv9.
  • Efficienza di addestramento: Offre processi di addestramento efficienti e pesi pre-addestrati facilmente disponibili su set di dati come COCO, accelerando i cicli di sviluppo.

Punti di forza e debolezze

Punti di forza:

  • Supporto versatile per diverse attività: Un'unica architettura di modello può essere addestrata per il rilevamento, la segmentazione, la posa e altro, semplificando i complessi requisiti del progetto.
  • User-Friendly: Una documentazione completa e una semplice API riducono la barriera d'ingresso per lo sviluppo di soluzioni avanzate di computer vision.
  • Forte community ed ecosistema: Attivamente mantenuto con ampie risorse e integrazioni come TensorRT e OpenVINO per un'implementazione ottimizzata.

Punti deboli:

  • Accuratezza di picco: Pur essendo molto accurati, i modelli YOLOv9 più grandi possono raggiungere punteggi mAP leggermente superiori nei benchmark COCO per il puro object detection.
  • Utilizzo intensivo di risorse (Modelli grandi): I modelli YOLOv8 più grandi (L, X) richiedono notevoli risorse computazionali, sebbene rimangano efficienti per la loro classe di prestazioni.

YOLOv9: Avanzamento dell'accuratezza con nuove tecniche

YOLOv9 è stato introdotto il 21 febbraio 2024 da Chien-Yao Wang e Hong-Yuan Mark Liao dell'Institute of Information Science, Academia Sinica, Taiwan. Introduce significative innovazioni architetturali volte a spingere i confini dell'accuratezza nel rilevamento di oggetti in tempo reale affrontando la perdita di informazioni nelle reti neurali profonde.

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
Documenti: https://docs.ultralytics.com/models/yolov9/

Scopri di più su YOLOv9

Architettura e Innovazioni Chiave

I contributi principali di YOLOv9 sono il Programmable Gradient Information (PGI) e la Generalized Efficient Layer Aggregation Network (GELAN).

  • Informazioni sul Gradiente Programmabile (PGI): Questo concetto è progettato per mitigare il problema del collo di bottiglia delle informazioni, dove dati importanti vengono persi mentre si propagano attraverso i livelli di una rete profonda. PGI aiuta a generare gradienti affidabili per mantenere le informazioni chiave per aggiornamenti accurati del modello.
  • Generalized Efficient Layer Aggregation Network (GELAN): GELAN è una nuova architettura che ottimizza l'utilizzo dei parametri e l'efficienza computazionale. Consente a YOLOv9 di ottenere una maggiore precisione con meno parametri rispetto ad alcuni modelli precedenti.

Punti di forza e debolezze

Punti di forza:

  • Accuratezza Migliorata: Stabilisce nuovi risultati all'avanguardia sul dataset COCO per i rilevatori di oggetti in tempo reale, superando molti altri modelli in mAP.
  • Maggiore efficienza: L'architettura GELAN fornisce un forte rapporto prestazioni/parametro.

Punti deboli:

  • Versatilità Limitata: YOLOv9 è principalmente focalizzato sull'object detection. Manca del supporto multi-task integrato per la segmentazione, la stima della posa e la classificazione che rende YOLOv8 una soluzione più flessibile e pratica per progetti AI completi.
  • Risorse di addestramento: Come indicato nella sua documentazione, l'addestramento dei modelli YOLOv9 può richiedere più risorse e tempo rispetto ai modelli Ultralytics.
  • Architettura più recente: Essendo un modello più recente di un diverso gruppo di ricerca, il suo ecosistema, il supporto della community e le integrazioni di terze parti sono meno maturi rispetto al consolidato Ultralytics YOLOv8. Ciò può comportare una curva di apprendimento più ripida e un minor numero di soluzioni di implementazione pronte all'uso.

Prestazioni e benchmark: YOLOv8 vs. YOLOv9

Nel confrontare le prestazioni, è evidente che entrambi i modelli sono altamente validi. YOLOv9 spinge al limite l'accuratezza pura del rilevamento, con la sua variante più grande, YOLOv9e, che raggiunge il mAP più alto. Tuttavia, Ultralytics YOLOv8 offre un pacchetto complessivo più interessante. I suoi modelli offrono un eccellente equilibrio tra velocità e accuratezza, con velocità di inferenza ben documentate sia su CPU che su GPU, il che è fondamentale per le decisioni di implementazione nel mondo reale.

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
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

La tabella mostra che, mentre i modelli YOLOv9 sono efficienti in termini di parametri, YOLOv8 fornisce un quadro di performance più completo, inclusi benchmark CPU cruciali che dimostrano la sua preparazione per diversi ambienti hardware.

Casi d'uso ideali

La scelta tra YOLOv8 e YOLOv9 dipende molto dalle priorità del progetto.

YOLOv8 è la scelta ideale per:

  • Applicazioni Multi-Task: Progetti che richiedono una combinazione di rilevamento, segmentazione e stima della posa, come nella robotica, nell'assistenza sanitaria o nei sistemi di sicurezza avanzati.
  • Sviluppo e deployment rapidi: Gli sviluppatori che hanno bisogno di passare rapidamente dal prototipo alla produzione trarranno immensi vantaggi dalla facilità d'uso, dalla vasta documentazione e dall'ecosistema integrato di YOLOv8.
  • Balanced Performance Needs: Applicazioni in cui un forte equilibrio tra velocità e precisione è più importante del raggiungimento del punteggio mAP più alto in assoluto, come nell'analisi video in tempo reale per il retail o la produzione.

YOLOv9 è più adatto per:

  • Ricerca e rilevamento specializzato ad alta precisione: scenari in cui l'obiettivo primario è massimizzare l'accuratezza del rilevamento oggetti su benchmark come COCO.
  • Ispezione industriale ad alta precisione: Applicazioni in cui l'individuazione dei difetti più piccoli con la massima accuratezza possibile è la preoccupazione principale.
  • Analisi video avanzata: Utilizzo nell'infrastruttura di smart city dove è richiesto un rilevamento di alto livello e il sistema può accogliere le sue specifiche dipendenze.

Conclusione: Quale modello dovresti scegliere?

Per la stragrande maggioranza degli sviluppatori e delle applicazioni, Ultralytics YOLOv8 è la scelta migliore. La sua versatilità senza pari, la facilità d'uso e l'ecosistema maturo e ben mantenuto offrono un vantaggio significativo rispetto a YOLOv9. La capacità di gestire più attività all'interno di un singolo framework non solo semplifica lo sviluppo, ma riduce anche la complessità e i costi in produzione. Mentre YOLOv9 offre notevoli guadagni di precisione nell'object detection, la sua attenzione ristretta e l'ecosistema meno sviluppato lo rendono uno strumento più specializzato.

YOLOv8 rappresenta una soluzione olistica che consente agli sviluppatori di creare sistemi AI robusti e sfaccettati in modo efficiente. Per coloro che cercano un modello affidabile, ad alte prestazioni e flessibile, YOLOv8 è il chiaro vincitore. Se stai cercando un modello ancora più consolidato, considera YOLOv5, oppure, per l'ultima tecnologia all'avanguardia di Ultralytics, dai un'occhiata a YOLO11.



📅 Creato 1 anno fa ✏️ Aggiornato 1 mese fa

Commenti