YOLOv5 . YOLOv7: Evoluzione dei rilevatori di oggetti in tempo reale
La scelta dell'architettura di rilevamento oggetti più adeguata richiede un equilibrio tra accuratezza, velocità di inferenza e facilità di implementazione. Questa guida fornisce un confronto tecnico dettagliato tra Ultralytics YOLOv5 e YOLOv7, due modelli influenti nel panorama della visione artificiale. Analizziamo le loro differenze architetturali, i benchmark delle prestazioni e i casi d'uso ideali per aiutarti a prendere una decisione informata per i tuoi progetti di visione artificiale.
Riepilogo
Sebbene entrambi i modelli siano validi, YOLOv5 rimane lo standard del settore in termini di usabilità, versatilità di implementazione e supporto della comunità. Il suo ecosistema maturo e la perfetta integrazione con la Ultralytics lo rendono una scelta eccellente per gli ambienti di produzione. YOLOv7, rilasciato successivamente, ha introdotto innovazioni architetturali come E-ELAN per una maggiore precisione di picco GPU , ma manca dell'ampio supporto multitasking e degli strumenti ottimizzati presenti Ultralytics .
Per gli sviluppatori che iniziano nuovi progetti nel 2026, consigliamo vivamente di valutare YOLO26, che supera entrambi i modelli in termini di velocità e precisione con un design nativo end-to-end e NMS.
Ultralytics YOLOv5: lo standard di produzione
YOLOv5 ha rivoluzionato il settore non solo grazie alle metriche grezze, ma anche dando priorità all'esperienza degli sviluppatori. È stato il primo YOLO implementato in modo nativo in PyTorch, rendendolo accessibile a una vasta comunità di ricercatori e ingegneri. La sua filosofia "facile da addestrare, facile da implementare" lo ha reso la soluzione ideale per applicazioni reali che vanno dai veicoli autonomi alle ispezioni industriali.
Autore: Glenn Jocher
Organizzazione:Ultralytics
Data: 2020-06-26
GitHub:ultralytics/yolov5
Documentazione:Documentazione YOLOv5
Architettura e Design
YOLOv5 una struttura CSP-Darknet53 con un livello Focus (successivamente sostituito da una convoluzione 6x6) per ridurre il calcolo preservando le informazioni. Utilizza un collo Path Aggregation Network (PANet) per la fusione delle caratteristiche e la previsione multiscala. Le caratteristiche architetturali principali includono:
- Aumento dei dati mosaico: una tecnica di addestramento che combina quattro immagini in una sola, migliorando la capacità del modello di detect oggetti detect e riducendo la necessità di mini-batch di grandi dimensioni.
- Ancoraggi del riquadro di delimitazione con apprendimento automatico: durante l'addestramento, il modello adatta automaticamente i riquadri di ancoraggio alla geometria specifica dei set di dati personalizzati.
- Attivazione SiLU: utilizzo della funzione di attivazione Sigmoid Linear Unit (SiLU) per una propagazione del gradiente più fluida.
Punti di Forza Chiave
- Facilità d'uso: l'API semplificata e la documentazione completa consentono agli sviluppatori di addestrare un modello personalizzato con poche righe di codice.
- Versatilità di implementazione: supporto integrato per l'esportazione in formato ONNX, TensorRT, CoreML, TFLite e OpenVINO un'implementazione senza soluzione di continuità su dispositivi edge e cloud.
- Funzionalità multi-task: oltre al rilevamento, YOLOv5 la segmentazione delle istanze e la classificazione delle immagini, offrendo un kit di strumenti completo per diverse attività di visione.
YOLOv7: Miglioramento GPU
YOLOv7 è stato progettato per superare i limiti di velocità e precisione GPU . Introduce diverse strategie "bag-of-freebies", metodi che aumentano la precisione senza aumentare il costo dell'inferenza, rendendolo un forte concorrente per scenari di calcolo ad alte prestazioni.
Autori: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
Organizzazione: Istituto di Scienze dell'Informazione, Academia Sinica, Taiwan
Data: 2022-07-06
Arxiv:2207.02696
GitHub:WongKinYiu/yolov7
Documentazione:YOLOv7
Architettura e innovazione
YOLOv7 sulla progettazione di architetture efficienti e sul ridimensionamento dei modelli. La sua innovazione principale è rappresentata dalle Extended Efficient Layer Aggregation Networks (E-ELAN), che consentono al modello di apprendere caratteristiche più diversificate controllando i percorsi di gradiente più brevi e più lunghi.
- Ridimensionamento del modello: YOLOv7 un metodo di ridimensionamento composto che modifica simultaneamente profondità e larghezza per i modelli basati sulla concatenazione, ottimizzando l'architettura per diversi vincoli hardware.
- Testa ausiliaria da grossolana a fine: impiega una testa ausiliaria per l'addestramento che guida il processo di apprendimento, che viene poi riparametrizzato nella testa principale per l'inferenza, garantendo nessuna penalizzazione in termini di velocità durante l'implementazione.
- Riparametrizzazione pianificata: l'architettura utilizza convoluzioni riparametrizzate (RepConv) in modo strategico per bilanciare velocità e precisione, evitando connessioni identiche che compromettono l'apprendimento residuo.
Confronto delle prestazioni di benchmark
La tabella seguente mette a confronto le prestazioni di YOLOv5 YOLOv7 COCO . Mentre YOLOv7 punti di forza nel mAP grezzo mAP GPU, YOLOv5 una velocità competitiva, in particolare su CPU, e un numero di parametri significativamente inferiore per i modelli più piccoli.
| 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 |
Analisi dei risultati
- Efficienza: YOLOv5n (Nano) è eccezionalmente leggero, rendendolo perfetto per dispositivi edge altamente limitati in cui ogni megabyte di memoria è importante.
- Precisione: YOLOv7x raggiunge un mAP più elevato mAP (53,1%) rispetto a YOLOv5x (50,7%), dimostrando i vantaggi dell'architettura E-ELAN per le attività GPU di fascia alta.
- Implementazione:ONNX CPU ONNX per YOLOv5 ben documentata e ottimizzata, garantendo prestazioni affidabili perGPU .
Scegliere per il margine
Per dispositivi edge come Raspberry Pi o telefoni cellulari, YOLOv5n o YOLOv5s sono spesso scelte superiori grazie al loro minore ingombro di memoria e alla comprovata compatibilità TFLite .
Formazione ed ecosistema
Uno dei fattori di differenziazione più significativi è l'ecosistema che circonda i modelli.YOLO Ultralytics beneficiano di una piattaforma costantemente aggiornata che semplifica l'intero ciclo di vita delle operazioni di machine learning (MLOps).
Vantaggi dell'ecosistema Ultralytics
- Piattaforma integrata: la Ultralytics consente agli utenti di gestire set di dati, visualizzare i cicli di formazione e implementare modelli in modo trasparente da un'interfaccia web.
- Efficienza di addestramento: YOLOv5 caricatori di dati efficienti e cache intelligenti, riducendo significativamente il tempo di addestramento su set di dati personalizzati rispetto alle architetture precedenti.
- Supporto della community: grazie alle migliaia di collaboratori e alle discussioni attive su GitHub e Discord, trovare soluzioni a casi limite è più veloce con Ultralytics .
Esempio di codice: Formazione con Ultralytics
L'addestramento di un YOLO con Ultralytics standardizzato in tutte le versioni. È possibile passare da YOLOv5 a YOLO11 e al modello consigliato YOLO26 semplicemente cambiando il nome del modello.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model
model = YOLO("yolov5s.pt")
# Train the model on a custom dataset
# The API handles data downloading and configuration automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a new image
predictions = model("path/to/image.jpg")
Il futuro: perché trasferirsi a YOLO26?
Sebbene il confronto YOLOv5 YOLOv7 utile per comprendere i sistemi legacy, lo stato dell'arte ha fatto passi da gigante. Rilasciato nel gennaio 2026, Ultralytics rappresenta un cambiamento paradigmatico nel rilevamento degli oggetti.
- End-to-end nativo: a differenza di YOLOv5 YOLOv7, che richiedono una post-elaborazione con soppressione non massima (NMS), YOLO26 è nativamente NMS. Ciò semplifica le pipeline di implementazione e riduce la variabilità della latenza.
- Ottimizzatore MuSGD: sfruttando le innovazioni derivanti dalla formazione LLM, l'ottimizzatore MuSGD garantisce una convergenza più stabile e prestazioni robuste su diversi set di dati.
- Velocità potenziata: YOLO26 offre CPU fino al 43% più veloce rispetto alle generazioni precedenti, rendendolo la scelta ideale per le moderne applicazioni di IA edge.
- Versatilità: supporta nativamente Oriented Bounding Box (OBB), Pose Estimation e Segmentation con funzioni di perdita specializzate come ProgLoss e STAL per un migliore rilevamento di oggetti di piccole dimensioni.
Conclusione
Sia YOLOv5 YOLOv7 un posto nella storia della visione artificiale. YOLOv7 è un potente strumento di ricerca per massimizzare mAP specifici GPU . Tuttavia, YOLOv5 rimane la scelta pratica per molti grazie alla sua impareggiabile facilità d'uso, stabilità e ampio supporto di implementazione.
Per i progetti orientati al futuro, la raccomandazione è chiara: adottare Ultralytics . Combina l'ecosistema intuitivo di YOLOv5 innovazioni architetturali che superano entrambi i predecessori in termini di velocità, precisione e semplicità.
Visita Ultralytics Hub per approfondire la conoscenza di queste architetture e scaricare i pesi pre-addestrati per il tuo prossimo progetto.