YOLOv9 vs YOLOv5: Un approfondimento tecnico sulla moderna object detection

Il campo della computer vision ha registrato una crescita straordinaria, con l'object detection che funge da pilastro per innumerevoli applicazioni industriali e di ricerca. Scegliere l'architettura giusta richiede spesso un'attenta valutazione della mean Average Precision (mAP), della velocità di inferenza e del carico di memoria. In questo confronto, esploriamo due modelli estremamente influenti: YOLOv9, celebre per le sue innovazioni architettoniche nella conservazione delle informazioni sul gradiente, e Ultralytics YOLOv5, lo standard industriale collaudato, noto per la sua incredibile facilità d'uso e una versatilità di deployment senza eguali.

Innovazioni architettoniche e origini tecniche

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

YOLOv9: Informazioni sul gradiente programmabile

Sviluppato dai ricercatori Chien-Yao Wang e Hong-Yuan Mark Liao presso l'Institute of Information Science, Academia Sinica a 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 vitali vengano conservate durante tutto il processo feed-forward, portando ad aggiornamenti del gradiente altamente accurati. Nel frattempo, l'architettura GELAN massimizza l'efficienza dei parametri, consentendo al modello di raggiungere un'accuratezza allo stato dell'arte con un overhead computazionale sorprendentemente basso. Puoi esplorare i dettagli tecnici nel paper Arxiv di YOLOv9 ufficiale o visualizzare 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à alla computer vision. Come uno dei primi modelli di object detection costruito nativamente sul framework PyTorch, ha superato le complessità del vecchio framework Darknet in C. YOLOv5 sfrutta un backbone CSPNet altamente ottimizzato e un neck PANet, dando priorità a un equilibrio perfetto tra velocità e accuratezza.

Il suo successo principale, tuttavia, è l'integrazione nel più ampio ecosistema Ultralytics. YOLOv5 è fortemente ottimizzato per una veloce training efficiency e per ambienti a bassa memoria, rendendolo incredibilmente stabile per il deployment su edge.

Scopri di più su YOLOv5

Efficienza della memoria

Quando valuti i modelli per i dispositivi edge, ricorda che i modelli Ultralytics YOLO richiedono solitamente una memoria GPU significativamente inferiore sia durante il training che durante l'inferenza rispetto alle pesanti architetture basate su Transformer.

Analisi delle prestazioni: Velocità vs. Accuratezza

Quando progetti una pipeline di computer vision, devi valutare i compromessi tra precisione e latenza. La seguente tabella illustra le differenze di prestazioni sul dataset COCO standard.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOP
(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 un dominio assoluto nella precisione pura. Il YOLOv9e sposta i confini della mAP al 55,6%, utilizzando i suoi layer GELAN per preservare dettagli minuziosi. Questo lo rende una scelta eccezionale per l'imaging medicale o per scenari che richiedono un'accuratezza rigorosa su oggetti di piccole dimensioni.

Al contrario, YOLOv5 brilla per la sua velocità di deployment pura e flessibilità hardware. Il YOLOv5n (Nano) è notoriamente leggero, eseguendo inferenze in soli 1,12 ms su una GPU T4 tramite TensorRT. Se stai eseguendo il deployment su dispositivi IoT vincolati, telefoni cellulari o Raspberry Pi, l'impronta di memoria di YOLOv5 lo rende straordinariamente affidabile.

Il vantaggio dell'ecosistema Ultralytics

Una considerazione importante quando selezioni un modello è l'ecosistema software circostante. Sebbene YOLOv9 fornisca benchmark di ricerca di alto livello, l'utilizzo di 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 complessi ostacoli ingegneristici. Funzionalità come la data augmentation automatica e il hyperparameter tuning sono gestite nativamente. Portare i modelli in produzione è altrettanto banale, con comandi di esportazione integrati per convertire i modelli in formati ONNX, OpenVINO o TFLite.

Versatilità dei task

Sebbene entrambi i modelli eccellano nell'object detection, i moderni modelli Ultralytics sono costruiti per affrontare una varietà di sfide di computer vision. Il framework più ampio fornisce supporto nativo per image classification, instance segmentation, pose estimation e oriented bounding boxes (OBB), permettendo agli sviluppatori di risolvere molteplici problemi di visione senza cambiare codebase.

Casi d'uso e raccomandazioni

Scegliere tra YOLOv9 e YOLOv5 dipende dai requisiti specifici del tuo progetto, dai vincoli di deployment e dalle preferenze dell'ecosistema.

Quando scegliere YOLOv9

YOLOv9 è un'ottima scelta per:

  • Ricerca sul collo di bottiglia informativo: Progetti accademici che studiano le architetture Programmable Gradient Information (PGI) e Generalized Efficient Layer Aggregation Network (GELAN).
  • Studi sull'ottimizzazione del flusso del gradiente: Ricerca focalizzata sulla comprensione e sulla mitigazione della perdita di informazioni negli strati profondi della rete durante l'addestramento.
  • Benchmarking del rilevamento ad alta precisione: Scenari in cui le solide prestazioni di YOLOv9 nel benchmark COCO sono necessarie come punto di riferimento per confronti architettonici.

Quando scegliere YOLOv5

YOLOv5 è consigliato per:

  • Sistemi di produzione comprovati: Implementazioni esistenti in cui sono apprezzati il lungo storico di stabilità, l'ampia documentazione e il massiccio supporto della community di YOLOv5.
  • Addestramento con risorse limitate: Ambienti con risorse GPU limitate in cui la pipeline di addestramento efficiente e i minori requisiti di memoria di YOLOv5 risultano vantaggiosi.
  • Ampio supporto per formati di esportazione: Progetti che richiedono l'implementazione su molti formati, inclusi 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 di sviluppo:

  • Deployment Edge senza NMS: Applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Non-Maximum Suppression.
  • Ambienti solo CPU: Dispositivi senza accelerazione GPU dedicata, dove l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
  • Rilevamento di piccoli oggetti: Scenari complessi come immagini di droni aerei o analisi tramite sensori IoT dove ProgLoss e STAL migliorano significativamente l'accuratezza su oggetti minuscoli.

Esempio di implementazione

La bellezza 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")

Esplorare architetture più recenti

Sebbene YOLOv5 e YOLOv9 siano modelli eccellenti con vantaggi distinti, il campo continua ad avanzare. Gli utenti che esplorano nuovi progetti potrebbero voler valutare anche le ultime iterazioni di Ultralytics.

  • YOLO11: Un'evoluzione potente e raffinata della linea YOLOv8 che offre un eccellente equilibrio tra velocità e accuratezza in tutti i task di visione.
  • YOLO26: Rilasciato nel 2026, YOLO26 è la raccomandazione definitiva per le pipeline moderne. Introduce un Design End-to-End NMS-Free, eliminando completamente i colli di bottiglia del post-processing. Con la DFL Removal (Distribution Focal Loss rimossa per un'esportazione semplificata e una migliore compatibilità con dispositivi edge/a basso consumo), raggiunge fino al 43% di inferenza CPU più veloce. La stabilità dell'addestramento è potenziata tramite il nuovo MuSGD Optimizer, e ProgLoss + STAL fornisce funzioni di loss migliorate con notevoli miglioramenti nel riconoscimento di piccoli oggetti, critico per IoT, robotica e immagini aeree, rendendolo l'architettura più robusta sia per deployment edge che cloud.

Per i team che gestiscono grandi dataset e pipeline di deployment complesse, l'utilizzo della piattaforma Ultralytics offre una soluzione no-code per addestrare, tracciare e implementare questi modelli all'avanguardia senza sforzo.

Commenti