YOLOv6.0 vs RTDETRv2: Equilibrio tra velocità industriale 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 due approcci distinti a questa sfida: YOLOv6.0, un modello basato su CNN progettato da Meituan per la velocità industriale, e RTDETRv2, un'architettura Vision Transformer (ViT) di Baidu progettata per portare la precisione del trasformatore nelle applicazioni in tempo reale.
YOLOv6.0
Autori: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu e Xiangxiang Chu
Organizzazione: Meituan
Data: 2023-01-13
Arxiv: YOLOv6 v3.0: A Full-Scale Reloading
GitHub: YOLOv6
Docs: Documentazione diUltralytics YOLOv6
YOLOv6.0 rappresenta un'evoluzione significativa nella linea di rivelatori a singolo stadio, specificamente adattata alle applicazioni industriali in cui l'efficienza hardware è fondamentale. Introduce un "Full-Scale Reloading" dell'architettura, incorporando strategie avanzate di fusione delle caratteristiche e di addestramento per massimizzare il throughput sulle GPU.
Architettura e caratteristiche principali
L'architettura di YOLOv6.0 si concentra su un design compatibile con l'hardware. Utilizza un'efficiente spina dorsale di riparametrizzazione (RepBackbone) che consente al modello di avere capacità di estrazione di caratteristiche complesse durante l'addestramento e di collassare in una struttura semplificata per l'inferenza. Le principali innovazioni architettoniche includono:
- Concatenazione bidirezionale (BiC): Un modulo del collo che migliora l'accuratezza della fusione delle caratteristiche senza una forte penalizzazione computazionale.
- Formazione assistita da ancore (AAT): Una strategia che combina i vantaggi dei paradigmi basati sull'ancoraggio e senza ancoraggio durante la fase di addestramento per stabilizzare la convergenza.
- Autodistillazione: Il framework impiega un ciclo di formazione insegnante-allievo in cui il modello impara dalle sue stesse previsioni, migliorando l'accuratezza senza aumentare le dimensioni del modello.
Punti di forza
- Efficienza industriale: Il modello è esplicitamente ottimizzato per TensorRT e offre una latenza eccezionalmente bassa sulle GPU NVIDIA .
- Bassa latenza ai bordi: con le specifiche varianti "Lite", si comporta bene sui dispositivi CPU mobile, rendendolo adatto agli scanner industriali portatili.
- Supporto per la quantizzazione: Dispone di un solido supporto per l'addestramento consapevole della quantizzazione (Quantization Aware Training, QAT), che impedisce una significativa perdita di precisione quando si passa alla precisione INT8.
Punti deboli
- Limitazione del compito: YOLOv6 è stato progettato principalmente per il rilevamento di bounding box. Manca di un supporto nativo per compiti complessi come la stima della posa o il rilevamento dell'Oriented Bounding Box (OBB), che si trovano in framework più versatili.
- Complessità della formazione: La dipendenza dall'autodistillazione e dalle fasi di riparametrizzazione specializzate può rendere la pipeline di formazione più fragile e più difficile da personalizzare rispetto ai modelli YOLO standard.
Casi d'uso ideali
- Produzione ad alta velocità: Rilevamento di difetti su nastri trasportatori in rapido movimento, dove la latenza al millisecondo è fondamentale.
- Robotica integrata: Sistemi di navigazione su piattaforme come NVIDIA Jetson, dove le risorse di calcolo sono strettamente limitate.
Per saperne di più su YOLOv6.0
RTDETRv2
Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
Organizzazione: Baidu
Data: 2023-04-17 (originale), 2024-07-24 (v2)
Arxiv: RT-DETRv2: Improved Baseline with Bag-of-Freebies
GitHub: RT-DETR
Docs: DocumentazioneRT-DETR Ultralytics
RTDETRv2 (Real-Time Detection Transformer v2) sfida il dominio delle CNN dimostrando che i trasformatori possono raggiungere velocità in tempo reale. Si basa sul paradigma DETR (Detection Transformer), ma affronta la lentezza della convergenza e gli alti costi computazionali tipicamente associati ai meccanismi di attenzione.
Architettura e caratteristiche principali
RTDETRv2 impiega un codificatore ibrido che elabora in modo efficiente le caratteristiche multiscala. A differenza dei trasformatori tradizionali che elaborano tutte le patch dell'immagine allo stesso modo, RTDETRv2 concentra l'attenzione sulle aree rilevanti nelle prime fasi della pipeline.
- Encoder ibrido efficiente: Disaccoppia l'interazione intrascala e la fusione interscala per ridurre l'overhead computazionale.
- Selezione delle queryIoU: Seleziona le query iniziali degli oggetti di alta qualità dall'uscita del codificatore, migliorando l'inizializzazione del decodificatore e accelerando la convergenza.
- Design privo di ancoraggi: Elimina la necessità di post-elaborazione della soppressione non massimaNMS), semplificando la pipeline di distribuzione e riducendo la variabilità della latenza nelle scene affollate.
Punti di forza
- Consapevolezza del contesto globale: Il meccanismo di auto-attenzione permette al modello di "vedere" l'intera immagine in una sola volta, consentendo un migliore rilevamento degli oggetti occlusi rispetto alle CNN che si basano su campi recettivi locali.
- Massima precisione: Raggiunge costantemente un livello di precisione più elevato mAP sul datasetCOCO per una determinata scala di modello rispetto a molte controparti CNN.
- NMS: l'assenza di NMS rende il tempo di inferenza più deterministico, il che rappresenta un vantaggio significativo per i sistemi in tempo reale.
Punti deboli
- Intensità di memoria: I trasformatori richiedono una quantità significativamente maggiore di VRAM durante l'addestramento e l'inferenza, a causa della complessità quadratica delle matrici di attenzione (sebbene RTDETR ottimizzi questo aspetto).
- Fame di dati: I trasformatori di visione richiedono generalmente set di dati più grandi e programmi di addestramento più lunghi per convergere completamente rispetto alle CNN come YOLOv6.
Casi d'uso ideali
- Scene di traffico complesse: Rilevamento di pedoni e veicoli in ambienti densi e caotici in cui l'occlusione è comune.
- Guida autonoma: Applicazioni che richiedono una percezione ad alta affidabilità in cui il costo di un mancato rilevamento è superiore al costo di requisiti hardware leggermente più elevati.
Confronto delle prestazioni
La tabella seguente mette a confronto le prestazioni di YOLOv6.0 e RTDETRv2. Mentre RTDETRv2 si spinge oltre per quanto riguarda l'accuratezza, YOLOv6.0 mantiene un vantaggio nella velocità di inferenza grezza, in particolare su scala "nano".
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
| 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
- Velocità e precisione: Il
YOLOv6-3.0nè incredibilmente leggero (1,17 ms di inferenza), il che lo rende il re indiscusso per un hardware estremamente limitato. Tuttavia, se la priorità è l'accuratezza,RTDETRv2-soffre una mAP significativamente più alta (48,1) rispetto a quella diYOLOv6-3.0s(45,0), anche se con un tempo di inferenza quasi doppio (5,03 ms contro 2,66 ms). - Comportamento in scala: All'aumentare delle dimensioni del modello, il divario si riduce.
RTDETRv2-l(53,4 mAP) superaYOLOv6-3.0l(52,8 mAP) pur avendo meno parametri (42M vs 59,6M), dimostrando l'efficienza dei parametri dell'architettura a trasformatori, anche se i FLOP rimangono comparabili. - Implicazioni hardware: Il vantaggio di YOLOv6 risiede nella sua struttura CNN pura, che si adatta molto direttamente agli acceleratori hardware. RTDETRv2 richiede un hardware in grado di gestire in modo efficiente le moltiplicazioni di matrici e le operazioni di attenzione per realizzare la sua velocità teorica.
Considerazioni sulla distribuzione
Quando si distribuisce su dispositivi edge, ricordarsi che i "parametri" non sono sempre perfettamente correlati alla velocità. Sebbene RTDETRv2 possa avere meno parametri in alcune configurazioni, i suoi modelli di accesso alla memoria (attenzione) possono essere più lenti sull'hardware più vecchio rispetto alle convoluzioni altamente ottimizzate di YOLOv6.
Metodologie di addestramento
Il panorama della formazione per questi due modelli differisce in modo significativo, con un impatto sulle risorse necessarie per lo sviluppo.
YOLOv6.0 segue le pratiche standard di deep learning per le CNN. Si avvantaggia di programmi di addestramento più brevi (in genere 300-400 epoche) e di un minore consumo di memoria GPU . Tecniche come l'autodistillazione sono gestite internamente, ma aggiungono un livello di complessità al calcolo della funzione di perdita.
RTDETRv2, essendo basato su trasformatori, richiede generalmente più CUDA durante l'addestramento. La complessità quadratica del meccanismo di attenzione rispetto alle dimensioni dell'immagine significa che spesso è necessario ridurre le dimensioni dei batch o utilizzare GPU più potenti. Inoltre, i trasformatori spesso beneficiano di orizzonti di addestramento più lunghi per apprendere completamente le relazioni spaziali senza pregiudizi induttivi.
Il vantaggio di Ultralytics
Sia YOLOv6 che RTDETR offrono caratteristiche interessanti per nicchie specifiche, Ultralytics YOLO11 offre una soluzione unificata che bilancia il meglio dei due mondi. Integra l'efficienza delle CNN con le moderne raffinatezze architettoniche che rivaleggiano con la precisione dei trasformatori, il tutto in un ecosistema progettato per la produttività degli sviluppatori.
Perché scegliere i modelli Ultralytics ?
- Facilità d'uso: Ultralytics fornisce un'API Pythonic che astrae dalle complessità della formazione e della distribuzione. È possibile addestrare un modello all'avanguardia in tre righe di codice.
- Equilibrio delle prestazioni: YOLO11 è stato progettato per offrire un compromesso ottimale. Offre velocità di inferenza in tempo reale paragonabili a quelle di YOLOv6 , raggiungendo al contempo livelli di precisione che sfidano RTDETR, senza l'enorme sovraccarico di memoria dei trasformatori.
- Versatilità: A differenza di YOLOv6 (solo rilevamento), i modelli Ultralytics supportano in modo nativo la segmentazione delle istanze, la stima della posa, la classificazione e il rilevamento di OBB (Oriented Bounding Box).
- Ecosistema ben curato: Grazie agli aggiornamenti frequenti, all'ampia documentazione e al supporto della comunità, non sarete mai lasciati soli a eseguire il debug.
- Efficienza della formazione: I modelli Ultralytics sono rinomati per l'efficienza delle pipeline di addestramento, che consentono una rapida iterazione anche su hardware modesto.
from ultralytics import YOLO
# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")
# Train on COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with a single command
results = model("path/to/image.jpg")
Conclusione
Sia YOLOv6.0 che RTDETRv2 sono risultati impressionanti nella computer vision. YOLOv6.0 è la scelta pragmatica per le pipeline strettamente industriali, dove l'hardware è fisso e la velocità è l'unica metrica che conta. RTDETRv2 è una scelta eccellente per la ricerca e le applicazioni di fascia alta, dove la precisione in scene complesse è fondamentale e le risorse hardware sono abbondanti.
Tuttavia, per la maggior parte delle applicazioni reali, Ultralytics YOLO11 rimane la scelta migliore. Offre uno "sweet spot" di prestazioni, versatilità e facilità d'uso che accelera il passaggio dall'idea alla produzione. Che si tratti di ricercatori che necessitano di esperimenti rapidi o di ingegneri che devono implementare migliaia di dispositivi edge, l'ecosistema Ultralytics fornisce gli strumenti per garantire il successo.
Esplora altri modelli
Se siete interessati a ulteriori confronti, esplorate queste risorse nella documentazione di Ultralytics :