Vai al contenuto

YOLOv8 vs RTDETRv2: Un confronto tecnico completo

Nel panorama in rapida evoluzione della computer vision, la scelta del giusto modello di rilevamento degli oggetti è fondamentale per il successo del progetto. Questo confronto approfondisce le distinzioni tecniche tra YOLOv8, il versatile modello basato su CNN di Ultralytics, e RTDETRv2, un sofisticato modello basato su trasformatori di Baidu. Analizzando le loro architetture, le metriche delle prestazioni e i requisiti di risorse, ci proponiamo di guidare sviluppatori e ricercatori verso la soluzione ottimale per le loro esigenze specifiche.

Visualizzazione delle differenze di prestazioni

Il grafico seguente illustra i compromessi tra velocità e precisione per le varie dimensioni del modello, evidenziando come YOLOv8 mantenga un'efficienza superiore su tutta la linea.

Analisi delle prestazioni: Velocità contro precisione

La tabella seguente presenta un confronto diretto delle metriche chiave. Mentre RTDETRv2 raggiunge un'elevata accuratezza con i suoi modelli più grandi, YOLOv8 dimostra un vantaggio significativo nella velocità di inferenza e nell'efficienza dei parametri, in particolare sull'hardware CPU , dove i modelli di trasformatori devono spesso affrontare colli di bottiglia di latenza.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

Ultralytics YOLOv8: lo standard di versatilità e velocità

Lanciato all'inizio del 2023, YOLOv8 rappresenta un significativo passo avanti nella famiglia YOLO , introducendo un framework unificato per molteplici attività di computer vision. È stato progettato per offrire il miglior compromesso possibile tra velocità e precisione, rendendolo estremamente adatto ad applicazioni in tempo reale che spaziano dall'automazione industriale alle infrastrutture delle città intelligenti.

Caratteristiche architettoniche principali

YOLOv8 utilizza una testa di rilevamento priva di ancore, che semplifica il processo di addestramento e migliora la generalizzazione tra diverse forme di oggetti. La sua architettura è caratterizzata da una dorsale Darknet Cross-Stage Partial (CSP) per un'efficiente estrazione delle caratteristiche e da un collo Path Aggregation Network (PAN)-FPN per una robusta fusione multiscala. A differenza di molti concorrenti, YOLOv8 supporta in modo nativo la classificazione delle immagini, la segmentazione delle istanze, la stima della posa e il rilevamento di oggetti orientati (OBB) all'interno di un'unica API di facile utilizzo.

Punti di forza

  • Efficienza eccezionale: Ottimizza l'uso della memoria e il carico di calcolo, consentendo l'implementazione su dispositivi edge come NVIDIA Jetson e Raspberry Pi.
  • Velocità di addestramento: Richiede una quantità significativamente inferiore di memoria CUDA e di tempo per l'addestramento rispetto alle architetture basate su trasformatori.
  • Ricco ecosistema: Sostenuto da una documentazione completa, dal supporto attivo della comunità e da integrazioni perfette con strumenti come TensorRT e OpenVINO.
  • Facilità d'uso: l'esperienza "pip install ultralytics" consente agli sviluppatori di iniziare la formazione e la previsione in pochi minuti.

Scopri di più su YOLOv8

RTDETRv2: Precisione del trasformatore di spinta

RTDETRv2 è un'evoluzione del Real-Time Detection TransformerRT-DETR), sviluppato per sfruttare le capacità di contesto globale dei Vision Transformers (ViT), cercando di mitigare i loro problemi di latenza intrinseci. L'obiettivo è quello di battere i modelli YOLO nei benchmark di accuratezza, sfruttando i meccanismi di autoattenzione.

  • Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
  • Organizzazione:Baidu
  • Data: 2024-07-24 (rilascio v2)
  • Arxiv:DocumentoRT-DETRv2
  • GitHub:RT-DETR

Panoramica dell'architettura

RTDETRv2 impiega un approccio ibrido, utilizzando una struttura portante CNN (tipicamente ResNet) per estrarre caratteristiche che vengono poi elaborate da un encoder-decoder trasformatore. Il meccanismo di autoattenzione consente al modello di comprendere le relazioni tra parti distanti di un'immagine, il che è utile in scene complesse con occlusione. La versione 2 introduce un operatore di campionamento discreto e migliora la stabilità dell'addestramento dinamico.

Punti di forza e debolezze

  • Punti di forza:
    • Contesto globale: Eccellente nella gestione di relazioni e occlusioni di oggetti complessi, grazie alla sua natura di trasformatore.
    • Alta precisione: I modelli più grandi ottengono punteggimAP leggermente superiori sul dataset COCO rispetto a YOLOv8x.
    • Senza ancore: Come YOLOv8, elimina la necessità di regolare manualmente la scatola delle ancore.
  • Punti deboli:
    • Intenso di risorse: gli alti FLOP e il numero di parametri lo rendono più lento sulle CPU e richiedono costose GPU per l'addestramento.
    • Supporto limitato ai compiti: Si concentra principalmente sul rilevamento degli oggetti, mancando della versatilità multi-task nativa (segmentazione, posa, ecc.) del framework Ultralytics .
    • Distribuzione complessa: L'architettura del trasformatore può essere più difficile da ottimizzare per gli obiettivi mobili e incorporati rispetto alle CNN pure.

Scopri di più su RTDETRv2

Confronto dettagliato: Architettura e usabilità

Efficienza dell'allenamento e memoria

Una delle differenze più evidenti risiede nel processo di addestramento. I modelli basati su trasformatori come RTDETRv2 sono notoriamente avidi di dati e richiedono molta memoria. Spesso richiedono una quantità significativamente maggiore di memoriaCUDA ed epoche di addestramento più lunghe per convergere rispetto alle CNN come YOLOv8. Per ricercatori o startup con risorse GPU limitate, Ultralytics YOLOv8 offre una barriera d'ingresso molto più accessibile, consentendo un addestramento personalizzato efficiente su hardware di livello consumer.

Versatilità ed ecosistema

Sebbene RTDETRv2 sia un forte concorrente accademico per le attività di rilevamento puro, manca dell'ecosistema olistico che circonda i modelli Ultralytics . YOLOv8 non è solo un modello, ma fa parte di una piattaforma che lo supporta:

Considerazioni sull'hardware

Se l'obiettivo di distribuzione prevede l'interferenzaCPU (ad esempio, server standard, laptop) o dispositivi edge a basso consumo, YOLOv8 è la scelta migliore grazie alla sua architettura CNN ottimizzata. RTDETRv2 è meglio riservato agli scenari con accelerazione GPU dedicata di fascia alta.

Casi d'uso ideali

Quando scegliere YOLOv8

YOLOv8 è la scelta preferita per la maggior parte delle applicazioni reali. Il suo equilibrio tra velocità, precisione e facilità d'uso lo rende ideale per:

  • Analisi in tempo reale: Monitoraggio del traffico, analisi del commercio al dettaglio e analisi dello sport, dove è fondamentale un FPS elevato.
  • Edge Computing: Esecuzione dell'intelligenza artificiale su droni, robot o applicazioni mobili in cui la potenza e l'elaborazione sono limitate.
  • Applicazioni multi-task: Progetti che richiedono il tracciamento, la segmentazione e la classificazione simultanea di oggetti.

Quando scegliere RTDETRv2

RTDETRv2 brilla in nicchie specifiche in cui il costo computazionale è secondario rispetto ai guadagni marginali di precisione:

  • Ricerca accademica: Studio delle proprietà dei trasformatori di visione.
  • Elaborazione basata sul cloud: Elaborazione in batch di immagini su potenti server farm, dove la latenza è meno critica del rilevamento di oggetti difficili e occlusi.

Esempio di codice: Come iniziare con YOLOv8

L'API di Ultralytics è stata progettata per essere semplice. È possibile caricare un modello pre-addestrato, eseguire previsioni o iniziare l'addestramento con poche righe di codice Python .

from ultralytics import YOLO

# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

# Train on a custom dataset
# model.train(data="coco8.yaml", epochs=100, imgsz=640)

Conclusione

Mentre RTDETRv2 dimostra il potenziale delle architetture a trasformatori nel raggiungere un'elevata precisione, Ultralytics YOLOv8 rimane la scelta migliore per la computer vision pratica e di livello produttivo. L'efficienza architetturale di YOLOv8 si traduce in un'inferenza più rapida, in costi di formazione inferiori e in una maggiore compatibilità hardware. Inoltre, il solido ecosistema di Ultralytics garantisce agli sviluppatori gli strumenti, la documentazione e il supporto della comunità necessari per dare vita alle loro soluzioni di intelligenza artificiale in modo efficiente.

Per chi è alla ricerca di prestazioni ed efficienza all'avanguardia, consigliamo di esplorare anche il modello YOLO11che perfeziona ulteriormente l'eredità di YOLO con un compromesso precisione-velocità ancora migliore.

Esplora altri modelli

Se siete interessati a esplorare altre opzioni all'interno dell'ecosistema Ultralytics o a confrontare altri modelli SOTA, consultate queste risorse:

  • YOLO11: l'ultimo modello YOLO all'avanguardia.
  • YOLOv10: un rilevatore di oggetti end-to-end in tempo reale.
  • RT-DETR: l'originale trasformatore di rilevamento in tempo reale.
  • YOLOv9: si concentra sulle informazioni programmabili sul gradiente.

Commenti