YOLOv5 vs YOLOv7#
Il panorama della computer vision si è evoluto rapidamente negli ultimi anni, spinto dalla necessità di rilevare oggetti in tempo reale in modo più rapido e accurato. Quando scegli l'architettura giusta per il tuo progetto di computer vision, è fondamentale comprendere le differenze tra modelli popolari come Ultralytics YOLOv5 e YOLOv7. Questo confronto tecnico completo analizza le loro architetture, metodologie di addestramento, metriche di prestazione e scenari di deployment ideali per aiutarti a prendere una decisione informata.
In sintesi: origini dei modelli#
Comprendere le origini e le filosofie progettuali alla base di questi modelli aiuta a contestualizzare le loro scelte architetturali.
Dettagli di YOLOv5:
- Autori: Glenn Jocher
- Organizzazione: Ultralytics
- Data: 2020-06-26
- GitHub: Repository di YOLOv5
- Documentazione: Documentazione di YOLOv5
Dettagli su YOLOv7:
- Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
- Data: 2022-07-06
- Arxiv: Articolo su YOLOv7
- GitHub: Repository di YOLOv7
- Documentazione: Documentazione di YOLOv7
Vuoi sapere come si confrontano questi modelli con altri? Consulta i nostri confronti, come YOLOv5 vs YOLO11 o YOLOv7 vs EfficientDet, per approfondire la tua conoscenza dell'ecosistema del rilevamento degli oggetti.
Innovazioni e differenze architetturali#
YOLOv5: lo standard per l'accessibilità#
Introdotto da Ultralytics nel 2020, YOLOv5 ha segnato un cambio di paradigma adottando nativamente il framework PyTorch e abbassando significativamente la barriera d'ingresso per ricercatori e sviluppatori. La sua architettura si basa su un backbone CSPDarknet53 modificato e integra reti Cross Stage Partial (CSP) per ridurre il numero di parametri mantenendo il flusso dei gradienti.
Uno dei suoi maggiori punti di forza sono i Requisiti di memoria. Rispetto ai rilevatori a due stadi più datati o ai pesanti modelli Transformer come RT-DETR, YOLOv5 richiede molta meno memoria CUDA durante l'addestramento, consentendo batch di dimensioni maggiori sulle GPU standard per uso consumer. Inoltre, la sua Versatilità integrata nativamente supporta senza problemi la classificazione delle immagini, il rilevamento degli oggetti e la segmentazione delle immagini.
YOLOv7: spingere al limite l'accuratezza in tempo reale#
Rilasciato a metà del 2022, YOLOv7 si è concentrato sul superamento dei limiti dello stato dell'arte per il rilevamento in tempo reale sui benchmark MS COCO. Gli autori hanno introdotto la Rete estesa di aggregazione dei livelli efficiente (E-ELAN), che migliora la capacità di apprendimento della rete senza compromettere il percorso originale dei gradienti.
YOLOv7 è noto anche per il suo "bag-of-freebies addestrabile", in particolare per le tecniche di riparametrizzazione durante l'addestramento, che convertono più moduli in un singolo livello convoluzionale durante l'inferenza, aumentando la velocità senza sacrificare l'accuratezza. Tuttavia, questa complessa metodologia di addestramento spesso comporta curve di apprendimento più ripide e pipeline di esportazione meno immediate rispetto all'ecosistema nativo di Ultralytics.
Confronto delle prestazioni#
Quando valuti questi modelli, l'Equilibrio delle prestazioni tra velocità, accuratezza e costo computazionale è fondamentale. Di seguito trovi un confronto dettagliato delle loro metriche di prestazione basato sul dataset MS COCO val2017.
| 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 |
Sebbene YOLOv7 raggiunga valori mAP assoluti più elevati nelle varianti più grandi, YOLOv5 offre uno spettro di modelli senza eguali: dal Nano ultraleggero (YOLOv5n) per dispositivi edge estremamente limitati fino all'Extra-Large (YOLOv5x) per l'inferenza nel cloud.
Il vantaggio dell'ecosistema Ultralytics#
L'utilità di un modello va oltre la sua architettura pura: è l'ecosistema che lo circonda a determinare la rapidità con cui può essere portato in produzione. È qui che i modelli Ultralytics brillano.
- Facilità d'uso: la Ultralytics Platform e la sua API Python unificata offrono un'esperienza utente ottimizzata, una sintassi semplice e una documentazione completa. Addestrare un dataset personalizzato non richiede alcun codice boilerplate.
- Ecosistema ben mantenuto: Ultralytics beneficia di uno sviluppo attivo, aggiornamenti frequenti e un forte supporto della community. Le integrazioni con strumenti come Comet ML e Weights & Biases sono già integrate.
- Efficienza dell'addestramento: i data loader, il caching intelligente e il supporto multi-GPU rendono i modelli Ultralytics eccezionalmente efficienti da addestrare. I pesi pre-addestrati immediatamente disponibili accelerano notevolmente il transfer learning.
Esempio di codice: primi passi#
Con Ultralytics, il deployment di un modello richiede solo poche righe di codice. Il seguente frammento Python mostra quanto sia semplice caricare, addestrare ed eseguire l'inferenza utilizzando il pacchetto consigliato ultralytics.
from ultralytics import YOLO
# Load a pretrained YOLOv5s model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset
# Ultralytics automatically handles data downloading and augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a sample image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Display the predictions
predictions[0].show()Al contrario, utilizzare il repository originale di YOLOv7 comporta generalmente la clonazione di repository complessi, la gestione manuale delle dipendenze e l'utilizzo di lunghi argomenti da riga di comando.
Applicazioni nel mondo reale e casi d'uso ideali#
Quando scegliere YOLOv7#
YOLOv7 rimane un valido candidato per i benchmark accademici o per specifiche pipeline legacy su GPU, quando l'obiettivo esclusivo è ottenere il mAP massimo e il sistema è già adattato ai suoi tensori di output basati su anchor. I ricercatori che analizzano i percorsi dei gradienti utilizzano spesso YOLOv7 come baseline.
Quando scegliere YOLOv5#
YOLOv5 è molto apprezzato negli ambienti di produzione grazie alla sua eccezionale stabilità. È la scelta ideale per:
- Mobile ed Edge Computing: deployment di YOLOv5n su iOS tramite CoreML o su Android tramite TFLite.
- Startup agili: i team che necessitano di cicli di iterazione rapidi traggono vantaggio dall'integrazione fluida con Ultralytics Platform per la gestione dei dataset e l'addestramento nel cloud.
- Ambienti multi-task: sistemi che richiedono contemporaneamente il rilevamento degli oggetti, la classificazione e la segmentazione.
Il futuro: passare a YOLO26#
Sebbene confrontare YOLOv5 e YOLOv7 sia un ottimo esercizio per comprendere l'evoluzione dell'IA per la computer vision, lo stato dell'arte ha continuato a progredire. Rilasciato a gennaio 2026, Ultralytics YOLO26 rappresenta un enorme passo avanti, rendendo le architetture precedenti in gran parte obsolete per i nuovi progetti.
Per gli sviluppatori che cercano prestazioni di vertice, YOLO26 offre diversi vantaggi rivoluzionari rispetto sia a YOLOv5 sia a YOLOv7:
- Design end-to-end senza NMS: eliminando il post-processing della soppressione non massima, YOLO26 offre un deployment molto più semplice e una latenza più rapida e uniforme.
- Ottimizzatore MuSGD: ispirato alle innovazioni degli LLM di Moonshot AI, questo ottimizzatore ibrido garantisce un addestramento altamente stabile e una convergenza rapida.
- Velocità edge senza precedenti: ottimizzata specificamente per gli ambienti edge, la variante nano offre un'inferenza su CPU fino al 43% più rapida grazie alla rimozione della Distribution Focal Loss (DFL).
- Accuratezza superiore: nuove funzioni di perdita come ProgLoss + STAL migliorano significativamente il riconoscimento degli oggetti di piccole dimensioni, rendendo il modello ideale per i filmati dei droni e la robotica.
Che tu stia mantenendo una pipeline YOLOv5 esistente o voglia implementare YOLO26 all'avanguardia, la Ultralytics Platform offre tutti gli strumenti necessari per avere successo nella computer vision moderna.