Confronto tra modelli: YOLOv5 contro YOLOv6-3.0 per il rilevamento di oggetti
La scelta del modello di rilevamento oggetti ottimale è fondamentale per applicazioni di computer vision di successo. Sia Ultralytics YOLOv5 che Meituan YOLOv6-3.0 sono scelte popolari note per la loro efficienza e accuratezza. Questa pagina fornisce un confronto tecnico per aiutarti a decidere quale modello si adatta meglio alle esigenze del tuo progetto. Approfondiamo le loro sfumature architetturali, i benchmark di performance, gli approcci di training e le applicazioni adatte, evidenziando i punti di forza dell'ecosistema Ultralytics.
Ultralytics YOLOv5: Lo standard industriale consolidato
Autori: Glenn Jocher
Organizzazione: Ultralytics
Data: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Documentazione: https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5 è un modello di rilevamento degli oggetti a fase singola, rinomato per la sua velocità, facilità d'uso e adattabilità. Sviluppato da Ultralytics, rappresenta un passo significativo per rendere accessibile il rilevamento di oggetti ad alte prestazioni. Costruito interamente in PyTorchYOLOv5 presenta una struttura portante CSPDarknet53 e un collo PANet per un'efficiente estrazione e fusione delle caratteristiche. La sua architettura è altamente modulare e consente di scalare facilmente tra modelli di diverse dimensioni (n, s, m, l, x) per soddisfare diversi requisiti di prestazione.
Punti di forza di YOLOv5
- Speed and Efficiency: YOLOv5 eccelle nella velocità di inferenza, rendendolo ideale per le applicazioni in tempo reale e la distribuzione su dispositivi edge con risorse limitate. Come si può vedere nella tabella delle prestazioni, il modello YOLOv5n offre i tempi di inferenza CPU e GPU più veloci tra i modelli più piccoli.
- Facilità d'uso: Noto per la sua semplicità, YOLOv5 offre un'esperienza utente semplificata con una semplice API, documentazione completa e numerosi tutorial.
- Ecosistema ben manutenuto: Beneficia dell'ecosistema Ultralytics integrato, che include sviluppo attivo, un forte supporto della community tramite Discord, aggiornamenti frequenti e una perfetta integrazione con Ultralytics HUB per MLOps.
- Versatilità: Supporta diverse attività, tra cui object detection, instance segmentation e image classification, fornendo una soluzione più completa rispetto ai modelli a singola attività.
- Efficienza di addestramento: Offre processi di addestramento efficienti, pesi pre-addestrati facilmente disponibili e requisiti di memoria inferiori rispetto a molte altre architetture, specialmente i modelli basati su transformer.
Punti deboli di YOLOv5
- Precisione: Pur essendo molto preciso ed efficiente, i modelli più recenti come YOLOv6-3.0 o Ultralytics YOLOv8 potrebbero offrire un mAP leggermente superiore su determinati benchmark, in particolare le varianti di modelli più grandi.
- Rilevamento basato su anchor: Si basa su anchor box, che potrebbero richiedere una messa a punto per ottenere prestazioni ottimali su dataset diversi rispetto ai moderni rilevatori anchor-free.
Meituan YOLOv6-3.0: Un contendente industriale
Autori: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu e Xiangxiang Chu
Organizzazione: Meituan
Data: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: https://github.com/meituan/YOLOv6
Documentazione: https://docs.ultralytics.com/models/yolov6/
YOLOv6-3.0, sviluppato da Meituan, è un framework di object detection progettato principalmente per applicazioni industriali. Rilasciato all'inizio del 2023, mirava a fornire un equilibrio tra velocità e accuratezza adatto per scenari di implementazione nel mondo reale. YOLOv6 ha introdotto modifiche architetturali come un backbone efficiente e un design del neck. La versione 3.0 ha ulteriormente perfezionato questi elementi e incorporato tecniche come l'autodistillazione durante il training per aumentare le prestazioni. Offre anche modelli specifici ottimizzati per l'implementazione mobile (YOLOv6Lite).
Punti di forza di YOLOv6-3.0
- Buon compromesso tra velocità e precisione: Offre prestazioni competitive, in particolare per le attività di object detection industriale in cui l'obiettivo è massimizzare la mAP su una GPU.
- Supporto per la quantizzazione: Fornisce strumenti e tutorial per la quantizzazione del modello, utile per la distribuzione su hardware con risorse limitate.
- Ottimizzazione Mobile: Include varianti YOLOv6Lite specificamente progettate per l'inferenza su dispositivi mobili o basati su CPU.
Punti deboli di YOLOv6-3.0
- Versatilità limitata nei task: Principalmente focalizzato sul rilevamento di oggetti, mancando del supporto nativo per la segmentazione, la classificazione o la stima della posa presente nei modelli Ultralytics come YOLOv5 e YOLOv8.
- Ecosistema e Manutenzione: Pur essendo open source, l'ecosistema non è così completo o attivamente manutenuto come la piattaforma Ultralytics, il che potrebbe portare a aggiornamenti più lenti e un supporto della community inferiore.
- Maggiore utilizzo di risorse: I modelli YOLOv6 più grandi possono avere significativamente più parametri e FLOP rispetto agli equivalenti YOLOv5 per una mAP simile, richiedendo potenzialmente maggiori risorse computazionali.
Testa a testa sulle prestazioni
La tabella seguente fornisce un confronto diretto delle metriche di performance tra i modelli YOLOv5 e YOLOv6-3.0 sul dataset COCO. Ultralytics YOLOv5 dimostra una velocità superiore sia su CPU che su GPU per i modelli più piccoli, rendendolo una scelta eccellente per le applicazioni edge in tempo reale. Mentre i modelli YOLOv6-3.0 più grandi possono raggiungere un mAP di picco più alto, YOLOv5 offre una performance più bilanciata ed efficiente su tutta la linea, soprattutto se si considera il suo numero inferiore di parametri e FLOP.
Modello | dimensione (pixel) |
mAPval 50-95 |
Velocità CPU ONNX (ms) |
Velocità T4 TensorRT10 (ms) |
parametri (M) |
FLOPs (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 |
YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Metodologia di Addestramento
Entrambi i modelli sfruttano tecniche standard di deep learning per l'addestramento su grandi dataset come COCO. Tuttavia, Ultralytics YOLOv5 beneficia significativamente dell'ecosistema Ultralytics, offrendo flussi di lavoro di addestramento semplificati, ampie guide, ottimizzazione AutoAnchor e integrazione con strumenti come Weights & Biases e ClearML per il tracciamento degli esperimenti. Questo approccio integrato semplifica il ciclo di sviluppo e accelera il time-to-deployment. L'addestramento di YOLOv6-3.0 segue le procedure delineate nel suo repository ufficiale.
Casi d'uso ideali
- Ultralytics YOLOv5: Altamente raccomandato per applicazioni che richiedono prestazioni in tempo reale e facilità di implementazione, specialmente su CPU o dispositivi edge. La sua versatilità, l'ampio supporto e l'uso efficiente delle risorse lo rendono ideale per la prototipazione rapida, le applicazioni mobili, la videosorveglianza (computer vision per la prevenzione dei furti) e i progetti che beneficiano di un ecosistema maturo e ben documentato.
- Meituan YOLOv6-3.0: Un forte contendente quando l'obiettivo primario è massimizzare l'accuratezza su GPU, pur richiedendo un'inferenza rapida. È adatto per applicazioni industriali in cui i lievi miglioramenti della mAP rispetto a YOLOv5 giustificano una potenziale maggiore complessità o un minore supporto dell'ecosistema.
Conclusione
Ultralytics YOLOv5 rimane una scelta eccezionale, particolarmente apprezzata per la sua velocità, facilità d'uso e robusto ecosistema. Offre un eccellente equilibrio tra prestazioni ed efficienza, supportato da una vasta documentazione e dal supporto della comunità, rendendolo altamente accessibile a sviluppatori e ricercatori.
YOLOv6-3.0 offre prestazioni competitive, in particolare in termini di mAP di picco per modelli più grandi su GPU. Rappresenta una valida alternativa per gli utenti che danno priorità alla massima precisione possibile all'interno di un framework YOLO per attività industriali specializzate.
Per chi fosse interessato alle ultime novità, consigliamo di esplorare i modelli Ultralytics più recenti come YOLOv8, YOLOv9, YOLOv10 e YOLO11, che offrono ulteriori miglioramenti in termini di prestazioni, versatilità ed efficienza. Anche i modelli specializzati come RT-DETR offrono vantaggi unici per casi d'uso specifici.
Esplora la gamma completa di opzioni nella Documentazione dei modelli Ultralytics.