Ultralytics YOLO27:

Confronto tra YOLOv9 e YOLOv5#

Il campo della visione artificiale ha conosciuto una crescita straordinaria, con il rilevamento degli oggetti a fare da dorsale a innumerevoli applicazioni industriali e di ricerca. La scelta dell'architettura giusta richiede spesso un'attenta valutazione della Precisione Media Media (mAP), della velocità di inferenza e del sovraccarico di memoria. In questo confronto analizziamo due modelli di grande rilievo: YOLOv9, celebrato per le sue innovazioni architetturali nella conservazione delle informazioni sui gradienti, e Ultralytics YOLOv5, lo standard industriale collaudato sul campo, noto per la sua 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 interpretare i rispettivi profili prestazionali.

YOLOv9: informazioni programmabili sul gradiente#

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 innovativi per affrontare il collo di bottiglia informativo comune nelle reti neurali profonde: le Informazioni programmabili sui gradienti (PGI) e la Rete generalizzata di aggregazione efficiente dei livelli (GELAN).

Utilizzando PGI, YOLOv9 garantisce la conservazione delle informazioni fondamentali durante il processo feed-forward, producendo aggiornamenti dei gradienti altamente accurati. Nel frattempo, l'architettura GELAN massimizza l'efficienza dei parametri, consentendo al modello di raggiungere un'accuratezza all'avanguardia con un sovraccarico computazionale sorprendentemente ridotto. Puoi approfondire i dettagli tecnici nell'articolo ufficiale YOLOv9 su Arxiv oppure consultare il repository GitHub di YOLOv9.

Scopri di più su YOLOv9

Ultralytics YOLOv5: lo standard per la produzione#

Creato da Glenn Jocher e rilasciato da Ultralytics il 26 giugno 2020, YOLOv5 ha rivoluzionato l'accessibilità della visione artificiale. Essendo uno dei primi modelli di rilevamento degli oggetti costruiti nativamente sul framework PyTorch, ha evitato le complessità del precedente framework C di Darknet. YOLOv5 sfrutta un backbone CSPNet altamente ottimizzato e un neck PANet, privilegiando un equilibrio fluido tra velocità e accuratezza.

Il suo risultato più importante, tuttavia, è la sua integrazione nell'ecosistema Ultralytics più ampio. YOLOv5 è fortemente ottimizzato per una efficienza di addestramento elevata e per gli ambienti con poca memoria, il che lo rende estremamente stabile per le distribuzioni edge.

Efficienza della memoria

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

Analisi delle prestazioni: velocità contro accuratezza#

Quando progetti una pipeline di visione artificiale, devi valutare i compromessi tra precisione e latenza. La tabella seguente illustra le differenze di prestazioni 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.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
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

Analisi dei compromessi#

YOLOv9 stabilisce una netta superiorità nella precisione pura. YOLOv9e porta la mAP al 55,6%, utilizzando i suoi livelli GELAN per preservare i dettagli a grana fine. Questo lo rende una scelta eccezionale per l'imaging medico o per gli scenari che richiedono un'accuratezza rigorosa sugli oggetti di piccole dimensioni.

Al contrario, YOLOv5 eccelle nella velocità di distribuzione pura e nella flessibilità hardware. YOLOv5n (Nano) è noto per la sua leggerezza ed esegue le inferenze 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'impronta di memoria di YOLOv5 lo rende straordinariamente affidabile.

Il vantaggio dell'ecosistema Ultralytics#

Un aspetto importante nella scelta di un modello è l'ecosistema software circostante. Sebbene YOLOv9 offra benchmark di ricerca di alto livello, utilizzare 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 astrae le complessità ingegneristiche. Funzionalità come l'aumento dei dati automatico e l'ottimizzazione degli iperparametri sono gestite automaticamente. Portare i modelli in produzione è altrettanto semplice, grazie ai comandi di esportazione integrati che li convertono nei formati ONNX, OpenVINO o TFLite.

Versatilità delle attività#

Sebbene entrambi i modelli eccellano nel rilevamento degli oggetti, i moderni modelli Ultralytics sono progettati per affrontare una varietà di sfide di visione artificiale. Il framework più ampio offre supporto nativo per la classificazione delle immagini, la segmentazione delle istanze, la stima della posa e i riquadri delimitatori orientati (OBB), permettendoti di risolvere più problemi di visione senza cambiare codebase.

Casi d'uso e raccomandazioni#

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

Quando scegliere YOLOv9#

YOLOv9 è una scelta valida per:

  • Ricerca sui colli di bottiglia informativi: progetti accademici che studiano le architetture basate sulle Informazioni programmabili sul gradiente (PGI) e sulla Rete generalizzata per l'aggregazione efficiente dei livelli (GELAN).
  • Studi sull'ottimizzazione del flusso del gradiente: ricerche incentrate sulla comprensione e sulla mitigazione della perdita di informazioni nei livelli delle reti profonde durante l'addestramento.
  • Benchmarking del rilevamento ad alta accuratezza: scenari in cui le solide prestazioni di YOLOv9 sul benchmark COCO sono necessarie come punto di riferimento per confronti architetturali.

Quando scegliere YOLOv5#

YOLOv5 è consigliato per:

  • Sistemi di produzione collaudati: implementazioni esistenti in cui sono apprezzati il lungo storico di stabilità di YOLOv5, la documentazione estesa e l'enorme supporto della community.
  • Addestramento con risorse limitate: ambienti con risorse GPU limitate, in cui la pipeline di addestramento efficiente di YOLOv5 e i requisiti di memoria inferiori sono vantaggiosi.
  • Ampio supporto dei formati di esportazione: progetti che richiedono l'implementazione in numerosi formati, tra cui ONNX, TensorRT, CoreML e TFLite.

Quando scegliere Ultralytics (YOLO26)#

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

  • Deployment edge senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Soppressione non massima.
  • Ambienti esclusivamente CPU: dispositivi privi di accelerazione GPU dedicata, dove l'inferenza su CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari complessi come le immagini aeree riprese da droni o l'analisi di sensori IoT, in cui ProgLoss e STAL migliorano significativamente l'accuratezza sugli oggetti di piccole dimensioni.

Esempio di implementazione#

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

from ultralytics import YOLO

# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")

# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")

# Export to ONNX for seamless deployment
model.export(format="onnx")

Esplorazione delle architetture più recenti#

Sebbene YOLOv5 e YOLOv9 siano modelli eccellenti con vantaggi distinti, il settore continua a evolversi. Chi sta esplorando nuovi progetti potrebbe voler valutare anche le iterazioni più recenti di Ultralytics.

  • YOLO11: Un'evoluzione potente e perfezionata della linea YOLOv8, che offre un eccellente equilibrio tra velocità e accuratezza in tutte le attività di visione.
  • YOLO26: Rilasciato nel 2026, YOLO26 è la raccomandazione definitiva per le pipeline moderne. Introduce un design end-to-end senza NMS, eliminando completamente i colli di bottiglia del post-processing. Grazie alla rimozione di DFL (Distribution Focal Loss rimossa per semplificare l'esportazione e migliorare la compatibilità con dispositivi edge e a basso consumo), raggiunge un'inferenza su CPU fino al 43% più veloce. La stabilità dell'addestramento è potenziata dal nuovo ottimizzatore MuSGD, mentre ProgLoss + STAL offre funzioni di perdita migliorate, con progressi significativi nel riconoscimento degli oggetti piccoli, fondamentale per IoT, robotica e immagini aeree, rendendola l'architettura più robusta sia per le distribuzioni edge sia per quelle cloud.

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

Commenti