Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Get Started

YOLOv9 vs YOLOv5#

Il settore della visione artificiale è cresciuto rapidamente e il rilevamento degli oggetti è alla base di molte applicazioni industriali e di ricerca. La scelta dell'architettura giusta richiede spesso un'attenta valutazione della precisione media (mAP), della velocità di inferenza e dell'occupazione aggiuntiva di memoria. Questo confronto esamina due modelli di rilievo: YOLOv9, noto per i progressi architetturali nel mantenimento delle informazioni sul gradiente, e Ultralytics YOLOv5, un modello collaudato sul campo e ampiamente utilizzato, noto per la facilità d'uso e la versatilità nell'implementazione.

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 dell'Institute of Information Science, Academia Sinica, a Taiwan, YOLOv9 è stato rilasciato il 21 febbraio 2024. Il modello introduce due nuovi concetti per affrontare il collo di bottiglia informativo comune nelle reti neurali profonde: le informazioni programmabili sul gradiente (PGI) e la rete di aggregazione dei layer efficiente generalizzata (GELAN).

Utilizzando PGI, YOLOv9 assicura che le informazioni essenziali vengano conservate durante la propagazione in avanti, favorendo aggiornamenti del gradiente più affidabili. L'architettura GELAN, invece, massimizza l'efficienza dei parametri e consente al modello di raggiungere un'elevata precisione con un basso carico computazionale. 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#

Sviluppato da Glenn Jocher e rilasciato da Ultralytics il 26 giugno 2020, YOLOv5 ha reso la computer vision molto più accessibile. Essendo uno dei primi modelli di rilevamento degli oggetti creati nativamente con il framework PyTorch, ha evitato le complessità del vecchio framework C Darknet. YOLOv5 utilizza un backbone basato su CSPNet e un neck PANet, bilanciando velocità e precisione.

Il suo principale punto di forza, tuttavia, è l'integrazione nell'ecosistema più ampio di Ultralytics. YOLOv5 è ottimizzato per un addestramento rapido e per gli ambienti con poca memoria, il che lo rende stabile nei deployment 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 computer vision, gli sviluppatori devono valutare i compromessi tra precisione e latenza. La tabella seguente illustra le differenze prestazionali sul dataset COCO standard.

Modellodimensione
(pixel)
mAPval50-95Velocità
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 ha una precisione superiore, con una mAP maggiore rispetto a YOLOv5 a ogni dimensione indicata in questa tabella. YOLOv9e raggiunge il 55,6% di mAP e utilizza i layer GELAN per conservare i dettagli più fini, risultando un'ottima scelta per l'imaging medico o per gli scenari che richiedono una precisione rigorosa sugli oggetti piccoli.

Al contrario, YOLOv5 è più veloce su GPU e più flessibile a livello hardware. YOLOv5n (Nano) è molto leggero ed esegue inferenze in appena 1,12 ms su una GPU T4 tramite TensorRT. Se distribuisci i modelli su dispositivi IoT con risorse limitate, telefoni cellulari o Raspberry Pi, l'ingombro ridotto in memoria di YOLOv5 lo rende una scelta affidabile.

I vantaggi dell’ecosistema Ultralytics#

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

Facilità d'uso ed esportazione#

Ultralytics gestisce le attività ingegneristiche complesse. Funzionalità come l'augmentation dei dati e l'ottimizzazione degli iperparametri automatiche sono disponibili fin da subito. Anche portare i modelli in 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 degli oggetti, i moderni modelli Ultralytics sono progettati per affrontare diverse sfide della computer vision. Il framework più ampio offre supporto nativo per la segmentazione di istanze, la classificazione delle immagini, la stima della posa e i riquadri orientati (OBB), consentendo agli sviluppatori di risolvere più 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 contano la lunga esperienza di stabilità di YOLOv5, la documentazione esaustiva e l'ampia 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 per i formati di esportazione: progetti che richiedono il deployment in molti 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 un’inferenza costante e a bassa latenza, senza la complessità della post-elaborazione con Non-Maximum Suppression (NMS).
  • Ambienti senza GPU: Dispositivi privi di accelerazione GPU dedicata, sui quali l’inferenza CPU di YOLO26n, fino al 43% più veloce di YOLO11n, offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari impegnativi come le immagini aeree da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano la precisione sugli oggetti minuscoli.

Esempio di implementazione#

Con l'ecosistema Ultralytics puoi passare da un modello YOLOv5 a un modello YOLOv9 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 la distribuzione
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: un'evoluzione perfezionata della linea YOLOv8, che offre un eccellente equilibrio tra velocità e precisione per tutti i task di visione.
  • YOLO26: rilasciato a gennaio 2026, YOLO26 è il modello consigliato per le nuove pipeline. Introduce un design 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 rimossa per semplificare l'esportazione e migliorare la compatibilità con i dispositivi edge e a basso consumo), YOLO26n raggiunge un'inferenza su CPU fino al 43% più veloce di YOLO11n. L'ottimizzatore MuSGD migliora la stabilità dell'addestramento, mentre ProgLoss + STAL (Progressive Loss e assegnazione delle etichette consapevole degli oggetti piccoli) migliorano il rilevamento degli oggetti piccoli nelle applicazioni IoT, nella robotica e nelle immagini aeree, sia nei deployment edge sia in quelli cloud.

Per i team che gestiscono grandi dataset e pipeline di deployment complesse, Ultralytics Platform offre un modo senza codice per addestrare, monitorare e distribuire questi modelli.

Commenti