YOLO11 vs RTDETRv2#
Il rilevamento in tempo reale comporta sempre più spesso una scelta tra reti neurali convoluzionali (CNN) e Vision Transformer (ViT). Questo confronto tecnico riguarda due architetture di spicco per il rilevamento degli oggetti: YOLO11, una CNN altamente ottimizzata di Ultralytics, e RTDETRv2, un'evoluzione della famiglia Detection Transformer di Baidu.
Questa guida confronta le rispettive architetture, metriche prestazionali e scenari di distribuzione per aiutare gli ingegneri dell'apprendimento automatico a scegliere tra i due modelli. Entrambi raggiungono un'elevata accuratezza, ma i modelli Ultralytics YOLO offrono in genere un equilibrio migliore tra velocità, supporto dell'ecosistema e semplicità d'uso in produzione.
YOLO11: il punto di riferimento per la versatilità nel mondo reale#
Presentato da Ultralytics, YOLO11 si basa su anni di ricerca YOLO per offrire un modello veloce, accurato e versatile. Gestisce nativamente il rilevamento degli oggetti, la segmentazione di istanze, la classificazione di immagini, la stima della posa e il rilevamento di bounding box orientate (OBB).
- 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 usa un backbone CNN perfezionato e piramidi di caratteristiche multi-scala, risultando efficiente nell'uso delle risorse. È adatto agli ambienti con vincoli hardware rigorosi e ha un ingombro di memoria ridotto sia durante l'addestramento sia durante l'inferenza. La piattaforma Ultralytics supporta YOLO11 per l'annotazione dei dati, l'addestramento nel cloud e il monitoraggio dei modelli, senza dover integrare strumenti MLOps separati.
Per la distribuzione edge, YOLO11 offre una latenza ridotta. Il suo design leggero funziona in modo efficiente su dispositivi che vanno dalle schede Raspberry Pi agli smartphone di fascia consumer, risultando una scelta comune per il commercio al dettaglio 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 usa un'architettura encoder-decoder con meccanismi di attenzione personale, che gli consentono di acquisire il contesto globale di un'immagine. Questo aiuta nelle scene affollate, in cui le occlusioni sono frequenti. RTDETRv2 elimina la necessità della soppressione non massima (NMS) nella fase di post-elaborazione e usa invece l'abbinamento ungherese durante l'addestramento per realizzare un abbinamento bipartito uno-a-uno.
Tuttavia, i modelli Transformer richiedono in genere più VRAM e memoria CUDA. Addestrare RTDETRv2 da zero o perfezionarlo su dataset personalizzati richiede spesso GPU di fascia alta con molta memoria, un possibile ostacolo per i team più piccoli rispetto al ridotto fabbisogno di memoria dei modelli Ultralytics durante l'addestramento.
Analisi delle prestazioni e delle metriche#
Valutati sul dataset COCO standard, i modelli mostrano chiari compromessi tra parametri, FLOPs e accuratezza (mAP).
| 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#
YOLO11 offre maggiore accuratezza per parametro. YOLO11x raggiunge un mAPval (54.7) superiore a quello di RTDETRv2-x (54.3), usando meno parametri (56.9M contro 76M) e meno FLOPs (195.3B contro 259B).
YOLO11 è anche più veloce su T4 TensorRT. YOLO11s richiede 2.5 ms contro i 5.03 ms di RTDETRv2-s (47.0 contro 48.1 mAP), mentre YOLO11m è sia più accurato (51.5 mAP) sia più veloce (4.7 ms) di RTDETRv2-s. Questo rende YOLO11 particolarmente adatto all'analisi video in tempo reale, in cui il tempo di elaborazione dei frame è il principale collo di bottiglia.
RTDETRv2 raggiunge un'accuratezza eccellente grazie ai suoi livelli di attenzione, ma questi meccanismi crescono quadraticamente con la risoluzione dell'immagine, aumentando il consumo di VRAM sia durante l'addestramento sia durante l'inferenza. YOLO11 evita questo costo grazie a blocchi convoluzionali 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 punta a offrire un'esperienza di sviluppo ottimale. L'API Python unificata elimina il codice ripetitivo, si integra con strumenti come Weights & Biases per il monitoraggio degli esperimenti e gestisce automaticamente l'aumento 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 addestrato, esportare un modello YOLO11 in formati come ONNX, OpenVINO o CoreML richiede un solo comando, permettendo allo stesso modello di funzionare su diverse piattaforme hardware.
RTDETRv2 si concentra esclusivamente sul rilevamento tramite bounding box, mentre YOLO11 supporta anche la segmentazione di istanze, la classificazione di immagini, la stima della posa e il rilevamento OBB, consentendoti di consolidare 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, classificazione, stima della posa e OBB in 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 solo CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza CPU di YOLO26, fino al 43% più rapida (YOLO26n rispetto a YOLO11n), offre un vantaggio decisivo.
- Rilevamento di oggetti piccoli: Scenari complessi come le immagini aeree riprese da droni o l’analisi dei sensori IoT, in cui ProgLoss e STAL migliorano la precisione sugli oggetti piccoli.
Uno sguardo al futuro: la potenza di YOLO26#
YOLO11 rimane una scelta valida per la produzione, ma i nuovi progetti dovrebbero partire da YOLO26. Rilasciato a gennaio 2026, YOLO26 riduce il divario architetturale rispetto ai Transformer grazie a una testa end-to-end opzionale senza NMS (nms=False, introdotta nei modelli YOLO da YOLOv10), che elimina la latenza della post-elaborazione NMS e semplifica la logica di distribuzione.
YOLO26 introduce anche diverse altre modifiche:
- Ottimizzatore MuSGD: ispirato alle tecniche di addestramento dei modelli linguistici di grandi dimensioni (LLM) usate da Kimi K2 di Moonshot AI, questo ibrido di SGD e Muon offre un addestramento più stabile e una convergenza più rapida.
- Rimozione di DFL: la rimozione della Distribution Focal Loss semplifica l’esportazione e migliora la compatibilità con i dispositivi edge a basso consumo.
- ProgLoss + STAL: la Progressive Loss e l’assegnazione di etichette consapevole dei piccoli oggetti (STAL) migliorano il riconoscimento degli oggetti di piccole dimensioni, un requisito fondamentale per la sorveglianza con droni, il monitoraggio agricolo e i sensori edge IoT.
- Inferenza su CPU fino al 43% più veloce: per le distribuzioni senza GPU dedicate, YOLO26n è fino al 43% più veloce di YOLO11n su CPU.
Per una gamma più ampia di architetture, consulta YOLOv8, il diffusissimo YOLOv5 e modelli specializzati come YOLO-World per il rilevamento con vocabolario aperto. Che tu scelga la comprovata stabilità di YOLO11 o il più recente YOLO26, l’ecosistema Ultralytics mette a disposizione gli strumenti per portare in produzione i tuoi progetti di computer vision.