YOLOv9 vs YOLOv7#
L'evoluzione del rilevamento di oggetti in tempo reale è stata guidata dalla costante ricerca di un equilibrio tra efficienza computazionale e alta accuratezza. Due architetture fondamentali di questo percorso sono YOLOv9 e YOLOv7, entrambe sviluppate da ricercatori dell'Institute of Information Science dell'Academia Sinica a Taiwan. Mentre YOLOv7 ha introdotto innovativi bag-of-freebies addestrabili, il più recente YOLOv9 affronta direttamente i colli di bottiglia informativi del deep learning.
Questo confronto tecnico completo analizza le differenze architetturali, le metriche prestazionali e gli scenari di deployment ideali per entrambi i modelli, aiutando ingegneri ML e ricercatori a scegliere lo strumento giusto per le proprie pipeline di visione artificiale.
Confronto delle prestazioni e delle metriche#
Nel confronto tra questi modelli, le prestazioni assolute e l'efficienza sono fattori fondamentali. La tabella seguente illustra la precisione media (mAP) e i requisiti computazionali nei benchmark standard del dataset COCO.
| 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.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Nota come YOLOv9c raggiunga un'accuratezza pressoché identica (53,0 mAP) a YOLOv7x (53,1 mAP), utilizzando però molti meno parametri (25,5 milioni contro 71,3 milioni) e FLOPs. Questo dimostra i progressi nell'equilibrio delle prestazioni delle architetture moderne.
YOLOv9: risolvere il collo di bottiglia informativo#
Presentato all'inizio del 2024, YOLOv9 ha cambiato radicalmente il modo in cui le reti neurali profonde conservano i dati nei propri livelli.
- Autori: Chien-Yao Wang e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica
- Data: 21 febbraio 2024
- Risorse: Articolo su arXiv | Repository GitHub
Innovazioni architetturali#
YOLOv9 introduce la Rete generalizzata ed efficiente di aggregazione dei livelli (GELAN) e le Informazioni programmabili sul gradiente (PGI). GELAN combina i punti di forza di CSPNet ed ELAN per ottimizzare l'efficienza dei parametri e il costo computazionale, garantendo un'elevata precisione con un numero inferiore di parametri. PGI è un framework di supervisione ausiliaria progettato per prevenire la perdita di dati nelle reti profonde, generando gradienti affidabili per aggiornare i pesi durante l'addestramento.
Punti di forza e limiti#
Il principale punto di forza di YOLOv9 è la capacità di estrarre caratteristiche sottili senza un enorme carico computazionale, il che lo rende molto efficace per le attività che richiedono un'elevata fedeltà delle caratteristiche, come l'analisi di immagini mediche. Tuttavia, la complessa struttura PGI durante l'addestramento può rendere più difficili le modifiche architetturali personalizzate per i principianti rispetto ai framework più unificati.
YOLOv7: pioniere dei bag-of-freebies#
Rilasciato nel 2022, YOLOv7 ha stabilito un nuovo punto di riferimento per ciò che era possibile ottenere con hardware consumer, introducendo innovazioni strutturali che hanno aumentato significativamente la velocità di inferenza in tempo reale.
- Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica
- Data: 6 luglio 2022
- Risorse: Articolo su arXiv | Repository GitHub
Innovazioni architetturali#
Il contributo fondamentale di YOLOv7 è la Rete estesa ed efficiente di aggregazione dei livelli (E-ELAN). Questa architettura consente al modello di apprendere continuamente caratteristiche più diversificate. Inoltre, YOLOv7 utilizza i «bag-of-freebies addestrabili», ovvero tecniche come convoluzioni riparametrizzate pianificate e assegnazione dinamica delle etichette. Questi metodi migliorano l'accuratezza del modello durante l'addestramento senza aggiungere costi di inferenza al momento del deployment.
Punti di forza e limiti#
YOLOv7 è altamente ottimizzato per l'elaborazione edge in tempo reale e rimane un punto fermo nei sistemi legacy e nei vecchi ambienti CUDA. Oggi, il suo principale limite è il numero maggiore di parametri rispetto ai modelli più recenti. Come mostra la tabella delle prestazioni, per ottenere un'accuratezza di fascia alta serve il pesante modello YOLOv7x, che richiede molta più memoria GPU rispetto alle architetture moderne equivalenti.
I vantaggi di Ultralytics: deployment semplificato#
I repository originali delle ricerche su YOLOv9 e YOLOv7 offrono solide basi accademiche, ma eseguire il deployment di questi modelli in produzione può essere complesso. Integrare YOLOv9 tramite il pacchetto ultralytics (YOLOv7 è supportato solo tramite modelli esportati in ONNX o TensorRT) offre una semplicità d'uso senza pari.
Usando la Ultralytics Platform integrata, gli sviluppatori possono contare su un ecosistema ben gestito, con un'API Python intuitiva, una community attiva e solide funzionalità di tracciamento degli esperimenti.
Prepararsi al futuro con YOLO26#
Se stai avviando un nuovo progetto di visione artificiale, ti consigliamo vivamente di valutare il nuovo YOLO26 al posto di YOLOv9 e YOLOv7. Rilasciato come nuovo standard all'avanguardia, YOLO26 introduce progressi rivoluzionari:
- Architettura end-to-end priva di NMS: una testa opzionale one-to-one (
nms=False) salta il post-processing di soppressione dei non massimi, riducendo drasticamente la complessità e la latenza del deployment. - Inferenza su CPU fino al 43% più veloce: ottimizzata per gli ambienti di edge computing, garantisce il funzionamento fluido della tua applicazione anche senza GPU dedicate.
- Ottimizzatore MuSGD: un ottimizzatore ibrido ispirato all'addestramento degli LLM, che offre una convergenza altamente stabile e riduce i tempi di addestramento.
- Rimozione di DFL: esportazione del modello semplificata eliminando Distribution Focal Loss, per migliorare la compatibilità con i dispositivi mobili a basso consumo.
- ProgLoss + STAL: migliora drasticamente le prestazioni nel rilevamento di oggetti piccoli, rendendolo la scelta ideale per le immagini aeree e la sorveglianza.
Altre alternative diffuse nell'ecosistema includono Ultralytics YOLOv8 e YOLO11, entrambi estremamente versatili per attività come la segmentazione di istanze e la stima della posa.
Esempio di implementazione#
Addestrare ed esportare YOLOv9 o YOLO26 è incredibilmente semplice grazie all'API unificata. Il codice seguente mostra l'efficienza di addestramento semplificata, caratteristica degli strumenti Ultralytics.
from ultralytics import YOLO
# Inizializza YOLOv9 o il modello YOLO26 consigliato
model = YOLO("yolov9c.pt") # Sostituisci con "yolo26n.pt" per prestazioni edge più rapide
# Addestra su un dataset personalizzato con l'aumento dei dati integrato
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Esporta il modello addestrato in formato ONNX per il deployment
model.export(format="onnx")Durante l'addestramento su hardware di fascia consumer, l'efficienza della memoria è fondamentale. Le implementazioni Ultralytics di YOLOv9 e YOLO26 sono ampiamente ottimizzate per ridurre i picchi di utilizzo della VRAM, a differenza dei modelli basati su Transformer (come RT-DETR), che spesso subiscono un notevole aumento del consumo di memoria durante l'addestramento.
Applicazioni nel mondo reale e casi d'uso ideali#
La scelta tra queste architetture dipende spesso dai vincoli specifici del tuo ambiente di produzione.
Quando usare YOLOv9: YOLOv9 eccelle negli ambienti in cui è necessario conservare i dettagli più minuti. La sua solida estrazione delle caratteristiche lo rende ideale per l'analisi del commercio al dettaglio, ad esempio per contare i prodotti stipati sugli scaffali, o per le applicazioni agricole in cui è fondamentale individuare le malattie delle colture nelle fasi iniziali su foglie piccole.
Quando usare YOLOv7: YOLOv7 resta una valida scelta per le pipeline di distribuzione legacy. Se stai integrando il modello in sistemi hardware meno recenti, come alcune generazioni del Google Coral Edge TPU, la semplice architettura CNN di YOLOv7 potrebbe essere più facile da compilare rispetto ai modelli più recenti.
Quando usare YOLO26 (consigliato): Per qualsiasi distribuzione moderna, dai droni autonomi alla gestione del traffico nelle smart city, YOLO26 è la scelta migliore. La sua architettura senza NMS garantisce tempi di inferenza deterministici, essenziali per la robotica critica per la sicurezza, mentre la sua elevata precisione supera nettamente quella di YOLOv9 e YOLOv7.