Vai al contenuto

YOLOX vs. YOLOv9: un confronto tecnico

La scelta della giusta architettura per il rilevamento degli oggetti è una decisione cruciale che influisce sulla velocità, sulla precisione e sulla fattibilità di implementazione dei progetti di computer vision. La presente analisi mette a confronto YOLOX, un modello senza ancoraggio di importanza cruciale rilasciato nel 2021, e YOLOv9, un'architettura all'avanguardia introdotta nel 2024 che sfrutta la Programmable Gradient Information (PGI).

Mentre YOLOX ha spostato il paradigma verso il rilevamento privo di ancore, YOLOv9 introduce nuovi meccanismi per conservare le informazioni nelle reti profonde, offrendo metriche di prestazione superiori. Questa guida ne analizza le architetture, i benchmark e i casi d'uso ideali per aiutarvi a scegliere il modello migliore per le vostre esigenze.

YOLOX: Il pioniere senza ancore

YOLOX è stato rilasciato per colmare il divario tra la comunità di ricerca e le applicazioni industriali, semplificando la testa di rilevamento ed eliminando la dipendenza da caselle di ancoraggio predefinite.

Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organization:Megvii
Date: 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Docs:YOLOX Documentation

Punti salienti dell'architettura

YOLOX ha introdotto un'architettura di testa disaccoppiata, separando i compiti di classificazione e regressione. Questa separazione consente al modello di convergere più rapidamente e di ottenere una migliore accuratezza. Utilizza inoltre un meccanismo privo di ancore, che elimina la necessità di un'analisi di clustering per determinare le dimensioni ottimali delle caselle di ancoraggio, rendendo il modello più robusto alle diverse forme degli oggetti. Inoltre, YOLOX utilizza SimOTA per l'assegnazione delle etichette, trattando il processo come un problema di trasporto ottimale per migliorare la stabilità della formazione.

Punti di forza e debolezze

  • Punti di forza: Il design privo di ancore semplifica il processo di regolazione degli iperparametri. La testa disaccoppiata offre generalmente una maggiore precisione per i compiti di localizzazione rispetto alle teste accoppiate dell'epoca.
  • Punti deboli: Essendo un modello del 2021, manca delle moderne ottimizzazioni presenti nelle architetture più recenti. Può richiedere più dati di addestramento per raggiungere le massime prestazioni rispetto ai modelli che utilizzano tecniche avanzate di aumento dei dati e di aggregazione dei livelli.

YOLOv9: Informazioni sul gradiente programmabile

YOLOv9 rappresenta un significativo balzo in avanti, affrontando il problema del "collo di bottiglia dell'informazione" insito nelle reti neurali profonde.

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

Punti salienti dell'architettura

YOLOv9 introduce la Programmable Gradient Information (PGI) e la Generalized Efficient Layer Aggregation Network (GELAN). PGI impedisce la perdita di informazioni di input cruciali quando i dati passano attraverso strati profondi, garantendo una generazione affidabile del gradiente per gli aggiornamenti del modello. GELAN ottimizza l'utilizzo dei parametri, consentendo al modello di essere leggero ma preciso. Queste innovazioni consentono a YOLOv9 di superare in modo significativo i suoi predecessori sia in termini di efficienza che di precisione media (mAP).

Punti di forza e debolezze

  • Punti di forza: eccezionale rapporto accuratezza/parametro, che lo rende altamente efficiente per le applicazioni in tempo reale. L'architettura preserva il flusso di informazioni meglio delle precedenti iterazioni, consentendo un migliore rilevamento di oggetti di piccole dimensioni.
  • Punti deboli: Essendo un'architettura più recente, potrebbe richiedere driver CUDA e supporto hardware aggiornati rispetto ai modelli precedenti.

Per saperne di più su YOLOv9

Confronto delle prestazioni

La tabella seguente mette a confronto le prestazioni di YOLOX e YOLOv9 sul set di datiCOCO . YOLOv9 dimostra costantemente punteggi mAP più elevati con un minor numero di parametri, evidenziando l'efficienza dell'architettura GELAN.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
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

Analisi: YOLOv9 offre un sostanziale miglioramento della densità delle prestazioni. Ad esempio, YOLOv9c raggiunge il 53,0% mAP con soli 25,3 M di parametri, mentre YOLOX-L richiede 54,2 M di parametri per ottenere un punteggio inferiore di 49,7% mAP. Ciò indica che YOLOv9 è circa due volte più efficiente in termini di utilizzo dei parametri per questo livello di precisione.

L'efficienza è importante

Quando si distribuisce su dispositivi edge, l'aspetto dei FLOP e dei parametri è importante quanto il mAP. L'architettura GELAN di YOLOv9 riduce in modo significativo l'overhead computazionale, consentendo un funzionamento più fresco dei dispositivi e una maggiore durata della batteria nelle implementazioni mobili.

Il vantaggio di Ultralytics

Sebbene YOLOX sia un solido repository indipendente, l'utilizzo di YOLOv9 all'interno dell'ecosistemaUltralytics offre notevoli vantaggi a sviluppatori e ricercatori.

Facilità d'uso e integrazione

Il framework Ultralytics unifica l'interazione con i modelli. È possibile addestrare, convalidare e distribuire YOLOv9 utilizzando un'APIPython semplice e intuitiva. Ciò contrasta con la base di codice di YOLOX, che spesso richiede una configurazione manuale delle variabili d'ambiente e dei percorsi dei set di dati.

from ultralytics import YOLO

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

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

# Train the model on a custom dataset with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Ecosistema ben curato

I modelli Ultralytics beneficiano di aggiornamenti continui, correzioni di bug e supporto della comunità. L'integrazione con Ultralytics HUB permette di realizzare MLOps senza soluzione di continuità, consentendo ai team di gestire dataset, track esperimenti e distribuire modelli in vari formatiONNX, TensorRT, CoreML) senza dover scrivere complessi script di esportazione.

Bilanciamento delle prestazioni ed efficienza della memoria

I modelliYOLO Ultralytics sono progettati per ottenere un equilibrio pratico tra velocità e precisione. Inoltre, in genere presentano requisiti di memoria inferiori durante l'addestramento rispetto alle architetture più vecchie o ai modelli pesanti basati su trasformatori. Questa efficienza riduce i costi di calcolo nel cloud e rende accessibile l'addestramento su GPU di livello consumer.

Versatilità

Sebbene YOLOX sia principalmente un rilevatore di oggetti, il framework Ultralytics estende le capacità dei modelli supportati. Gli utenti possono passare facilmente da un'attività all'altra, come la segmentazione dell'istanza, la stima della posa e il rilevamento della bounding box orientata (OBB), utilizzando sintassi e flussi di lavoro simili, una versatilità che spesso manca agli archivi di ricerca autonomi.

Casi d'uso ideali

Quando scegliere YOLOv9

  • Sistemi autonomi: L'elevata precisione di YOLOv9 è ideale per i veicoli autonomi in cui il rilevamento di piccoli ostacoli a distanza è fondamentale per la sicurezza.
  • Analisi in tempo reale: Per la vendita al dettaglio o la gestione del traffico, YOLOv9c offre il punto di forza di un'elevata frequenza di fotogrammi e di un rilevamento preciso.
  • Edge AI: l'efficienza architettonica di GELAN rende YOLOv9t e YOLOv9s perfetti per l'implementazione su dispositivi come NVIDIA Jetson o Raspberry Pi.

Quando scegliere YOLOX

  • Integrazione con il passato: Se una pipeline di produzione esistente è già stata pesantemente ingegnerizzata in base al formato specifico della testina senza ancoraggio YOLOX.
  • Ricerca accademica: I ricercatori che studiano specificamente il comportamento delle teste disaccoppiate nei primi rivelatori privi di ancoraggio possono trovare in YOLOX una valida base di confronto.

Conclusione

Entrambe le architetture si sono guadagnate un posto nella storia della computer vision. YOLOX ha sfidato con successo lo status quo basato sulle ancore nel 2021. Tuttavia, YOLOv9 rappresenta lo standard moderno, incorporando anni di progressi nell'ottimizzazione del flusso di gradienti e nell'aggregazione dei livelli.

Per la maggior parte dei nuovi sviluppi, YOLOv9 è la scelta consigliata. Le sue prestazioni superiori per parametro, combinate con la facilità d'uso, l'efficienza della formazione e le solide opzioni di implementazione fornite dall'ecosistema Ultralytics , assicurano un percorso più rapido dall'ideazione alla produzione.

Esplorate altre opzioni moderne nell'ecosistema, come ad esempio YOLO11 e YOLOv8per trovare la soluzione perfetta per le vostre specifiche esigenze applicative.


Commenti