Confronto tra YOLOv5 e RTDETRv2#
Il panorama della computer vision si è ampliato notevolmente negli ultimi anni, offrendo agli sviluppatori un'ampia gamma di architetture per affrontare attività visive complesse. Tra i paradigmi più popolari vi sono le Reti Neurali Convoluzionali (CNN) e i Detection Transformer (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#
Dalla sua uscita, Ultralytics YOLOv5 è diventato un punto di riferimento della community di IA, alimentando migliaia di applicazioni commerciali e progetti di ricerca a livello globale. Interamente basato sul framework PyTorch, privilegia un'esperienza di sviluppo intuitiva senza scendere a compromessi sulle prestazioni in tempo reale.
Caratteristiche principali:
- Autore: Glenn Jocher
- Organizzazione: Ultralytics
- Data: 2020-06-26
- Links: GitHub Repository
Architettura e punti di forza#
YOLOv5 utilizza un'architettura CNN snella progettata per massimizzare l'efficienza dell'estrazione delle caratteristiche mantenendo un impiego di memoria estremamente ridotto. Sfrutta un backbone CSPDarknet e un collo PANet, creando una potente combinazione per la fusione di caratteristiche multi-scala.
Uno dei principali vantaggi di YOLOv5 è il suo Bilanciamento delle Prestazioni. Offre un compromesso eccezionale tra velocità e precisione, rendendolo la scelta ideale per il deployment del modello su hardware con risorse limitate come i dispositivi NVIDIA Jetson e gli smartphone.
Inoltre, YOLOv5 vanta una Versatilità ineguagliabile. A differenza dei modelli strettamente limitati alle previsioni di bounding box, YOLOv5 supporta nativamente la classificazione di immagini e la segmentazione di istanze, fornendo un framework unificato per diverse attività visive. Anche la sua efficienza di training è notevole, poiché richiede significativamente meno memoria CUDA durante l'addestramento rispetto alle architetture basate su transformer.
Punti deboli#
Poiché si basa su un framework CNN meno recente, YOLOv5 dipende intrinsecamente dal Non-Maximum Suppression (NMS) durante la post-elaborazione per eliminare i bounding box duplicati. Sebbene altamente ottimizzato all'interno del framework Ultralytics, l'NMS può occasionalmente introdurre colli di bottiglia di latenza su NPU edge specializzate.
RTDETRv2: Transformer real-time di Baidu#
RTDETRv2 (Real-Time Detection Transformer v2) rappresenta un salto sostanziale nell'applicazione delle architetture transformer all'object detection in tempo reale, affrontando 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
- Collegamenti: Arxiv Paper, GitHub Repository
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, permettendogli di comportarsi eccezionalmente bene in scene complesse con grave occlusione degli oggetti.
Una caratteristica distintiva di RTDETRv2 è il suo design end-to-end senza NMS. Predicendo direttamente le query degli oggetti senza richiedere anchor box o la post-elaborazione NMS, semplifica la pipeline di inferenza. Questa architettura raggiunge un impressionante mAP (mean Average Precision) su dataset di benchmark come COCO.
Punti deboli#
Nonostante le sue capacità in tempo reale, RTDETRv2 presenta requisiti di memoria notevolmente superiori rispetto ai modelli YOLO. I meccanismi di attenzione nei transformer scalano quadraticamente con la lunghezza della sequenza, il che può causare errori di memoria esaurita durante il training ad alta risoluzione a meno di utilizzare cluster GPU massicci. Inoltre, manca della versatilità immediata dell'ecosistema Ultralytics, concentrandosi principalmente solo sul rilevamento di oggetti 2D senza supporto nativo per la segmentazione o la stima della posa.
Tabella di confronto delle prestazioni#
Per valutare oggettivamente queste architetture, abbiamo raccolto 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) | params (M) | FLOPs (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 |
Mentre RTDETRv2-x raggiunge il mAP assoluto più elevato, richiede quasi 30 volte i parametri di YOLOv5n. Per 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 impareggiabile#
I modelli Ultralytics danno la priorità a un'esperienza utente incredibilmente snella. Che tu voglia addestrare un modello personalizzato, eseguire la validazione o esportare verso 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 di codice pratico 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 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#
Scegliere 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: Deployment esistenti in cui sono apprezzati la lunga storia di stabilità, l'ampia documentazione e il massiccio supporto della comunità 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 sono vantaggiosi.
- Ampio supporto per i formati di esportazione: Progetti che richiedono la distribuzione su molti formati tra cui 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 di 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 di grandi dimensioni: 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 per gli sviluppatori:
- Implementazione Edge senza NMS: Applicazioni che richiedono un'inferenza costante e a bassa latenza senza la complessità della post-elaborazione della soppressione dei non massimi.
- Ambienti solo CPU: Dispositivi senza accelerazione GPU dedicata, dove l'inferenza CPU fino al 43% più veloce di YOLO26 fornisce un vantaggio decisivo.
- Rilevamento di piccoli oggetti: Scenari complessi come aerial drone imagery o analisi di sensori IoT in cui ProgLoss e STAL aumentano significativamente l'accuratezza sugli oggetti minuscoli.
Guardando al futuro: YOLO11 e YOLO26#
Se stai iniziando oggi un nuovo progetto di visione, 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 attività che includono il rilevamento Oriented Bounding Box (OBB).
Ancora più importante, l'avanzato YOLO26 unisce il meglio di entrambi i mondi. Implementa un Design End-to-End Senza NMS (introdotto per la prima volta in YOLOv10), eliminando il sovraccarico di post-elaborazione pur mantenendo l'efficienza di una CNN. YOLO26 introduce anche l'Ottimizzatore MuSGD, ispirato alle innovazioni nell'addestramento degli LLM, per una convergenza più rapida. Con la Rimozione DFL (Distribution Focal Loss rimossa per un'esportazione semplificata e una migliore compatibilità con dispositivi edge/a basso consumo), YOLO26 offre Un'inferenza CPU fino al 43% più rapida, rendendolo la scelta assolutamente migliore per l'IA edge. Inoltre, ProgLoss + STAL fornisce funzioni di loss 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 confini del mAP utilizzando potenti meccanismi di attenzione dei 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 microcontroller. Per i team che cercano la massima precisione possibile insieme a strumenti di deployment fluidi, l'aggiornamento all'interno dell'ecosistema Ultralytics a YOLO26 fornisce la definitiva soluzione all'avanguardia per le moderne applicazioni di visione artificiale.