YOLO vs. RTDETRv2: Equilibrio tra velocità e precisione del trasformatore
La scelta dell'architettura ottimale per il rilevamento degli oggetti comporta spesso un compromesso tra latenza dell'inferenza e precisione del rilevamento. Questo confronto tecnico esamina YOLO, un rilevatore ad alta velocità ottimizzato da Alibaba Group, e RTDETRv2, il Real-Time Detection Transformer di seconda generazione di Baidu. Analizziamo le loro innovazioni architettoniche, i benchmark delle prestazioni e l'idoneità alla distribuzione per aiutarvi a prendere decisioni informate per le vostre applicazioni di computer vision.
YOLO: ottimizzazione per una bassa latenza
YOLO rappresenta un passo significativo nell'evoluzione di YOLO e si concentra in modo particolare sulla massimizzazione della velocità senza compromettere l'accuratezza. Sviluppata dal gruppo Alibaba, impiega tecniche avanzate di ricerca dell'architettura neurale (NAS) per adattare la struttura della rete all'efficienza.
- Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organizzazione:Gruppo Alibaba
- Data: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
- Documenti:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Punti salienti dell'architettura
YOLO integra diverse tecnologie innovative per ottimizzare la pipeline di rilevamento:
- Backbone alimentato da NAS: Il modello utilizza la ricerca neurale dell'architettura (NAS) per scoprire automaticamente una struttura dorsale efficiente (MAE-NAS). Questo approccio garantisce che la profondità e la larghezza della rete siano ottimizzate per specifici vincoli hardware.
- Collo RepGFPN: Presenta una versione efficiente della Generalized Feature Pyramid Network (GFPN) nota come RepGFPN. Questo componente migliora la fusione delle caratteristiche su diverse scale, mantenendo un controllo a bassa latenza.
- ZeroHead: un design semplificato della testina, denominato "ZeroHead", disaccoppia i compiti di classificazione e regressione, riducendo l'onere computazionale degli strati di predizione finali.
- AlignedOTA: per la stabilità dell'addestramento, YOLO impiega AlignedOTA (Optimal Transport Assignment), una strategia di assegnazione delle etichette che allinea gli obiettivi di classificazione e regressione per migliorare la convergenza.
RTDETRv2: L'evoluzione dei trasformatori in tempo reale
RTDETRv2 si basa sul successo dell'originale RT-DETR, il primo rilevatore di oggetti basato su trasformatori a raggiungere prestazioni in tempo reale. Sviluppato da Baidu, RTDETRv2 introduce un "bag-of-freebies" per migliorare la stabilità e l'accuratezza dell'addestramento senza incorrere in costi di inferenza aggiuntivi.
- Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
- Organizzazione:Baidu
- Data: 2023-04-17
- Arxiv:https://arxiv.org/abs/2304.08069
- GitHub:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
- Documenti:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
Punti salienti dell'architettura
RTDETRv2 sfrutta i punti di forza dei trasformatori di visione, attenuando i tradizionali colli di bottiglia della velocità:
- Codificatore ibrido: L'architettura utilizza un codificatore ibrido che elabora in modo efficiente le caratteristiche multiscala, disaccoppiando l'interazione intrascala e la fusione interscala per risparmiare sui costi computazionali.
- Selezione delle queryIoU: Questo meccanismo seleziona le query iniziali di oggetti di alta qualità in base ai punteggi di Intersection over UnionIoU), portando a una più rapida convergenza dell'addestramento.
- Configurazione adattabile: RTDETRv2 offre configurazioni flessibili per il decodificatore e la selezione delle interrogazioni, consentendo agli utenti di mettere a punto il modello per requisiti specifici di velocità/accuratezza.
- Design privo di ancoraggi: Come il suo predecessore, è completamente privo di ancoraggi, eliminando la necessità di regolare euristicamente la casella di ancoraggio e la soppressione non massimaNMS) durante la post-elaborazione.
Confronto tecnico: Prestazioni ed efficienza
La distinzione fondamentale tra questi due modelli risiede nelle loro radici architettoniche, la GNN e il Transformer, e nel modo in cui ciò influisce sul loro profilo prestazionale.
Analisi metrica
La tabella seguente illustra le metriche chiave sul set di datiCOCO . Mentre RTDETRv2 domina in termini di precisione mediamAP), YOLO dimostra un throughput superiore (FPS) e un numero inferiore di parametri per le sue varianti più piccole.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
Analisi dei compromessi
YOLO eccelle in ambienti in cui ogni millisecondo è importante, come lo smistamento industriale ad alta frequenza. La sua variante "Tiny" (t) è eccezionalmente leggera. Al contrario, RTDETRv2 offre un limite di precisione più elevato, che lo rende preferibile per le scene complesse in cui la mancanza di un oggetto è fondamentale, come nella navigazione autonoma o nella sorveglianza dettagliata.
Architettura e applicazione nel mondo reale
Contesto globale e caratteristiche locali: Il meccanismo di attenzione del trasformatore di RTDETRv2 gli consente di comprendere il contesto globale meglio del YOLO basato su CNN. Ciò si traduce in prestazioni migliori in scene affollate o quando gli oggetti sono occlusi. Tuttavia, questa attenzione globale ha il costo di un maggiore consumo di memoria e di tempi di addestramento più lenti.
Ottimizzazione hardware: Il backbone basato su NAS di YOLO è altamente ottimizzato per l'inferenza GPU , ottenendo una latenza molto bassa. RTDETRv2, pur essendo in tempo reale, richiede in genere un hardware più potente per eguagliare le frequenze dei fotogrammi dei rilevatori YOLO.
Il vantaggio Ultralytics: perché scegliere YOLO11?
Mentre YOLO e RTDETRv2 offrono vantaggi specifici, Ultralytics YOLO11 si distingue come la soluzione più equilibrata e facile da sviluppare per la maggior parte delle applicazioni reali.
Esperienza ed ecosistema di sviluppatori di livello superiore
Una delle sfide più significative dei modelli accademici come YOLO o RTDETRv2 è l'integrazione. Ultralytics risolve questo problema con un robusto ecosistema:
- Facilità d'uso: Con un'API e una CLI Python unificate, è possibile addestrare, convalidare e distribuire i modelli con poche righe di codice.
- Ecosistema ben curato: I modelli Ultralytics sono supportati da uno sviluppo attivo, da un'ampia documentazione e da una vasta comunità. Ciò garantisce la compatibilità con le librerie hardware e software più recenti.
- Efficienza di addestramento: YOLO11 è progettato per addestrarsi più velocemente e richiede una quantità di memoria GPU (VRAM) significativamente inferiore rispetto ai modelli basati su trasformatori come RTDETRv2. Questo rende l'IA ad alte prestazioni accessibile anche su hardware di livello consumer.
Versatilità senza pari
A differenza di YOLO e RTDETRv2, che si concentrano principalmente sul rilevamento di bounding box, YOLO11 supporta in modo nativo un'ampia gamma di attività di computer vision:
- Segmentazione delle istanze
- Classificazione delle immagini
- Stima della posa
- Riquadro di delimitazione orientato (OBB)
Equilibrio delle prestazioni
YOLO11 raggiunge un'accuratezza all'avanguardia che rivaleggia o supera RTDETRv2 in molti benchmark, pur mantenendo la velocità di inferenza e l'efficienza caratteristiche della famiglia YOLO .
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Conclusione
La scelta tra YOLO e RTDETRv2 dipende dai vostri vincoli specifici:
- Scegliete YOLO se il vostro vincolo principale è la latenza e se state distribuendo su dispositivi edge dove il numero minimo di parametri è fondamentale.
- Scegliete RTDETRv2 se desiderate la massima precisione possibile in scene complesse e se avete il budget computazionale per supportare un'architettura a trasformatori.
Tuttavia, per una soluzione olistica che combini prestazioni elevate, facilità d'uso e capacità multitasking, Ultralytics YOLO11 rimane la scelta consigliata. L'ingombro ridotto della memoria durante l'addestramento, unito a un ecosistema maturo, accelera il passaggio dal prototipo alla produzione.
Esplora altri modelli
Per comprendere meglio il panorama del rilevamento degli oggetti, esplorate questi confronti: