YOLO11 vs RTDETRv2#
Il panorama della visione artificiale si è ampliato rapidamente, offrendo agli sviluppatori molte opzioni per creare applicazioni di visione robuste. Nel campo del rilevamento degli oggetti in tempo reale, il dibattito tra reti neurali convoluzionali (CNN) e Vision Transformer (ViT) è più acceso che mai. Questo confronto tecnico analizza due architetture di punta: YOLO11, espressione massima dei framework CNN altamente ottimizzati, e RTDETRv2, una potente evoluzione della famiglia Detection Transformer.
Analizzandone le architetture, le metriche di prestazione e gli scenari di distribuzione ideali, questa guida mira ad aiutare gli ingegneri di machine learning a prendere decisioni informate. Entrambi i modelli spingono oltre i limiti dell’accuratezza, ma i modelli Ultralytics YOLO offrono in genere un equilibrio migliore tra velocità, supporto dell’ecosistema e facilità d’uso per la produzione nel mondo reale.
YOLO11: il punto di riferimento per la versatilità nel mondo reale#
Introdotto da Ultralytics, YOLO11 si basa su anni di ricerca fondamentale per offrire un modello veloce, accurato e incredibilmente versatile. È progettato per gestire senza difficoltà rilevamento degli oggetti, segmentazione delle istanze, classificazione delle immagini, stima della posa ed estrazione di riquadri orientati (OBB) in modo nativo.
- Autori: Glenn Jocher e Jing Qiu
- Organizzazione: Ultralytics
- Data: 2024-09-27
- GitHub: Repository Ultralytics
- Documentazione: Documentazione di YOLO11
Architettura e punti di forza#
YOLO11 presenta un backbone CNN perfezionato e piramidi di caratteristiche spaziali avanzate, che lo rendono particolarmente efficiente in termini di risorse. Offre prestazioni eccellenti in ambienti con rigidi vincoli hardware e un ingombro di memoria minimo sia durante l’addestramento sia durante l’inferenza. La Ultralytics Platform supporta YOLO11 nativamente e consente di semplificare il monitoraggio dei modelli, l’annotazione dei dati e l’addestramento nel cloud senza dover assemblare strumenti MLOps diversi.
Per gli sviluppatori che puntano all’edge computing, YOLO11 offre una latenza estremamente bassa. La sua leggerezza gli consente di funzionare in modo efficiente su dispositivi che vanno dai Raspberry Pi agli smartphone di fascia consumer, rendendolo uno standard per il retail intelligente, il controllo qualità nella produzione e la gestione automatizzata del traffico.
RTDETRv2: Transformer in tempo reale di Baidu#
RTDETRv2 (Detection Transformer in tempo reale versione 2) è il tentativo di Baidu di rendere le architetture basate su Transformer adatte alle attività in tempo reale. Si basa sull’RT-DETR originale e adotta un approccio «bag-of-freebies» per migliorare l’accuratezza di base senza aumentare la latenza di inferenza.
- 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 RTDETRv2
- Documentazione: README di RTDETRv2
Architettura e punti di forza#
A differenza delle CNN tradizionali, RTDETRv2 utilizza un’architettura encoder-decoder con meccanismi di self-attention, che gli consentono di acquisire il contesto globale di un’immagine. Ciò è particolarmente vantaggioso nelle scene affollate, dove le occlusioni sono frequenti. RTDETRv2 elimina la necessità della soppressione non massima (NMS) in fase di post-elaborazione e si affida invece all’abbinamento ungherese durante l’addestramento per l’associazione bipartita uno-a-uno.
Tuttavia, i modelli Transformer richiedono notoriamente molta memoria VRAM e CUDA. Addestrare RTDETRv2 da zero o perfezionarlo su dataset personalizzati richiede spesso cluster di GPU di fascia alta e notevoli risorse, un ostacolo per i team più piccoli e agili rispetto al ridotto consumo di memoria durante l’addestramento dei modelli Ultralytics.
Analisi delle prestazioni e delle metriche#
Valutando questi modelli sul dataset COCO standard, si notano chiari compromessi tra parametri, FLOPs e accuratezza effettiva.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.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 risultati#
Come mostra la tabella, YOLO11 offre un rapporto prestazioni-dimensioni eccezionale. YOLO11x raggiunge un mAPval superiore (54,7) rispetto a RTDETRv2-x (54,3), pur utilizzando molti meno parametri (56,9M contro 76M) e un numero nettamente inferiore di FLOPs computazionali (195,3B contro 259B).
Inoltre, le velocità di inferenza di YOLO11 su TensorRT T4 sono eccezionali. YOLO11s completa l’inferenza in soli 2,5 ms, mentre RTDETRv2-s, il modello più piccolo, impiega 5,03 ms. Questo rende YOLO11 la scelta ideale per i flussi di analisi video in tempo reale ad alta velocità, dove il tempo di elaborazione dei fotogrammi è il principale collo di bottiglia.
RTDETRv2 raggiunge un’ottima accuratezza grazie ai livelli di attenzione, ma questi meccanismi scalano quadraticamente con la risoluzione delle immagini, aumentando il consumo di VRAM sia durante l’addestramento sia durante l’inferenza. YOLO11 aggira il problema con i suoi blocchi convoluzionali estremamente efficienti.
Ecosistema di addestramento e facilità d’uso#
Il vantaggio principale di adottare un modello Ultralytics risiede nell’ecosistema che lo circonda. Addestrare RTDETRv2 comporta spesso l’uso di repository di ricerca complessi, la regolazione di pesi intricati per le funzioni di perdita basate sull’abbinamento bipartito e la gestione di un notevole consumo di memoria.
Ultralytics, invece, pone grande attenzione all’esperienza degli sviluppatori. L’API Python unificata nasconde il codice ripetitivo, si integra perfettamente con strumenti come Weights & Biases per il monitoraggio degli esperimenti e gestisce automaticamente gli aumenti dei dati.
Ecco quanto è semplice addestrare ed esportare un modello con il pacchetto ultralytics:
from ultralytics import YOLO
# Inizializza il modello YOLO11 con pesi preaddestrati
model = YOLO("yolo11n.pt")
# Addestra il modello in modo efficiente su una GPU locale o su un’istanza cloud
train_results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device=0, # Usa una GPU CUDA
)
# Esporta il modello addestrato in ONNX per distribuirlo ampiamente
export_path = model.export(format="onnx")Una volta completato l’addestramento, esportare un modello YOLO11 in formati come ONNX, OpenVINO o CoreML richiede un solo comando, consentendo alla tua pipeline di visione di adattarsi facilmente a diversi backend hardware.
Ricorda che RTDETRv2 si concentra esclusivamente sul rilevamento dei riquadri, mentre l’architettura YOLO11 supporta nativamente la segmentazione delle istanze e la stima della posa, consentendoti di riunire più attività di visione in un’unica famiglia di modelli.
Casi d'uso e consigli#
La scelta tra YOLO11 e RT-DETR dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle tue preferenze in termini di ecosistema.
Quando scegliere YOLO11#
YOLO11 è un'ottima scelta per:
- Deployment edge in produzione: applicazioni commerciali su dispositivi come Raspberry Pi o NVIDIA Jetson, per cui affidabilità e manutenzione attiva sono fondamentali.
- Applicazioni di visione multi-task: progetti che richiedono rilevamento, segmentazione, stima della posa e OBB all'interno di un unico framework unificato.
- Prototipazione e deployment rapidi: team che devono passare rapidamente dalla raccolta dei dati alla produzione usando la API Python di Ultralytics, semplice e intuitiva.
Quando scegliere RT-DETR#
RT-DETR è consigliato per:
- Ricerca sul rilevamento basato sui Transformer: progetti che esplorano meccanismi di attenzione e architetture Transformer per il rilevamento di oggetti end-to-end senza NMS.
- Scenari ad alta accuratezza e latenza flessibile: applicazioni in cui l'accuratezza del rilevamento è la priorità assoluta e si può accettare una latenza di inferenza leggermente più alta.
- Rilevamento di oggetti grandi: scene in cui sono presenti principalmente oggetti medio-grandi e 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 combinazione migliore di prestazioni ed esperienza per gli sviluppatori:
- Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
- Ambienti con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
- Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.
Uno sguardo al futuro: la potenza di YOLO26#
YOLO11 è un’ottima scelta per la produzione, ma i team che puntano all’avanguardia assoluta dovrebbero prendere seriamente in considerazione YOLO26. Rilasciato a gennaio 2026, YOLO26 colma il divario architetturale integrando direttamente nel modello una testa end-to-end senza NMS opzionale (nms=False, introdotta per la prima volta in YOLOv10), eliminando la latenza della post-elaborazione NMS e la complessità della logica di distribuzione.
YOLO26 introduce anche diverse funzionalità rivoluzionarie:
- Ottimizzatore MuSGD: Ispirato alle tecniche di addestramento degli LLM utilizzate per Kimi K2 di Moonshot AI, questo ibrido di SGD e Muon garantisce un addestramento estremamente stabile e una convergenza molto più rapida.
- Rimozione della DFL: la Distribution Focal Loss è stata rimossa per semplificare il processo di esportazione e migliorare notevolmente la compatibilità con i dispositivi edge a basso consumo.
- ProgLoss + STAL: queste funzioni di perdita avanzate migliorano notevolmente il riconoscimento degli oggetti piccoli, un requisito fondamentale per la sorveglianza con droni, il monitoraggio agricolo e i sensori edge IoT.
- Inferenza CPU fino al 43% più veloce: per le distribuzioni senza GPU dedicate, YOLO26 è ottimizzato specificamente per l’esecuzione su CPU e supera nettamente le generazioni precedenti.
Se ti interessa esplorare una gamma più ampia di architetture, la documentazione Ultralytics offre anche approfondimenti su YOLOv8, il diffusamente adottato YOLOv5 e modelli specializzati come YOLO-World per applicazioni di rilevamento a vocabolario aperto. In definitiva, che tu dia priorità alla comprovata stabilità di YOLO11 o alle innovazioni rivoluzionarie di YOLO26, l’ecosistema Ultralytics offre strumenti senza pari per dare vita alle tue soluzioni di visione artificiale.