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à della distribuzione. In questa analisi tecnica completa, esaminiamo le differenze fondamentali tra YOLOX, un'architettura CNN anchor-free di grande successo, e RTDETRv2, un Transformer per il rilevamento in tempo reale all'avanguardia.
Sebbene entrambi i modelli abbiano contribuito significativamente al campo del rilevamento degli oggetti, gli sviluppatori che realizzano applicazioni pronte per la produzione spesso scoprono che alternative moderne come Ultralytics YOLO26 offrono una maggiore efficienza di addestramento, requisiti di memoria inferiori e un ecosistema di distribuzione più solido.
YOLOX: colmare il divario tra ricerca e industria#
YOLOX è emerso come un'adattamento anchor-free molto popolare della serie YOLO, introducendo un design semplificato che ha garantito notevoli miglioramenti delle prestazioni al momento del suo rilascio.
- Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organizzazione: Megvii
- Data: 18 luglio 2021
- Link: Arxiv, GitHub, Docs
Innovazioni architetturali#
YOLOX ha portato la famiglia YOLO verso un paradigma anchor-free, integrando una head disaccoppiata e l'avanzata strategia di assegnazione delle label SimOTA. Eliminando le anchor box, l'architettura ha ridotto significativamente 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 la distribuzione di applicazioni di vision AI su dispositivi edge.
Sebbene YOLOX abbia introdotto progressi significativi, la sua dipendenza da pipeline di augmentation pesanti e routine di post-processing meno recenti (come la NMS tradizionale) può comportare una latenza maggiore rispetto ai modelli nativamente end-to-end.
RTDETRv2: portare avanti i Vision Transformer in tempo reale#
Basandosi sulle fondamenta del suo predecessore, RTDETRv2 sfrutta la potenza dei Vision Transformer (ViTs) 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 bypassa nativamente la Soppressione non massima (NMS). Questo è possibile grazie a un encoder ibrido e alla selezione delle query consapevole dell'IoU, che migliorano l'inizializzazione delle query degli oggetti. Il modello gestisce efficacemente le feature multi-scala, consentendogli di catturare dettagli complessi in ambienti articolati, come il rilevamento del traffico nei 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, il che può rappresentare un ostacolo per i team che operano con vincoli di budget rigorosi o che necessitano di frequenti ottimizzazioni del modello.
Tabella comparativa delle prestazioni#
Per valutare obiettivamente queste architetture, 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 |
Sebbene RTDETRv2 raggiunga un'accuratezza impressionante, YOLOX mantiene un vantaggio in termini di numero ridotto di parametri, in particolare nelle varianti Nano e Tiny.
Casi d'uso e raccomandazioni#
La scelta tra YOLOX e RT-DETR dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle tue preferenze in fatto di ecosistema.
Quando scegliere YOLOX#
YOLOX è una scelta valida per:
- Ricerca sul rilevamento senza anchor: ricerca accademica che utilizza l'architettura pulita e senza anchor di YOLOX come baseline per sperimentare nuove teste di rilevamento o funzioni di perdita.
- Dispositivi edge ultraleggeri: distribuzione su microcontrollori o hardware mobile legacy, dove l'ingombro estremamente ridotto della variante YOLOX-Nano (0.91M di parametri) è fondamentale.
- Studi sull'assegnazione delle label SimOTA: progetti di ricerca che analizzano le strategie di assegnazione delle label basate sul trasporto ottimale e il loro impatto sulla convergenza dell'addestramento.
Quando scegliere RT-DETR#
RT-DETR è consigliato per:
- Ricerca sul rilevamento basato su Transformer: progetti che esplorano i meccanismi di attenzione e le architetture Transformer per il rilevamento degli oggetti end-to-end senza NMS.
- Scenari ad alta accuratezza con latenza flessibile: applicazioni in cui l'accuratezza del rilevamento è la priorità assoluta e una latenza di inferenza leggermente superiore è accettabile.
- Rilevamento di oggetti di grandi dimensioni: scene contenenti principalmente oggetti di medie e grandi dimensioni, in cui 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 migliore combinazione di prestazioni ed esperienza per gli sviluppatori:
- Deployment edge senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Soppressione non massima.
- Ambienti esclusivamente CPU: dispositivi privi di accelerazione GPU dedicata, dove l'inferenza su CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
- Rilevamento di oggetti piccoli: scenari complessi come le immagini aeree riprese da droni o l'analisi di sensori IoT, in cui ProgLoss e STAL migliorano significativamente l'accuratezza sugli oggetti di piccole dimensioni.
Il vantaggio di Ultralytics: YOLO26#
Sebbene YOLOX e RTDETRv2 offrano entrambi punti di forza distinti, il nuovo Ultralytics YOLO26 ridefinisce lo stato dell'arte nella vision AI, risolvendo i compromessi storici tra velocità, accuratezza e facilità di distribuzione.
1. Architettura end-to-end senza NMS#
Ispirato ai modelli Transformer, ma conservando l'efficienza delle CNN, YOLO26 presenta un design nativamente end-to-end senza NMS. Eliminando la Soppressione non massima come fase di post-processing, YOLO26 semplifica notevolmente le pipeline di distribuzione, garantendo una latenza di inferenza uniforme su diversi dispositivi edge senza il sovraccarico di una complessa ottimizzazione delle soglie.
2. Inferenza su CPU fino al 43% più veloce#
A differenza delle architetture Transformer come RTDETRv2, che dipendono fortemente da GPU di fascia alta, YOLO26 è ottimizzato specificamente per gli ambienti di edge computing. Rimuovendo la Distribution Focal Loss (DFL), YOLO26 semplifica l'esportazione del modello e raggiunge un'inferenza su CPU fino al 43% più veloce, rendendolo la scelta ideale per l'integrazione in hardware come il Raspberry Pi o nei dispositivi mobili standard.
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 la discesa del gradiente stocastico e l'ottimizzatore Muon ispirato agli LLM. Questa innovazione offre un addestramento eccezionalmente stabile e una convergenza più rapida, riducendo significativamente i requisiti hardware rispetto a RTDETRv2.
4. Ecosistema e versatilità senza pari#
L'ecosistema Ultralytics offre un'esperienza intuitiva e semplificata per gli sviluppatori. Grazie a una documentazione completa, al supporto attivo della community e alla Ultralytics Platform basata sul cloud, gestire l'intero ciclo di vita dell'AI non è mai stato così facile. Inoltre, YOLO26 è estremamente versatile. Mentre RTDETRv2 si concentra sul rilevamento degli oggetti, YOLO26 supporta nativamente e senza interruzioni le attività di segmentazione delle istanze, stima della posa, classificazione delle immagini e bounding box orientato (OBB). Grazie alle nuove funzioni di loss ProgLoss + STAL, 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#
La distribuzione dei modelli non dovrebbe richiedere di districarsi tra codebase 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
# Load the latest YOLO26 nano model for optimal edge performance
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset with minimal memory overhead
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export seamlessly to ONNX or TensorRT for deployment
model.export(format="onnx", optimize=True)Sfruttando Ultralytics, eviti le complicate configurazioni dell'ambiente tipicamente associate ai repository di ricerca, accelerando il tuo time to market.
Conclusioni#
YOLOX e RTDETRv2 rappresentano traguardi significativi nell'evoluzione del rilevamento degli oggetti in tempo reale. YOLOX ha dimostrato la validità delle CNN anchor-free altamente efficienti, mentre RTDETRv2 ha adattato con successo i Transformer ai vincoli del tempo reale.
Tuttavia, per le applicazioni moderne, dall'analisi del retail intelligente alla robotica embedded, Ultralytics YOLO26 offre la soluzione definitiva. Combinando l'inferenza senza NMS con velocità su CPU senza pari, un ingombro di memoria ridotto e il solido supporto della Ultralytics Platform, YOLO26 consente agli sviluppatori di realizzare la prossima generazione di sistemi di computer vision affidabili e ad alte prestazioni.