YOLOv9 vs. YOLOv7: 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 i tuoi progetti di computer vision.
YOLOv9: Informazioni sul gradiente programmabili per un apprendimento avanzato
YOLOv9, introdotto nel febbraio 2024, rappresenta un significativo passo avanti nell'affrontare la perdita di informazioni nelle reti neurali profonde, un problema comune che può degradare le prestazioni del modello.
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 per migliorare il flusso di informazioni e l'efficienza dell'apprendimento, distinguendosi dai suoi predecessori.
- Informazioni sul Gradiente Programmabile (PGI): Questa è l'innovazione principale di YOLOv9. Affronta il problema del collo di bottiglia delle informazioni nelle reti profonde generando gradienti affidabili attraverso rami reversibili ausiliari. Ciò garantisce che le informazioni cruciali vengano preservate attraverso tutti i livelli, portando a un addestramento del modello più efficace e una migliore accuratezza finale.
- Generalized Efficient Layer Aggregation Network (GELAN): YOLOv9 presenta una nuova architettura di rete che ottimizza l'utilizzo dei parametri e l'efficienza computazionale. GELAN è un'architettura leggera, basata sulla pianificazione del percorso del gradiente, che si basa sui successi di design come CSPNet, che è stata fondamentale in modelli come YOLOv5.
Punti di forza
- Accuratezza Migliorata: La combinazione di PGI e GELAN consente un'estrazione di feature superiore e punteggi di precisione media (mAP) più elevati rispetto a YOLOv7, particolarmente evidente nelle varianti di modelli più grandi.
- Maggiore efficienza: YOLOv9 raggiunge una migliore accuratezza con meno parametri e calcoli (FLOP) rispetto a YOLOv7. Ad esempio, YOLOv9-C raggiunge una mAP simile a YOLOv7x con il 66% in meno di parametri e il 46% in meno di FLOP.
- All'avanguardia: Rappresenta le ultime innovazioni degli autori originali di YOLO, spingendo i confini di ciò che è possibile nel rilevamento di oggetti in tempo reale.
Punti deboli
- Richiesta computazionale: Pur essendo efficiente per la sua accuratezza, l'architettura avanzata, specialmente le varianti più grandi come YOLOv9-E, può comunque richiedere risorse computazionali significative per l'addestramento e l'implementazione.
- Modello più recente: Essendo una versione più recente, il supporto della community e i tutorial di implementazione prontamente disponibili potrebbero essere meno estesi rispetto al consolidato YOLOv7. Tuttavia, l'implementazione di Ultralytics YOLOv9 mitiga questo problema fornendo un ambiente semplificato, ben documentato e supportato.
Casi d'uso
YOLOv9 è ideale per applicazioni che richiedono la massima accuratezza ed efficienza, dove il rilevamento preciso degli oggetti è fondamentale.
- Compiti complessi di rilevamento in veicoli autonomi e robotica.
- Sistemi di sicurezza avanzati che richiedono il rilevamento preciso di oggetti piccoli o nascosti.
- Applicazioni nell'analisi di immagini mediche dove l'alta fedeltà è imprescindibile.
YOLOv7: Ottimizzato per velocità ed efficienza
YOLOv7, rilasciato a luglio 2022, è stato un modello fondamentale che mirava a ottimizzare significativamente il compromesso tra velocità e precisione per l'inferenza in tempo reale.
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
YOLOv7 si è concentrato sull'ottimizzazione dell'architettura e del processo di addestramento per rendere i modelli più veloci e più accurati senza aumentare il costo dell'inferenza.
- Extended Efficient Layer Aggregation Network (E-ELAN): Questo blocco architetturale migliora la capacità di apprendimento della rete consentendole di apprendere feature più diversificate, migliorando le prestazioni senza interrompere il percorso del gradiente originale.
- Scalabilità del modello: YOLOv7 ha introdotto metodi di ridimensionamento composto per la profondità e la larghezza del modello, consentendo di ottimizzarlo efficacemente per diverse dimensioni del modello e budget computazionali.
- Bag-of-Freebies addestrabile: Questo concetto incorpora varie tecniche di ottimizzazione durante l'addestramento, come l'aumento dei dati avanzato e le strategie di assegnazione delle etichette. Queste tecniche migliorano l'accuratezza senza aggiungere alcun overhead computazionale durante l'inferenza.
Punti di forza
- Elevata velocità di inferenza: YOLOv7 è altamente ottimizzato per la velocità e rimane uno dei rilevatori di oggetti più veloci disponibili, il che lo rende eccellente per applicazioni in tempo reale su vari hardware.
- Prestazioni elevate: Ottiene punteggi mAP competitivi, il che lo rende una scelta affidabile e potente per molte attività standard di rilevamento oggetti.
- Modello consolidato: Essendo disponibile da più tempo, YOLOv7 beneficia di una più ampia adozione, di vaste risorse della comunità e di numerosi esempi di implementazione collaudati in diversi settori.
Punti deboli
- Minore Accuratezza di Picco: Pur essendo veloce, potrebbe mostrare un'accuratezza di picco leggermente inferiore rispetto al più recente YOLOv9 in scenari complessi con oggetti difficili.
- 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.
Casi d'uso
YOLOv7 è adatto per applicazioni in cui la velocità di inferenza è il fattore più critico.
- Analisi video e sorveglianza in tempo reale su dispositivi edge AI.
- Sistemi ad alta produttività come il controllo qualità su una linea di produzione in rapido movimento.
- Prototipazione rapida di sistemi di rilevamento oggetti in cui è essenziale una rapida implementazione.
Prestazioni ed efficienza: un confronto diretto
La differenza principale tra YOLOv9 e YOLOv7 risiede nel compromesso tra accuratezza, dimensione del modello e costo computazionale. YOLOv9 spinge la frontiera dell'efficienza, offrendo una maggiore accuratezza con meno parametri e FLOPs. Ad esempio, YOLOv9-M raggiunge lo stesso 51.4% di mAP di YOLOv7l ma con il 46% in meno di parametri e il 27% in meno di FLOPs. Questa tendenza continua su tutta la scala, dove YOLOv9-E stabilisce un nuovo stato dell'arte con il 55.6% di mAP, superando tutte le varianti di YOLOv7.
Questa maggiore efficienza significa che, per un determinato obiettivo di accuratezza, YOLOv9 offre un modello più piccolo, più veloce e più efficiente dal punto di vista energetico.
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Conclusione: Qual è il modello giusto per te?
Sia YOLOv7 che YOLOv9 sono modelli potenti, ma soddisfano priorità leggermente diverse.
-
Scegli YOLOv9 se la tua applicazione richiede la massima accuratezza ed efficienza possibile. I suoi progressi architetturali la rendono superiore per scene complesse e distribuzioni con risorse limitate dove hai bisogno delle migliori prestazioni da un modello più piccolo.
-
Scegli YOLOv7 se hai bisogno di un modello collaudato ed estremamente veloce per applicazioni standard in tempo reale e preferisci lavorare con un'architettura più consolidata con vaste risorse della comunità.
Per sviluppatori e ricercatori alla ricerca della migliore esperienza complessiva, consigliamo di utilizzare questi modelli all'interno dell'ecosistema Ultralytics. I modelli più recenti come Ultralytics YOLOv8 e YOLO11 non solo offrono prestazioni competitive, ma sono anche dotati di vantaggi significativi:
- Facilità d'uso: Un'esperienza utente semplificata con una semplice API Python e una documentazione esaustiva.
- Ecosistema ben mantenuto: Sviluppo attivo, forte supporto della comunità e integrazione con strumenti come Ultralytics HUB per l'addestramento e l'implementazione senza codice.
- Versatilità: Supporto per molteplici attività oltre al rilevamento, tra cui segmentazione di istanza, stima della posa e classificazione, il tutto all'interno di un singolo framework.
- Efficienza di addestramento: Processi di addestramento efficienti con pesi pre-addestrati facilmente disponibili e requisiti di memoria inferiori rispetto a molti altri tipi di modelli.
Esplora altri modelli
Per ulteriori confronti, si consiglia di esplorare altri modelli all'avanguardia disponibili nella documentazione di Ultralytics:
- YOLOv5 contro YOLOv9
- YOLOv8 contro YOLOv9
- YOLOv10 contro YOLOv9
- YOLO11 vs. YOLOv9
- RT-DETR vs. YOLOv9