YOLOX vs RTDETRv2#
La scelta dell'architettura ottimale per le applicazioni di computer vision richiede un attento equilibrio tra accuratezza, velocità di inferenza e fattibilità del deployment. In questa analisi tecnica approfondita, esaminiamo le differenze fondamentali tra YOLOX, un'architettura CNN senza anchor di grande successo, e RTDETRv2, un Transformer per il rilevamento in tempo reale all'avanguardia.
Sebbene entrambi i modelli abbiano contribuito in modo significativo al campo del rilevamento degli oggetti, gli sviluppatori che realizzano applicazioni pronte per la produzione spesso scoprono che le alternative moderne, come Ultralytics YOLO26, offrono maggiore efficienza di addestramento, minori requisiti di memoria e un ecosistema di deployment più robusto.
YOLOX: colmare il divario tra ricerca e industria#
YOLOX è emerso come un adattamento senza anchor molto popolare della serie YOLO, introducendo un design semplificato che, al momento del rilascio, offriva notevoli miglioramenti delle prestazioni.
- Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organizzazione: Megvii
- Data: 18 luglio 2021
- Link: Arxiv, GitHub, Documentazione
Innovazioni architetturali#
YOLOX ha portato la famiglia YOLO verso un paradigma senza anchor, integrando una head disaccoppiata e l'avanzata strategia di assegnazione delle etichette SimOTA. Eliminando le anchor box, l'architettura ha ridotto notevolmente il numero di parametri di progettazione e migliorato la capacità di generalizzazione su diversi dataset di benchmark. Le sue versioni leggere, YOLOX-Nano e YOLOX-Tiny, sono diventate scelte popolari per il deployment di applicazioni di IA visiva sui dispositivi edge.
YOLOX ha introdotto progressi notevoli, ma la dipendenza da pipeline di data augmentation onerose e da procedure di post-elaborazione meno recenti (come la NMS tradizionale) può causare una latenza maggiore rispetto ai modelli nativamente end-to-end.
RTDETRv2: progressi nei Vision Transformer in tempo reale#
Basandosi sulle fondamenta del suo predecessore, RTDETRv2 sfrutta la potenza dei Vision Transformer (ViT) per raggiungere un'accuratezza altamente competitiva senza sacrificare la velocità di inferenza in tempo reale.
- Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
- Organizzazione: Baidu
- Data: 2024-07-24
- Link: Arxiv, GitHub
Innovazioni architetturali#
RTDETRv2 ripensa radicalmente la pipeline di rilevamento utilizzando un'architettura basata su Transformer che evita nativamente la Non-Maximum Suppression (NMS). Questo risultato si ottiene con un encoder ibrido e la selezione delle query basata su IoU, che migliora l'inizializzazione delle query degli oggetti. Il modello gestisce efficacemente le caratteristiche multiscala, riuscendo a cogliere dettagli complessi in ambienti articolati, ad esempio nel rilevamento del traffico in video notturni.
Tuttavia, i Transformer richiedono intrinsecamente molte risorse. L'addestramento di RTDETRv2 richiede in genere molta più memoria GPU e più cicli di calcolo rispetto alle alternative basate su CNN, e questo può rappresentare un ostacolo per i team con budget limitati o che devono eseguire frequentemente la messa a punto dei modelli.
Tabella di confronto delle prestazioni#
Per valutare queste architetture in modo obiettivo, ne esaminiamo le prestazioni sul dataset COCO. La tabella seguente illustra i compromessi tra accuratezza (mAP), numero di parametri e complessità computazionale.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
RTDETRv2 raggiunge un'accuratezza notevole, ma YOLOX mantiene un vantaggio con configurazioni leggere in termini di parametri, soprattutto nelle varianti Nano e Tiny.
Casi d'uso e consigli#
La scelta tra YOLOX e RT-DETR dipende dai requisiti specifici del tuo progetto, dai vincoli di deployment e dalle preferenze relative all'ecosistema.
Quando scegliere YOLOX#
YOLOX è una scelta valida 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 RT-DETR#
RT-DETR è consigliato per:
- Ricerca sul rilevamento basato sui Transformer: progetti che esplorano meccanismi di attenzione e architetture Transformer per il rilevamento di oggetti end-to-end senza NMS.
- Scenari ad alta accuratezza e latenza flessibile: applicazioni in cui l'accuratezza del rilevamento è la priorità assoluta e si può accettare una latenza di inferenza leggermente più alta.
- Rilevamento di oggetti grandi: scene in cui sono presenti principalmente oggetti medio-grandi e il meccanismo di attenzione globale dei Transformer offre un vantaggio naturale.
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 vantaggio di Ultralytics: YOLO26#
Sebbene YOLOX e RTDETRv2 offrano entrambi vantaggi specifici, il nuovo Ultralytics YOLO26 ridefinisce lo stato dell'arte dell'IA visiva, superando i compromessi storici tra velocità, accuratezza e facilità di deployment.
1. Architettura end-to-end senza NMS#
Ispirato ai modelli Transformer ma senza rinunciare all'efficienza delle CNN, YOLO26 offre un design end-to-end opzionale senza NMS (nms=False). Eliminando la Non-Maximum Suppression come fase di post-elaborazione, YOLO26 semplifica notevolmente le pipeline di deployment e garantisce una latenza di inferenza uniforme su vari dispositivi edge, senza richiedere la complessa messa a punto delle soglie.
2. Inferenza su CPU fino al 43% più veloce#
A differenza delle architetture Transformer come RTDETRv2, che dipendono fortemente dalle GPU di fascia alta, YOLO26 è ottimizzato specificamente per gli ambienti di edge computing. Eliminando Distribution Focal Loss (DFL), YOLO26 semplifica l'esportazione dei modelli e raggiunge un'inferenza su CPU fino al 43% più veloce, rendendolo la scelta ideale per l'integrazione in hardware come Raspberry Pi o nei normali dispositivi mobili.
3. Efficienza di addestramento con MuSGD#
L'addestramento dei modelli Transformer comporta spesso un consumo eccessivo di memoria CUDA e tempi di addestramento prolungati. YOLO26 introduce il nuovo ottimizzatore MuSGD, un ibrido tra Stochastic Gradient Descent e l'ottimizzatore Muon, ispirato agli LLM. Questa innovazione offre un addestramento eccezionalmente stabile e una convergenza più rapida, riducendo notevolmente i requisiti hardware rispetto a RTDETRv2.
4. Ecosistema e versatilità senza pari#
L'ecosistema Ultralytics offre agli sviluppatori un'esperienza intuitiva e semplificata. Grazie alla documentazione completa, al supporto attivo della community e alla piattaforma Ultralytics basata sul cloud, gestire l'intero ciclo di vita dell'IA non è mai stato così facile. Inoltre, YOLO26 è estremamente versatile. Mentre RTDETRv2 si concentra sul rilevamento degli oggetti, YOLO26 supporta nativamente, senza soluzione di continuità, le attività di segmentazione di istanze, classificazione di immagini, stima della posa e rilevamento di riquadri di delimitazione orientati (OBB). Grazie al nuovo ProgLoss + STAL (perdita progressiva e assegnazione delle etichette attenta agli oggetti piccoli), YOLO26 eccelle anche nel riconoscimento degli oggetti piccoli, una caratteristica fondamentale per le immagini aeree e il rilevamento dei difetti industriali.
Integrazione perfetta con Ultralytics#
Il deployment dei modelli non dovrebbe richiedere di districarsi tra basi di codice complesse e frammentate. L'API Python di Ultralytics ti consente di caricare, addestrare ed esportare modelli all'avanguardia con poche righe di codice.
from ultralytics import YOLO
# Carica il modello nano YOLO26 più recente per prestazioni edge ottimali
model = YOLO("yolo26n.pt")
# Addestra il modello sul tuo dataset personalizzato con un consumo minimo di memoria
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Valida le prestazioni del modello
metrics = model.val()
# Esporta facilmente in ONNX o TensorRT per il deployment
model.export(format="onnx")Scegliendo Ultralytics, eviti le complicate configurazioni dell'ambiente tipiche dei repository di ricerca e acceleri il time-to-market.
Conclusione#
YOLOX e RTDETRv2 rappresentano tappe fondamentali nel progresso del rilevamento degli oggetti in tempo reale. YOLOX ha dimostrato la validità delle CNN senza anchor altamente efficienti, mentre RTDETRv2 ha adattato con successo i Transformer ai vincoli del tempo reale.
Tuttavia, per le applicazioni moderne, che spaziano dalle analisi intelligenti per il commercio al dettaglio alla robotica integrata, Ultralytics YOLO26 offre la soluzione definitiva. Integrando l'inferenza senza NMS con velocità della CPU senza pari, un ingombro di memoria ridotto e il solido supporto di Ultralytics Platform, YOLO26 consente agli sviluppatori di realizzare la prossima generazione di sistemi di visione artificiale affidabili e ad alte prestazioni.