Link to this sectionConfronto tra YOLOv5 e RTDETRv2#
Il panorama della computer vision si è espanso significativamente negli ultimi anni, offrendo agli sviluppatori una vasta gamma di architetture per affrontare compiti visivi complessi. 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 real-time all'avanguardia basato su transformer.
Link to this sectionUltralytics YOLOv5: Lo standard industriale per l'efficienza#
Sin dalla sua uscita, 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: 2020-06-26
- Link: Repository GitHub
Link to this sectionArchitettura e punti di forza#
YOLOv5 utilizza un'architettura CNN snella progettata per massimizzare l'efficienza dell'estrazione di feature mantenendo un ingombro di memoria estremamente ridotto. Impiega una backbone CSPDarknet e un neck PANet, creando una combinazione potente per la fusione di feature multi-scala.
Uno dei vantaggi principali di YOLOv5 è il suo bilanciamento delle prestazioni. Offre un eccellente compromesso tra velocità e precisione, rendendolo una 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à impareggiabile. A differenza dei modelli limitati rigorosamente alle previsioni di bounding box, YOLOv5 supporta nativamente la classificazione delle immagini e la segmentazione di istanze, fornendo un framework unificato per diversi compiti visivi. Anche la sua efficienza di addestramento è notevole, richiedendo significativamente meno memoria CUDA durante l'addestramento rispetto alle architetture basate su transformer.
Link to this sectionPunti deboli#
Poiché si basa su un framework CNN più datato, YOLOv5 dipende intrinsecamente dalla Non-Maximum Suppression (NMS) durante la post-elaborazione per eliminare i bounding box duplicati. Sebbene altamente ottimizzata all'interno del framework Ultralytics, la NMS può occasionalmente introdurre colli di bottiglia di latenza su NPU edge specializzate.
Link to this sectionRTDETRv2: 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
- Link: Articolo Arxiv, Repository GitHub
Link to this sectionArchitettura 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. Prevedendo le query degli oggetti direttamente senza richiedere anchor box o post-elaborazione NMS, semplifica la pipeline di inferenza. Questa architettura raggiunge un impressionante mAP (mean Average Precision) su set di dati di benchmark come COCO.
Link to this sectionPunti deboli#
Nonostante le sue capacità in tempo reale, RTDETRv2 ha 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ò portare a errori di esaurimento della memoria (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.
Link to this sectionTabella 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.
Link to this sectionIl 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.
Link to this sectionFacilità d'uso impareggiabile#
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'Ultralytics Python API 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 intoppi senza scrivere complessi codici boilerplate.
Link to this sectionCasi 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.
Link to this sectionQuando 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 di formati di esportazione: Progetti che richiedono il deployment su molti formati, inclusi ONNX, TensorRT, CoreML e TFLite.
Link to this sectionQuando 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.
Link to this sectionQuando 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 oggetti piccoli: Scenari impegnativi come immagini di droni aerei o analisi di sensori IoT in cui ProgLoss e STAL aumentano significativamente la precisione su oggetti minuscoli.
Link to this sectionGuardando 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.
Mentre YOLOv5 rimane incredibilmente affidabile, YOLO11 offre una precisione migliorata e una serie ampliata di compiti, inclusa l'individuazione di Oriented Bounding Box (OBB).
Ancora più significativamente, l'avanguardistico YOLO26 unisce il meglio dei due mondi. Implementa un design end-to-end senza NMS (pioniere in YOLOv10), eliminando il carico di post-elaborazione mantenendo l'efficienza di una CNN. YOLO26 introduce anche il MuSGD Optimizer, 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 un'inferenza CPU fino al 43% più veloce, rendendolo la scelta assolutamente migliore per l'AI edge. Inoltre, ProgLoss + STAL fornisce funzioni di perdita migliorate con notevoli miglioramenti nel riconoscimento di piccoli oggetti, fondamentale per IoT, robotica e immagini aeree.
Link to this sectionConclusione#
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 comprovata, altamente ottimizzata e versatile che funziona senza problemi ovunque, dai server cloud ai microcontrollori. Per i team che cercano la 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.