YOLOv9 vs YOLOX#
Il campo della visione artificiale ha visto una rapida evoluzione delle architetture per il rilevamento di oggetti in tempo reale. Questa guida offre un confronto completo tra YOLOv9 e YOLOX, analizzandone le innovazioni architetturali, le metriche prestazionali e le metodologie di addestramento. Che tu stia sviluppando applicazioni intelligenti per l'IA nella produzione o esplorando la modellazione predittiva, comprendere questi modelli ti aiuterà a prendere decisioni consapevoli per la tua prossima distribuzione.
Innovazioni architetturali#
YOLOv9: informazioni di gradiente programmabili#
YOLOv9 ha introdotto un cambio di paradigma affrontando il problema del collo di bottiglia informativo insito nelle reti neurali profonde. Tra le sue innovazioni fondamentali figurano Programmable Gradient Information (PGI) e Generalized Efficient Layer Aggregation Network (GELAN).
- Autori: Chien-Yao Wang e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
- Data: 21 febbraio 2024
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
Conservando dati essenziali sulle caratteristiche durante il processo di propagazione in avanti, YOLOv9 assicura che i gradienti utilizzati per aggiornare i pesi durante la retropropagazione rimangano accurati. Questa architettura eccelle nell'estrazione delle caratteristiche, risultando molto efficace nel rilevamento di oggetti piccoli in ambienti complessi, come quelli delle immagini aeree e delle scansioni mediche dettagliate.
YOLOX: un ponte tra ricerca e industria#
Rilasciato a metà del 2021, YOLOX ha orientato la serie YOLO verso un design senza anchor. Ha introdotto una testa disaccoppiata, che separa le attività di classificazione e localizzazione, e ha utilizzato la strategia di assegnazione delle etichette SimOTA per migliorare la convergenza dell'addestramento.
- Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organizzazione: Megvii
- Data: 18 luglio 2021
- Arxiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
Sebbene YOLOX fosse innovativo per l'epoca, raggiungesse un'eccellente precisione media media (mAP) ed eliminasse la regolazione degli iperparametri delle anchor box, la sua architettura di base è stata nel frattempo superata da reti moderne che bilanciano meglio il numero di parametri e la conservazione delle caratteristiche.
Sia YOLOX sia i modelli Ultralytics più recenti adottano design senza anchor, riducendo la complessità della regolazione degli iperparametri e migliorando la capacità di generalizzazione su dataset diversi.
Analisi delle prestazioni#
Confrontando questi modelli sul benchmark MS COCO, i progressi di YOLOv9 diventano evidenti. YOLOv9 offre costantemente un compromesso migliore tra accuratezza e FLOPs.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Sebbene YOLOX offra varianti leggere come YOLOX-Nano per i casi edge più estremi, le varianti YOLOv9 superano sistematicamente i modelli YOLOX di dimensioni analoghe in termini di accuratezza pura. Per esempio, YOLOv9m raggiunge un mAP del 51,4% rispetto al 49,7% di YOLOXl, pur avendo meno della metà dei parametri (20,1 M contro 54,2 M).
I vantaggi di Ultralytics#
La scelta di un modello non dipende solo dalla teoria architetturale: l'ecosistema che lo circonda determina la velocità di sviluppo e il successo della distribuzione. Utilizzare YOLOv9 nell'ecosistema Ultralytics offre una semplicità d'uso senza pari e un solido supporto della community.
A differenza dei repository originali di ricerca più datati, il framework Ultralytics offre un'API Python unificata che semplifica le pipeline complesse. L'addestramento richiede molta meno memoria GPU rispetto a molte alternative, garantendo un'efficienza di addestramento eccezionale.
from ultralytics import YOLO
# Inizializza il modello YOLOv9c
model = YOLO("yolov9c.pt")
# Addestra facilmente il modello sul tuo dataset personalizzato
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Valida le prestazioni del modello
metrics = model.val()
# Esporta il modello ottimizzato nel formato TensorRT
model.export(format="engine")Grazie al supporto integrato per più attività, tra cui il rilevamento degli oggetti, la segmentazione di istanze e la stima della posa, puoi adattare rapidamente le tue soluzioni di visione artificiale senza modificare l'intera codebase.
Applicazioni nel mondo reale#
I punti di forza specifici di questi modelli li rendono adatti a diverse applicazioni del mondo reale:
Analisi retail ad alta velocità#
Per gli ambienti retail moderni che richiedono il riconoscimento dei prodotti in tempo reale, YOLOv9 è un'ottima scelta. La sua capacità di conservare dettagli complessi delle caratteristiche lo rende ideale per le implementazioni di IA nel retail, dove è necessario distinguere prodotti visivamente simili su uno scaffale affollato.
Distribuzioni edge su sistemi legacy#
In scenari soggetti a rigidi limiti hardware o che utilizzano NPU specializzate con difficoltà nel gestire i più recenti blocchi di aggregazione, YOLOX-Nano può talvolta trovare una nicchia. I suoi schemi di convoluzione essenziali e ridotti sono a volte preferiti per i microcontrollori con risorse estremamente limitate.
Robotica autonoma#
Nella navigazione robotica, non rilevare oggetti piccoli può avere conseguenze catastrofiche. L'architettura GELAN di YOLOv9 impedisce che le caratteristiche degli ostacoli piccoli e lontani vadano perse nei livelli profondi della rete, superando i modelli più datati in contesti critici per la sicurezza, come le applicazioni di IA nel settore automobilistico.
Casi d'uso e consigli#
La scelta tra YOLOv9 e YOLOX dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle tue preferenze in fatto di ecosistemi.
Quando scegliere YOLOv9#
YOLOv9 è una scelta valida per:
- Ricerca sui colli di bottiglia informativi: progetti accademici che studiano le informazioni di gradiente programmabili (PGI) e le architetture di rete di aggregazione efficiente generalizzata dei livelli (GELAN).
- Studi sull'ottimizzazione del flusso del gradiente: ricerche incentrate sulla comprensione e sulla riduzione della perdita di informazioni nei livelli delle reti profonde durante l'addestramento.
- Benchmark di rilevamento ad alta precisione: scenari in cui le prestazioni di YOLOv9 nei benchmark COCO servono come riferimento per confrontare le architetture.
Quando scegliere YOLOX#
YOLOX è consigliato per:
- Ricerca sul rilevamento senza anchor: Ricerca accademica che usa l'architettura pulita e senza anchor di YOLOX come riferimento per sperimentare nuove head di rilevamento o funzioni di perdita.
- Dispositivi edge ultraleggeri: Implementazione su microcontrollori o hardware mobile legacy, dove le dimensioni estremamente ridotte della variante YOLOX-Nano (0,91 M di parametri) sono fondamentali.
- Studi sull'assegnazione delle etichette SimOTA: Progetti di ricerca che analizzano le strategie di assegnazione delle etichette basate sul trasporto ottimale e il loro impatto sulla convergenza dell'addestramento.
Quando scegliere Ultralytics (YOLO26)#
Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la combinazione migliore di prestazioni ed esperienza per gli sviluppatori:
- Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
- Ambienti con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
- Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.
Il futuro: arriva YOLO26#
Sebbene YOLOv9 rappresenti un traguardo notevole, le esigenze degli ambienti di produzione spingono costantemente oltre i limiti. Il nuovo YOLO26 rappresenta lo standard definitivo per la moderna IA visiva.
YOLO26 rinnova completamente la pipeline di distribuzione con un design end-to-end senza NMS opzionale. Eliminando la necessità della complessa soppressione non massima durante la post-elaborazione con nms=False, riduce notevolmente la latenza di inferenza.
Inoltre, YOLO26 integra il rivoluzionario ottimizzatore MuSGD, una combinazione di SGD e Muon che riprende le innovazioni dell'addestramento degli LLM per offrire una convergenza estremamente stabile e rapida. Rimuovendo Distribution Focal Loss (DFL), YOLO26 raggiunge un'inferenza su CPU fino al 43% più veloce rispetto ai predecessori, risultando la scelta migliore per dispositivi edge e distribuzioni aziendali. Grazie ai notevoli miglioramenti nel riconoscimento degli oggetti piccoli apportati da ProgLoss e STAL, YOLO26 supera efficacemente sia YOLOX sia YOLOv9.
Agli ingegneri che stanno esplorando le architetture moderne consigliamo anche YOLO11 e RT-DETR, valide alternative nella suite Ultralytics. Rendi il tuo progetto pronto per il futuro sfruttando le prestazioni senza pari dei modelli più recenti sulla Ultralytics Platform.