Ultralytics YOLO27:
Get Started

YOLOv5 vs YOLO11#

Quando scegli l'architettura di visione artificiale più adatta a un nuovo progetto, è fondamentale comprendere l'evoluzione dei modelli all'avanguardia. Il passaggio dalle architetture precedenti ai framework unificati moderni evidenzia notevoli progressi sia nell'efficienza algoritmica sia nell'esperienza degli sviluppatori. Questa guida propone un confronto tecnico approfondito tra due modelli di riferimento sviluppati da Ultralytics: il pionieristico YOLOv5 e il perfezionato YOLO11.

Introduzione ai modelli#

Entrambe le architetture rappresentano tappe importanti nel campo del rilevamento degli oggetti in tempo reale e offrono vantaggi distinti a seconda dell'ambiente di deployment e dei requisiti legacy.

YOLOv5: il cavallo di battaglia del settore#

Rilasciato nell'estate del 2020, YOLOv5 è diventato rapidamente uno standard del settore grazie alla sua implementazione nativa in PyTorch, che ha abbassato notevolmente la soglia di accesso all'addestramento e al deployment. Ha abbandonato i complessi framework C Darknet dei predecessori, adottando un approccio alla creazione dei modelli in stile Python.

YOLOv5 ha stabilito una solida base in termini di facilità d'uso e ha introdotto metodologie di addestramento efficaci, tra cui l'aumento avanzato dei dati tramite mosaico e l'auto-anchoring. Rimane molto popolare tra i ricercatori che sviluppano a partire da una base di codice ben documentata e ampiamente collaudata.

YOLO11: il framework unificato per la visione artificiale#

Sviluppato sulla base di anni di feedback e ricerca architetturale, YOLO11 è stato introdotto come parte di un framework unificato in grado di gestire nativamente più attività di visione artificiale. Progettato fin dall'inizio per offrire la massima versatilità ed efficienza, va oltre i semplici riquadri di delimitazione.

YOLO11 offre un'esperienza d'uso semplificata tramite il pacchetto Python ultralytics, con un'API semplice che unifica il rilevamento degli oggetti, la segmentazione di istanze, la classificazione, la stima della posa e i riquadri di delimitazione orientati (OBB). Offre un ottimo compromesso tra velocità e accuratezza, risultando ideale per diversi scenari di deployment nel mondo reale.

Piattaforma integrata

Entrambi i modelli beneficiano dell'ecosistema ben mantenuto offerto dalla piattaforma Ultralytics. Questo ambiente integrato semplifica l'annotazione dei dataset, l'addestramento nel cloud e l'esportazione dei modelli per diverse piattaforme hardware.

Confronto delle prestazioni e delle metriche#

Il confronto diretto tra questi modelli mostra come i perfezionamenti architetturali si traducano in miglioramenti prestazionali concreti. La tabella seguente mostra la precisione media (mAP) misurata sul dataset COCO, insieme alla velocità di inferenza su CPU e GPU e al numero di parametri.

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
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.6
YOLO11m64051.5183.24.720.168.1
YOLO11l64053.4238.66.225.387.2
YOLO11x64054.7462.811.356.9195.3

Analisi dei risultati#

Le metriche evidenziano il netto miglioramento dell'equilibrio delle prestazioni ottenuto da YOLO11. Per esempio, il modello YOLO11n (nano) raggiunge il 39.5% di mAP, rispetto al 28.0% di YOLOv5n: un guadagno di 11.5 punti con appena 0.7M di parametri aggiuntivi. Inoltre, durante l'addestramento YOLO11 richiede molta meno memoria rispetto ai modelli basati pesantemente su Transformer, risultando facilmente accessibile per il deployment su hardware consumer e dispositivi edge.

Differenze architetturali#

I miglioramenti prestazionali di YOLO11 derivano da diverse importanti evoluzioni architetturali. Mentre YOLOv5 utilizzava un backbone CSPNet standard con moduli C3, i modelli Ultralytics più recenti hanno introdotto blocchi di estrazione delle feature più efficienti, come C2f (YOLOv8) e C3k2 (YOLO11), che ottimizzano il flusso del gradiente e riducono il carico computazionale.

YOLO11 dispone inoltre di una testa notevolmente perfezionata. Abbandonando il design basato su anchor dei modelli precedenti, le architetture Ultralytics più recenti adottano un approccio anchor-free. Questo riduce il numero di previsioni dei riquadri, semplifica la pipeline di post-elaborazione e migliora la capacità del modello di generalizzare a scale e rapporti d'aspetto diversi. Questi modelli offrono inoltre una maggiore efficienza di addestramento e pesi preaddestrati facilmente disponibili, che accelerano la convergenza dei dataset sottoposti a fine-tuning.

Implementazione ed esempi di codice#

Uno dei punti di forza dell'ecosistema Ultralytics è la sua semplicità. Mentre YOLOv5 ha reso popolare l'uso di torch.hub per l'inferenza rapida, YOLO11 fa un ulteriore passo avanti con il pacchetto Python unificato ultralytics.

Addestramento con YOLO11#

Per caricare, addestrare e convalidare un modello bastano poche righe di codice boilerplate. L'API gestisce senza problemi la regolazione degli iperparametri e la gestione dei modelli.

from ultralytics import YOLO

# Carica un modello YOLO11 preaddestrato
model = YOLO("yolo11s.pt")

# Addestra su un dataset personalizzato per 50 epoche
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

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

# Esporta facilmente il modello in TensorRT per l'accelerazione hardware
model.export(format="engine")

Inferenza legacy con YOLOv5#

Se mantieni una pipeline meno recente, YOLOv5 si integra direttamente con il meccanismo di caricamento nativo di PyTorch, perciò inserirlo negli script di inferenza esistenti è semplicissimo.

import torch

# Carica da PyTorch Hub un modello YOLOv5 personalizzato o preaddestrato
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Esegui l'inferenza su un URL di un'immagine
results = model("https://ultralytics.com/images/zidane.jpg")

# Stampa i dettagli delle previsioni nella console
results.print()
Flessibilità di distribuzione

Entrambi i modelli supportano un'ampia gamma di formati di esportazione. Che tu debba eseguire il deployment su un NVIDIA Jetson usando TensorRT o su un'applicazione iOS con CoreML, il processo di deployment è documentato in modo completo e supportato dalla community.

Casi d'uso ideali#

La scelta tra questi modelli dipende soprattutto dalla fase del ciclo di vita del tuo progetto e dai requisiti specifici.

Quando scegliere YOLOv5#

  • Manutenzione di basi di codice legacy: se il tuo ambiente di produzione è fortemente personalizzato in base alla struttura del repository YOLOv5 o a specifiche tecniche di evoluzione degli iperparametri.
  • Baseline accademiche: quando pubblichi ricerche che richiedono un confronto diretto con gli standard consolidati della visione artificiale del periodo 2020-2022.

Quando scegliere YOLO11#

  • Progetti multi-task: quando la tua applicazione richiede una combinazione di attività, come la stima della posa e la segmentazione di istanze, tramite un'unica API unificata.
  • Deployment edge: per gli scenari di edge computing in cui è fondamentale ottenere il massimo mAP con un determinato budget computazionale (FLOPs).
  • Soluzioni AI commerciali: ideali per applicazioni aziendali nei settori retail e sicurezza, grazie al solido supporto della piattaforma Ultralytics.

La nuova generazione: Ultralytics YOLO26#

Sebbene YOLO11 offra un ottimo equilibrio tra velocità e accuratezza, il campo dell'intelligenza artificiale evolve rapidamente. Agli sviluppatori che iniziano oggi nuovi progetti consigliamo vivamente di valutare il più recente standard di AI visiva: Ultralytics YOLO26.

Rilasciato a gennaio 2026, YOLO26 introduce innovazioni che cambiano radicalmente il paradigma e sono progettate appositamente per le esigenze di deployment moderne:

  • Design end-to-end senza NMS: riprendendo concetti introdotti per la prima volta in YOLOv10, YOLO26 è nativamente end-to-end. La testa opzionale one-to-one (nms=False) elimina la necessità della post-elaborazione tramite soppressione dei non massimi (NMS), semplificando notevolmente le pipeline di deployment e riducendo la latenza.
  • Ottimizzatore MuSGD: ispirato alle innovazioni nell'addestramento degli LLM, adottate da modelli come Kimi K2 di Moonshot AI, questo ibrido di SGD e Muon garantisce un addestramento estremamente stabile e una convergenza molto più rapida.
  • Velocità CPU senza precedenti: rimuovendo la loss focale di distribuzione (DFL), YOLO26 raggiunge un'inferenza su CPU fino al 43% più veloce, rivelandosi la scelta migliore per dispositivi edge e ambienti senza GPU dedicate.
  • Funzioni di loss avanzate: l'integrazione di ProgLoss e STAL migliora in modo significativo il riconoscimento degli oggetti piccoli, fondamentale per l'analisi con droni, l'IoT e la robotica.
  • Miglioramenti specifici per attività: introduce ottimizzazioni specializzate, come la stima residua della verosimiglianza logaritmica (RLE) per la posa e una loss angolare dedicata ai riquadri di delimitazione orientati, garantendo prestazioni superiori in tutte le attività di visione artificiale.

Se ti interessano architetture specializzate oltre al rilevamento standard degli oggetti, puoi valutare anche modelli come RT-DETR per il rilevamento basato su Transformer o YOLO-World per il tracking e il rilevamento a vocabolario aperto. Scegliendo questi strumenti ottimizzati e ben mantenuti, le tue pipeline di visione artificiale resteranno efficienti, scalabili e all'avanguardia.

Commenti