Vai al contenuto

YOLOv5 vs. RTDETRv2: Equilibrio tra velocità in tempo reale e precisione del trasformatore

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 tecnico completo esamina due approcci distinti: YOLOv5, il leggendario rilevatore basato su CNN noto per la sua versatilità e velocità, e RTDETRv2, un modello moderno basato su trasformatori e incentrato su un'elevata precisione.

Mentre RTDETRv2 sfrutta i Vision Transformers (ViT) per catturare il contesto globale, Ultralytics YOLOv5 rimane la scelta migliore per gli sviluppatori che necessitano di una soluzione robusta, pronta per l'implementazione e con un basso sovraccarico di risorse.

Specifiche e origini del modello

Prima di immergersi nelle metriche delle prestazioni, è essenziale comprendere il background e la filosofia architettonica di ciascun modello.

CaratteristicaUltralytics YOLOv5RTDETRv2
ArchitetturaBasato su CNN (basato su ancore)Ibrido (dorsale CNN + trasformatore)
Obiettivo primarioVelocità in tempo reale, versatilità, facilità d'usoAlta precisione, contesto globale
AutoriGlenn JocherWenyu Lv, Yian Zhao, et al.
OrganizzazioneUltralyticsBaidu
Data di uscita2020-06-262023-04-17
AttivitàRilevare, segmentare, classificareRilevamento

Scopri di più su YOLOv5

Filosofia dell'architettura e del design

La differenza fondamentale tra questi modelli sta nel modo in cui elaborano i dati visivi.

Ultralytics YOLOv5

YOLOv5 impiega un'architettura di rete neurale convoluzionale (CNN) altamente ottimizzata. Utilizza una dorsale CSPDarknet modificata e un collo di Path Aggregation Network (PANet) per estrarre mappe di caratteristiche.

  • Basato sugli ancoraggi: Si basa su caselle di ancoraggio predefinite per prevedere la posizione degli oggetti, semplificando il processo di apprendimento per le forme più comuni.
  • Efficienza: Progettato per ottenere la massima velocità di inferenza su un'ampia gamma di hardware, dai dispositivi edge come NVIDIA Jetson alle CPU standard.
  • Versatilità: Supporta molteplici attività, tra cui la segmentazione delle istanze e la classificazione delle immagini, all'interno di un'unica struttura unificata.

RTDETRv2

RTDETRv2 (Real-Time Detection Transformer v2) rappresenta un cambiamento verso le architetture a trasformatore.

  • Design ibrido: Combina una struttura portante CNN con un codificatore-decodificatore trasformatore, utilizzando meccanismi di autoattenzione per elaborare le relazioni tra gli oggetti.
  • Contesto globale: Il componente trasformatore consente al modello di "vedere" l'intera immagine in una sola volta, migliorando le prestazioni in scene complesse con occlusione.
  • Costo computazionale: Questa sofisticata architettura richiede in genere una quantità di memoria e di potenza di calcolo (FLOP) GPU significativamente superiore rispetto alle soluzioni puramente basate su CNN.

Analisi delle prestazioni

La tabella seguente fornisce un confronto diretto delle principali metriche di prestazione. Mentre RTDETRv2 mostra un'accuratezza impressionantemAP) sul set di datiCOCO , YOLOv5 dimostra una velocità di inferenza superiore, in particolare su hardware CPU dove i trasformatori spesso hanno difficoltà.

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

Interpretare i dati

Mentre RTDETRv2 ottiene numeri mAP più elevati, si notino le colonne Velocità e FLOPs. YOLOv5n viene eseguito a 73,6 ms su una CPU, il che lo rende fattibile per applicazioni in tempo reale su hardware non accelerato. I modelli RTDETRv2 sono significativamente più pesanti e richiedono GPU potenti per mantenere i frame rate in tempo reale.

Efficienza dell'addestramento e utilizzo della memoria

Un vantaggio fondamentale di YOLOv5 è l'efficienza della formazione. I modelli basati su trasformatori, come RTDETRv2, sono noti per l'elevato consumo di VRAM e la lentezza della convergenza.

  • Impronta di memoria ridotta: YOLOv5 può essere addestrato su GPU di fascia consumer con una memoria CUDA modesta, democratizzando l'accesso allo sviluppo dell'intelligenza artificiale.
  • Convergenza più rapida: Gli utenti possono spesso ottenere risultati utilizzabili in un numero inferiore di epoche, risparmiando tempo prezioso e costi di calcolo nel cloud.

Punti di forza di Ultralytics YOLOv5

Per la maggior parte degli sviluppatori e delle applicazioni commerciali, YOLOv5 offre una serie di vantaggi più equilibrati e pratici:

  1. Facilità d'uso senza pari: l'APIPython Ultralytics è lo standard del settore in termini di semplicità. Il caricamento di un modello, l'esecuzione dell'inferenza e l'addestramento su dati personalizzati possono essere effettuati con poche righe di codice.
  2. Un ricco ecosistema: Sostenuto da una vasta comunità open-source, YOLOv5 si integra perfettamente con Ultralytics HUB per la formazione senza codice, con gli strumenti MLOps per il monitoraggio e con diversi formati di esportazione come ONNX e TensorRT.
  3. Flessibilità di distribuzione: Dalle applicazioni mobili iOS e Android ai server Raspberry Pi e cloud, l'architettura leggera di YOLOv5 gli consente di funzionare dove i modelli di trasformatori più pesanti non possono.
  4. Versatilità dei compiti: A differenza di RTDETRv2, che è principalmente un rilevatore di oggetti, YOLOv5 supporta la classificazione e la segmentazione, riducendo la necessità di mantenere più codebase per diversi compiti di visione.

Percorso di aggiornamento

Se avete bisogno di una precisione ancora maggiore rispetto a YOLOv5 , pur mantenendo questi vantaggi dell'ecosistema, prendete in considerazione il nuovo YOLO11. Questo sistema incorpora moderni miglioramenti architettonici per rivaleggiare o battere la precisione del trasformatore con l'efficienza che ci si aspetta da YOLO.

Codice a confronto: facilità d'uso

L'esempio seguente dimostra la semplicità di utilizzo di YOLOv5 con il pacchetto Ultralytics .

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model
model = YOLO("yolov5s.pt")

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

# Display results
for result in results:
    result.show()  # show to screen
    result.save(filename="result.jpg")  # save to disk

Casi d'uso ideali

Quando scegliere Ultralytics YOLOv5

  • Edge Computing: Distribuzione su dispositivi alimentati a batteria o con risorse limitate (droni, telefoni cellulari, IoT).
  • Analisi video in tempo reale: Elaborazione di più flussi video contemporaneamente per la gestione del traffico o la sicurezza.
  • Prototipazione rapida: Quando è necessario passare da un set di dati a un modello distribuito in poche ore, non in giorni.
  • Requisiti multi-task: Progetti che richiedono sia il rilevamento di oggetti che la segmentazione di immagini.

Quando scegliere RTDETRv2

  • Ricerca accademica: Benchmarking rispetto allo stato dell'arte assoluto su insiemi di dati statici in cui la velocità è secondaria.
  • Disponibilità di GPU di fascia alta: Ambienti in cui sono disponibili GPU dedicate di livello server (come le NVIDIA A100) sia per la formazione che per l'inferenza.
  • Scene statiche complesse: Scenari con occlusione densa in cui il meccanismo di autoattenzione fornisce un vantaggio critico in termini di precisione.

Conclusione

Sebbene RTDETRv2 dimostri il potenziale dei trasformatori nella computer vision con dati di precisione impressionanti, comporta costi significativi in termini di risorse hardware e complessità di formazione. Per la maggior parte delle applicazioni reali, Ultralytics YOLOv5 rimane la scelta migliore. La sua perfetta combinazione di velocità, precisione e basso utilizzo di memoria, unita a un ecosistema di supporto e a un'ampia documentazione, garantisceagli sviluppatori la possibilità di creare soluzioni di intelligenza artificiale scalabili, efficienti ed efficaci.

Per coloro che sono alla ricerca di prestazioni all'avanguardia senza sacrificare l'usabilità del framework Ultralytics , consigliamo vivamente di esplorare YOLO11che colma il divario tra l'efficienza della CNN e la precisione a livello di trasformatore.

Esplora altri modelli


Commenti