Vai al contenuto

YOLOv7 vs YOLOv5: Un confronto tecnico dettagliato

Quando scelgono un modello di object detection, gli sviluppatori spesso valutano i compromessi tra velocità, accuratezza e facilità d'uso. Ultralytics YOLOv5 e YOLOv7 sono due modelli fondamentali nel panorama della computer vision, ciascuno con punti di forza distinti. Questa pagina fornisce un confronto tecnico dettagliato per aiutarti a decidere quale modello si adatta meglio alle esigenze del tuo progetto, evidenziando le loro differenze architetturali, i benchmark di performance e le applicazioni ideali.

Sebbene YOLOv7 abbia superato i limiti di accuratezza al momento del suo rilascio, Ultralytics YOLOv5 si è affermato come punto di riferimento per efficienza, implementazione rapida e accessibilità, supportato da un ecosistema solido e ben mantenuto.

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 stabilire un nuovo stato dell'arte nella precisione per i rilevatori di oggetti in tempo reale, mantenendo al contempo un'elevata velocità.

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

L'architettura di YOLOv7 è costruita su diverse innovazioni chiave progettate per migliorare l'apprendimento delle feature e ottimizzare il modello per un'inferenza più rapida post-addestramento.

  • Extended Efficient Layer Aggregation Network (E-ELAN): Questo modulo nel backbone migliora la capacità di apprendimento della rete gestendo i percorsi del gradiente in modo più efficiente, consentendole di apprendere feature più diversificate.
  • Scalabilità del Modello: Implementa un metodo di scalabilità composita per modelli basati sulla concatenazione, regolando la profondità e la larghezza del modello per adattarsi a diversi budget computazionali.
  • Bag-of-Freebies addestrabile: Sfrutta tecniche di addestramento avanzate, come gli head ausiliari e l'assegnazione ottimizzata delle etichette, per aumentare l'accuratezza senza aumentare il costo di inferenza. Questi head ausiliari vengono utilizzati solo durante l'addestramento per rafforzare l'apprendimento delle caratteristiche e vengono rimossi per l'inferenza.

Punti di forza di YOLOv7

  • Elevata accuratezza: Raggiunge elevati punteggi di mAP su benchmark come COCO, spesso superando i modelli contemporanei in accuratezza.
  • Efficient Training Techniques: Incorpora nuove strategie di training che massimizzano le prestazioni senza aggiungere overhead computazionale durante l'inferenza.

Punti deboli di YOLOv7

  • Complessità: L'architettura e il processo di training, con funzionalità come gli auxiliary heads, possono essere più complessi da comprendere e modificare rispetto all'approccio semplificato di Ultralytics YOLOv5.
  • Ecosistema e Supporto: Manca della documentazione esaustiva, dei tutorial e dell'ecosistema integrato forniti da Ultralytics. Questo può rendere la distribuzione e la risoluzione dei problemi più complesse per gli sviluppatori.
  • Utilizzo intensivo di risorse: I modelli YOLOv7 più grandi richiedono notevoli risorse computazionali per l'addestramento, limitando potenzialmente la loro accessibilità per gli utenti con hardware limitato.

Casi d'uso per YOLOv7

  • Rilevamento ad alte prestazioni: Adatto per applicazioni in cui è fondamentale ottenere la massima accuratezza possibile, come la sorveglianza avanzata o i veicoli autonomi.
  • Ricerca e Benchmarking: Spesso utilizzato nella ricerca accademica per esplorare le tecniche di object detection all'avanguardia e superare i limiti delle prestazioni.

Scopri di più su YOLOv7

Ultralytics YOLOv5: Velocità e semplicità

Ultralytics YOLOv5, creato da Glenn Jocher, è stato rilasciato il 26 giugno 2020. È rapidamente diventato uno dei modelli di rilevamento oggetti più popolari grazie al suo eccezionale equilibrio tra velocità, precisione e, soprattutto, facilità d'uso. È costruito su PyTorch ed è progettato per un addestramento rapido, una distribuzione robusta e l'accessibilità.

Autori: Glenn Jocher
Organizzazione: Ultralytics
Data: 2020-06-26
Arxiv: Nessuno
GitHub: https://github.com/ultralytics/yolov5
Documenti: https://docs.ultralytics.com/models/yolov5/

Architettura e Caratteristiche Chiave di YOLOv5

YOLOv5 presenta un'architettura semplice ma potente, altamente ottimizzata sia per l'addestramento che per l'inferenza.

  • Architettura basata su CSP: Utilizza una rete Cross Stage Partial (CSP) sia nel suo backbone che nel neck (PANet) per ottimizzare il flusso di caratteristiche e ridurre i colli di bottiglia computazionali.
  • Famiglia di Modelli Scalabile: Offre una gamma di modelli da Nano (YOLOv5n) a Extra-Large (YOLOv5x), consentendo agli utenti di scegliere il perfetto equilibrio tra velocità e precisione per le loro esigenze specifiche, dai dispositivi edge leggeri ai server cloud ad alte prestazioni.
  • Esperienza incentrata sullo sviluppatore: Progettato da zero per la semplicità. È dotato di generazione automatica di anchor, tracciamento integrato degli esperimenti e una pipeline di training semplificata, facile da usare sia per i principianti che per gli esperti.

Punti di forza di Ultralytics YOLOv5

  • Facilità d'uso: YOLOv5 è rinomato per la sua esperienza utente semplice. Con un semplice pip install ultralytics command, di facile utilizzo CLI, ed esteso documentazione, iniziare è incredibilmente veloce.
  • Ecosistema ben mantenuto: Beneficia dello sviluppo continuo da parte di Ultralytics, di una solida comunità open-source e di una perfetta integrazione con strumenti come Ultralytics HUB per l'addestramento e il deployment senza codice.
  • Bilanciamento delle prestazioni: Ottiene un eccellente compromesso tra velocità e precisione. I suoi modelli più piccoli, come YOLOv5n, sono incredibilmente veloci e ideali per l'inferenza in tempo reale su CPU e dispositivi edge.
  • Efficienza di addestramento: Il processo di addestramento è altamente efficiente, con tempi di convergenza più rapidi e requisiti di memoria inferiori rispetto a molti altri modelli. I pesi pre-addestrati sono facilmente disponibili e l'addestramento personalizzato è semplice.
  • Versatilità: Supporta nativamente molteplici attività, tra cui rilevamento oggetti, segmentazione di istanza e classificazione delle immagini.

Punti deboli di Ultralytics YOLOv5

  • Accuratezza di picco: Pur essendo altamente competitivi, i modelli YOLOv5 più grandi potrebbero non eguagliare il mAP di picco delle varianti YOLOv7 più grandi su determinati benchmark, poiché YOLOv7 è stato specificamente progettato per massimizzare questa metrica.

Casi d'uso per Ultralytics YOLOv5

  • Applicazioni in tempo reale: Ideale per applicazioni che richiedono una inferenza rapida, come la robotica, la visione tramite drone e l'analisi video in diretta.
  • Implementazione Edge: Ben adatto per l'implementazione su dispositivi edge con risorse limitate come NVIDIA Jetson grazie al suo design efficiente e alle dimensioni ridotte del modello.
  • Prototipazione rapida: Una scelta eccellente per sviluppare e implementare rapidamente soluzioni di object detection, grazie alla sua facilità d'uso e all'ampio supporto.

Scopri di più su YOLOv5

Prestazioni e benchmark: YOLOv7 vs. YOLOv5

La differenza fondamentale nelle prestazioni risiede nelle loro priorità di progettazione. YOLOv7 mira alla massima accuratezza, mentre YOLOv5 offre una gamma di opzioni più equilibrata e pratica.

Modello dimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv7l 640 51.4 - 6.84 36.9 104.7
YOLOv7x 640 53.1 - 11.57 71.3 189.9
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

Come mostra la tabella, i modelli YOLOv7 raggiungono punteggi mAP impressionanti con velocità GPU competitive. Tuttavia, Ultralytics YOLOv5 offre una gamma superiore di opzioni per diversi scenari di implementazione. I modelli YOLOv5n e YOLOv5s sono significativamente più veloci sia su CPU che su GPU, rendendoli la scelta ideale per applicazioni a bassa latenza e edge.

Conclusione: Quale modello dovresti scegliere?

La scelta tra YOLOv7 e YOLOv5 dipende molto dalle priorità del tuo progetto.

  • Scegli YOLOv7 se il tuo obiettivo principale è ottenere la massima accuratezza di rilevamento possibile e disponi delle risorse computazionali e delle competenze tecniche per gestire la sua architettura e pipeline di addestramento più complesse. È un modello eccellente per la ricerca e le applicazioni specializzate dove le prestazioni sono fondamentali.

  • Scegli Ultralytics YOLOv5 se apprezzi lo sviluppo rapido, la facilità d'uso e la flessibilità di distribuzione. Il suo flusso di lavoro semplificato, la documentazione estesa e il forte equilibrio delle prestazioni lo rendono la scelta ideale per la maggior parte delle applicazioni commerciali e pratiche. Che tu sia un principiante o un professionista esperto, il robusto ecosistema di YOLOv5 accelera il percorso dal concetto alla produzione.

Per la maggior parte degli sviluppatori, i vantaggi pratici e il supporto completo di Ultralytics YOLOv5 lo rendono una scelta più convincente. I suoi successori, come Ultralytics YOLOv8, continuano questa eredità offrendo prestazioni ancora migliori e più funzionalità all'interno dello stesso framework user-friendly.

Esplora altri modelli

Per chi fosse interessato alle ultime novità, vale la pena esplorare i modelli più recenti nell'ecosistema Ultralytics.

  • Ultralytics YOLOv8: Il successore di YOLOv5, che offre maggiore precisione, velocità e un'API unificata per il rilevamento, la segmentazione, la stima della posa e il tracciamento. Vedi un confronto diretto tra YOLOv8 e YOLOv7.
  • Ultralytics YOLOv10: Un modello all'avanguardia focalizzato sul rilevamento end-to-end NMS-free per una latenza ridotta e una maggiore efficienza.
  • Ultralytics YOLO11: L'ultimo modello all'avanguardia di Ultralytics, che pone l'accento su velocità, efficienza e facilità d'uso con un design anchor-free.


📅 Creato 1 anno fa ✏️ Aggiornato 1 mese fa

Commenti