Vai al contenuto

YOLOv7 vs. YOLOv9: Un confronto tecnico dettagliato

Quando si seleziona un modello YOLO per il rilevamento di oggetti, è fondamentale comprendere le sfumature tra le diverse versioni. Questa pagina fornisce un confronto tecnico dettagliato tra YOLOv7 e YOLOv9, due modelli significativi nella serie YOLO sviluppati da ricercatori presso l'Institute of Information Science, Academia Sinica, Taiwan. Esploreremo le loro innovazioni architetturali, i benchmark di prestazione e l'idoneità per varie applicazioni per aiutarti a prendere una decisione informata per il tuo prossimo progetto di computer vision.

YOLOv7: Object Detection efficiente e veloce

Rilasciato nel luglio 2022, YOLOv7 è stato un modello fondamentale che mirava a ottimizzare significativamente sia la velocità che la precisione per l'object detection in tempo reale, stabilendo nuovi standard di efficienza all'epoca.

Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
Data: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Documentazione: https://docs.ultralytics.com/models/yolov7/

Architettura e caratteristiche principali

La filosofia di progettazione di YOLOv7 si concentra sulla massimizzazione della velocità di inferenza senza compromettere la precisione. Ha introdotto diversi elementi architettonici chiave e strategie di addestramento per raggiungere questo equilibrio:

  • Extended Efficient Layer Aggregation Network (E-ELAN): Questo componente principale del backbone migliora la capacità di apprendimento della rete gestendo l'aggregazione delle feature in modo più efficiente. Come descritto nel paper di ricerca, consente al modello di apprendere feature più robuste senza un aumento sostanziale del costo computazionale.
  • Scaling composto del modello: YOLOv7 ha introdotto metodi di scaling composto per la profondità e l'ampiezza del modello, consentendo un'ottimizzazione efficace su una gamma di dimensioni del modello per adattarsi a diversi budget computazionali.
  • Bag-of-Freebies addestrabile: Questo concetto prevede l'incorporazione di varie tecniche di ottimizzazione durante il processo di addestramento, come l'aumento dei dati avanzato e le strategie di assegnazione delle etichette. Questi metodi migliorano l'accuratezza del modello finale senza aggiungere alcun overhead al costo di inferenza.

Punti di forza e debolezze

Punti di forza

  • Elevata velocità di inferenza: Ottimizzato per applicazioni in tempo reale, YOLOv7 offre spesso un'inferenza più veloce rispetto a molti modelli successivi in determinate configurazioni hardware e di dimensione batch.
  • Prestazioni elevate: Ottiene punteggi mAP competitivi, il che lo rende una scelta affidabile e potente per molte attività di rilevamento.
  • Modello consolidato: Essendo disponibile da tempo, YOLOv7 beneficia di una più ampia adozione, di vaste risorse della comunità e di numerosi esempi di implementazione collaudati.

Punti deboli

  • Minore Accuratezza di Picco: Rispetto al più recente YOLOv9, YOLOv7 potrebbe mostrare un'accuratezza massima leggermente inferiore, specialmente in scenari complessi con molti oggetti piccoli o sovrapposti.
  • Rilevamento basato su anchor: Si basa su anchor box predefiniti, che a volte possono essere meno flessibili degli approcci anchor-free per rilevare oggetti con proporzioni insolite o molto variabili.

Casi d'uso

YOLOv7 è eccezionalmente adatto per applicazioni in cui la velocità di inferenza è il fattore più critico:

  • Analisi video e sistemi di sorveglianza in tempo reale.
  • Implementazioni di Edge AI su dispositivi con risorse limitate, come quelli che si trovano nella robotica e nei droni.
  • Prototipazione e sviluppo rapidi di sistemi di rilevamento oggetti in cui è essenziale una rapida inversione di tendenza.

Scopri di più su YOLOv7

YOLOv9: Informazioni sul gradiente programmabile per una maggiore accuratezza

Introdotto nel febbraio 2024, YOLOv9 rappresenta una significativa evoluzione architetturale affrontando direttamente il problema della perdita di informazioni nelle reti neurali profonde, portando a notevoli guadagni in termini di precisione.

Autori: Chien-Yao Wang e 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 caratteristiche principali

YOLOv9 introduce nuovi concetti progettati per migliorare il flusso di informazioni attraverso la rete, con conseguente apprendimento più efficace e maggiore precisione.

  • Informazioni sul Gradiente Programmabile (PGI): Questa è l'innovazione fondamentale di YOLOv9. PGI affronta il problema del collo di bottiglia delle informazioni inerente alle reti profonde generando gradienti affidabili attraverso rami reversibili ausiliari. Ciò garantisce che le informazioni cruciali vengano preservate per gli aggiornamenti nei livelli più profondi, prevenendo la perdita di dettagli chiave necessari per un rilevamento accurato.
  • Generalized Efficient Layer Aggregation Network (GELAN): Basandosi sui successi di architetture come CSPNet (utilizzata in YOLOv5), GELAN è una nuova architettura di rete altamente efficiente. Ottimizza l'utilizzo dei parametri e l'efficienza computazionale, consentendo a YOLOv9 di ottenere prestazioni migliori con meno risorse.

Punti di forza e debolezze

Punti di forza

  • Accuratezza Migliorata: La combinazione di PGI e GELAN porta a un'estrazione di feature superiore e a punteggi mAP significativamente più alti rispetto a YOLOv7, il che è particolarmente evidente nelle varianti di modelli più grandi.
  • Maggiore efficienza: YOLOv9 raggiunge una migliore accuratezza con meno parametri e calcoli rispetto ai modelli precedenti. Per un dato livello di accuratezza, YOLOv9 è spesso più efficiente di YOLOv7.
  • Innovazioni all'avanguardia: Rappresenta gli ultimi progressi della linea di ricerca YOLO originale, spingendo i confini di ciò che è possibile nel rilevamento oggetti in tempo reale.

Punti deboli

  • Richiesta computazionale: Pur essendo efficiente per la sua accuratezza, l'architettura avanzata, specialmente nelle varianti più grandi come YOLOv9e, può comunque richiedere notevoli risorse computazionali per l'addestramento e l'implementazione.
  • Modello più recente: Essendo una versione più recente, il supporto della community e i tutorial di implementazione di terze parti potrebbero essere meno estesi rispetto a un modello consolidato come YOLOv7. Tuttavia, la sua integrazione nell'ecosistema Ultralytics aiuta a mitigare questo problema fornendo un'esperienza utente semplificata.

Casi d'uso

YOLOv9 è la scelta ideale per le applicazioni che richiedono i massimi livelli di accuratezza ed efficienza:

  • Compiti complessi di rilevamento in veicoli autonomi e sistemi avanzati di assistenza alla guida.
  • Sistemi di sicurezza ad alta precisione che richiedono la minimizzazione di falsi positivi e negativi.
  • Applicazioni in cui le dimensioni del modello e il costo computazionale sono vincoli critici, ma non è possibile compromettere l'elevata accuratezza.

Scopri di più su YOLOv9

Prestazioni ed efficienza a confronto

Quando si confrontano direttamente YOLOv7 e YOLOv9, emerge una tendenza chiara: YOLOv9 offre un compromesso superiore tra accuratezza e costo computazionale. Ad esempio, il modello YOLOv9m raggiunge la stessa mAP del 51,4% di YOLOv7l, ma lo fa con quasi la metà dei parametri (20,0 M contro 36,9 M) e meno FLOP. Allo stesso modo, YOLOv9c offre prestazioni paragonabili a YOLOv7x (53,0% contro 53,1% mAP) pur essendo significativamente più efficiente, utilizzando solo 25,3 M di parametri rispetto ai 71,3 M di YOLOv7x. Questo guadagno di efficienza è il risultato diretto dei miglioramenti architetturali in YOLOv9, in particolare PGI e GELAN, che consentono un apprendimento più efficace.

Modello dimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv7l 640 51.4 - 6.84 36.9 104.7
YOLOv7x 640 53.1 - 11.57 71.3 189.9
YOLOv9t 640 38.3 - 2.30 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

Conclusione e raccomandazioni

Sia YOLOv7 che YOLOv9 sono modelli formidabili per il rilevamento di oggetti, ma soddisfano priorità leggermente diverse.

  • YOLOv7 rimane un forte concorrente, specialmente per applicazioni in cui la velocità di inferenza pura è la preoccupazione principale e si preferisce un'architettura consolidata e ampiamente supportata. È un cavallo di battaglia collaudato per molti sistemi in tempo reale.

  • YOLOv9 è il chiaro successore e la scelta consigliata per i nuovi progetti che richiedono accuratezza ed efficienza all'avanguardia. La sua architettura innovativa risolve i problemi chiave nel deep learning, risultando in un modello più preciso ed efficiente dal punto di vista computazionale rispetto al suo predecessore.

Sebbene entrambi i modelli siano eccellenti, gli sviluppatori che cercano una soluzione più integrata e versatile dovrebbero anche considerare i modelli dell'ecosistema Ultralytics, come Ultralytics YOLOv8 e l'ultimo YOLO11. Questi modelli offrono un'esperienza utente semplificata, un'ampia documentazione e il supporto per un'ampia gamma di attività oltre al rilevamento, tra cui la segmentazione delle istanze, la stima della posa e la classificazione, il tutto all'interno di un unico framework ben mantenuto.

Esplora altri modelli

Per ulteriori confronti e per esplorare altri modelli all'avanguardia, consulta queste altre pagine nella documentazione di Ultralytics:

  • YOLOv5: Noto per il suo equilibrio tra prestazioni e ampia adozione.
  • YOLOv8: Un modello versatile e potente che supporta molteplici attività di visione artificiale.
  • YOLOv10: Si concentra sul rilevamento di oggetti end-to-end in tempo reale eliminando la necessità di NMS.
  • YOLO11: L'ultimo modello all'avanguardia di Ultralytics, che offre prestazioni ed efficienza di massimo livello.
  • RT-DETR: Un detector basato su transformer che offre un approccio architetturale diverso.


📅 Creato 1 anno fa ✏️ Aggiornato 1 mese fa

Commenti