RTDETRv2 vs YOLOv5#
L'evoluzione della visione artificiale è stata definita in larga misura dalla costante ricerca di un equilibrio tra accuratezza e velocità di inferenza in tempo reale. Nel confronto tra RTDETRv2 e Ultralytics YOLOv5, gli sviluppatori valutano sostanzialmente le sofisticate capacità di comprensione del contesto globale delle architetture Transformer rispetto all'efficienza altamente ottimizzata e collaudata delle reti neurali convoluzionali (CNN).
Questa guida offre un'analisi tecnica approfondita di queste due architetture di rilievo, illustrandone le metriche di prestazione, le metodologie di addestramento, i requisiti di memoria e gli scenari di distribuzione ideali, per aiutarti a scegliere il modello di rilevamento di oggetti più adatto al tuo caso d'uso.
RTDETRv2: l'approccio Transformer al rilevamento in tempo reale#
Basandosi sul Real-Time Detection Transformer (RT-DETR) originale, RTDETRv2 introduce una serie di «bag-of-freebies» per migliorare l'architettura di base senza comprometterne la latenza di inferenza.
- Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
- Organizzazione: Baidu
- Data: 2024-07-24
- Link: Articolo su Arxiv, repository GitHub
Architettura e funzionalità#
RTDETRv2 sfrutta un'architettura ibrida CNN-Transformer. La CNN funge da backbone per estrarre caratteristiche visive dettagliate, mentre i livelli encoder-decoder Transformer elaborano l'intera mappa delle caratteristiche per comprenderne il contesto globale. Una caratteristica distintiva di RTDETRv2 è la sua natura end-to-end, che elimina completamente la necessità della post-elaborazione con soppressione non massima (NMS).
RTDETRv2 raggiunge un'accuratezza notevole, soprattutto nelle scene complesse e dense in cui gli oggetti si sovrappongono, ma comporta compromessi significativi. Il meccanismo di attenzione intrinseco ai Transformer richiede molta più memoria CUDA durante l'addestramento rispetto alle CNN standard. Inoltre, pur ottenendo buoni risultati sulle GPU di fascia alta come NVIDIA A100 o T4, la sua architettura è notevolmente più lenta sulle CPU standard e sui dispositivi edge con risorse fortemente limitate.
Ultralytics YOLOv5: lo standard del settore per l'efficienza#
Al momento del suo rilascio, Ultralytics YOLOv5 ha trasformato radicalmente il panorama dell'apprendimento automatico applicato, rendendo la visione artificiale ad alte prestazioni accessibile agli sviluppatori di tutto il mondo grazie a un framework eccezionalmente intuitivo.
- Autore: Glenn Jocher
- Organizzazione: Ultralytics
- Data: 26 giugno 2020
- Link: Documentazione ufficiale, Repository GitHub
Equilibrio tra ecosistema e prestazioni#
YOLOv5 è interamente basato sul framework PyTorch e utilizza un'architettura CNN estremamente efficiente. È stato progettato fin dall'inizio per essere facile da usare, con un'API semplificata e una delle documentazioni più complete del settore dell'IA.
Il principale vantaggio di YOLOv5 risiede nella sua versatilità senza pari e nei bassi requisiti di memoria. Addestrare un modello YOLOv5 richiede molta meno VRAM rispetto ai modelli basati su Transformer, rendendolo accessibile a ricercatori e ingegneri con risorse hardware limitate. Inoltre, mentre RTDETRv2 si concentra esclusivamente sul rilevamento dei riquadri di delimitazione, YOLOv5 si è evoluto in una soluzione versatile che supporta la segmentazione di istanze e la classificazione di immagini.
Per provare un flusso di lavoro ottimizzato al massimo, puoi addestrare, convalidare e distribuire YOLOv5 direttamente utilizzando la piattaforma Ultralytics. La piattaforma offre funzionalità di addestramento cloud e pipeline di distribuzione senza codice.
Confronto delle prestazioni e delle metriche#
Analizzando le prestazioni grezze sul dataset COCO standard, emergono chiaramente le diverse priorità di utilizzo delle risorse di questi modelli.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
Analisi dei compromessi#
I dati mostrano che RTDETRv2-x raggiunge un picco di precisione media (mAP) del 54,3%, superando leggermente il 50,7% di YOLOv5x. Questo lieve aumento di accuratezza comporta però un costo computazionale enorme. YOLOv5x ha una latenza inferiore (11,89 ms contro 15,03 ms su TensorRT) e richiede una frazione della memoria. Per le distribuzioni edge a bassissimo consumo, YOLOv5n (Nano) resta imbattuto: completa le inferenze in appena 1,12 ms con soli 1,9 M di parametri, una categoria in cui RTDETRv2 non tenta nemmeno di competere.
Efficienza di addestramento e semplicità del codice#
Uno dei principali punti di forza dell'ecosistema Ultralytics è la sua API unificata. Anche se decidi di utilizzare l'architettura Transformer di RT-DETR per un'attività specifica ad alto costo computazionale, puoi farlo interamente all'interno del pacchetto Python di Ultralytics, passando da un modello all'altro con una sola riga di codice.
from ultralytics import RTDETR, YOLO
# Carica il modello Ultralytics YOLOv5 small
model_yolo = YOLO("yolov5su.pt") # YOLOv5u: pesi YOLOv5 anchor-free per il pacchetto ultralytics
# Carica il modello RT-DETR large tramite Ultralytics
model_rtdetr = RTDETR("rtdetr-l.pt")
# Addestra YOLOv5 senza sforzo sui tuoi dati personalizzati
model_yolo.train(data="coco8.yaml", epochs=100, imgsz=640)
# Esegui l'inferenza senza difficoltà con entrambi i modelli
results_yolo = model_yolo("https://ultralytics.com/images/bus.jpg")
results_rtdetr = model_rtdetr("https://ultralytics.com/images/bus.jpg")
results_yolo[0].show()Utilizzando la libreria Ultralytics, gli sviluppatori ottengono automaticamente l'accesso a un ecosistema ben gestito, con integrazioni per il monitoraggio degli esperimenti (come Weights & Biases e Comet ML) ed esportazioni con un clic in formati di distribuzione come ONNX e OpenVINO.
Applicazioni nel mondo reale e casi d'uso ideali#
Dove RTDETRv2 dà il meglio di sé#
RTDETRv2 è più adatto agli ambienti in cui non esistono limitazioni hardware e l'unico obiettivo è ottenere la massima precisione possibile.
- Imaging medico lato server: rilevare anomalie microscopiche nelle radiografie ad alta risoluzione.
- Immagini satellitari: tracciare oggetti densi e sovrapposti in attività di sorveglianza aerea su potenti cluster cloud.
Dove YOLOv5 primeggia#
YOLOv5 è senza dubbio il campione per la distribuzione pratica nel mondo reale su hardware eterogeneo.
- Dispositivi edge AI: distribuire sistemi di allarme di sicurezza su Raspberry Pi o dispositivi NVIDIA Jetson, dove la memoria è fortemente limitata.
- Applicazioni mobili: eseguire direttamente sugli smartphone inferenze rapide e in tempo reale per riquadri di delimitazione e segmentazione tramite CoreML o LiteRT.
- Produzione industriale ad alta velocità: ispezionare componenti su linee di produzione rapide, dove una latenza di pochi millisecondi è fondamentale per il successo operativo.
YOLOv5 è un modello leggendario, ma l'ecosistema Ultralytics continua a spingere oltre i confini dell'IA. Se nel 2026 stai confrontando modelli per un nuovo progetto, valuta il modello all'avanguardia Ultralytics YOLO26. YOLO26 integra un design end-to-end senza NMS nativo tramite la sua head opzionale one-to-one (nms=False), simile ai Transformer ma veloce quanto una CNN; include il rivoluzionario ottimizzatore MuSGD per un addestramento incredibilmente stabile e offre un'inferenza su CPU fino al 43% più veloce. In alternativa, YOLO11 resta un'ottima scelta, ampiamente supportata, per distribuzioni versatili che richiedono la stima della posa e il rilevamento OBB.
In definitiva, mentre RTDETRv2 spinge al limite l'accuratezza tramite i livelli Transformer, il framework Ultralytics YOLO offre un equilibrio senza pari tra velocità e requisiti di memoria contenuti, oltre a un'esperienza di sviluppo progettata con cura che riduce drasticamente il tempo necessario per passare dal prototipo alla produzione.