Ultralytics YOLO27:
Get Started

YOLOv5 vs YOLOv8#

Per creare applicazioni di visione artificiale scalabili ed efficienti, è fondamentale scegliere l'architettura giusta. L'evoluzione dell'ecosistema Ultralytics ha costantemente ampliato i limiti di velocità e accuratezza, offrendo agli sviluppatori strumenti affidabili per le implementazioni nel mondo reale. Questo confronto tecnico approfondisce le differenze tra YOLOv5 e YOLOv8, analizzandone le architetture, i compromessi in termini di prestazioni e i casi d'uso ideali per aiutarti a prendere una decisione consapevole per il tuo prossimo progetto di IA.

Entrambi questi modelli rappresentano traguardi importanti nella storia del rilevamento di oggetti in tempo reale e beneficiano dei requisiti di memoria altamente ottimizzati e della semplicità d'uso che caratterizzano l'ecosistema Ultralytics.

YOLOv5: lo standard industriale affidabile#

Presentato nel 2020, YOLOv5 è diventato rapidamente lo standard industriale per il rilevamento di oggetti veloce, accessibile e affidabile. Grazie a un'implementazione nativa in PyTorch, ha semplificato il ciclo di addestramento e implementazione per gli ingegneri di tutto il mondo.

Punti di forza architetturali#

YOLOv5 utilizza un paradigma di rilevamento basato su anchor, che si affida a riquadri di ancoraggio predefiniti per prevedere i confini degli oggetti. La sua architettura integra un backbone Cross-Stage Partial (CSP), che ottimizza il flusso dei gradienti e riduce le ridondanze computazionali. Il risultato è un ingombro in memoria estremamente ridotto, che permette di addestrare il modello con grande velocità anche su GPU consumer standard.

Casi d'uso ideali#

YOLOv5 è particolarmente consigliato per i progetti in cui sono essenziali la massima produttività e il minimo consumo di risorse. Eccelle negli ambienti di IA edge, ad esempio quando viene eseguito su Raspberry Pi o dispositivi mobili. Grazie alla sua maturità, è stato ampiamente collaudato in migliaia di implementazioni commerciali e offre una stabilità senza pari per i flussi di lavoro tradizionali di rilevamento di oggetti.

Vantaggi per le implementazioni legacy

Grazie alla sua ampia diffusione, YOLOv5 offre percorsi di esportazione estremamente stabili verso framework di implementazione legacy come TensorRT e ONNX, semplificando l'integrazione negli stack tecnologici meno recenti.

YOLOv8: il framework unificato per la visione artificiale#

Rilasciato a gennaio 2023, YOLOv8 ha segnato una svolta architetturale epocale, trasformandosi da rilevatore di oggetti specializzato a framework versatile per la visione artificiale multi-task.

Innovazioni architetturali#

A differenza del predecessore, YOLOv8 introduce una testa di rilevamento senza anchor. In questo modo non è più necessario regolare manualmente le configurazioni degli anchor in base alla distribuzione del dataset, migliorando la generalizzazione su diversi dataset personalizzati, come il noto dataset COCO.

L'architettura aggiorna inoltre il backbone con un modulo C2f (collo di bottiglia Cross-Stage Partial con due convoluzioni), che sostituisce il precedente modulo C3. Questo miglioramento potenzia la rappresentazione delle caratteristiche senza gravare eccessivamente sulla memoria. Inoltre, una testa disaccoppiata, che separa le attività di classificazione e regressione, migliora notevolmente la convergenza durante l'addestramento del modello.

Versatilità e API Python#

YOLOv8 ha introdotto la moderna API Python ultralytics, uniformando i flussi di lavoro per diverse attività di visione artificiale. Che tu stia eseguendo la segmentazione di immagini, la classificazione di immagini o la stima della posa, l'API unificata richiede solo modifiche minime alla configurazione.

from ultralytics import YOLO

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

# Addestra il modello su un dataset personalizzato sfruttando l'efficienza di memoria integrata
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Esegui l'inferenza e analizza facilmente i risultati
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()

Confronto dettagliato delle prestazioni#

Confrontando le due generazioni, emerge un compromesso classico: YOLOv8 raggiunge valori più elevati di precisione media (mAP) in tutte le fasce, mentre YOLOv5 mantiene un vantaggio in termini di velocità di inferenza assoluta e numero di parametri nelle varianti più piccole.

Di seguito trovi il confronto dettagliato delle metriche di prestazione sul dataset COCO con immagini da 640 pixel.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
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
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

I dati mostrano che YOLOv8 offre un notevole aumento dell'accuratezza. Per esempio, YOLOv8s raggiunge un mAP di 44,9, rispetto a YOLOv5s con 37,4 mAP: un enorme salto in avanti che migliora notevolmente le prestazioni in ambienti affollati o nel rilevamento di oggetti piccoli. Negli ambienti con vincoli estremi, tuttavia, YOLOv5n rimane molto efficiente, con il minor numero di parametri e di FLOP.

Requisiti di memoria

Rispetto ad architetture più pesanti come i modelli Transformer, entrambi i modelli sono altamente ottimizzati per ridurre il consumo di memoria CUDA durante l'addestramento. Questo permette di utilizzare batch più grandi su GPU standard, accelerando il ciclo di ricerca.

Il vantaggio dell'ecosistema#

Scegliendo YOLOv5 o YOLOv8, gli sviluppatori possono accedere alla piattaforma Ultralytics, mantenuta con cura. Questo ambiente integrato offre strumenti semplici per annotare i dataset, addestrare nel cloud e monitorare i modelli, mentre il pacchetto ultralytics include la regolazione degli iperparametri. Lo sviluppo attivo e il forte supporto della community aiutano gli sviluppatori a risolvere rapidamente i problemi e a integrare strumenti esterni come Weights & Biases e ClearML.

Mentre altri framework possono presentare una curva di apprendimento ripida, Ultralytics dà priorità a un'esperienza utente semplificata, garantendo un compromesso favorevole tra velocità e accuratezza per diversi scenari di implementazione nel mondo reale.

Oltre v8: alla scoperta di YOLO11 e YOLO26#

YOLOv8 è un framework molto efficace, ma il campo dell'intelligenza artificiale evolve rapidamente. Gli sviluppatori interessati a prestazioni all'avanguardia dovrebbero valutare anche YOLO11, che si basa su v8 e ne migliora precisione e velocità.

Per chi cerca il meglio assoluto della tecnologia di computer vision, consigliamo vivamente Ultralytics YOLO26. Rilasciato nel 2026, YOLO26 rappresenta un enorme passo avanti:

  • Design end-to-end senza NMS: Nato inizialmente in architetture sperimentali, l'head opzionale one-to-one di YOLO26 (nms=False) elimina la post-elaborazione con Non-Maximum Suppression, semplificando notevolmente e velocizzando le pipeline di deployment.
  • Ottimizzatore MuSGD: Ispirato alle innovazioni nell'addestramento degli LLM osservate in modelli come Kimi K2, YOLO26 utilizza un ottimizzatore ibrido per un addestramento più stabile e una convergenza rapida.
  • Eccellenza nell'edge computing: Con un'inferenza su CPU fino al 43% più veloce rispetto alle generazioni precedenti, è il modello ideale per i dispositivi privi di GPU dedicate.
  • Precisione migliorata: Utilizzando le nuove funzioni di loss ProgLoss + STAL, migliora notevolmente il riconoscimento degli oggetti piccoli, fondamentale per la robotica e le immagini aeree riprese dai droni.

Che tu debba mantenere un sistema legacy con YOLOv5, scalare un'applicazione versatile con YOLOv8 o innovare con le funzionalità all'avanguardia di YOLO26, la suite Ultralytics offre gli strumenti completi necessari per avere successo nell'AI per la computer vision moderna.

Commenti