Vai al contenuto

YOLOv5 vs YOLOv9: Un confronto tecnico completo

L'evoluzione dell'object detection in tempo reale è stata segnata da rapidi progressi in termini di accuratezza ed efficienza. Due pietre miliari significative in questo percorso sono Ultralytics YOLOv5, un modello che ha stabilito lo standard del settore per usabilità e implementazione, e YOLOv9, un'architettura focalizzata sulla ricerca che spinge i confini della teoria del deep learning.

Questo confronto tecnico analizza le loro architetture, le metriche di performance e i casi d'uso ideali per aiutare sviluppatori e ricercatori a selezionare lo strumento giusto per i loro progetti di computer vision.

Ultralytics YOLOv5: Lo standard industriale per la versatilità

Dal suo rilascio, YOLOv5 è diventato uno dei modelli di IA visiva più popolari a livello globale. Sviluppato da Ultralytics, dà priorità all'eccellenza ingegneristica, alla facilità d'uso e alle prestazioni nel mondo reale. Bilancia velocità e accuratezza fornendo al contempo un'esperienza utente senza interruzioni attraverso un ecosistema robusto.

Dettagli tecnici:

Architettura e Design

YOLOv5 utilizza un backbone CSPDarknet combinato con un PANet neck per un'estrazione e un'aggregazione efficienti delle caratteristiche. La sua detection head basata su anchor è altamente ottimizzata per la velocità, rendendola adatta a un'ampia gamma di hardware. A differenza dei modelli puramente accademici, YOLOv5 è stato progettato pensando alla distribuzione, offrendo supporto nativo per iOS, Android e dispositivi edge.

Punti di Forza Chiave

  • Ecosistema ben manutenuto: YOLOv5 beneficia di anni di sviluppo attivo, risultando in documentazione completa, supporto della community e integrazioni con strumenti come Ultralytics HUB.
  • Efficienza dell'addestramento: È rinomato per i tempi di addestramento rapidi e i minori requisiti di memoria rispetto alle architetture basate su transformer, rendendolo accessibile su GPU consumer standard.
  • Versatilità: Oltre alla detection, YOLOv5 supporta nativamente instance segmentation e image classification, consentendo agli sviluppatori di affrontare molteplici task di visione con un singolo framework.
  • Pronto per l'implementazione: Grazie alle funzionalità di esportazione integrate in ONNX, TensorRT, CoreML e TFLite, il passaggio dalla ricerca alla produzione è semplificato.

Scopri di più su YOLOv5

YOLOv9: Innovazione architetturale per la massima precisione

Rilasciato nel 2024, YOLOv9 si concentra sulla risoluzione dei problemi di perdita di informazioni nelle reti profonde. Introduce nuovi concetti per migliorare il modo in cui i dati si propagano attraverso il modello, ottenendo risultati all'avanguardia su benchmark come COCO.

Dettagli tecnici:

Architettura e Innovazioni

YOLOv9 introduce due principali progressi architetturali:

  1. Informazioni sul gradiente programmabile (PGI): Una tecnica progettata per mitigare il problema del collo di bottiglia delle informazioni, garantendo che le informazioni di input complete siano disponibili per il calcolo della funzione di perdita.
  2. Generalized Efficient Layer Aggregation Network (GELAN): Un'architettura di rete leggera che ottimizza l'efficienza dei parametri, consentendo al modello di ottenere una maggiore accuratezza con meno parametri rispetto ad alcuni predecessori.

Punti di Forza Chiave

  • Elevata accuratezza: YOLOv9 stabilisce parametri di riferimento impressionanti per l'accuratezza del rilevamento oggetti, in particolare nelle sue configurazioni più grandi (YOLOv9-E).
  • Efficienza dei parametri: L'architettura GELAN assicura che il modello utilizzi i parametri in modo efficace, fornendo un forte rapporto accuratezza-peso.
  • Avanzamento teorico: Affronta problemi fondamentali nel deep learning riguardanti la conservazione delle informazioni negli strati profondi.

Scopri di più su YOLOv9

Confronto delle prestazioni

Quando si confrontano questi due modelli, il compromesso tipico risiede tra velocità e accuratezza assoluta. YOLOv9 raggiunge punteggi mAPval più elevati sul dataset COCO, dimostrando l'efficacia di PGI e GELAN. Tuttavia, Ultralytics YOLOv5 rimane un concorrente formidabile in termini di velocità di inferenza, in particolare su CPU e dispositivi edge, dove la sua architettura ottimizzata eccelle.

Bilanciamento delle prestazioni

Sebbene YOLOv9 sia in cima alle classifiche di precisione, YOLOv5 offre spesso un equilibrio più pratico per le applicazioni in tempo reale, offrendo velocità di inferenza significativamente più elevate (ms) su hardware standard pur mantenendo robuste capacità di detection.

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

Addestramento e risorse

Per gli sviluppatori, l'efficienza di training è spesso fondamentale quanto la velocità di inferenza. Ultralytics YOLOv5 è noto per la sua semplicità "train and go". In genere, richiede meno memoria durante il training rispetto alle architetture più recenti e complesse, in particolare i modelli basati su transformer (come RT-DETR). Questa barriera d'ingresso più bassa consente agli utenti di eseguire il training di modelli personalizzati su configurazioni hardware modeste.

YOLOv9, pur essendo efficiente nei parametri, può richiedere più risorse per l'addestramento a causa della complessità dei rami ausiliari utilizzati per il PGI, che vengono rimossi durante l'inferenza ma aggiungono overhead durante l'addestramento.

Esempio di codice: Interfaccia unificata

Uno dei principali vantaggi dell'ecosistema Ultralytics è l'API Python unificata. Puoi passare da YOLOv5 a YOLOv9 con una sola riga di codice, rendendo incredibilmente facile confrontarli entrambi sul tuo specifico set di dati.

from ultralytics import YOLO

# Load an Ultralytics YOLOv5 model (pre-trained on COCO)
model_v5 = YOLO("yolov5su.pt")

# Train the model on your custom data
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)

# Load a YOLOv9 model for comparison
model_v9 = YOLO("yolov9c.pt")

# Train YOLOv9 using the exact same API
results_v9 = model_v9.train(data="coco8.yaml", epochs=100, imgsz=640)

Casi d'uso ideali

La scelta tra questi modelli dipende dalle priorità del tuo progetto:

Quando scegliere Ultralytics YOLOv5

  • Edge Deployment: Ideale per Raspberry Pi, app mobili e sistemi embedded dove ogni millisecondo di latenza conta.
  • Prototipazione Rapida: La facilità d'uso, gli ampi tutorial e il supporto della community consentono cicli di sviluppo incredibilmente veloci.
  • Requisiti multi-task: Se il tuo progetto richiede segment o classificazione insieme al detect, YOLOv5 fornisce una soluzione unificata.
  • Vincoli di risorse: I progetti con memoria GPU limitata per l'addestramento trarranno vantaggio dall'efficienza di YOLOv5.

Quando scegliere YOLOv9

  • Massima precisione: Fondamentale per applicazioni come l'imaging medicale o l'ispezione industriale ad alta precisione, dove perdere un detect è costoso.
  • Ricerca Accademica: Eccellente per i ricercatori che esplorano le ultime novità nel flusso di informazioni sui gradienti e nella progettazione dell'architettura di rete.
  • Hardware Potente: Utilizzato al meglio quando sono disponibili ampie risorse computazionali per l'addestramento e l'inferenza per sfruttare appieno il suo potenziale.

Conclusione

Entrambi i modelli rappresentano l'eccellenza nel campo della computer vision. Ultralytics YOLOv5 rimane la scelta pragmatica per la maggior parte degli sviluppatori, offrendo una combinazione imbattibile di velocità, affidabilità e supporto dell'ecosistema. È un cavallo di battaglia collaudato per l'implementazione nel mondo reale. YOLOv9, d'altra parte, offre uno sguardo al futuro dell'efficienza architetturale, fornendo una precisione di alto livello per coloro che ne hanno bisogno.

Per chi è alla ricerca delle ultime novità assolute in termini di prestazioni e versatilità, consigliamo anche di esplorare YOLO11, che si basa sui punti di forza di YOLOv5 e YOLOv8 per fornire risultati all'avanguardia in tutte le metriche.

Esplora altri modelli

Se sei interessato ad approfondire, dai un'occhiata a questi modelli correlati nell'ecosistema Ultralytics:

  • YOLO11: L'ultimo modello SOTA che offre prestazioni e versatilità superiori.
  • YOLOv8: Un potente modello anchor-free che supporta detect, segment, posa e OBB.
  • RT-DETR: Un detector in tempo reale basato su transformer per applicazioni ad alta precisione.

Commenti