YOLOv5 vs RTDETRv2: Un confronto dettagliato tra i modelli
La scelta del giusto modello di rilevamento degli oggetti è fondamentale per i progetti di computer vision. Ultralytics offre una suite di modelli adatti a varie esigenze, tra cui l'efficientissimo modello Ultralytics YOLOv5 e confrontandolo con altre architetture come RTDETRv2. Questa pagina fornisce un confronto tecnico tra YOLOv5 e RTDETRv2, evidenziandone le differenze architettoniche, le metriche delle prestazioni, le metodologie di addestramento e le applicazioni ideali.
YOLOv5: velocità ed efficienza
Autore: Glenn Jocher
Organizzazione: Ultralytics
Data: 2020-06-26
GitHub: https:yolov5
Documenti: https:yolov5
Ultralytics YOLOv5 è un rilevatore di oggetti a un solo stadio ampiamente adottato, famoso per la sua eccezionale velocità di inferenza ed efficienza operativa. Sviluppato da Ultralytics, è diventato un punto di riferimento per le attività di rilevamento di oggetti in tempo reale.
Architettura
YOLOv5 impiega un'architettura basata su CNN ottimizzata per la velocità:
- Backbone: CSPDarknet53 per un'estrazione efficiente delle caratteristiche.
- Collo: PANet per una fusione efficace delle caratteristiche su più scale.
- Testa: testa di rilevamento YOLOv5 per la previsione e la classificazione del rettangolo di selezione. È disponibile in diverse dimensioni (n, s, m, l, x), consentendo agli utenti di scegliere il miglior compromesso tra velocità e precisione per le loro esigenze specifiche.
Punti di forza
YOLOv5 offre vantaggi significativi, in particolare per gli sviluppatori che desiderano un'implementazione pratica:
- Facilità d'uso: Offre un'esperienza d'uso semplificata con un'API semplice, un'ampia documentazione e numerose esercitazioni.
- Ecosistema ben curato: Beneficia dell'ecosistema integrato di Ultralytics , che comprende uno sviluppo attivo, un forte supporto della comunità tramite GitHub e Discord, aggiornamenti frequenti e piattaforme come Ultralytics HUB per la formazione e la distribuzione senza codice.
- Equilibrio delle prestazioni: Raggiunge un forte equilibrio tra velocità di inferenza e precisione, rendendolo adatto a diversi scenari del mondo reale.
- Requisiti di memoria: In genere richiede meno memoria (soprattutto quella di CUDA durante l'addestramento) rispetto ai modelli basati su trasformatori come RTDETRv2.
- Efficienza dell'addestramento: Offre processi di addestramento efficienti, convergenza più rapida e pesi pre-addestrati prontamente disponibili su set di dati come COCO.
- Versatilità: Sebbene si concentri principalmente sul rilevamento, il repository YOLOv5 supporta anche la segmentazione delle istanze e la classificazione delle immagini.
Punti di debolezza
- Precisione: Pur essendo molto accurati, i modelli più grandi e complessi come RTDETRv2-x possono ottenere una mAP leggermente superiore su insiemi di dati difficili, anche se a costo di velocità e risorse.
Casi d'uso ideali
YOLOv5 eccelle in:
- Rilevamento di oggetti in tempo reale: Videosorveglianza, sistemi di allarme di sicurezza e IA nella gestione del traffico.
- Edge computing: Distribuzione su dispositivi a risorse limitate come Raspberry Pi e NVIDIA Jetson.
- Applicazioni mobili: Modelli leggeri adatti all'impiego mobile.
- Prototipazione rapida: Impostazione e formazione rapida per vari compiti di visione artificiale.
RTDETRv2: Rilevamento in tempo reale ad alta precisione
Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
Organizzazione: Baidu
Data: 2023-04-17 ( RT-DETR iniziale), 2024-07-24 (miglioramenti RT-DETRv2)
Arxiv: https://arxiv.org/abs/2304.08069, https://arxiv.org/abs/2407.17140
GitHub: https:RT-DETR
Documenti: https:RT-DETR
RTDETRv2 (Real-Time Detection Transformer v2) è un rilevatore di oggetti all'avanguardia che sfrutta la potenza dei trasformatori di visione (ViT) per ottenere un'elevata precisione mantenendo le prestazioni in tempo reale.
Architettura
RTDETRv2 utilizza un approccio ibrido:
- Backbone: In genere una CNN (come le varianti di ResNet) per l'estrazione iniziale delle caratteristiche.
- Encoder-decoder: Una struttura di codifica-decodifica basata su trasformatori che utilizza meccanismi di autoattenzione per catturare il contesto globale all'interno delle caratteristiche dell'immagine. Ciò consente al modello di comprendere meglio le relazioni tra oggetti distanti e scene complesse.
Punti di forza
- Alta precisione: L'architettura del trasformatore consente a RTDETRv2 di ottenere punteggi mAP eccellenti, in particolare su insiemi di dati complessi con oggetti densi o piccoli.
- Capacità in tempo reale: Ottimizzata per fornire velocità di inferenza competitive, soprattutto se accelerata con strumenti come NVIDIA TensorRT.
- Estrazione robusta delle caratteristiche: Cattura efficacemente il contesto globale, migliorando le prestazioni in scenari difficili come l'occlusione.
Punti di debolezza
- Costo computazionale: Generalmente ha un numero di parametri e FLOP più elevato rispetto a YOLOv5, richiedendo risorse computazionali più significativeGPU memoriaGPU , potenza di elaborazione).
- Complessità dell'addestramento: L'addestramento di modelli basati su trasformatori può essere più impegnativo in termini di risorse e potenzialmente più lento di quello di modelli basati su CNN come YOLOv5.
- Velocità di inferenza: sebbene sia in grado di operare in tempo reale su hardware potente, potrebbe essere più lento delle varianti più veloci di YOLOv5 , soprattutto su CPU o dispositivi edge meno potenti.
- Ecosistema: Manca l'ecosistema esteso e unificato, gli strumenti (come Ultralytics HUB) e l'ampio supporto della comunità fornito da Ultralytics per i modelli YOLO .
Casi d'uso ideali
RTDETRv2 è più adatto per applicazioni in cui l'accuratezza è fondamentale e sono disponibili risorse computazionali sufficienti:
- Guida autonoma: Percezione precisa per l'intelligenza artificiale nelle auto a guida autonoma.
- Imaging medico: Rilevamento dettagliato delle anomalie in AI in Healthcare.
- Analisi di immagini ad alta risoluzione: Analisi di immagini satellitari o di dati di ispezione industriale(miglioramento della produzione con la computer vision).
- Comprensione di scene complesse: Scenari con forte occlusione o numerosi oggetti di piccole dimensioni.
Per saperne di più su RTDETRv2
Confronto delle prestazioni: YOLOv5 vs RTDETRv2
Modello | dimensione (pixel) |
mAPval 50-95 |
Velocità CPU ONNX (ms) |
Velocità T4TensorRT10 (ms) |
params (M) |
FLOP (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 |
La tabella evidenzia i compromessi:
- YOLOv5 (in particolare n/s/m) offrono velocità di inferenza significativamente più elevate sia su CPU che su GPU TensorRT) con un numero di parametri e FLOP molto più basso, rendendoli ideali per ambienti con risorse limitate.
- I modelli RTDETRv2 raggiungono punteggi mAP di picco più elevati (soprattutto le varianti l/x), ma comportano un aumento della latenza e dei requisiti computazionali. In particolare, RTDETRv2-s/m offre un'accuratezza competitiva rispetto a YOLOv5l/x con velocità TensorRT potenzialmente più elevate, ma manca di prestazioni CPU .
Formazione ed ecosistema
Ultralytics YOLOv5 si distingue per la facilità di formazione e l'ecosistema completo. La formazione è semplice grazie all'uso della CLI o dell'API Python , supportata da un'ampia documentazione ed esercitazioni. L'ecosistema Ultralytics offre strumenti come Ultralytics HUB per semplificare la formazione e l'implementazione, un supporto attivo della comunità e integrazioni perfette con strumenti come Weights & Biases e ClearML. Inoltre, l'architettura CNN di YOLOv5 richiede generalmente meno memoria GPU e si addestra più rapidamente dei modelli a trasformatori.
RTDETRv2, pur essendo potente, comporta l'addestramento di un'architettura di trasformatori più complessa. Ciò richiede in genere risorse di calcolo più consistenti (in particolare una memoria GPU elevata) e tempi di addestramento potenzialmente più lunghi. Sebbene il repository GitHub fornisca script di addestramento, l'ecosistema circostante e la struttura di supporto sono meno estesi di quelli offerti da Ultralytics.
Conclusione
Sia YOLOv5 che RTDETRv2 sono modelli capaci di rilevare gli oggetti, ma rispondono a priorità diverse.
- Ultralytics YOLOv5 è la scelta consigliata per le applicazioni che richiedono alta velocità, efficienza, facilità d'uso e versatilità di implementazione, soprattutto su dispositivi edge o dove le risorse di calcolo sono limitate. Il suo robusto ecosistema e i ridotti requisiti di formazione lo rendono altamente accessibile a sviluppatori e ricercatori.
- RTDETRv2 è adatto quando la massima accuratezza è la priorità assoluta e sono disponibili risorse computazionali sufficienti (comprese potenti GPU per l'addestramento e l'inferenza).
Per la maggior parte delle applicazioni pratiche, YOLOv5 offre un equilibrio eccellente e spesso superiore di prestazioni, velocità e usabilità, supportato dal solido supporto e dagli strumenti dell'ecosistema Ultralytics .
Esplora altri modelli
Se state valutando delle alternative, prendete in considerazione altri modelli all'interno dell'ecosistema Ultralytics :
- YOLOv8: successore di YOLOv5, offre una maggiore accuratezza e velocità in varie attività, tra cui rilevamento, segmentazione, posa e tracciamento.
- YOLOv10: presenta innovazioni come la formazione senza NMS per un ulteriore aumento dell'efficienza.
- YOLO11: l'ultima generazione di Ultralytics, che si spinge oltre i confini delle prestazioni e dell'efficienza.
Il confronto tra modelli come YOLOv8 e RTDETRv2 o YOLOv10 e RTDETRv2 può fornire ulteriori indicazioni su quale sia la soluzione migliore per il vostro progetto.