RTDETRv2 contro YOLOX: un confronto tecnico per l'object detection in tempo reale
Nel panorama in rapida evoluzione della computer vision, la ricerca dell'equilibrio ottimale tra velocità e accuratezza continua a guidare l'innovazione. Due approcci distinti sono emersi come favoriti: RTDETRv2 basato su Transformer e YOLOX basato su CNN anchor-free. Questo confronto esplora le loro differenze architetturali, le metriche di performance e i casi d'uso ideali per aiutare gli sviluppatori a scegliere lo strumento giusto per le loro esigenze specifiche.
Panoramiche dei modelli
Prima di addentrarci nelle specifiche tecniche, stabiliamo le origini e le filosofie fondamentali di questi due modelli influenti.
RTDETRv2
RTDETRv2 (Real-Time DEtection TRansformer versione 2) rappresenta un significativo passo avanti nell'integrazione delle architetture Transformer nelle applicazioni in tempo reale. Sviluppato dai ricercatori di Baidu, si basa sull'RT-DETR originale introducendo un "Bag-of-Freebies" che migliora la stabilità e le prestazioni dell'addestramento senza aumentare la latenza di inferenza. Mira a risolvere l'elevato costo computazionale tipicamente associato ai Vision Transformers (ViT), superando al contempo i tradizionali detector CNN in termini di precisione.
- Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
- Organizzazione:Baidu
- Data: 2023-04-17 (RT-DETR originale), seguiti da aggiornamenti v2.
- Arxiv:RT-DETRv2: Improved Baseline with Bag-of-Freebies
- GitHub:Repository RT-DETRv2
YOLOX
YOLOX ha rivitalizzato la famiglia YOLO nel 2021 passando a un meccanismo senza ancore e incorporando tecniche avanzate come teste disaccoppiate e assegnazione di etichette SimOTA. Pur mantenendo la dorsale in stile Darknet caratteristica della serie YOLO, i suoi cambiamenti architetturali hanno affrontato molte limitazioni dei detector basati su ancore, risultando in un modello altamente efficiente e flessibile che funziona eccezionalmente bene su dispositivi edge.
- Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organizzazione:Megvii
- Data: 2021-07-18
- Arxiv:YOLOX: Exceeding YOLO Series in 2021
- GitHub:Repository YOLOX
Analisi delle prestazioni
I compromessi di performance tra RTDETRv2 e YOLOX sono distinti. RTDETRv2 dà priorità alla massima accuratezza (mAP), sfruttando i meccanismi di attenzione globale dei transformer per comprendere meglio scene complesse e oggetti occlusi. Tuttavia, ciò comporta maggiori esigenze computazionali, in particolare per quanto riguarda l'utilizzo della memoria della GPU.
Al contrario, YOLOX è ottimizzato per velocità ed efficienza. Il suo design senza ancore semplifica l'head di detection, riducendo il numero di parametri di design e velocizzando la post-elaborazione (NMS). I modelli YOLOX, in particolare le varianti Nano e Tiny, sono spesso preferiti per i deployment edge AI dove le risorse hardware sono limitate.
La tabella seguente evidenzia queste differenze. Si noti che, mentre RTDETRv2 raggiunge punteggi mAP più alti, YOLOX-s fornisce velocità di inferenza più elevate su TensorRT, illustrandone l'idoneità per applicazioni sensibili alla latenza.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Architettura: approfondimento
Comprendere le differenze strutturali aiuta a chiarire perché questi modelli si comportano diversamente.
RTDETRv2: l'encoder-decoder ibrido
RTDETRv2 affronta i colli di bottiglia computazionali dei modelli DETR standard introducendo un efficiente encoder ibrido. Questo componente elabora caratteristiche multiscala, disaccoppiando l'interazione intra-scala (all'interno dello stesso livello di caratteristiche) e la fusione inter-scala (attraverso i livelli).
- Selezione di query IoU-aware: Invece di selezionare query di oggetti statiche, RTDETRv2 seleziona un numero fisso di caratteristiche dell'immagine da utilizzare come query di oggetti iniziali in base ai loro punteggi di classificazione, migliorando l'inizializzazione.
- Decoder flessibile: Il decoder supporta la regolazione dinamica del numero di query durante l'inferenza, consentendo agli utenti di scambiare velocità e precisione senza dover ripetere il training.
YOLOX: Anchor-Free e Disaccoppiato
YOLOX si allontana dal paradigma basato su anchor utilizzato in YOLOv4 e YOLOv5.
- Senza anchor: Predicendo direttamente i centri e le dimensioni degli oggetti, YOLOX elimina la necessità di progettare manualmente gli anchor box, riducendo la complessità dell'ottimizzazione degli iperparametri.
- Decoupled Head: Separa i compiti di classificazione e regressione in rami diversi dell'head della rete. Questa separazione spesso porta a una convergenza più rapida e a una migliore accuratezza.
- SimOTA: Una strategia avanzata di assegnazione delle etichette che considera il processo di assegnazione come un problema di trasporto ottimale, assegnando dinamicamente campioni positivi ai ground truth in base a un costo di ottimizzazione globale.
Anchor-Based vs. Anchor-Free
I rivelatori tradizionali utilizzano box predefiniti (anchor) per stimare le posizioni degli oggetti. YOLOX rimuove questa dipendenza, semplificando l'architettura e rendendo il modello più robusto alle diverse forme degli oggetti. RTDETRv2, essendo un transformer, utilizza query di oggetti invece di anchor, imparando ad individuare dinamicamente le regioni rilevanti dell'immagine.
Punti di forza e debolezze
RTDETRv2
- Punti di forza:
- Elevata Accuratezza: raggiunge mAP all'avanguardia sui benchmark COCO.
- Contesto globale: I meccanismi di attenzione Transformer catturano efficacemente le dipendenze a lungo raggio.
- Adattabilità: La selezione di query regolabile consente flessibilità in fase di inferenza.
- Punti deboli:
- Ad alta intensità di risorse: Richiede una notevole quantità di memoria GPU per l'addestramento e l'inferenza rispetto alle CNN.
- Addestramento più lento: I transformer generalmente impiegano più tempo a convergere rispetto alle architetture basate su CNN.
YOLOX
- Punti di forza:
- Velocità di inferenza: Estremamente veloce, soprattutto le varianti più piccole (Nano, Tiny, S).
- Implementazione semplificata: Più facile da implementare su dispositivi edge e CPU grazie al minor numero di FLOP e parametri.
- Semplicità: Il design senza ancore riduce la complessità ingegneristica.
- Punti deboli:
- Accuratezza massima inferiore: Fatica a eguagliare l'accuratezza di alto livello dei grandi modelli transformer come RTDETRv2-x.
- Evoluzione delle funzionalità: Mancano alcune delle funzionalità multi-modali presenti nei framework più recenti.
Il vantaggio Ultralytics: perché scegliere YOLO11?
Sebbene RTDETRv2 e YOLOX siano modelli formidabili, l'ecosistema Ultralytics YOLO—guidato dallo stato dell'arte YOLO11—offre una soluzione completa che spesso supera i vantaggi dei singoli modelli.
- Bilanciamento delle prestazioni: YOLO11 è progettato per fornire un compromesso ottimale tra velocità e precisione. Spesso eguaglia o supera la precisione dei modelli basati su transformer, mantenendo al contempo la velocità di inferenza caratteristica della famiglia YOLO.
- Facilità d'uso: Ultralytics dà priorità all'esperienza degli sviluppatori. Con un'API Python e una CLI unificate, puoi addestrare, convalidare e distribuire modelli in poche righe di codice.
- Efficienza della memoria: A differenza di RTDETRv2, che può essere pesante sulla VRAM della GPU, YOLO11 è altamente efficiente in termini di memoria sia durante l'addestramento che durante l'inferenza. Ciò lo rende accessibile a ricercatori e sviluppatori con hardware di livello consumer.
- Ecosistema ben manutenuto: I modelli Ultralytics sono supportati da aggiornamenti frequenti, una community vivace e documentazione esaustiva. Funzionalità come Ultralytics HUB facilitano la gestione fluida dei modelli e il cloud training.
- Versatilità: Oltre alla semplice object detection, YOLO11 supporta nativamente instance segmentation, pose estimation, OBB e classification, mentre YOLOX e RTDETRv2 si concentrano principalmente sulla detection.
- Efficienza di addestramento: Con pesi pre-addestrati disponibili per varie attività e sofisticate capacità di transfer learning, YOLO11 riduce drasticamente il tempo e l'energia necessari per addestrare modelli ad alte prestazioni.
Esempio di codice
Ultralytics rende incredibilmente facile l'utilizzo di questi modelli avanzati. Di seguito è riportato un esempio di come eseguire l'inferenza utilizzando YOLO11 e, in particolare, Ultralytics supporta anche RT-DETR direttamente, semplificandone notevolmente l'utilizzo rispetto al repository originale.
from ultralytics import RTDETR, YOLO
# Load the Ultralytics YOLO11 model (Recommended)
model_yolo = YOLO("yolo11n.pt")
# Run inference on an image
results_yolo = model_yolo("path/to/image.jpg")
# Load an RT-DETR model via Ultralytics API
model_rtdetr = RTDETR("rtdetr-l.pt")
# Run inference with RT-DETR
results_rtdetr = model_rtdetr("path/to/image.jpg")
Conclusione
La scelta tra RTDETRv2 e YOLOX dipende in ultima analisi dai tuoi vincoli specifici.
- Scegli RTDETRv2 se la tua applicazione richiede la massima accuratezza, come nella ricerca accademica o nell'ispezione industriale ad alta precisione, e hai accesso a potenti risorse GPU.
- Scegli YOLOX se stai effettuando il deployment in ambienti con risorse limitate come Raspberry Pi o dispositivi mobili dove ogni millisecondo di latenza conta.
Tuttavia, per la maggior parte delle applicazioni reali, Ultralytics YOLO11 emerge come la scelta migliore in assoluto. Combina i vantaggi di precisione delle architetture moderne con la velocità e l'efficienza delle CNN, il tutto in un ecosistema facile da usare e pronto per la produzione. Sia che stiate costruendo per l'edge che per il cloud, YOLO11 offre gli strumenti e le prestazioni necessarie per avere successo.
Esplora altri confronti
Per informare ulteriormente la tua decisione, considera di esplorare altri confronti di modelli: