Ultralytics YOLO27:

YOLOv5 vs YOLOv9#

Negli ultimi anni, il panorama della computer vision e del rilevamento degli oggetti in tempo reale ha registrato progressi notevoli. Orientarsi nella scelta tra modelli affermati e collaudati e architetture di ricerca più recenti è una sfida comune per gli ingegneri del machine learning. Questa guida offre un confronto tecnico completo tra due modelli altamente influenti della famiglia YOLO: YOLOv5 e YOLOv9.

Che tu stia implementando il modello su dispositivi edge con risorse limitate, studiando l'estrazione di caratteristiche ad alta fedeltà o sviluppando pipeline complesse di rilevamento degli oggetti, comprendere le sfumature architetturali, le metriche delle prestazioni e le differenze tra gli ecosistemi di questi modelli è fondamentale.

Panoramica dei modelli#

Prima di esaminare i confronti architetturali, è utile comprendere le origini e gli obiettivi principali di ciascun modello.

Ultralytics YOLOv5#

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

YOLOv5 è rinomato per la sua facilità d'uso e per le prestazioni stabili su diversi ambienti hardware. Supporta non solo il rilevamento, ma anche la classificazione delle immagini e la segmentazione delle istanze.

YOLOv9#

Introdotto da Chien-Yao Wang e Hong-Yuan Mark Liao dell'Institute of Information Science dell'Academia Sinica, Taiwan, YOLOv9 si concentra fortemente sulla teoria architetturale per mitigare i problemi del collo di bottiglia informativo nelle reti neurali profonde.

Il nucleo di YOLOv9 si basa su due importanti innovazioni teoriche: le informazioni programmabili del gradiente (PGI) e la rete generalizzata per l'aggregazione efficiente dei layer (GELAN). Questi concetti aiutano il modello a conservare le caratteristiche spaziali fondamentali attraverso i layer profondi della rete.

Scopri di più su YOLOv9

Preparati per il futuro con le tue implementazioni

Sebbene YOLOv5 e YOLOv9 siano potenti, il nuovo YOLO26 rappresenta l'equilibrio ottimale tra velocità e precisione. Grazie a un design end-to-end senza NMS e a un'inferenza su CPU fino al 43% più veloce, YOLO26 è altamente consigliato per il moderno edge computing e le implementazioni in produzione.

Differenze architetturali e tecniche#

Comprendere cosa alimenta questi modelli di visione sotto il cofano è fondamentale per ottimizzare le strategie di implementazione dei modelli.

Estrazione delle caratteristiche e conservazione delle informazioni#

YOLOv5 utilizza una rete parziale tra fasi (CSPNet) come backbone, che riduce efficacemente il sovraccarico computazionale mantenendo un flusso accurato dei gradienti durante la retropropagazione. Questo design è altamente ottimizzato per le operazioni su GPU tradizionali e garantisce requisiti di memoria inferiori durante l'addestramento rispetto alle alternative basate su Transformer più pesanti.

YOLOv9 introduce GELAN, un'architettura generica che estende i principi di CSPNet. In combinazione con PGI, un ramo ausiliario reversibile, YOLOv9 garantisce che i layer profondi non perdano i dati semantici necessari per funzioni obiettivo precise. Ciò consente a YOLOv9 di raggiungere un'elevata accuratezza, in particolare sugli oggetti più piccoli, anche se la complessa ramificazione ausiliaria può talvolta complicare le pipeline di esportazione verso hardware edge fortemente vincolato.

Requisiti di memoria ed efficienza di addestramento#

Per quanto riguarda l'efficienza dell'addestramento, YOLOv5 rimane incredibilmente robusto. L'ecosistema Ultralytics, sottoposto a una manutenzione costante, garantisce che i modelli YOLOv5 consumino molta meno memoria CUDA, consentendo ai ricercatori di massimizzare le dimensioni dei batch sulle GPU destinate al mercato consumer. Sebbene YOLOv9 raggiunga un'eccellente efficienza dei parametri, con un'elevata accuratezza rispetto alle sue dimensioni, il suo processo di addestramento può richiedere più risorse se non si utilizzano framework ottimizzati. Fortunatamente, l'integrazione di YOLOv9 nell'API Ultralytics lo avvicina alla gestione semplificata delle risorse di YOLOv5.

Prestazioni e metriche#

Per valutare obiettivamente queste architetture, confrontiamo le loro prestazioni su dataset standard come COCO. Di seguito trovi un'analisi dettagliata di metriche quali mAP (precisione media media), 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 parità di livello, a dimostrazione della sua architettura più recente. Tuttavia, YOLOv5n mantiene una latenza TensorRT incredibilmente bassa, pari a 1,12 ms, evidenziando la sua persistente efficacia per le applicazioni di edge computing localizzate e ad alta velocità.

Metodologie di addestramento e facilità d'uso#

Il vero vantaggio di sfruttare oggi la computer vision risiede nell'accessibilità della toolchain.

Il vantaggio di Ultralytics#

Sebbene i repository di ricerca originali per modelli come YOLOv9 siano fondamentali, spesso includono matrici di dipendenze complesse e script boilerplate. L'API Python di Ultralytics astrae completamente questa complessità. Con l'ecosistema Ultralytics, puoi addestrare, valutare ed esportare sia YOLOv5 sia YOLOv9 utilizzando 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 basato su un'unica API offre un'enorme versatilità, supportando non solo il rilevamento, ma anche la stima della posa e i riquadri di delimitazione orientati (OBB), a seconda del modello scelto. Inoltre, solide integrazioni con strumenti come Comet ML e Weights & Biases sono integrate direttamente nel ciclo di addestramento.

Casi d'uso ideali e applicazioni nel mondo reale#

La scelta tra queste architetture dipende in larga misura dai vincoli del tuo hardware e dalla precisione richiesta dal tuo ambito applicativo.

Quando scegliere YOLOv5#

YOLOv5 è un veterano collaudato sul campo, ideale per le implementazioni che danno priorità alla stabilità, a un ridotto ingombro in memoria e a un'estrema compatibilità con l'esportazione.

  • Implementazioni mobili: esportare YOLOv5 in TFLite o CoreML per l'inferenza sul dispositivo su smartphone meno recenti è incredibilmente semplice.
  • Hardware edge legacy: sui dispositivi come Raspberry Pi o i primi NVIDIA Jetson Nano, le convoluzioni lineari di YOLOv5 garantiscono frequenze dei fotogrammi costanti per applicazioni come la gestione intelligente dei parcheggi.
  • Prototipazione rapida: l'ampia disponibilità di tutorial della community, pesi preaddestrati personalizzati e compatibilità con enormi dataset ne fa il modo più rapido per validare una prova di concetto.

Quando scegliere YOLOv9#

YOLOv9 è ideale per gli scenari in cui catturare dettagli complessi e ridurre al minimo i falsi negativi è assolutamente fondamentale, anche se richiede un sovraccarico computazionale leggermente maggiore.

  • Immagini aeree e satellitari: il framework PGI è particolarmente efficace nel mantenere la fedeltà degli oggetti piccoli, rendendo YOLOv9 eccellente per il monitoraggio agricolo basato su droni.
  • Diagnostica per immagini mediche: quando si rilevano anomalie o lesioni minime in scansioni ad alta risoluzione, l'accurato flusso dei gradienti di GELAN offre un vantaggio necessario in termini di recall.
  • Analisi retail di fascia alta: il tracciamento di prodotti sovrapposti su scaffali affollati trae notevoli vantaggi dalle superiori capacità di conservazione delle caratteristiche di YOLOv9.

Amplia i tuoi orizzonti#

Sebbene il confronto tra YOLOv5 e YOLOv9 offra una visione chiara dell'evoluzione delle architetture dal 2020 al 2024, il campo dell'AI si muove più rapidamente che mai. Agli sviluppatori che cercano la frontiera assoluta delle prestazioni consigliamo vivamente di esplorare gli ultimi modelli YOLO26. Sostituendo la soppressione non massima tradizionale con un design end-to-end nativo senza NMS e utilizzando l'avanzato ottimizzatore MuSGD, YOLO26 colma il divario tra l'accuratezza di livello ricerca e la velocità di livello produzione. Grazie alla rimozione di DFL (Distribution Focal Loss rimossa per semplificare l'esportazione e migliorare la compatibilità con dispositivi edge e a basso consumo), YOLO26 raggiunge un'inferenza su CPU fino al 43% più veloce, rendendolo ideale per l'edge computing. Inoltre, ProgLoss + STAL offre funzioni di perdita migliorate, con progressi significativi nel riconoscimento degli oggetti piccoli, fondamentale per IoT, robotica e immagini aeree.

Potrebbe interessarti anche confrontare queste architetture con altri modelli all'avanguardia, come RT-DETR o il modello altamente performante YOLO11. L'utilizzo del framework unificato Ultralytics garantisce che, indipendentemente dal modello scelto, la tua pipeline di sviluppo rimanga pulita, efficiente e pronta a scalare.

Commenti