Ultralytics YOLO27:

YOLOv5 vs YOLO11#

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

Introduzione ai modelli#

Entrambe queste architetture rappresentano importanti traguardi nel campo del rilevamento degli oggetti in tempo reale e offrono vantaggi distinti a seconda dell'ambiente di distribuzione e dei requisiti di compatibilità con i sistemi esistenti.

YOLOv5: il motore del settore#

Rilasciato nell'estate del 2020, YOLOv5 è diventato rapidamente uno standard del settore grazie alla sua implementazione nativa in PyTorch, che ha ridotto drasticamente la barriera di accesso all'addestramento e alla distribuzione. Si è allontanato dai complessi framework C Darknet dei suoi predecessori, offrendo un approccio Pythonic alla creazione dei modelli.

YOLOv5 ha stabilito un solido punto di riferimento per la facilità d'uso e ha introdotto potenti metodologie di addestramento, tra cui l'avanzata data augmentation a mosaico e l'auto-anchoring. Rimane estremamente popolare tra i ricercatori che sviluppano soluzioni basate su una codebase ben documentata e ampiamente testata.

YOLO11: il framework unificato per la computer vision#

Basato su anni di feedback e ricerca architetturale, YOLO11 è stato introdotto come parte di un framework unificato in grado di gestire nativamente molteplici attività di computer vision. Andando oltre i semplici riquadri di delimitazione, è stato progettato fin dall'inizio per offrire massima versatilità ed efficienza.

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

Piattaforma integrata

Entrambi i modelli traggono vantaggio dall'ecosistema ben mantenuto offerto dalla Ultralytics Platform. Questo ambiente integrato semplifica l'annotazione dei dataset, l'addestramento nel cloud e l'esportazione dei modelli su diverse destinazioni hardware.

Confronto di prestazioni e metriche#

Un confronto diretto tra questi modelli rivela come i perfezionamenti architetturali si traducano in guadagni prestazionali concreti. La tabella seguente mostra la precisione media (mAP) valutata sul dataset COCO, insieme alle 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.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9

Analisi dei risultati#

Le metriche evidenziano un chiaro miglioramento nel bilanciamento delle prestazioni raggiunto da YOLO11. Ad esempio, il modello YOLO11n (nano) raggiunge un mAP del 39,5% rispetto al 28,0% di YOLOv5n, riducendo contemporaneamente il tempo di inferenza su CPU quando viene esportato tramite ONNX. Inoltre, YOLO11 mantiene requisiti di memoria notevolmente inferiori durante l'addestramento rispetto ai pesanti modelli basati su Transformer, risultando quindi altamente accessibile per la distribuzione su hardware consumer e dispositivi edge.

Differenze architetturali#

I miglioramenti prestazionali di YOLO11 derivano da diverse evoluzioni architetturali fondamentali. Mentre YOLOv5 utilizzava un backbone CSPNet standard con moduli C3, YOLO11 ha introdotto blocchi di estrazione delle caratteristiche più efficienti, come C2f e successivamente C3k2, che ottimizzano il flusso dei gradienti e riducono il sovraccarico computazionale.

YOLO11 presenta anche una head ampiamente 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 predizioni dei riquadri, semplificando la pipeline di post-processing e migliorando la capacità del modello di generalizzare su scale e rapporti d'aspetto diversi. Inoltre, questi modelli offrono una maggiore efficienza di addestramento e pesi pre-addestrati prontamente disponibili, che accelerano la convergenza dei dataset sottoposti a fine-tuning.

Implementazione ed esempi di codice#

Una delle caratteristiche più distintive dell'ecosistema Ultralytics è la sua semplicità. Sebbene YOLOv5 abbia 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#

Il caricamento, l'addestramento e la validazione di un modello richiedono una quantità minima di codice boilerplate. L'API gestisce senza problemi l'ottimizzazione degli iperparametri e la gestione dei modelli.

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11s.pt")

# Train on a custom dataset for 50 epochs
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# Run fast inference and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()

# Easily export the model to TensorRT for hardware acceleration
model.export(format="engine")

Inferenza legacy con YOLOv5#

Se gestisci una pipeline precedente, YOLOv5 si integra direttamente con il meccanismo di caricamento nativo di PyTorch, rendendo semplicissimo inserirlo negli script di inferenza esistenti.

import torch

# Load a custom or pretrained YOLOv5 model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Perform inference on an image URL
results = model("https://ultralytics.com/images/zidane.jpg")

# Print prediction details to the console
results.print()
Flessibilità del deployment

Entrambi i modelli supportano numerosi formati di esportazione. Che tu stia lavorando su un NVIDIA Jetson utilizzando TensorRT o su un'applicazione iOS con CoreML, il processo di distribuzione è documentato e supportato dalla community in modo completo.

Casi d'uso ideali#

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

Quando scegliere YOLOv5#

  • Mantenimento di codebase legacy: se il tuo ambiente di produzione è fortemente personalizzato sulla struttura del repository YOLOv5 o su specifiche tecniche di evoluzione degli iperparametri.
  • Baseline accademiche: quando pubblichi una ricerca che richiede un benchmarking diretto rispetto a standard di computer vision consolidati 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 delle istanze, utilizzando un'unica API unificata.
  • Distribuzioni edge: per scenari di edge computing in cui è fondamentale ottenere il mAP massimo possibile con un determinato budget computazionale (FLOPs).
  • Soluzioni commerciali di IA: ideali per applicazioni aziendali nel settore della vendita al dettaglio e della sicurezza, sfruttando il solido supporto della Ultralytics Platform.

La prossima generazione: Ultralytics YOLO26#

Sebbene YOLO11 rappresenti un fantastico equilibrio tra velocità e accuratezza, il campo dell'intelligenza artificiale evolve rapidamente. Per gli sviluppatori che oggi iniziano nuovi progetti, consigliamo vivamente di esplorare il più recente standard per la computer vision basata sull'IA: Ultralytics YOLO26.

Rilasciato a gennaio 2026, YOLO26 introduce innovazioni rivoluzionarie progettate specificamente per le moderne esigenze di distribuzione:

  • Design end-to-end senza NMS: basato su concetti introdotti per la prima volta in YOLOv10, YOLO26 è nativamente end-to-end. Elimina la necessità del post-processing di soppressione non massima (NMS), semplificando notevolmente le pipeline di distribuzione e riducendo la latenza.
  • Ottimizzatore MuSGD: ispirato alle innovazioni nell'addestramento degli LLM di modelli come Kimi K2 di Moonshot AI, questo ibrido di SGD e Muon garantisce un addestramento estremamente stabile e una convergenza significativamente più rapida.
  • Velocità senza precedenti su CPU: rimuovendo la Distribution Focal Loss (DFL), YOLO26 raggiunge un'inferenza su CPU fino al 43% più veloce, risultando la scelta migliore in assoluto per i dispositivi edge e gli ambienti privi di GPU dedicate.
  • Funzioni di perdita avanzate: l'integrazione di ProgLoss e STAL produce miglioramenti significativi nel riconoscimento degli oggetti piccoli, un aspetto fondamentale per l'analisi tramite droni, l'IoT e la robotica.
  • Miglioramenti specifici per attività: introduce ottimizzazioni specializzate, come la stima della log-verosimiglianza residua (RLE) per la posa e una loss angolare specializzata per i riquadri di delimitazione orientati, garantendo prestazioni superiori in tutte le attività di computer vision.

Per gli utenti interessati ad architetture specializzate oltre il rilevamento standard degli oggetti, puoi anche esplorare modelli come RT-DETR per il rilevamento basato su Transformer o YOLO-World per il tracking e il rilevamento con vocabolario aperto. L'adozione di questi strumenti ben mantenuti e altamente ottimizzati garantisce che le tue pipeline di computer vision rimangano efficienti, scalabili e all'avanguardia.

Commenti