Ultralytics YOLO27:
Get Started

YOLOv8 vs YOLOv5#

Scegliere l'architettura di visione artificiale giusta è un passaggio fondamentale per creare pipeline di machine learning robuste. In questo confronto tecnico dettagliato, analizziamo le differenze tra due dei modelli più diffusi nell'ecosistema dell'IA visiva: YOLOv8 e YOLOv5. Entrambi i modelli sono stati sviluppati da Ultralytics e hanno contribuito in modo significativo a plasmare il panorama del rilevamento degli oggetti in tempo reale, definendo standard di settore in termini di velocità, accuratezza e facilità d'uso.

Che tu debba distribuire i modelli su dispositivi edge o scalare l'inferenza nel cloud, comprendere i cambiamenti architetturali, le metriche di prestazione e le metodologie di training ti aiuterà a prendere una decisione informata per i tuoi progetti di visione artificiale.

Ultralytics YOLOv8: lo standard versatile#

Rilasciato all'inizio del 2023, YOLOv8 ha rappresentato un importante cambiamento architetturale rispetto ai suoi predecessori. È stato progettato da zero come framework unificato in grado di gestire nativamente più attività di visione, tra cui la segmentazione di istanze, la classificazione di immagini e la stima della posa.

Architettura e metodologie#

YOLOv8 ha introdotto una testa di rilevamento senza anchor, che semplifica il processo di training eliminando la necessità di configurare manualmente le anchor box in base alla distribuzione del dataset. Questo rende il modello più robusto nella generalizzazione a dataset personalizzati e riduce il numero di box predette, accelerando la soppressione dei massimi non locali (NMS).

L'architettura include un modulo C2f (collo di bottiglia Cross-Stage Partial con due convoluzioni), che sostituisce il modulo C3 presente in YOLOv5. Il modulo C2f migliora il flusso del gradiente e consente al modello di apprendere rappresentazioni delle caratteristiche più ricche senza un aumento significativo del costo computazionale. Inoltre, YOLOv8 utilizza una struttura a testa disaccoppiata, che separa le attività di classificazione e regressione; questa struttura ha dimostrato di migliorare la velocità di convergenza e l'accuratezza.

Efficienza della memoria

I modelli Ultralytics YOLO, incluso YOLOv8, sono ottimizzati per ridurre l'uso della memoria CUDA durante il training rispetto a molte alternative basate su Transformer come RT-DETR. Questo permette agli sviluppatori di usare batch di dimensioni maggiori su GPU consumer standard, come quelle della serie NVIDIA RTX.

Punti di forza e debolezze#

Punti di forza:

  • Versatilità senza pari per più attività, oltre al semplice rilevamento delle bounding box.
  • API Python semplificata tramite il pacchetto ultralytics, che rende il training e l'esportazione estremamente intuitivi.
  • Precisione media (mAP) più elevata in tutte le varianti di dimensioni rispetto a YOLOv5.

Punti deboli:

  • Rispetto alle varianti YOLOv5 equivalenti, la testa disaccoppiata e il modulo C2f aumentano il numero di parametri e i FLOPs nelle varianti più piccole.

Ultralytics YOLOv5: il pioniere agile#

Introdotto nel 2020, YOLOv5 ha portato YOLO nell'ecosistema PyTorch, migliorando drasticamente l'accessibilità per gli sviluppatori. È diventato rapidamente lo standard di settore per i modelli di rilevamento degli oggetti veloci, affidabili e facili da distribuire.

Architettura e metodologie#

YOLOv5 si basa su un'architettura con anchor e utilizza un backbone CSPDarknet53 modificato. Gli approcci con anchor richiedono un clustering accurato delle bounding box del dataset per definire le anchor ottimali prima del training, ma sono molto efficaci su dataset specifici e ben definiti.

YOLOv5 integra il modulo C3, che estrae le caratteristiche in modo efficiente mantenendo ridotto il numero di parametri. La sua funzione di loss si basa soprattutto sulla loss di objectness, combinata con le loss di classificazione e regressione delle bounding box, per guidare la rete verso predizioni accurate.

Punti di forza e debolezze#

Punti di forza:

  • Estremamente leggero: le varianti Nano (YOLOv5n) e Small (YOLOv5s) sono particolarmente adatte alle distribuzioni di IA edge con risorse limitate.
  • Velocità di inferenza eccezionalmente elevate, soprattutto sulle CPU.
  • Un ecosistema consolidato, con numerosi tutorial della community e integrazioni di terze parti.

Punti deboli:

  • Richiede la configurazione delle anchor box, che può complicare la configurazione con dataset molto eterogenei o personalizzati.
  • Accuratezza complessiva inferiore (mAP) rispetto alle moderne architetture senza anchor come YOLOv8 e YOLO26.

Confronto delle prestazioni#

Nella valutazione di questi modelli, è fondamentale ottenere un compromesso favorevole tra velocità e accuratezza. La tabella seguente riporta le metriche di prestazione di entrambe le architetture valutate sul dataset COCO. Le velocità su CPU sono state misurate con ONNX, mentre quelle su GPU sono state testate con TensorRT.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

YOLOv5 mantiene un vantaggio in termini di numero di parametri e velocità assoluta pura nella variante Nano, ma YOLOv8 offre un netto aumento della mAP in tutte le categorie, garantendo un equilibrio prestazionale molto migliore per gli scenari di distribuzione più impegnativi nel mondo reale.

Facilità d'uso ed ecosistema Ultralytics#

Una caratteristica distintiva dei moderni modelli Ultralytics è il loro ecosistema ben mantenuto. Il passaggio da YOLOv5 a YOLOv8 ha introdotto il pacchetto pip unificato ultralytics, offrendo un'esperienza utente molto più semplice.

Gli sviluppatori possono gestire senza problemi il training dei modelli, la convalida, le predizioni e l'esportazione con poche righe di codice Python, evitando gli script complessi e ripetitivi che storicamente erano necessari nei progetti di deep learning.

from ultralytics import YOLO

# Carica un modello YOLOv8 preaddestrato
model = YOLO("yolov8n.pt")

# Addestra il modello in modo efficiente su dati personalizzati
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

# Esporta il modello in ONNX per la distribuzione in produzione
path = model.export(format="onnx")

Inoltre, l'integrazione con strumenti come Ultralytics Platform semplifica la gestione dei dataset, il training nel cloud e la distribuzione, assicurando uno sviluppo attivo e un forte supporto della community.

Casi d'uso ideali#

Quando scegliere YOLOv5: Se gestisci sistemi legacy, esegui inferenza su CPU con risorse estremamente limitate, come un Raspberry Pi, o lavori a un progetto in cui è fondamentale risparmiare ogni frazione di megabyte nelle dimensioni del modello, YOLOv5 resta un affidabile cavallo da tiro.

Quando scegliere YOLOv8: Per quasi tutti i nuovi progetti avviati oggi, YOLOv8 è altamente raccomandato rispetto a YOLOv5. La sua architettura avanzata gestisce facilmente il tracking complesso, le bounding box orientate (OBB) e la segmentazione. È ideale per le applicazioni moderne, dalla robotica autonoma all'analisi di immagini mediche e alle infrastrutture delle smart city.

Cerchi le ultime novità allo stato dell'arte?

YOLOv8 è estremamente capace, ma gli sviluppatori che cercano il massimo delle prestazioni dovrebbero prendere in considerazione YOLO26. Rilasciato nel 2026, introduce diversi importanti progressi:

  • Architettura end-to-end senza NMS: una testa opzionale one-to-one (nms=False) elimina la post-elaborazione NMS per una distribuzione più veloce e semplice, un concetto introdotto per la prima volta da YOLOv10.
  • Ottimizzatore MuSGD: un ibrido di SGD e Muon che porta le innovazioni del training degli LLM nella visione artificiale, consentendo un training più stabile e una convergenza più rapida.
  • Inferenza su CPU fino al 43% più veloce: ottimizzato per gli ambienti di edge computing senza GPU dedicate.
  • Rimozione di DFL: la Distribution Focal Loss è stata rimossa per semplificare l'esportazione e migliorare la compatibilità con i dispositivi edge.
  • ProgLoss + STAL: Progressive Loss e Small-Target-Aware Label Assignment migliorano notevolmente il riconoscimento degli oggetti piccoli, fondamentale per le immagini aeree e l'IoT.

Sfruttando la documentazione completa e gli strumenti forniti da Ultralytics, puoi distribuire facilmente YOLOv8 o esplorare YOLO26 all'avanguardia per risolvere sfide visive complesse con velocità e accuratezza senza precedenti. Per approfondire, consulta le nostre guide sull'ottimizzazione degli iperparametri e sulle pratiche di distribuzione dei modelli.

Commenti