Vai al contenuto

YOLOv9 vs. YOLO: un confronto tecnico completo

Nel panorama in rapida evoluzione della computer vision, la scelta dell'architettura ottimale per il rilevamento degli oggetti è fondamentale per il successo del progetto. Questa analisi fornisce un confronto tecnico dettagliato tra due modelli formidabili: YOLOv9celebrato per le sue innovazioni architettoniche nelle informazioni sul gradiente, e YOLO, un modello di Alibaba Group progettato per l'inferenza ad alta velocità. Esaminiamo le loro architetture uniche, le metriche delle prestazioni e gli scenari di implementazione ideali per guidare sviluppatori e ricercatori nel prendere decisioni informate.

YOLOv9: informazioni programmabili sulla pendenza per una precisione superiore

YOLOv9 segna un'evoluzione significativa nella serie You Only Look OnceYOLO), concentrandosi sulla risoluzione del problema del collo di bottiglia delle informazioni insito nelle reti neurali profonde. Garantendo che i dati di input cruciali siano conservati in tutti gli strati della rete, YOLOv9 raggiunge un'accuratezza all'avanguardia.

Autori: Chien-Yao Wang e Hong-Yuan Mark Liao
Organizzazione:Institute of Information Science, Academia Sinica, Taiwan
Data: 2024-02-21
Arxiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9 Documentation

Architettura e innovazioni di base

L'architettura di YOLOv9 si basa su due concetti innovativi progettati per ottimizzare l'efficienza del deep learning:

  1. Informazioni programmabili sul gradiente (PGI): PGI è un framework di supervisione ausiliario che affronta il problema della perdita di informazioni quando i dati si propagano attraverso gli strati profondi. Garantisce che la funzione di perdita riceva gradienti affidabili, consentendo al modello di apprendere caratteristiche più efficaci senza aggiungere costi di inferenza.
  2. Generalized Efficient Layer Aggregation Network (GELAN): Questa nuova architettura combina i punti di forza di CSPNet ed ELAN. GELAN è progettata per massimizzare l'utilizzo dei parametri e l'efficienza computazionale, fornendo una dorsale leggera ma potente che supporta diversi blocchi computazionali.

Punti di forza ed ecosistema

  • Precisione ai massimi livelli: YOLOv9 raggiunge risultati eccezionali mAP sul set di datiCOCO , stabilendo dei parametri di riferimento per i rilevatori di oggetti in tempo reale.
  • Efficienza dei parametri: Grazie a GELAN, il modello offre prestazioni elevate con un numero inferiore di parametri rispetto a molti predecessori.
  • IntegrazioneUltralytics : L'appartenenza all'ecosistema Ultralytics significa che YOLOv9 beneficia di un'APIPython unificata, di opzioni di esportazione dei modelli senza soluzione di continuitàONNX, TensorRT, CoreML) e di una solida documentazione.
  • Stabilità della formazione: Il framework PGI migliora significativamente la velocità di convergenza e la stabilità durante l'addestramento del modello.

Punti deboli

  • Intensità delle risorse: Sebbene siano efficienti per la loro classe di precisione, le varianti più grandi (come YOLOv9) richiedono una significativa GPU per l'addestramento.
  • Focus dell'attività: La ricerca principale è rivolta principalmente al rilevamento di oggetti, mentre altri modelli Ultralytics come YOLO11 supportano in modo nativo una gamma più ampia di compiti, tra cui la stima della posa e l'OBB.

Per saperne di più su YOLOv9

YOLO: Architettura neurale alla ricerca della velocità

YOLO è la dimostrazione della potenza della progettazione automatizzata dell'architettura. Sviluppato da Alibaba, sfrutta la ricerca dell'architettura neurale (NAS) per trovare l'equilibrio ottimale tra la latenza dell'inferenza e le prestazioni di rilevamento, in particolare per le applicazioni industriali.

Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
Organization:Alibaba Group
Date: 2022-11-23
Arxiv:2211.15444
GitHub:YOLO

Architettura e caratteristiche principali

YOLO si distingue per i numerosi progressi tecnologici volti a massimizzare la produttività:

  • Backbone MAE-NAS: Utilizza una struttura backbone derivata da Method-Aware Efficient Neural Architecture Search, ottimizzando la topologia della rete per specifici vincoli hardware.
  • RepGFPN efficiente: Il modello impiega una rete di piramidi di caratteristiche generalizzate riparametrizzate per il suo collo, migliorando la fusione delle caratteristiche e mantenendo una bassa latenza.
  • ZeroHead: un design leggero della testina di rilevamento che riduce l'overhead computazionale tipicamente associato agli strati di predizione finale.
  • AlignedOTA: una strategia di assegnazione delle etichette migliorata che risolve il disallineamento tra i compiti di classificazione e regressione durante l'addestramento.

Punti di forza

  • Bassa latenza: YOLO è stato progettato per la velocità, il che lo rende estremamente efficace per l'inferenza in tempo reale su dispositivi edge e GPU.
  • Progettazione automatizzata: L'uso dei NAS garantisce che l'architettura sia matematicamente regolata per ottenere l'efficienza, anziché affidarsi esclusivamente all'euristica manuale.
  • Anchor-Free: adotta un approccio privo di ancore, semplificando il processo di regolazione degli iperparametri legato alle caselle di ancoraggio.

Punti deboli

  • Ecosistema limitato: Rispetto alla vasta gamma di strumenti disponibili per i modelli Ultralytics , YOLO dispone di una comunità più ristretta e di un numero inferiore di strumenti di integrazione già pronti per gli MLOP.
  • Versatilità: È specializzato principalmente nel rilevamento, mancando delle capacità multi-task native (segmentazione, classificazione) presenti in framework più completi.

Scopri di più su DAMO-YOLO

Analisi delle prestazioni: Velocità contro precisione

Quando si confrontano le metriche delle prestazioni, i compromessi tra le due architetture diventano chiari. YOLOv9 dà priorità alla conservazione delle informazioni per ottenere un'accuratezza superiore, superando spesso YOLO nei punteggi mAP per modelli di dimensioni simili. Al contrario, YOLO si concentra sul throughput grezzo.

Tuttavia, l'efficienza dell'architettura GELAN di YOLOv9 gli consente di rimanere altamente competitivo in termini di velocità, offrendo al contempo una migliore qualità di rilevamento. Ad esempio, YOLOv9 raggiunge un mAP significativamente più alto (53,0%) rispetto a YOLO (50,8%) pur utilizzando un numero inferiore di parametri (25,3M contro 42,1M). Ciò evidenzia la capacità di YOLOv9 di offrire "di più con meno" in termini di complessità del modello.

Interpretazione delle prestazioni

Quando si valutano i modelli, considerare il numero di FLOPs (Floating Point Operations) insieme al numero di parametri. Un numero inferiore di FLOP indica in genere un modello più leggero dal punto di vista computazionale e potenzialmente più veloce su hardware mobile o edge AI.

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
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

Casi d'uso ideali

Le differenze architettoniche determinano gli scenari di implementazione ideali per ciascun modello.

Applicazioni YOLOv9

YOLOv9 è la scelta preferita per le applicazioni in cui la precisione non è negoziabile.

  • Imaging medico: Rilevamento di sottili anomalie nell'analisi di immagini mediche, dove il mancato rilevamento potrebbe essere critico.
  • Navigazione autonoma: Sistemi di percezione avanzati per auto a guida autonoma che richiedono un'elevata fiducia nel rilevamento degli oggetti.
  • Sorveglianza dettagliata: Sistemi di sicurezza che devono identificare oggetti di piccole dimensioni o operare in ambienti complessi con elevato disordine.

Applicazioni YOLO

YOLO eccelle negli ambienti vincolati da budget di latenza rigorosi.

  • Produzione ad alta velocità: Linee industriali in cui i sistemi di visione computerizzata devono tenere il passo con la velocità dei nastri trasportatori.
  • Analisi video: Elaborazione di volumi massicci di flussi video in cui il costo del throughput è una preoccupazione primaria.

Il vantaggio di Ultralytics

Sebbene entrambi i modelli siano tecnicamente impressionanti, la scelta di un modello all'interno dell'ecosistemaUltralytics , come YOLOv9 o il modello all'avanguardia YOLOv9 , è molto importante. YOLO11-offre vantaggi distinti a sviluppatori e aziende.

Flusso di lavoro e usabilità senza soluzione di continuità

Ultralytics dà priorità alla facilità d'uso. I modelli sono accessibili tramite un'interfaccia unificata che astrae dal complesso codice boilerplate. Che si tratti di formazione su dati personalizzati o di esecuzione di inferenze, il processo è coerente e intuitivo.

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

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

# Run inference on an image
results = model("path/to/image.jpg")

Ecosistema ben curato

I modelli Ultralytics sono supportati da una comunità attiva e da aggiornamenti frequenti. Caratteristiche come Ultralytics HUB consentono la gestione e l'addestramento dei dataset basati sul web, mentre le ampie integrazioni con strumenti come TensorBoard e MLflow semplificano il ciclo di vita di MLOps. Al contrario, i modelli di ricerca come YOLO spesso non dispongono di questo livello di supporto continuo e di integrazione degli strumenti.

Versatilità ed efficienza

I modelli Ultralytics sono progettati per essere versatili. Mentre YOLO è specifico per il rilevamento, i modelli Ultralytics come YOLO11 estendono le capacità alla segmentazione delle istanze, alla stima della posa e al rilevamento di bounding box orientati (OBB). Inoltre, sono ottimizzati per l'efficienza della memoria e spesso richiedono meno memoria CUDA durante l'addestramento rispetto ad altre architetture, risparmiando sui costi dell'hardware.

Conclusione

Nel confronto tra YOLOv9 e YOLO, entrambi i modelli mostrano i rapidi progressi dell'IA. YOLO offre un'architettura convincente per l'ottimizzazione della velocità pura. Tuttavia, YOLOv9 si distingue come soluzione più robusta per la maggior parte delle applicazioni pratiche. Offre un'accuratezza superiore per ogni parametro, utilizza un'architettura avanzata per evitare la perdita di informazioni e risiede all'interno del fiorente ecosistema Ultralytics . Per gli sviluppatori che cercano il miglior equilibrio tra prestazioni, facilità d'uso e supporto a lungo termine, i modelli Ultralytics rimangono la scelta consigliata.

Esplora altri modelli

Scoprite il confronto con altri modelli all'avanguardia nella nostra documentazione:


Commenti