YOLOv5 vs RTDETRv2: Valutazione delle architetture CNN vs. Transformer per l'Object Detection
Il panorama della computer vision si è espanso significativamente negli ultimi anni, offrendo agli sviluppatori un'ampia gamma di architetture per affrontare complessi task visivi. Tra i paradigmi più popolari vi sono le Convolutional Neural Networks (CNN) e i Detection Transformers (DETR).
Questa guida fornisce un confronto tecnico approfondito tra due modelli fondamentali in queste categorie: Ultralytics YOLOv5, un modello basato su CNN altamente efficiente e ampiamente adottato, e RTDETRv2, un rilevatore di oggetti in tempo reale basato su transformer all'avanguardia.
Ultralytics YOLOv5: Lo standard industriale per l'efficienza
Sin dal suo rilascio, Ultralytics YOLOv5 è diventato un pilastro della comunità AI, alimentando migliaia di applicazioni commerciali e progetti di ricerca a livello globale. Costruito interamente sul framework PyTorch, ha dato priorità a un'esperienza di sviluppo intuitiva senza scendere a compromessi sulle prestazioni in tempo reale.
Caratteristiche principali:
- Autore: Glenn Jocher
- Organizzazione: Ultralytics
- Data: 26-06-2020
- Link: Repository GitHub
Architettura e punti di forza
YOLOv5 utilizza un'architettura CNN snella progettata per massimizzare l'efficienza dell'estrazione di feature mantenendo un'impronta di memoria estremamente ridotta. Impiega una backbone CSPDarknet e un neck PANet, creando una combinazione potente per la fusione di feature multi-scala.
Uno dei principali vantaggi di YOLOv5 è il suo equilibrio delle prestazioni. Offre un eccezionale compromesso tra velocità e precisione, rendendolo la scelta ideale per il deployment dei modelli su hardware con risorse limitate come i dispositivi NVIDIA Jetson e gli smartphone.
Inoltre, YOLOv5 vanta una versatilità senza pari. A differenza dei modelli limitati strettamente alle predizioni dei bounding box, YOLOv5 supporta nativamente la classificazione delle immagini e l'instance segmentation, fornendo un framework unificato per vari task visivi. Anche la sua efficienza di training è notevole, richiedendo molta meno memoria CUDA durante l'addestramento rispetto alle architetture basate su transformer.
Debolezze
Poiché si basa su un framework CNN meno recente, YOLOv5 dipende intrinsecamente dalla Non-Maximum Suppression (NMS) durante il post-processing per eliminare i bounding box duplicati. Sebbene sia altamente ottimizzata all'interno del framework Ultralytics, la NMS può occasionalmente introdurre colli di bottiglia nella latenza su NPU edge specializzate.
RTDETRv2: Transformer in tempo reale di Baidu
RTDETRv2 (Real-Time Detection Transformer v2) rappresenta un salto sostanziale nell'applicazione delle architetture transformer al rilevamento di oggetti in tempo reale, risolvendo le inefficienze computazionali che storicamente affliggevano i DETR standard.
Caratteristiche principali:
- Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
- Organizzazione: Baidu
- Data: 24-07-2024
- Link: Documento Arxiv, Repository GitHub
Architettura e punti di forza
RTDETRv2 si basa sul suo predecessore utilizzando un encoder ibrido e un design del decoder flessibile per elaborare le immagini. Il meccanismo di self-attention del transformer fornisce al modello una comprensione globale del contesto dell'immagine, consentendogli di ottenere risultati eccellenti in scene complesse con una grave occlusione degli oggetti.
Una caratteristica distintiva di RTDETRv2 è il suo design end-to-end senza NMS. Predicendo le query degli oggetti direttamente senza richiedere anchor box o post-processing NMS, semplifica la pipeline di inferenza. Questa architettura raggiunge un impressionante mAP (mean Average Precision) su dataset di benchmark come COCO.
Debolezze
Nonostante le sue capacità in tempo reale, RTDETRv2 ha requisiti di memoria notevolmente più elevati rispetto ai modelli YOLO. I meccanismi di attenzione nei transformer scalano in modo quadratico con la lunghezza della sequenza, il che può portare a errori di memoria esaurita (out-of-memory) durante l'addestramento ad alta risoluzione, a meno di non utilizzare massicci cluster GPU. Inoltre, manca della versatilità immediata dell'ecosistema Ultralytics, concentrandosi principalmente solo sull'object detection 2D senza supporto nativo per la segmentazione o la stima della posa.
Tabella di confronto delle prestazioni
Per valutare obiettivamente queste architetture, abbiamo compilato le loro metriche di prestazione. I valori evidenziati in grassetto rappresentano le metriche più efficienti o con le prestazioni più elevate tra le scale testate.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOP (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
Sebbene RTDETRv2-x raggiunga il mAP assoluto più alto, richiede quasi 30 volte i parametri di YOLOv5n. Per le applicazioni ad alta velocità su hardware limitato, i modelli Ultralytics offrono costantemente la migliore efficienza computazionale.
Il vantaggio dell'ecosistema Ultralytics
Quando si sposta un modello da un notebook di ricerca a un ambiente di produzione, il software che circonda il modello è importante quanto l'architettura della rete neurale. L'ecosistema ben mantenuto fornito da Ultralytics accelera drasticamente il ciclo di vita dello sviluppo.
Facilità d'uso ineguagliabile
I modelli Ultralytics danno priorità a un'esperienza utente incredibilmente snella. Che tu voglia addestrare un modello personalizzato, eseguire la validazione o esportare in formati specifici per l'hardware come TensorRT o ONNX, l'API Python di Ultralytics lo rende realizzabile in poche righe di codice.
Ecco un esempio pratico di codice che dimostra quanto sia semplice addestrare ed eseguire l'inferenza con un modello Ultralytics:
from ultralytics import YOLO
# Initialize the model (automatically downloads the weights)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# Perform inference on an online image
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the resulting image with bounding boxes
inference_results[0].show()Questa API semplice e unificata supporta nativamente le integrazioni per il tracciamento degli esperimenti con strumenti come Weights & Biases e Comet, consentendo agli sviluppatori di registrare le metriche senza problemi senza scrivere codice boilerplate complesso.
Casi d'uso e raccomandazioni
La scelta tra YOLOv5 e RT-DETR dipende dai requisiti specifici del tuo progetto, dai vincoli di deployment e dalle preferenze dell'ecosistema.
Quando scegliere YOLOv5
YOLOv5 è una scelta solida per:
- Sistemi di produzione comprovati: Implementazioni esistenti in cui sono apprezzati il lungo storico di stabilità, l'ampia documentazione e il massiccio supporto della community di YOLOv5.
- Addestramento con risorse limitate: Ambienti con risorse GPU limitate in cui la pipeline di addestramento efficiente e i minori requisiti di memoria di YOLOv5 risultano vantaggiosi.
- Ampio supporto per formati di esportazione: Progetti che richiedono l'implementazione su molti formati, inclusi ONNX, TensorRT, CoreML e TFLite.
Quando scegliere RT-DETR
RT-DETR è consigliato per:
- Ricerca sul rilevamento basato su Transformer: Progetti che esplorano meccanismi di attenzione e architetture transformer per il rilevamento oggetti end-to-end senza NMS.
- Scenari ad alta precisione con latenza flessibile: Applicazioni in cui la precisione di rilevamento è la priorità assoluta e una latenza di inferenza leggermente superiore è accettabile.
- Rilevamento di oggetti grandi: Scene con oggetti prevalentemente medio-grandi in cui 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 migliore combinazione di prestazioni ed esperienza di sviluppo:
- Deployment Edge senza NMS: Applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Non-Maximum Suppression.
- Ambienti solo CPU: Dispositivi senza accelerazione GPU dedicata, dove l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
- Rilevamento di piccoli oggetti: Scenari complessi come immagini di droni aerei o analisi tramite sensori IoT dove ProgLoss e STAL migliorano significativamente l'accuratezza su oggetti minuscoli.
Guardando al futuro: YOLO11 e YOLO26
Se stai iniziando un nuovo progetto di visione oggi, ti consigliamo vivamente di esplorare le ultime generazioni di modelli Ultralytics.
Sebbene YOLOv5 rimanga incredibilmente affidabile, YOLO11 offre una precisione migliorata e una serie ampliata di task, inclusa la rilevazione di Oriented Bounding Box (OBB).
Ancora più significativamente, il rivoluzionario YOLO26 unisce il meglio dei due mondi. Implementa un design end-to-end senza NMS (introdotto per la prima volta in YOLOv10), eliminando il carico del post-processing pur mantenendo l'efficienza di una CNN. YOLO26 introduce anche l'ottimizzatore MuSGD, ispirato alle innovazioni nell'addestramento LLM, per una convergenza più rapida. Con la rimozione di DFL (Distribution Focal Loss rimossa per un'esportazione semplificata e una migliore compatibilità con dispositivi edge/low-power), YOLO26 offre inferenza CPU fino al 43% più veloce, rendendolo la scelta assolutamente migliore per l'edge AI. Inoltre, ProgLoss + STAL fornisce funzioni di perdita migliorate con notevoli miglioramenti nel riconoscimento di piccoli oggetti, fondamentale per IoT, robotica e immagini aeree.
Conclusione
La scelta tra YOLOv5 e RTDETRv2 dipende fortemente dai tuoi vincoli di deployment. RTDETRv2 spinge i limiti del mAP utilizzando potenti meccanismi di attenzione transformer, ma comporta un costo elevato in termini di memoria e overhead computazionale.
Al contrario, Ultralytics YOLOv5 offre una soluzione collaudata, altamente ottimizzata e versatile che funziona senza problemi ovunque, dai server cloud ai microcontrollori. Per i team alla ricerca della massima precisione possibile insieme a strumenti di deployment senza interruzioni, l'aggiornamento all'interno dell'ecosistema Ultralytics a YOLO26 fornisce la soluzione definitiva allo stato dell'arte per le moderne applicazioni di vision AI.