Ultralytics YOLO27:
Get Started

YOLOv5 vs RTDETRv2#

Negli ultimi anni il panorama della computer vision si è ampliato notevolmente, offrendo agli sviluppatori un'ampia scelta di architetture per affrontare attività visive complesse. Tra i paradigmi più diffusi ci sono le reti neurali convoluzionali (CNN) e i Transformer per il rilevamento (DETR).

Questa guida offre un confronto tecnico approfondito tra due modelli fondamentali di 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 e all'avanguardia.

Ultralytics YOLOv5: lo standard del settore per l'efficienza#

Dal suo rilascio, Ultralytics YOLOv5 è diventato un pilastro della community AI, alimentando migliaia di applicazioni commerciali e progetti di ricerca in tutto il mondo. Basato interamente sul framework PyTorch, ha dato priorità a un'esperienza di sviluppo intuitiva senza compromettere le prestazioni in tempo reale.

Caratteristiche principali:

Architettura e punti di forza#

YOLOv5 utilizza un'architettura CNN snella, progettata per massimizzare l'efficienza dell'estrazione delle feature mantenendo un ingombro di memoria estremamente ridotto. Impiega un backbone CSPDarknet e un collo PANet, creando una combinazione potente per la fusione di feature a più scale.

Uno dei principali vantaggi di YOLOv5 è il suo equilibrio delle prestazioni. Offre un compromesso eccezionale tra velocità e precisione, risultando ideale per il deployment dei modelli su hardware con risorse limitate, come i dispositivi NVIDIA Jetson e gli smartphone.

Inoltre, YOLOv5 offre una versatilità senza pari. A differenza dei modelli limitati alle sole previsioni di bounding box, YOLOv5 supporta nativamente la classificazione delle immagini e la segmentazione delle istanze, offrendo un framework unificato per diverse attività visive. Anche la sua efficienza di addestramento è notevole: durante l'addestramento richiede molta meno memoria CUDA rispetto alle architetture basate su Transformer.

Punti deboli#

Poiché si basa su un framework CNN più datato, YOLOv5 dipende intrinsecamente dalla Non-Maximum Suppression (NMS) durante la post-elaborazione per eliminare le bounding box duplicate. Sebbene sia altamente ottimizzata nel framework Ultralytics, la NMS può talvolta introdurre colli di bottiglia nella latenza sugli NPU edge specializzati.

RTDETRv2: Transformer in tempo reale di Baidu#

RTDETRv2 (Transformer per il rilevamento in tempo reale v2) rappresenta un notevole passo avanti nell'applicazione delle architetture Transformer al rilevamento degli oggetti in tempo reale e affronta le inefficienze computazionali che storicamente hanno penalizzato i DETR standard.

Caratteristiche principali:

Architettura e punti di forza#

RTDETRv2 si basa sul suo predecessore e utilizza un encoder ibrido e un design flessibile del decoder per elaborare le immagini. Il meccanismo di self-attention del Transformer fornisce al modello una comprensione globale del contesto dell'immagine, consentendogli di funzionare molto bene nelle scene complesse con una forte occlusione degli oggetti.

Una caratteristica distintiva di RTDETRv2 è il suo design end-to-end senza NMS. Prevedendo direttamente le query degli oggetti senza bisogno di anchor box o della post-elaborazione NMS, semplifica la pipeline di inferenza. Questa architettura raggiunge una mAP (precisione media) impressionante su dataset di benchmark come COCO.

Punti 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 hanno una complessità quadratica rispetto alla lunghezza della sequenza e possono causare errori di memoria insufficiente durante l'addestramento ad alta risoluzione, a meno di utilizzare enormi cluster GPU. Inoltre, non offre la versatilità pronta all'uso dell'ecosistema Ultralytics e si concentra principalmente sul rilevamento degli oggetti 2D, senza supporto nativo per la segmentazione o la stima della posa.

Scopri di più su RTDETRv2

Tabella di confronto delle prestazioni#

Per valutare queste architetture in modo obiettivo, abbiamo raccolto le relative metriche di prestazione. I valori evidenziati in grassetto rappresentano le metriche più efficienti o con le prestazioni migliori alle scale testate.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
Contesto delle prestazioni

Sebbene RTDETRv2-x raggiunga la mAP assoluta più elevata, richiede circa 40 volte il numero di parametri di YOLOv5n. Per le applicazioni ad alta velocità eseguite su hardware limitato, i modelli Ultralytics offrono costantemente la migliore efficienza computazionale.

I vantaggi dell’ecosistema Ultralytics#

Quando si sposta un modello da un notebook di ricerca a un ambiente di produzione, il software che lo circonda è importante quanto l’architettura della rete neurale. L’Ecosistema ben mantenuto offerto da Ultralytics accelera notevolmente il ciclo di sviluppo.

Facilità d’uso senza pari#

I modelli Ultralytics puntano a offrire un’esperienza utente estremamente snella. Che tu voglia addestrare un modello personalizzato, eseguire la validazione o esportare il modello in formati specifici per l’hardware, come TensorRT o ONNX, l’API Python di Ultralytics ti permette di farlo con poche righe di codice.

Ecco un esempio pratico di codice che mostra quanto sia semplice addestrare un modello Ultralytics ed eseguire inferenze:

from ultralytics import YOLO

# Inizializza il modello (i pesi vengono scaricati automaticamente)
model = YOLO("yolov5su.pt")  # YOLOv5u: pesi YOLOv5 anchor-free per il pacchetto ultralytics

# Addestra il modello sul dataset COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")

# Esegui l’inferenza su un’immagine online
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")

# Visualizza l’immagine risultante con i riquadri di delimitazione
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 e senza scrivere codice boilerplate complesso.

Casi d'uso e consigli#

La scelta tra YOLOv5 e RT-DETR dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle preferenze relative all’ecosistema.

Quando scegliere YOLOv5#

YOLOv5 è un'ottima scelta per:

  • Sistemi di produzione collaudati: distribuzioni esistenti in cui sono apprezzati lo storico di stabilità di YOLOv5, la documentazione esaustiva e il vasto supporto della community.
  • Addestramento con risorse limitate: ambienti con risorse GPU limitate, in cui la pipeline di addestramento efficiente e i requisiti di memoria ridotti di YOLOv5 sono vantaggiosi.
  • Ampio supporto dei formati di esportazione: progetti che richiedono la distribuzione in numerosi formati, tra cui ONNX, TensorRT, CoreML e LiteRT.

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 con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
  • Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.

Uno sguardo al futuro: YOLO11 e YOLO26#

Se oggi stai avviando un nuovo progetto di computer vision, ti consigliamo vivamente di esplorare le generazioni più recenti dei modelli Ultralytics.

Sebbene YOLOv5 rimanga estremamente affidabile, YOLO11 offre una maggiore precisione e supporta un insieme più ampio di attività, tra cui il rilevamento di riquadri di delimitazione orientati (OBB).

Ancora più importante, l’avanzato YOLO26 combina il meglio di entrambi gli approcci. Implementa un design end-to-end senza NMS (introdotto per la prima volta in YOLOv10), eliminando il sovraccarico del post-processing e mantenendo l’efficienza di una CNN. YOLO26 introduce anche l’ottimizzatore MuSGD, ispirato alle innovazioni nell’addestramento degli LLM, per una convergenza più rapida. Grazie alla rimozione della DFL (Distribution Focal Loss, eliminata per semplificare l’esportazione e migliorare la compatibilità con i dispositivi edge e a basso consumo), YOLO26 offre un’inferenza su CPU fino al 43% più veloce, diventando la scelta migliore in assoluto per l’IA edge. Inoltre, ProgLoss + STAL offre funzioni di perdita migliorate, con notevoli progressi nel riconoscimento degli oggetti di piccole dimensioni, fondamentale per l’IoT, la robotica e le immagini aeree.

Conclusione#

La scelta tra YOLOv5 e RTDETRv2 dipende in larga misura dai vincoli di distribuzione. RTDETRv2 spinge oltre i limiti della mAP sfruttando potenti meccanismi di attenzione Transformer, ma richiede molta memoria e risorse di calcolo.

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 che cercano la massima precisione possibile e strumenti di distribuzione integrati, l’aggiornamento a YOLO26 nell’ecosistema Ultralytics offre la soluzione all’avanguardia definitiva per le moderne applicazioni di IA per la computer vision.

Commenti