Ultralytics YOLO27:
Get Started

YOLOv9 vs YOLOv5#

Il settore della visione artificiale ha registrato una crescita enorme e il rilevamento degli oggetti è alla base di innumerevoli applicazioni industriali e di ricerca. Scegliere l'architettura giusta richiede spesso un'attenta valutazione della precisione media (mAP), della velocità di inferenza e dell'occupazione di memoria. In questo confronto analizziamo due modelli molto influenti: YOLOv9, apprezzato per le innovazioni architetturali nella conservazione delle informazioni sui gradienti, e Ultralytics YOLOv5, lo standard industriale collaudato sul campo, noto per la straordinaria facilità d'uso e la versatilità di distribuzione senza pari.

Innovazioni architetturali e origini tecniche#

Comprendere i meccanismi alla base di questi due modelli fornisce un contesto fondamentale per interpretarne i rispettivi profili prestazionali.

YOLOv9: informazioni di gradiente programmabili#

Sviluppato dai ricercatori Chien-Yao Wang e Hong-Yuan Mark Liao presso l'Institute of Information Science dell'Academia Sinica di Taiwan, YOLOv9 è stato rilasciato il 21 febbraio 2024. Il modello introduce due concetti rivoluzionari per affrontare il collo di bottiglia informativo comune nelle reti neurali profonde: Programmable Gradient Information (PGI) e Generalized Efficient Layer Aggregation Network (GELAN).

Utilizzando PGI, YOLOv9 garantisce che le informazioni essenziali vengano conservate durante il processo feed-forward, producendo aggiornamenti dei gradienti molto precisi. L'architettura GELAN, invece, massimizza l'efficienza dei parametri e consente al modello di raggiungere una precisione all'avanguardia con costi computazionali sorprendentemente bassi. Puoi approfondire i dettagli tecnici nell'articolo ufficiale YOLOv9 su Arxiv o consultare il repository GitHub di YOLOv9.

Scopri di più su YOLOv9

Ultralytics YOLOv5: lo standard per la produzione#

Scritto da Glenn Jocher e rilasciato da Ultralytics il 26 giugno 2020, YOLOv5 ha rivoluzionato l'accessibilità della visione artificiale. Come uno dei primi modelli per il rilevamento di oggetti sviluppati nativamente sul framework PyTorch, ha evitato le complessità del vecchio framework C Darknet. YOLOv5 sfrutta un backbone CSPNet altamente ottimizzato e un neck PANet, puntando a un equilibrio armonioso tra velocità e precisione.

Il suo risultato più importante, però, è l'integrazione nell'ecosistema Ultralytics più ampio. YOLOv5 è ampiamente ottimizzato per garantire un'efficienza di addestramento elevata e funzionare in ambienti con poca memoria, risultando estremamente stabile nelle distribuzioni edge.

Efficienza della memoria

Quando valuti modelli per dispositivi edge, ricorda che i modelli Ultralytics YOLO richiedono in genere molta meno memoria GPU durante l'addestramento e l'inferenza rispetto alle pesanti architetture basate su Transformer.

Analisi delle prestazioni: velocità e precisione#

Quando progettano una pipeline di visione artificiale, gli sviluppatori devono valutare i compromessi tra precisione e latenza. La tabella seguente illustra le differenze prestazionali sul dataset COCO standard.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

Analisi dei compromessi#

YOLOv9 si impone in modo assoluto in termini di precisione pura. YOLOv9e porta la mAP al 55,6%, sfruttando i layer GELAN per preservare i dettagli più fini. Questo lo rende una scelta eccezionale per l'imaging medico o per gli scenari che richiedono una precisione rigorosa sugli oggetti piccoli.

Al contrario, YOLOv5 si distingue per la velocità di distribuzione e la flessibilità hardware. YOLOv5n (Nano) è noto per la sua leggerezza e completa l'inferenza in appena 1,12 ms su una GPU T4 tramite TensorRT. Se distribuisci il modello su dispositivi IoT con risorse limitate, telefoni cellulari o Raspberry Pi, l'ingombro di memoria ridotto di YOLOv5 lo rende straordinariamente affidabile.

I vantaggi dell’ecosistema Ultralytics#

Un aspetto importante nella scelta di un modello è l'ecosistema software circostante. Sebbene YOLOv9 offra benchmark di ricerca di altissimo livello, utilizzare entrambi i modelli tramite la moderna API Python di Ultralytics colma il divario e offre agli sviluppatori un'esperienza unificata e semplificata.

Facilità d'uso ed esportazione#

Ultralytics astrae le complesse difficoltà ingegneristiche. Funzionalità come l'aumento automatico dei dati e l'ottimizzazione degli iperparametri sono già integrate. Anche il passaggio dei modelli alla produzione è semplice, grazie ai comandi di esportazione integrati che li convertono nei formati ONNX, OpenVINO o LiteRT.

Versatilità delle attività#

Sebbene entrambi i modelli eccellano nel rilevamento di oggetti, i moderni modelli Ultralytics sono progettati per affrontare diverse sfide di visione artificiale. Il framework più ampio offre supporto nativo per la classificazione delle immagini, la segmentazione di istanze, la stima della posa e i riquadri di delimitazione orientati (OBB), consentendo agli sviluppatori di risolvere diversi problemi di visione senza cambiare base di codice.

Casi d'uso e consigli#

La scelta tra YOLOv9 e YOLOv5 dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle preferenze relative all'ecosistema.

Quando scegliere YOLOv9#

YOLOv9 è una scelta valida per:

  • Ricerca sui colli di bottiglia informativi: progetti accademici che studiano le informazioni di gradiente programmabili (PGI) e le architetture di rete di aggregazione efficiente generalizzata dei livelli (GELAN).
  • Studi sull'ottimizzazione del flusso del gradiente: ricerche incentrate sulla comprensione e sulla riduzione della perdita di informazioni nei livelli delle reti profonde durante l'addestramento.
  • Benchmark di rilevamento ad alta precisione: scenari in cui le prestazioni di YOLOv9 nei benchmark COCO servono come riferimento per confrontare le architetture.

Quando scegliere YOLOv5#

YOLOv5 è consigliato per:

  • Sistemi di produzione collaudati: distribuzioni esistenti in cui sono apprezzati lo storico di stabilità di YOLOv5, la documentazione esaustiva e il vasto supporto della community.
  • Addestramento con risorse limitate: ambienti con risorse GPU limitate, in cui la pipeline di addestramento efficiente e i requisiti di memoria ridotti di YOLOv5 sono vantaggiosi.
  • Ampio supporto dei formati di esportazione: progetti che richiedono la distribuzione in numerosi formati, tra cui ONNX, TensorRT, CoreML e LiteRT.

Quando scegliere Ultralytics (YOLO26)#

Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la combinazione migliore di prestazioni ed esperienza per gli sviluppatori:

  • Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
  • Ambienti con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
  • Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.

Esempio di implementazione#

Il vantaggio dell'ecosistema Ultralytics è che puoi passare da un modello YOLOv5 a uno YOLOv9 semplicemente modificando la stringa dei pesi.

from ultralytics import YOLO

# Carica un modello YOLOv9 pretrained (sostituisci con "yolov5su.pt" per usare YOLOv5u)
model = YOLO("yolov9c.pt")

# Addestra il modello in modo efficiente su un dataset personalizzato
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Esegui l'inferenza su nuove immagini
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")

# Esporta in ONNX per una distribuzione senza interruzioni
model.export(format="onnx")

Esplorare le architetture più recenti#

YOLOv5 e YOLOv9 sono modelli eccellenti con vantaggi distinti, ma il settore continua a evolversi. Chi avvia nuovi progetti potrebbe voler valutare anche le ultime versioni di Ultralytics.

  • YOLO11: evoluzione potente e perfezionata della famiglia YOLOv8, che offre un eccellente equilibrio tra velocità e precisione in tutte le attività di visione.
  • YOLO26: rilasciato nel 2026, YOLO26 è la scelta ideale per le pipeline moderne. Introduce una progettazione end-to-end senza NMS opzionale (nms=False) che elimina i colli di bottiglia della post-elaborazione NMS. Grazie alla rimozione di DFL (Distribution Focal Loss eliminata per semplificare l'esportazione e migliorare la compatibilità con dispositivi edge e a basso consumo), offre un'inferenza CPU fino al 43% più veloce. Il nuovo ottimizzatore MuSGD potenzia la stabilità dell'addestramento, mentre ProgLoss + STAL (Progressive Loss e Small-Target-Aware Label Assignment) migliorano notevolmente il riconoscimento degli oggetti piccoli, essenziale per IoT, robotica e immagini aeree, rendendo YOLO26 l'architettura più robusta per le distribuzioni edge e cloud.

Per i team che gestiscono dataset di grandi dimensioni e pipeline di distribuzione complesse, la piattaforma Ultralytics offre una soluzione senza codice per addestrare, monitorare e distribuire facilmente questi modelli all'avanguardia.

Commenti