DAMO-YOLO vs RTDETRv2#
Il panorama in rapida evoluzione della computer vision ha prodotto un'impressionante varietà di architetture progettate per bilanciare velocità, accuratezza ed efficienza computazionale. Due modelli di spicco che hanno contribuito con approcci unici alla risoluzione di queste sfide sono DAMO-YOLO e RTDETRv2. Sebbene entrambi i modelli mirino a fornire soluzioni all'avanguardia per l'inferenza in tempo reale, differiscono fondamentalmente nelle rispettive filosofie architetturali.
Questa guida completa esamina in profondità le specifiche tecniche, le innovazioni architetturali e i casi d'uso pratici di entrambi i modelli, esplorando anche come soluzioni moderne come la Ultralytics Platform e l'avanzato YOLO26 abbiano ridefinito gli standard del settore per la distribuzione e la facilità d'uso.
Panoramica dei modelli#
Conoscere DAMO-YOLO#
Sviluppato da ricercatori di Alibaba Group, DAMO-YOLO introduce un metodo di rilevamento degli oggetti rapido e accurato, che si basa fortemente sulla Ricerca dell'architettura neurale (NAS). Sostituisce i backbone tradizionali progettati manualmente con strutture generate tramite NAS e pensate per una bassa latenza. Inoltre, integra un efficiente RepGFPN (rete piramidale generalizzata delle feature parametrizzata nuovamente) e un design ZeroHead per semplificare l'aggregazione delle feature e le predizioni dei riquadri di delimitazione.
Dettagli principali del modello:
- Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organizzazione: Alibaba Group
- Data: 2022-11-23
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
- Documentazione: Documentazione di DAMO-YOLO
Conoscere RTDETRv2#
RTDETRv2 di Baidu rappresenta un notevole passo avanti per i Transformer di rilevamento in tempo reale. A differenza delle tradizionali reti neurali convoluzionali (CNN), che si basano su anchor box e sulla Soppressione dei massimi non significativi (NMS), RTDETRv2 utilizza meccanismi di self-attention per considerare l'intero contesto dell'immagine. Produce direttamente i riquadri di delimitazione, bypassando completamente la fase di post-elaborazione NMS. Questo modello introduce una strategia di addestramento «bag of freebies» per migliorare l'accuratezza di base senza aumentare la latenza di inferenza.
Dettagli principali del modello:
- Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
- Organizzazione: Baidu
- Data: 2024-07-24
- Arxiv: 2407.17140
- GitHub: Repository di RT-DETR
- Documentazione: Documentazione di RTDETRv2
Sebbene i Transformer richiedano maggiori risorse computazionali, la loro capacità di elaborare il contesto globale li rende estremamente efficaci per la comprensione di scene complesse, un punto di forza fondamentale di RTDETRv2.
Confronto delle prestazioni#
Quando si valutano questi modelli per la distribuzione nel mondo reale, parametri come la media della precisione media (mAP), la velocità di inferenza e l'occupazione di memoria sono fondamentali. I modelli basati su Transformer come RTDETRv2 generalmente richiedono più memoria CUDA durante l'addestramento e l'inferenza rispetto alle CNN leggere come DAMO-YOLO.
Di seguito è riportato un confronto dettagliato delle relative metriche di prestazione.
| 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 |
Casi d'uso ideali#
Dove eccelle DAMO-YOLO: Grazie al suo backbone ottimizzato tramite NAS e al numero eccezionalmente ridotto di parametri nelle varianti più piccole, come DAMO-YOLOt, è particolarmente adatto alla distribuzione su hardware fortemente limitato. Se stai realizzando soluzioni per dispositivi embedded utilizzando runtime come ONNX o motori TensorRT specializzati per l'edge computing, DAMO-YOLO offre un framework altamente reattivo.
Dove eccelle RTDETRv2: RTDETRv2 dà il meglio di sé negli scenari in cui sono disponibili GPU di livello server e il contesto globale dell'immagine è fondamentale. La sua architettura Transformer gli consente di risolvere naturalmente i riquadri di delimitazione sovrapposti senza NMS, rendendolo una scelta solida per la gestione delle folle o il complesso tracciamento degli oggetti, dove le relazioni spaziali tra oggetti distanti sono fondamentali.
Il vantaggio di Ultralytics: introduzione a YOLO26#
Sebbene DAMO-YOLO e RTDETRv2 rappresentino importanti risultati accademici, trasformare questi modelli in applicazioni scalabili e pronte per la produzione può essere difficile. Gli sviluppatori devono spesso affrontare codebase frammentate, mancanza di supporto per l'apprendimento multitask e pipeline di distribuzione complesse.
È qui che l'ecosistema Ultralytics si distingue davvero. Dando priorità alla facilità d'uso, a un'API Python ben mantenuta e a una versatilità senza pari, Ultralytics fa sì che gli sviluppatori dedichino meno tempo al debug e più tempo alla realizzazione.
Il modello Ultralytics YOLO26, rilasciato di recente, porta questi vantaggi a un livello superiore, offrendo innovazioni che superano sia DAMO-YOLO sia RTDETRv2:
- Design end-to-end senza NMS: Sperimentato inizialmente in YOLOv10, YOLO26 è nativamente end-to-end. Questo elimina completamente la post-elaborazione NMS, rendendo la distribuzione più rapida e molto più semplice rispetto alle CNN tradizionali, mantenendo al contempo i vantaggi dell'output diretto di RTDETRv2.
- Inferenza su CPU fino al 43% più veloce: Ottimizzato appositamente per i dispositivi edge AI privi di GPU discrete, rappresenta una scelta nettamente superiore per le applicazioni IoT rispetto ai Transformer ad alta intensità di memoria.
- Ottimizzatore MuSGD: Ispirato a Kimi K2 di Moonshot AI, questo ibrido di SGD e Muon porta le innovazioni dell'addestramento dei Modelli linguistici di grandi dimensioni (LLM) nella computer vision, con un addestramento eccezionalmente stabile e una convergenza più rapida.
- ProgLoss + STAL: Queste funzioni di perdita avanzate migliorano notevolmente il riconoscimento degli oggetti di piccole dimensioni, un'area in cui i modelli tradizionalmente incontrano difficoltà. Questo è fondamentale per le immagini aeree e le applicazioni con droni.
- Rimozione di DFL: La Distribution Focal Loss è stata rimossa per garantire formati di esportazione semplificati e una migliore compatibilità con i dispositivi edge a basso consumo.
- Versatilità senza pari: A differenza dei modelli concorrenti strettamente limitati al rilevamento, YOLO26 include miglioramenti specifici per ogni attività, come una funzione di perdita dell'angolo specializzata per i riquadri di delimitazione orientati (OBB), una funzione di perdita per la segmentazione semantica che garantisce una precisione a livello di pixel e la Residual Log-Likelihood Estimation (RLE) per la stima della posa.
L'addestramento di modelli basati su Transformer come RTDETRv2 richiede enormi allocazioni di memoria CUDA, rendendo spesso necessarie configurazioni costose con più GPU. I modelli Ultralytics YOLO mantengono requisiti di memoria notevolmente inferiori sia durante l'addestramento sia durante l'inferenza, rendendo lo sviluppo dell'AI accessibile a ricercatori e appassionati.
Esempio di codice: l'API Ultralytics unificata#
Uno dei maggiori vantaggi dell'ecosistema Ultralytics è la sua API unificata. Puoi caricare, addestrare e convalidare senza problemi una varietà di modelli, inclusa un'implementazione PyTorch di RT-DETR e modelli YOLO all'avanguardia, senza modificare il tuo flusso di lavoro.
from ultralytics import RTDETR, YOLO
# Load an RTDETRv2 model
model_rtdetr = RTDETR("rtdetr-l.pt")
# Load the cutting-edge YOLO26 model
model_yolo = YOLO("yolo26n.pt")
# Run inference on an image with a simple, unified interface
results_rtdetr = model_rtdetr("https://ultralytics.com/images/bus.jpg")
results_yolo = model_yolo("https://ultralytics.com/images/bus.jpg")
# Display the detected objects
results_yolo[0].show()Questa semplicità si estende all'addestramento su dataset personalizzati e all'esportazione. Utilizzando il pacchetto Python di Ultralytics, gli sviluppatori possono inviare facilmente i pesi addestrati a piattaforme di distribuzione come CoreML o OpenVINO con un singolo comando.
Conclusioni e ulteriori approfondimenti#
Sia DAMO-YOLO sia RTDETRv2 hanno indiscutibilmente ampliato i confini di ciò che è possibile fare nel rilevamento degli oggetti in tempo reale. DAMO-YOLO offre strutture di rete altamente ottimizzate e ricercate automaticamente per la massima efficienza, mentre RTDETRv2 dimostra che i Transformer possono competere nell'ambito del tempo reale eliminando colli di bottiglia tradizionali come NMS.
Tuttavia, per gli sviluppatori alla ricerca del miglior equilibrio tra prestazioni, documentazione completa e prontezza per la produzione, i modelli Ultralytics YOLO rimangono il punto di riferimento. Con l'introduzione di YOLO26, gli utenti ottengono accesso al rilevamento end-to-end simile a quello dei Transformer, all'efficienza di addestramento ispirata agli LLM e a velocità della CPU senza pari, il tutto racchiuso in un ecosistema intuitivo e robusto.
Se stai valutando i modelli per il tuo prossimo progetto, potresti trovare utile anche leggere i nostri confronti su EfficientDet vs RT-DETR, esplorare la generazione precedente YOLO11 o esaminare i baseline accademici come YOLOX. Inizia a costruire oggi stesso esplorando la guida di avvio rapido di Ultralytics.