Vai al contenuto

YOLOv5 vs. YOLOv9: Un confronto tecnico approfondito

Il panorama della visione artificiale e del rilevamento di oggetti in tempo reale ha visto notevoli progressi negli ultimi anni. Orientarsi nella scelta tra modelli consolidati e collaudati e architetture di ricerca più recenti è una sfida comune per gli ingegneri del machine learning. Questa guida fornisce un confronto tecnico completo tra due modelli altamente influenti della famiglia YOLO: YOLOv5 e YOLOv9.

Sia che si stia effettuando il deployment su dispositivi edge con risorse limitate, ricercando l'estrazione di feature ad alta fedeltà, o costruendo pipeline complesse di object detection, comprendere le sfumature architetturali, le metriche di performance e le differenze dell'ecosistema di questi modelli è cruciale.

Panoramiche dei modelli

Prima di addentrarci nei confronti architetturali, è utile comprendere le origini e gli obiettivi primari di ciascun modello.

Ultralytics YOLOv5

Sviluppato da Glenn Jocher e rilasciato da Ultralytics il 26 giugno 2020, YOLOv5 ha segnato un cambiamento di paradigma nel modo in cui gli sviluppatori interagivano con i modelli di visione. Abbracciando pienamente il framework PyTorch, YOLOv5 ha scambiato i complessi passaggi di compilazione dei precedenti modelli basati su Darknet con un'esperienza utente intuitiva e Python-first.

YOLOv5 è rinomato per la sua Facilità d'Uso e le prestazioni stabili in diversi ambienti hardware. Supporta non solo la rilevazione, ma anche la classificazione di immagini e la segmentazione di istanza.

Scopri di più su YOLOv5

YOLOv9

Introdotto da Chien-Yao Wang e Hong-Yuan Mark Liao dell'Istituto di Scienze dell'Informazione presso l'Academia Sinica, Taiwan, YOLOv9 si concentra fortemente sulla teoria architetturale per mitigare i problemi di collo di bottiglia informativi nelle reti neurali profonde.

Il cuore di YOLOv9 si basa su due importanti innovazioni teoriche: Programmable Gradient Information (PGI) e la Generalized Efficient Layer Aggregation Network (GELAN). Questi concetti aiutano il modello a mantenere caratteristiche spaziali critiche attraverso strati di rete profondi.

Scopri di più su YOLOv9

Rendi i tuoi deployment a prova di futuro

Mentre YOLOv5 e YOLOv9 sono potenti, il nuovo YOLO26 rappresenta l'equilibrio definitivo tra velocità e precisione. Caratterizzato da un design end-to-end NMS-free e un'inferenza CPU fino al 43% più veloce, YOLO26 è altamente raccomandato per l'edge computing moderno e le implementazioni in produzione.

Differenze Architettoniche e Tecniche

Comprendere cosa alimenta questi modelli di visione alla base è vitale per ottimizzare le strategie di deployment dei modelli.

Estrazione delle Caratteristiche e Ritenzione delle Informazioni

YOLOv5 utilizza un backbone Cross Stage Partial Network (CSPNet), che riduce efficacemente l'overhead computazionale mantenendo un flusso del gradiente accurato durante la retropropagazione. Questo design è altamente ottimizzato per le operazioni GPU tradizionali e garantisce requisiti di memoria inferiori durante l'addestramento rispetto alle pesanti alternative basate su transformer.

YOLOv9 introduce GELAN, un'architettura generica che estende i principi di CSPNet. Accoppiato con PGI—un ramo ausiliario reversibile—YOLOv9 assicura che gli strati profondi non perdano i dati semantici necessari per funzioni obiettivo precise. Ciò consente a YOLOv9 di raggiungere un'elevata accuratezza, in particolare su oggetti più piccoli, sebbene la complessa ramificazione ausiliaria possa talvolta complicare le pipeline di esportazione verso hardware edge fortemente vincolati.

Requisiti di Memoria ed Efficienza di Addestramento

Per quanto riguarda l'efficienza di training, YOLOv5 rimane incredibilmente robusto. L'ecosistema Ultralytics ben mantenuto assicura che i modelli YOLOv5 consumino molta meno memoria CUDA, consentendo ai ricercatori di massimizzare le dimensioni dei batch su GPU di fascia consumer. Mentre YOLOv9 raggiunge un'eccellente efficienza dei parametri (alta precisione rispetto alle sue dimensioni), il suo processo di training può essere più intensivo in termini di risorse se non si utilizzano framework ottimizzati. Fortunatamente, l'integrazione di YOLOv9 nell'API Ultralytics lo avvicina alla parità con la gestione ottimizzata delle risorse di YOLOv5.

Prestazioni e metriche

Per valutare oggettivamente queste architetture, confrontiamo le loro prestazioni su dataset standard come COCO. Di seguito è riportata una ripartizione dettagliata di metriche come mAP (Mean Average Precision), velocità di inferenza e numero di parametri.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Come mostra la tabella, YOLOv9 raggiunge una maggiore accuratezza grezza a livelli equivalenti, riflettendo la sua architettura più recente. Tuttavia, YOLOv5n mantiene una latenza TensorRT incredibilmente bassa di 1.12ms, evidenziando la sua forza duratura per applicazioni di edge computing localizzate e ad alta velocità.

Metodologie di formazione e facilità d'uso

Il vero vantaggio di sfruttare la visione artificiale oggi risiede nell'accessibilità della toolchain.

Il vantaggio di Ultralytics

Mentre i repository di ricerca originali per modelli come YOLOv9 sono fondamentali, spesso presentano complesse matrici di dipendenza e script boilerplate. L'API Python di Ultralytics astrae completamente questa complessità. Con l'ecosistema Ultralytics, puoi addestrare, valutare ed esportare sia YOLOv5 che YOLOv9 con una sintassi identica e unificata.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model for fast deployment
model_v5 = YOLO("yolov5s.pt")

# Or leverage a YOLOv9 model for high-fidelity accuracy
model_v9 = YOLO("yolov9c.pt")

# Train seamlessly on custom data with automatic MLflow logging
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)

# Export the trained model to ONNX
model_v9.export(format="onnx")

Questo approccio a singola API offre un'immensa versatilità, supportando non solo la detect, ma la stima della posa e le bounding box orientate (OBB) a seconda del modello scelto. Inoltre, robuste integrazioni con strumenti come Comet ML e Weights & Biases sono integrate direttamente nel ciclo di addestramento.

Casi d'Uso e Applicazioni nel Mondo Reale Ideali

La scelta tra queste architetture dipende in gran parte dai vincoli del tuo hardware e dalla precisione richiesta dal tuo dominio applicativo.

Quando scegliere YOLOv5

YOLOv5 è un veterano collaudato che eccelle nelle implementazioni che privilegiano stabilità, ridotto ingombro di memoria ed estrema compatibilità di esportazione.

  • Distribuzioni Mobili: L'esportazione di YOLOv5 in TFLite o CoreML per l'inferenza on-device su smartphone meno recenti è incredibilmente fluida.
  • Hardware Edge Legacy: Per dispositivi come Raspberry Pi o NVIDIA Jetson Nanos di prima generazione, le semplici convoluzioni di YOLOv5 assicurano frame rate consistenti per applicazioni come la gestione intelligente dei parcheggi.
  • Prototipazione Rapida: L'ampia disponibilità di tutorial della community, pesi pre-addestrati personalizzati e la compatibilità con dataset massivi lo rendono il modo più rapido per convalidare una prova di concetto.

Quando scegliere YOLOv9

YOLOv9 è ideale per scenari in cui catturare dettagli intricati e minimizzare i falsi negativi è assolutamente critico, anche se richiede un leggero overhead computazionale aggiuntivo.

  • Immagini Aeree e Satellitari: Il framework PGI è estremamente abile nel mantenere la fedeltà degli oggetti di piccole dimensioni, rendendo YOLOv9 eccellente per il monitoraggio agricolo basato su droni.
  • Diagnostica per immagini mediche: Quando si detect anomalie o lesioni minute in scansioni ad alta risoluzione, il flusso di gradiente accurato di GELAN fornisce un vantaggio necessario nel recall.
  • Analisi Avanzata per il Retail: Il tracciamento di prodotti sovrapposti su scaffali densi beneficia significativamente dalle superiori capacità di ritenzione delle feature di YOLOv9.

Ampliando i Tuoi Orizzonti

Sebbene il confronto tra YOLOv5 e YOLOv9 offra una chiara visione di come le architetture si siano evolute dal 2020 al 2024, il campo dell'IA si sta muovendo più velocemente che mai. Per gli sviluppatori che cercano la frontiera assoluta delle prestazioni, è altamente incoraggiata l'esplorazione degli ultimi modelli YOLO26. Sostituendo la tradizionale Non-Maximum Suppression con un design End-to-End NMS-Free nativo e utilizzando l'ottimizzatore MuSGD avanzato, YOLO26 colma il divario tra la precisione a livello di ricerca e la velocità a livello di produzione. Con la rimozione di DFL (Distribution Focal Loss rimossa per un'esportazione semplificata e una migliore compatibilità con dispositivi edge/a bassa potenza), YOLO26 raggiunge un'inferenza CPU fino al 43% più veloce, rendendolo ideale per l'edge computing. Inoltre, ProgLoss + STAL fornisce funzioni di perdita migliorate con notevoli miglioramenti nel riconoscimento di oggetti di piccole dimensioni, critico per IoT, robotica e immagini aeree.

Potrebbe anche essere interessato a confrontare queste architetture con altri modelli all'avanguardia come RT-DETR o il molto capace YOLO11. L'utilizzo del framework unificato Ultralytics garantisce che, indipendentemente dal modello scelto, la pipeline di sviluppo rimanga pulita, efficiente e pronta per la scalabilità.


Commenti