YOLOv5 vs YOLOv7: Un Confronto Dettagliato
La scelta del modello di object detection giusto è una decisione critica che bilancia la necessità di velocità, accuratezza e facilità di implementazione. Questa pagina offre un confronto tecnico tra Ultralytics YOLOv5 e YOLOv7, due modelli influenti nel panorama della computer vision. Mentre entrambi hanno dato contributi significativi, Ultralytics YOLOv5 si distingue per il suo eccezionale equilibrio tra performance, design intuitivo e un ecosistema completo e ben mantenuto, rendendolo una scelta preferita per una vasta gamma di applicazioni nel mondo reale.
Ultralytics YOLOv5: Lo standard industriale consolidato
Ultralytics YOLOv5, rilasciato nel 2020 da Glenn Jocher, è rapidamente diventato uno dei modelli di rilevamento oggetti più popolari grazie alla sua notevole combinazione di velocità, precisione e facilità d'uso. Sviluppato interamente in PyTorch, YOLOv5 è altamente ottimizzato e offre un'esperienza semplificata dall'addestramento all'implementazione.
Autore: Glenn Jocher
Organizzazione: Ultralytics
Data: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Documentazione: https://docs.ultralytics.com/models/yolov5/
Architettura e Caratteristiche Chiave di YOLOv5
YOLOv5 presenta un'architettura flessibile ed efficiente costruita su un backbone CSPDarknet53 e un neck PANet per un'efficace aggregazione delle feature. Utilizza una detection head anchor-based, che è stata perfezionata nel corso di numerose versioni. Uno dei suoi punti di forza principali è la varietà di dimensioni del modello (n, s, m, l, x), che consente agli sviluppatori di selezionare il compromesso ottimale tra prestazioni e risorse computazionali. Questa scalabilità lo rende adatto a qualsiasi cosa, dai dispositivi edge leggeri ai potenti server cloud.
Punti di forza di YOLOv5
- Facilità d'uso: YOLOv5 è rinomato per le sue semplici interfacce Python e CLI, la vasta documentazione e le pipeline di addestramento e inferenza semplici.
- Ecosistema ben mantenuto: È supportato dal solido ecosistema Ultralytics, che include sviluppo attivo, una vasta comunità, aggiornamenti frequenti e strumenti potenti come Ultralytics HUB per l'addestramento e il deployment senza codice.
- Bilanciamento delle prestazioni: YOLOv5 raggiunge un eccellente compromesso tra velocità di inferenza e accuratezza del rilevamento, rendendolo estremamente pratico per diversi scenari del mondo reale.
- Versatilità ed efficienza di addestramento: Supporta molteplici attività di visione, tra cui object detection, segmentazione di istanza e classificazione delle immagini. Il processo di addestramento è efficiente, con pesi pre-addestrati facilmente disponibili e requisiti di memoria inferiori rispetto alle architetture più complesse.
Punti deboli di YOLOv5
- Limiti di precisione: Pur essendo altamente preciso, i modelli più recenti hanno superato i suoi punteggi mAP su benchmark standard come COCO.
- Design basato su anchor: La sua dipendenza da anchor box predefiniti a volte può richiedere una maggiore messa a punto per dataset con oggetti di forma insolita rispetto ai moderni approcci anchor-free.
Casi d'uso per YOLOv5
- Applicazioni in Tempo Reale: Ideale per applicazioni che richiedono un'inferenza rapida, come la robotica, la visione tramite drone nelle applicazioni di computer vision nelle operazioni di drone con IA e l'analisi video in tempo reale.
- Distribuzione edge: Adatto per la distribuzione su dispositivi edge con risorse limitate grazie al suo design efficiente e alle dimensioni ridotte del modello. Esplora le guide alla distribuzione di NVIDIA Jetson.
- Prototipazione rapida: Una scelta eccellente per la prototipazione e il deployment rapidi di soluzioni di object detection, grazie alla sua facilità d'uso e all'ampio supporto.
YOLOv7: Focus sull'alta accuratezza
YOLOv7, creato da Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao, è stato rilasciato il 6 luglio 2022. Ha introdotto diverse ottimizzazioni architettoniche e strategie di addestramento, note come "trainable bag-of-freebies", con l'obiettivo di spingere i confini della precisione mantenendo la velocità in tempo reale.
Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
Data: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Documentazione: https://docs.ultralytics.com/models/yolov7/
Architettura e Caratteristiche Chiave di YOLOv7
- E-ELAN: Utilizza Extended Efficient Layer Aggregation Network (E-ELAN) nella backbone per migliorare la capacità di apprendimento.
- Scalabilità del modello: Implementa il ridimensionamento composto per la profondità e la larghezza del modello per ottimizzare diversi budget computazionali.
- Addestramento con Testa Ausiliaria: Utilizza teste ausiliarie durante l'addestramento (rimosse durante l'inferenza) per migliorare l'apprendimento delle caratteristiche.
- Bag-of-Freebies: Sfrutta tecniche di addestramento avanzate per aumentare la precisione senza aumentare il costo di inferenza.
Punti di forza di YOLOv7
- Elevata precisione: Raggiunge elevati punteggi mAP su benchmark come COCO, in particolare con varianti di modello più grandi.
- Efficient Training Techniques: Incorpora nuove strategie di training per massimizzare le prestazioni.
Punti deboli di YOLOv7
- Complessità: L'architettura e il processo di addestramento possono essere più complessi rispetto all'approccio semplificato di Ultralytics YOLOv5.
- Ecosistema e Supporto: Manca della documentazione esaustiva, dei tutorial e dell'ecosistema integrato forniti da Ultralytics per YOLOv5.
- Utilizzo intensivo di risorse: I modelli più grandi richiedono notevoli risorse computazionali, limitando potenzialmente il deployment su dispositivi con risorse limitate.
Casi d'uso per YOLOv7
- Rilevamento ad alte prestazioni: Adatto per applicazioni in cui è fondamentale ottenere la massima accuratezza possibile e le risorse computazionali sono meno limitate, come nei veicoli autonomi.
- Ricerca: utilizzata nella ricerca accademica che esplora tecniche di rilevamento oggetti all'avanguardia.
Prestazioni e confronto tecnico
Un confronto diretto tra YOLOv5 e YOLOv7 sul dataset COCO rivela differenze chiave nei loro profili di performance. I modelli YOLOv7 generalmente raggiungono punteggi mAP più elevati, ma spesso a costo di una maggiore complessità e requisiti di risorse. Al contrario, Ultralytics YOLOv5 offre un profilo più bilanciato, eccellendo nella velocità di inferenza su CPU e mantenendo un'accuratezza competitiva, il che è cruciale per molti implementazioni nel mondo reale.
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Conclusione: Quale modello dovresti scegliere?
La scelta tra YOLOv5 e YOLOv7 dipende molto dalle priorità del progetto.
YOLOv7 è una scelta valida per ricercatori e sviluppatori che necessitano della massima accuratezza possibile su benchmark standard e hanno accesso a significative risorse computazionali. Le sue innovative tecniche di training dimostrano come spingere i limiti delle prestazioni.
Tuttavia, per la stragrande maggioranza delle applicazioni pratiche, Ultralytics YOLOv5 rimane la scelta superiore. I suoi vantaggi chiave—facilità d'uso, implementazione rapida, eccellente equilibrio tra velocità e precisione e un ecosistema fiorente—la rendono uno strumento incredibilmente efficiente e affidabile. Consente agli sviluppatori di creare rapidamente soluzioni di computer vision robuste, dal prototipo iniziale all'implementazione in produzione.
Inoltre, l'ecosistema Ultralytics ha continuato a evolversi. I modelli più recenti come YOLOv8 e YOLO11 si basano sulle fondamenta di YOLOv5, offrendo prestazioni ancora migliori e una maggiore versatilità in attività come la segmentazione, la stima della posa e il tracciamento. Per gli sviluppatori che cercano un framework moderno, a prova di futuro e facile da usare, la famiglia Ultralytics YOLO fornisce la soluzione più interessante e completa.
Esplora altri modelli
Se stai esplorando modelli di object detection, potresti anche essere interessato a questi altri confronti:
- YOLOv5 contro YOLOv8
- YOLOv5 contro YOLOv9
- YOLOv7 vs YOLOv8
- YOLOv7 vs YOLO11
- RT-DETR vs YOLOv7
- Esplora gli ultimi modelli come YOLOv10 e YOLO11.