YOLOv7 vs YOLOv5: un confronto tecnico dettagliato
La scelta della giusta architettura di rilevamento degli oggetti è una decisione cruciale che influisce sulla velocità, sulla precisione e sulla fattibilità di implementazione dei progetti di computer vision. Questa pagina fornisce un confronto tecnico completo tra YOLOv7 e Ultralytics YOLOv5due modelli influenti della linea YOLO . Approfondiamo le loro innovazioni architettoniche, i benchmark delle prestazioni e i casi d'uso ideali per aiutarvi a scegliere il modello più adatto alla vostra applicazione.
Mentre YOLOv7 ha introdotto significativi progressi accademici nel 2022, Ultralytics YOLOv5 rimane una forza dominante nel settore grazie alla sua impareggiabile facilità d'uso, robustezza e flessibilità di implementazione. Per coloro che sono alla ricerca delle prestazioni più avanzate, esploriamo anche il modo in cui questi modelli aprono la strada all'avanguardia Ultralytics YOLO11.
Confronto tra le metriche delle prestazioni
La tabella seguente evidenzia i compromessi di prestazioni tra le due architetture. Mentre YOLOv7 punta a una precisione media più elevata (mAP), YOLOv5 offre vantaggi evidenti nella velocità di inferenza e nel numero di parametri più basso per modelli di dimensioni specifiche.
| 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 |
YOLOv7: spingersi oltre i limiti della precisione
Rilasciato nel luglio 2022, YOLOv7 è stato progettato per stabilire un nuovo stato dell'arte per i rilevatori di oggetti in tempo reale. Si concentra fortemente sull'ottimizzazione dell'architettura per migliorare l'accuratezza senza aumentare significativamente il costo dell'inferenza.
Autori: Chien-Yao Wang, Alexey Bochkovskiy, and 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
Docsultralytics
Architettura e Innovazioni Chiave
YOLOv7 introduce diverse modifiche architettoniche complesse volte a migliorare l'apprendimento delle caratteristiche:
- E-ELAN (Extended Efficient Layer Aggregation Network): Una struttura dorsale avanzata che migliora la capacità di apprendimento della rete controllando i percorsi a gradiente più breve e più lungo. Ciò consente al modello di apprendere caratteristiche più diverse.
- Scala del modello per i modelli basati sulla concatenazione: A differenza della scalatura standard, YOLOv7 scala simultaneamente la profondità e la larghezza per le architetture basate sulla concatenazione, garantendo un utilizzo ottimale delle risorse.
- Bag-of-Freebies addestrabile: Include la convoluzione ri-parametrizzata pianificata (RepConv) e l'addestramento delle teste ausiliarie. Le teste ausiliarie generano etichette gerarchiche da grossolane a fini, che aiutano a guidare il processo di apprendimento durante l'addestramento, ma vengono rimosse durante l'inferenza per mantenere la velocità.
Che cos'è una "borsa degli omaggi"?
Il termine "Bag of Freebies" si riferisce a un insieme di metodi di addestramento e tecniche di incremento dei dati che migliorano l'accuratezza di un modello di rilevamento degli oggetti senza aumentare il costo di inferenza. In YOLOv7, questo include strategie sofisticate come l'assegnazione guidata delle etichette da parte del piombo da grossolano a fine.
Casi d'uso ideali per YOLOv7
Grazie alla sua attenzione per l'alta precisione, YOLOv7 è particolarmente adatto per:
- Ricerca accademica: Benchmarking con modelli SOTA dove ogni frazione di mAP è importante.
- Distribuzione di GPU di fascia alta: Applicazioni in cui è disponibile hardware potente (come NVIDIA A100s) per gestire le dimensioni dei modelli e i requisiti di memoria più elevati.
- Analisi statica: Scenari in cui la latenza in tempo reale è meno critica della precisione, come l'analisi di immagini satellitari ad alta risoluzione o di scansioni mediche.
Ultralytics YOLOv5: lo standard del settore
Ultralytics YOLOv5 è ampiamente considerato come uno dei modelli di rilevamento degli oggetti più pratici e facili da usare disponibili. Dal suo rilascio nel 2020, è diventato la spina dorsale di innumerevoli applicazioni commerciali grazie al suo equilibrio di velocità, precisione ed eccellenza ingegneristica.
Autori: Glenn Jocher
Organizzazione:Ultralytics
Data: 2020-06-26
GitHubyolov5
Docsyolov5
Architettura e vantaggi dell'ecosistema
YOLOv5 utilizza una dorsale CSP-Darknet53 con un collo PANet e una testa YOLOv3, ottimizzata per diversi obiettivi di distribuzione. Tuttavia, la sua vera forza risiede nell'ecosistemaUltralytics :
- Facilità d'uso: Conosciuto per la sua filosofia "installa ed esegui", YOLOv5 consente agli sviluppatori di iniziare la formazione su set di dati personalizzati in pochi minuti. L'API è intuitiva e la documentazione è esaustiva.
- Efficienza dell'addestramento: YOLOv5 richiede in genere meno memoria CUDA durante l'addestramento rispetto alle architetture più recenti e complesse, rendendolo accessibile agli sviluppatori con GPU di fascia media.
- Flessibilità di distribuzione: Supporta l'esportazione con un solo clic in ONNX, TensorRT, CoreML, TFLite e altro ancora, facilitando la distribuzione su qualsiasi supporto, dai server cloud ai telefoni cellulari.
- Ecosistema ben curato: Grazie ai frequenti aggiornamenti, alle correzioni di bug e a un'ampia comunità, Ultralytics garantisce che il modello rimanga stabile e sicuro per gli ambienti di produzione.
Casi d'uso ideali per YOLOv5
YOLOv5 eccelle in scenari reali che richiedono affidabilità e velocità:
- Edge AI: In esecuzione su dispositivi come il NVIDIA Jetson o Raspberry Pi grazie al leggero Nano (
yolov5n) e Piccolo (yolov5s) varianti. - Applicazioni mobili: Integrazione nelle applicazioni iOS e Android tramite CoreML e TFLite per l'inferenza sul dispositivo.
- Prototipazione rapida: Le startup e gli sviluppatori che hanno bisogno di passare rapidamente dall'idea all'MVP beneficiano di un flusso di lavoro semplificato.
- Automazione industriale: Rilevamento affidabile per le linee di produzione in cui latenza e stabilità sono fondamentali.
Analisi comparativa dettagliata
Nella scelta tra YOLOv7 e YOLOv5, oltre al punteggio mAP , entrano in gioco diversi fattori tecnici.
1. Trade-off velocità/accuratezza
YOLOv7 raggiunge un'accuratezza di picco più elevata sul set di datiCOCO . Ad esempio, YOLOv7x raggiunge il 53,1% mAP rispetto al 50,7% di YOLOv5x. Tuttavia, questo risultato ha un costo in termini di complessità. YOLOv5 offre un gradiente di modelli più omogeneo; il modello YOLOv5n (Nano) è incredibilmente veloce (73,6ms di velocità CPU ) e leggero (2,6M di parametri), creando una nicchia per gli ambienti a risorse ultra-basse che YOLOv7 non indirizza esplicitamente con la stessa granularità.
2. Architettura e complessità
YOLOv7 impiega un'architettura basata sulla concatenazione con E-ELAN, che aumenta la larghezza di banda della memoria richiesta durante l'addestramento. Questo può rendere l'addestramento più lento e più affamato di memoria rispetto a YOLOv5. Al contrario, Ultralytics YOLOv5 utilizza un'architettura semplificata e altamente ottimizzata per l'efficienza dell'addestramento, che consente una convergenza più rapida e un minore utilizzo della memoria, un vantaggio significativo per gli ingegneri con budget computazionali limitati.
3. Usabilità ed esperienza dello sviluppatore
È qui che Ultralytics YOLOv5 brilla veramente. Il framework Ultralytics offre un'esperienza unificata con strumenti robusti per l'aumento dei dati, l'evoluzione degli iperparametri e il monitoraggio degli esperimenti.
import torch
# Example: Loading YOLOv5s from PyTorch Hub for inference
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Print results
results.print()
Sebbene YOLOv7 disponga di un repository, non ha le pipeline CI/CD, pronte per la produzione, le ampie guide all'integrazione e il supporto della comunità che sostengono l'ecosistema Ultralytics .
4. Versatilità
Sebbene entrambi i modelli siano principalmente architetture di rilevamento degli oggetti, l'ecosistema Ultralytics che circonda YOLOv5 si è evoluto per supportare senza problemi la segmentazione delle istanze e la classificazione delle immagini. Anche YOLOv7 supporta questi compiti, ma spesso richiede diversi rami o fork del codice, mentre Ultralytics offre un approccio più unificato.
Distribuzione semplificata
I modelli Ultralytics supportano un'ampia gamma di formati di esportazione. È possibile convertire facilmente il modello addestrato in TFLite per Android, CoreML per iOS o TensorRT per l'inferenza ottimizzata GPU , utilizzando un semplice comando CLI o uno script Python .
Conclusione: Quale modello dovresti scegliere?
La scelta tra YOLOv7 e YOLOv5 dipende dalle priorità del progetto:
- Scegliete YOLOv7 se il vostro vincolo principale è la massima accuratezza e state operando in un ambiente di ricerca o su hardware di fascia alta, dove la velocità di inferenza e l'ingombro di memoria sono preoccupazioni secondarie.
- Scegliete Ultralytics YOLOv5 se avete bisogno di una soluzione affidabile e pronta per la produzione. La facilità d'uso, la formazione efficiente, la bassa latenza sui dispositivi edge e l'enorme ecosistema di supporto ne fanno la scelta migliore per la maggior parte delle applicazioni commerciali e degli sviluppatori che iniziano il loro percorso di computer vision.
Guardare al futuro: YOLO11
Sebbene YOLOv5 e YOLOv7 siano modelli eccellenti, il campo della computer vision si muove rapidamente. Agli sviluppatori che cercano il meglio di entrambi i mondi, superando l'accuratezza di YOLOv7 e la velocità/utilizzabilità di YOLOv5consigliamo vivamente di esplorare Ultralytics YOLO11.
YOLO11 rappresenta l'ultima evoluzione, con un'architettura priva di ancoraggi che semplifica la pipeline di addestramento e migliora le prestazioni in tutte le attività, tra cui rilevamento, segmentazione, stima della posa e bounding box orientati (OBB).
Esplora altri modelli
Se siete interessati a confrontare altri modelli della famiglia YOLO , consultate queste pagine correlate: