Ultralytics YOLO27:

YOLOv5 vs RTDETRv2#

Il panorama della visione artificiale si è ampliato notevolmente negli ultimi anni, offrendo agli sviluppatori un'ampia gamma di architetture per affrontare attività visive complesse. Tra i paradigmi più diffusi figurano le reti neurali convoluzionali (CNNs) e i Transformer per il rilevamento (DETRs).

Questa guida fornisce 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 all'avanguardia basato su Transformer.

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

Dalla sua introduzione, Ultralytics YOLOv5 è diventato un punto di riferimento per la comunità dell'AI, alimentando migliaia di applicazioni commerciali e progetti di ricerca in tutto il mondo. Costruito interamente sul framework PyTorch, ha dato priorità a un'esperienza intuitiva per gli sviluppatori senza compromettere le prestazioni in tempo reale.

Caratteristiche principali:

Architettura e punti di forza#

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

Uno dei principali vantaggi di YOLOv5 è il suo Equilibrio delle prestazioni. Offre un compromesso eccezionale tra velocità e accuratezza, risultando una scelta ideale per il [deployment del modello](https://ultralytics-translation-0.invalid su hardware con risorse limitate, come i dispositivi NVIDIA Jetson e gli smartphone.

Inoltre, YOLOv5 vanta una Versatilità senza pari. A differenza dei modelli rigorosamente limitati alle predizioni dei riquadri delimitatori, 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 soppressione non massima (NMS) durante il post-processing per eliminare i riquadri delimitatori duplicati. Sebbene sia altamente ottimizzato nel framework Ultralytics, NMS può occasionalmente 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 di oggetti in tempo reale, affrontando le inefficienze computazionali che storicamente affliggevano i DETR standard.

Caratteristiche principali:

Architettura e punti di forza#

RTDETRv2 si basa sul suo predecessore utilizzando 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 ottenere prestazioni eccezionali in scene complesse con una forte 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 il post-processing NMS, semplifica la pipeline di inferenza. Questa architettura raggiunge un 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 attention dei Transformer scalano quadraticamente con la lunghezza della sequenza, il che può causare errori di memoria esaurita durante l'addestramento ad alta risoluzione, a meno di utilizzare cluster GPU di grandi dimensioni. Inoltre, non offre la versatilità pronta all'uso dell'ecosistema Ultralytics, concentrandosi principalmente solo sul rilevamento di oggetti 2D, senza supporto nativo per la segmentazione o la stima della posa.

Scopri di più su RT-DETR

Tabella comparativa delle prestazioni#

Per valutare obiettivamente queste architetture, abbiamo raccolto le relative metriche delle prestazioni. I valori evidenziati in grassetto rappresentano le metriche più efficienti o con le prestazioni migliori tra le scale testate.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
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 il mAP assoluto più elevato, richiede quasi 30 volte i parametri di YOLOv5n. Per le applicazioni ad alta velocità eseguite su hardware limitato, i modelli Ultralytics offrono costantemente la migliore efficienza computazionale.

Il vantaggio dell'ecosistema Ultralytics#

Quando si trasferisce 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 notevolmente il ciclo di sviluppo.

Semplicità d'uso senza pari#

I modelli Ultralytics danno priorità a un'esperienza utente estremamente semplificata. 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 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 l'inferenza:

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 semplice API 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 dover scrivere codice boilerplate complesso.

Casi d'uso e raccomandazioni#

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

Quando scegliere YOLOv5#

YOLOv5 è una scelta eccellente per:

  • Sistemi di produzione collaudati: implementazioni esistenti in cui sono apprezzati il lungo storico di stabilità di YOLOv5, la documentazione estesa e l'enorme supporto della community.
  • Addestramento con risorse limitate: ambienti con risorse GPU limitate, in cui la pipeline di addestramento efficiente di YOLOv5 e i requisiti di memoria inferiori sono vantaggiosi.
  • Ampio supporto dei formati di esportazione: progetti che richiedono l'implementazione in numerosi 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 i meccanismi di attenzione e le architetture Transformer per il rilevamento degli oggetti end-to-end senza NMS.
  • Scenari ad alta accuratezza con latenza flessibile: applicazioni in cui l'accuratezza del rilevamento è la priorità assoluta e una latenza di inferenza leggermente superiore è accettabile.
  • Rilevamento di oggetti di grandi dimensioni: scene contenenti principalmente oggetti di medie e grandi dimensioni, 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:

  • Deployment edge senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Soppressione non massima.
  • Ambienti esclusivamente CPU: dispositivi privi di accelerazione GPU dedicata, dove l'inferenza su CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari complessi come le immagini aeree riprese da droni o l'analisi di sensori IoT, in cui ProgLoss e STAL migliorano significativamente l'accuratezza sugli oggetti di piccole dimensioni.

Uno sguardo al futuro: YOLO11 e YOLO26#

Se oggi stai iniziando un nuovo progetto di visione artificiale, ti consigliamo vivamente di esplorare le ultime generazioni di modelli Ultralytics.

Sebbene YOLOv5 rimanga estremamente affidabile, YOLO11 offre una maggiore accuratezza e un insieme ampliato di attività, incluso il rilevamento di riquadri delimitatori orientati (OBB).

Ancora più significativamente, l'avanzatissimo YOLO26 combina il meglio di entrambi i mondi. Implementa un Design end-to-end senza NMS (introdotto per la prima volta in YOLOv10), eliminando il sovraccarico del post-processing e mantenendo al contempo l'efficienza di una CNN. YOLO26 introduce inoltre l'Ottimizzatore MuSGD, ispirato alle innovazioni nell'addestramento degli LLM, per una convergenza più rapida. Con la rimozione di DFL (Distribution Focal Loss rimossa per semplificare l'esportazione e migliorare la compatibilità con 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'AI edge. Inoltre, ProgLoss + STAL fornisce funzioni di loss migliorate, con progressi notevoli nel riconoscimento degli oggetti piccoli, fondamentale per IoT, robotica e immagini aeree.

Conclusioni#

La scelta tra YOLOv5 e RTDETRv2 dipende fortemente dai vincoli di deployment. RTDETRv2 amplia i limiti del mAP utilizzando potenti meccanismi di attention dei Transformer, ma comporta costi elevati 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 che cercano la massima accuratezza possibile insieme a strumenti di deployment fluidi, l'aggiornamento all'interno dell'ecosistema Ultralytics a YOLO26 offre la soluzione all'avanguardia definitiva per le moderne applicazioni di AI per la visione.

Commenti