YOLOv8 . YOLOv5: un confronto tecnico completo
Nel panorama in rapida evoluzione della visione artificiale, la scelta del modello di rilevamento degli oggetti più adeguato è fondamentale per il successo di un progetto. Due delle pietre miliari più significative in questa storia sono YOLOv5 e YOLOv8, entrambi sviluppati da Ultralytics. Mentre YOLOv5 lo standard di settore in termini di facilità d'uso e affidabilità al momento del suo rilascio, YOLOv8 innovazioni architetturali che hanno ridefinito le prestazioni all'avanguardia (SOTA).
Questa guida fornisce un'analisi tecnica approfondita di entrambe le architetture, confrontandone le metriche di prestazione, le metodologie di formazione e i casi d'uso ideali per aiutare gli sviluppatori a prendere decisioni informate.
Ultralytics YOLOv8: Lo Standard Moderno
Pubblicato nel gennaio 2023, YOLOv8 rappresenta un importante passo avanti nel YOLO . Si basa sul successo delle versioni precedenti e introduce un framework unificato per il rilevamento di oggetti, la segmentazione di istanze e la stima della posa.
Innovazioni Architetturali Chiave
YOLOv8 dal design basato su anchor dei suoi predecessori, adottando un meccanismo di rilevamento senza anchor. Questo cambiamento semplifica la complessità del modello prevedendo direttamente i centri degli oggetti, riducendo il numero di previsioni dei riquadri e accelerando la soppressione non massima (NMS).
- Modulo C2f: la struttura principale utilizza un nuovo modulo C2f, che sostituisce il modulo C3 presente in YOLOv5. Questo nuovo design migliora il flusso del gradiente e consente al modello di acquisire rappresentazioni delle caratteristiche più ricche senza aumentare in modo significativo il costo computazionale.
- Testa disaccoppiata: a differenza della testa accoppiata delle versioni precedenti, YOLOv8 i compiti di classificazione e regressione in rami indipendenti. Questa separazione consente di ottimizzare individualmente ciascun compito, ottenendo tassi di convergenza più elevati e una maggiore precisione.
- Aumento mosaico: sebbene entrambi i modelli utilizzino l'aumento mosaico, YOLOv8 lo disattiva YOLOv8 durante le ultime epoche di addestramento per migliorare la precisione.
Prestazioni e Versatilità
YOLOv8 progettato per essere versatile. Supporta nativamente un'ampia gamma di attività che vanno oltre il semplice rilevamento dei riquadri di delimitazione, rendendolo una scelta affidabile per applicazioni complesse come i veicoli autonomi e l'analisi intelligente delle vendite al dettaglio.
YOLOv8 :
Autori: Glenn Jocher, Ayush Chaurasia e Jing Qiu
Organizzazione:Ultralytics
Data: 10/01/2023
GitHub:ultralytics
Documentazione:YOLOv8
Ultralytics YOLOv5: Il cavallo di battaglia affidabile
Dal suo rilascio nel giugno 2020, YOLOv5 è stato il modello di riferimento per gli sviluppatori di tutto il mondo grazie alla sua stabilità senza pari e alla semplicità della sua PyTorch . Ha democratizzato l'accesso alla potente visione artificiale, rendendo facile l'addestramento dei modelli su set di dati personalizzati con una configurazione minima.
Architettura e eredità
YOLOv5 una struttura CSPDarknet e una testa di rilevamento basata su anchor. Il suo focus layer (successivamente sostituito da una convoluzione 6x6) era efficiente nel downsampling delle immagini preservandone le informazioni.
- Facilità d'uso: YOLOv5 leggendario per la sua esperienza "pronta all'uso". La struttura del repository è intuitiva e si integra perfettamente con strumenti MLOps come Comet e ClearML.
- Ampio supporto di implementazione: grazie alla sua maggiore longevità, YOLOv5 un ampio supporto praticamente su ogni target di implementazione, dai processori mobili tramite TFLite ai dispositivi edge come NVIDIA .
YOLOv5 :
Autori: Glenn Jocher
Organizzazione:Ultralytics
Data: 26/06/2020
GitHub:yolov5
Documentazione:YOLOv5
Confronto delle prestazioni
Confrontando i due modelli, YOLOv8 supera YOLOv8 YOLOv5 sia YOLOv5 precisione (mAP) che YOLOv5 velocità di inferenza, in particolare sui moderni GPU . La tabella seguente illustra le differenze di prestazioni sul COCO .
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
Analisi delle metriche
- Precisione: YOLOv8 un vantaggio significativo nella precisione media (mAP). Ad esempio, la variante Nano (n) di YOLOv8 mAP superiore di quasi il 10% mAP YOLOv5n, rendendola di gran lunga superiore per le applicazioni in cui è fondamentale un'elevata precisione su modelli di piccole dimensioni.
- Velocità: mentre YOLOv5 leggermente più veloce in alcuni CPU grazie a FLOP inferiori, YOLOv8 un miglior equilibrio delle prestazioni. Il compromesso è spesso trascurabile rispetto ai guadagni in termini di precisione, e YOLOv8 altamente ottimizzato per GPU utilizzando TensorRT.
- Dimensioni del modello: YOLOv8 sono generalmente compatti, ma integrano un numero maggiore di parametri nelle architetture Nano e Small per potenziare la capacità di apprendimento.
Metodologie di training ed ecosistema
Entrambi i modelli beneficiano del robusto Ultralytics , ma il flusso di lavoro si è evoluto in modo significativo con YOLOv8.
Efficienza dell'addestramento
Ultralytics sono rinomati per la loro efficienza di addestramento. Richiedono CUDA significativamente inferiore rispetto alle architetture basate su trasformatori come RT-DETR, consentendo agli utenti di addestrare batch più grandi su GPU consumer standard.
- YOLOv5 utilizza una struttura di repository autonoma in cui la formazione viene avviata tramite script come
train.py. - YOLOv8 ha introdotto il
ultralyticsPython . Questa CLI unificata CLI Python semplificano il passaggio da un'attività all'altra e l'esportazione dei modelli.
Formazione semplificata con Ultralytics
Il ultralytics Il pacchetto semplifica il processo di addestramento per YOLOv8 modelli più recenti come YOLO26. È possibile caricare un modello, addestrarlo e convalidarlo con sole tre righe di codice.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train on a custom dataset with efficient memory usage
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Ultralytics
Gli utenti di entrambi i modelli possono sfruttare la Ultralytics (precedentemente HUB). Questo strumento basato sul web semplifica la gestione dei set di dati, l'etichettatura e la visualizzazione della formazione. Supporta l'esportazione dei modelli con un solo clic in formati come ONNX e OpenVINO, ottimizzando il percorso dal prototipo alla produzione.
Casi d'uso ideali
Quando scegliere YOLOv8
YOLOv8 la scelta preferita per la maggior parte dei nuovi progetti nel 2026 che non richiedono le ottimizzazioni specifiche del nuovo YOLO26.
- Applicazioni multi-task: se il tuo progetto prevede il rilevamento OBB per immagini aeree o la stima della posa per l'analisi sportiva, YOLOv8 queste funzionalità in modo nativo.
- Requisiti di elevata precisione: per attività critiche per la sicurezza come il rilevamento dei difetti, l'eccellente mAP YOLOv8 un minor numero di falsi negativi.
Quando scegliere YOLOv5
- Sistemi legacy: i progetti profondamente integrati con la struttura specifica YOLOv5 potrebbero trovare più facile continuare la manutenzione piuttosto che migrare.
- Limiti estremi: su hardware con risorse estremamente limitate, dove ogni millisecondo di CPU è fondamentale, il FLOP leggermente inferiore di YOLOv5n potrebbe offrire un vantaggio marginale, anche se i modelli più recenti come YOLO26 ora colmano efficacemente questo divario.
Guardando al futuro: il futuro è YOLO26
Sebbene YOLOv8 YOLOv5 strumenti eccellenti, il campo della visione artificiale è in rapida evoluzione. Agli sviluppatori che oggi intraprendono nuovi progetti, consigliamo vivamente di prendere in considerazione Ultralytics .
Perché passare a YOLO26? YOLO26 si basa sui punti di forza dei modelli precedenti, ma introduce un design nativo end-to-end NMS, eliminando la necessità di post-elaborazione e semplificando notevolmente l'implementazione.
- CPU più veloce del 43%: ottimizzata specificamente per i dispositivi edge, rendendola più veloce sia di YOLOv5 di YOLOv8 CPU.
- MuSGD Optimizer: un ottimizzatore ibrido ispirato all'addestramento LLM per una convergenza stabile e veloce.
- Maggiore precisione: le funzioni di perdita migliorate (ProgLoss + STAL) garantiscono un rilevamento più accurato dei piccoli oggetti.
Conclusione
Entrambi YOLOv8 e YOLOv5 testimoniano l'impegno Ultralytics nel fornire un'intelligenza artificiale accessibile e ad alte prestazioni. YOLOv5 un'opzione affidabile e ampiamente supportata, in particolare per le implementazioni legacy. Tuttavia, YOLOv8 un equilibrio prestazionale superiore, un'architettura moderna e un supporto più ampio per le attività, rendendolo la scelta migliore per la maggior parte delle applicazioni standard.
Per chi è alla ricerca del massimo in termini di velocità e precisione, in particolare per l'implementazione mobile e edge, il nuovo YOLO26 stabilisce un nuovo punto di riferimento. Indipendentemente dalla vostra scelta, l'ampia Ultralytics e la community attiva vi garantiscono tutte le risorse necessarie per avere successo.
Per approfondire l'argomento, ti consigliamo di leggere altri modelli specializzati come YOLO11 o YOLOv10.