Vai al contenuto

YOLO11 vs YOLOv5: Evoluzione del rilevamento di oggetti all'avanguardia

L'evoluzione dell'object detection in tempo reale è stata significativamente plasmata dalla serie Ultralytics YOLO. YOLOv5, rilasciato nel 2020, ha stabilito uno standard globale per facilità d'uso, velocità e affidabilità, diventando uno dei modelli di visione artificiale più implementati nella storia. YOLO11, l'ultima iterazione, si basa su questa base leggendaria per offrire accuratezza, efficienza e versatilità senza precedenti.

Questa guida fornisce un confronto tecnico dettagliato tra questi due colossi, aiutando sviluppatori e ricercatori a comprendere i cambiamenti architetturali, i guadagni di performance e i casi d'uso ideali per ciascuno.

Analisi delle prestazioni

Il divario di prestazioni tra YOLO11 e YOLOv5 evidenzia i rapidi progressi nella progettazione di reti neurali. Sebbene YOLOv5 rimanga un modello valido, YOLO11 lo supera costantemente in tutte le scale del modello, in particolare in termini di velocità di inferenza della CPU e accuratezza della detection.

Principali Metriche di Performance

La tabella seguente presenta un confronto diretto sul dataset COCO. Un'osservazione fondamentale è l'efficienza di YOLO11n, che raggiunge un 39,5 mAP, superando significativamente il 28,0 mAP di YOLOv5n, pur funzionando più velocemente su hardware CPU.

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

Accuratezza vs. Efficienza

YOLO11 rappresenta un cambio di paradigma nel compromesso "efficienza vs. accuratezza".

  • Rilevamento di oggetti piccoli: YOLO11 migliora significativamente la detect di oggetti piccoli rispetto a YOLOv5, grazie ai suoi livelli di estrazione delle caratteristiche perfezionati.
  • Efficienza di calcolo: YOLO11l raggiunge 53.4 mAP con soli 25.3M di parametri. Al contrario, YOLOv5l richiede 53.2M di parametri per raggiungere un mAP inferiore di 49.0. Questa riduzione del 50% dei parametri per una maggiore accuratezza si traduce in un minore utilizzo della memoria e in tempi di addestramento più rapidi.

Anchor-Free vs Anchor-Based

Una delle differenze tecniche più significative è il meccanismo dell'head di detection. YOLOv5 utilizza un approccio basato su anchor, che richiede anchor box predefiniti che devono essere ottimizzati per specifici set di dati per ottenere prestazioni ottimali.

YOLO11 utilizza un design anchor-free. Ciò elimina la necessità di calcolare manualmente le anchor box, semplifica la pipeline di training e migliora la generalizzazione su diversi set di dati senza la necessità di ottimizzare gli iperparametri.

Architettura e design del modello

Le differenze architetturali tra questi due modelli riflettono la progressione della ricerca sulla computer vision nel corso di diversi anni.

YOLOv5: Lo standard collaudato

YOLOv5 ha introdotto un'implementazione user-friendly in PyTorch che ha reso l'object detection accessibile alle masse.

  • Backbone: Utilizza una CSPDarknet53 modificata, che è altamente efficace ma computazionalmente più pesante delle alternative moderne.
  • Focus: Ha dato la priorità a un equilibrio tra velocità e precisione che è stato rivoluzionario al momento del suo rilascio nel 2020.
  • Legacy: Rimane una "scelta sicura" per i sistemi già profondamente integrati con i suoi specifici formati di input/output.

Scopri di più su YOLOv5

YOLO11: L'avanguardia

YOLO11 integra le più recenti tecniche di deep learning per massimizzare il riutilizzo delle feature e ridurre al minimo il sovraccarico computazionale.

  • Blocco C3k2: Un'evoluzione del collo di bottiglia CSP, questo blocco consente un flusso del gradiente e una fusione delle feature più efficienti.
  • Modulo C2PSA: Introduce meccanismi di attenzione spaziale, consentendo al modello di concentrarsi sulle aree critiche dell'immagine per una migliore localizzazione degli oggetti.
  • Head multi-task: A differenza di YOLOv5, che richiede fork di modelli separati per attività diverse, YOLO11 supporta nativamente Object Detection, Instance Segmentation, Pose Estimation, Oriented Bounding Boxes (OBB) e la classificazione in un framework unificato.

Scopri di più su YOLO11

Tabella di confronto: Specifiche tecniche

FunzionalitàYOLOv5YOLO11
ArchitetturaBackbone CSPDarknetBackbone raffinato con C3k2 e C2PSA
Detection HeadAnchor-BasedAnchor-Free
AttivitàDetect, Segment, ClassifyDetect, Segment, Classify, Pose, OBB, Track
LicenzaAGPL-3.0AGPL-3.0
Data di rilascioGiugno 2020Settembre 2024
Facilità d'usoAlta (Riga di comando e PyTorch Hub)Molto alta (SDK python e CLI unificati)

Formazione ed ecosistema

Entrambi i modelli beneficiano del robusto ecosistema Ultralytics, che fornisce strumenti fluidi per la gestione dei dati, l'addestramento e l'implementazione.

Efficienza dell'addestramento

YOLO11 è progettato per eseguire il training più velocemente e convergere più rapidamente rispetto a YOLOv5.

  • Impostazioni predefinite intelligenti: Il motore Ultralytics configura automaticamente gli iperparametri in base al set di dati e alle dimensioni del modello, riducendo la necessità di regolazione manuale degli iperparametri.
  • Utilizzo della memoria: Grazie al numero ridotto di parametri, i modelli YOLO11 generalmente consumano meno VRAM della GPU durante l'addestramento, consentendo dimensioni dei batch maggiori su hardware consumer.

Esempio di codice: Addestramento di YOLO11

L'addestramento di YOLO11 è semplificato utilizzando ultralytics Pacchetto python. L'esempio seguente mostra come addestrare un modello YOLO11n sul dataset COCO8.

from ultralytics import YOLO

# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")

# Train the model
# The device argument can be 'cpu', 0 for GPU, or [0, 1] for multi-GPU
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

Integrazione dell'ecosistema

Sebbene YOLOv5 disponga di una vasta raccolta di tutorial di terze parti grazie alla sua longevità, YOLO11 è integrato nativamente nel moderno pacchetto Ultralytics. Ciò fornisce accesso immediato a funzionalità avanzate:

  • Esportazione Con Un Clic: Esporta in ONNX, OpenVINO, TensorRT e CoreML con un singolo comando.
  • Tracciamento: Supporto integrato per il tracciamento degli oggetti (BoT-SORT, ByteTrack) senza repository esterni.
  • Explorer: Utilizza l'API Ultralytics Explorer per visualizzare ed eseguire query sui tuoi dataset utilizzando SQL e la ricerca semantica.

Casi d'uso ideali

La scelta del modello giusto dipende dai vincoli e dai requisiti specifici del tuo progetto.

Quando scegliere YOLO11

YOLO11 è la scelta consigliata per il 95% dei nuovi progetti.

  1. Nuovi sviluppi: Se stai iniziando da zero, YOLO11 offre la migliore garanzia di futuro, accuratezza e velocità.
  2. Deployment su CPU: Per i dispositivi edge che operano su CPU (ad esempio, Raspberry Pi, telefoni cellulari), YOLO11n è significativamente più veloce e preciso di YOLOv5n.
  3. Task complessi: I progetti che richiedono la stima della posa o OBB (ad esempio, immagini aeree, analisi di documenti) sono supportati nativamente da YOLO11.
  4. Cloud e server: L'elevata velocità di trasmissione di YOLO11 lo rende ideale per l'elaborazione di enormi flussi video in tempo reale.

Quando continuare a usare YOLOv5

YOLOv5 rimane un'opzione valida per specifici scenari legacy.

  1. Manutenzione legacy: Se si dispone di un sistema di produzione fortemente accoppiato con la codebase o il formato di output specifico di YOLOv5.
  2. Ottimizzazione hardware specifica: Alcuni acceleratori embedded meno recenti potrebbero avere un firmware altamente ottimizzato, specificamente validato per i layer di YOLOv5 (anche se la maggior parte dei runtime moderni come OpenVINO ora prediligono architetture più recenti).
  3. Baseline Accademico: I ricercatori che effettuano confronti con baseline storiche spesso citano YOLOv5 a causa della sua presenza consolidata nella letteratura.

Migrazione a YOLO11

La migrazione da YOLOv5 a YOLO11 è semplice. Il formato del dataset (YOLO TXT) rimane identico, il che significa che puoi riutilizzare i tuoi dataset annotati esistenti senza modifiche. Anche la struttura dell'API python è molto simile e spesso richiede solo una modifica nella stringa del nome del modello (ad esempio, da yolov5su.pt a yolo11n.pt all'interno del ultralytics package).

Esplorare altre opzioni

Ultralytics supporta un'ampia gamma di modelli che vanno oltre YOLO11 e YOLOv5. A seconda delle tue esigenze specifiche, potresti prendere in considerazione:

  • YOLOv8: Il diretto predecessore di YOLO11, che offre un ottimo equilibrio di funzionalità e un'ampia adozione nel settore.
  • YOLOv10: Un'architettura incentrata sull'addestramento NMS-free per una minore latenza in specifiche applicazioni in tempo reale.
  • RT-DETR: Un detector basato su transformer che eccelle in accuratezza per i casi in cui la velocità di inferenza è meno critica della massima precisione.
  • YOLOv9: Noto per il suo concetto di Programmable Gradient Information (PGI), che offre prestazioni elevate in compiti di detect difficili.

Conclusione

La transizione da YOLOv5 a YOLO11 segna una pietra miliare significativa nella storia della visione artificiale. YOLOv5 ha democratizzato l'IA, rendendo il rilevamento di oggetti accessibile a tutti. YOLO11 perfeziona questa visione, offrendo un modello più veloce, leggero e preciso.

Per gli sviluppatori che cercano le migliori prestazioni per watt e il set di funzionalità più versatile, YOLO11 è il chiaro vincitore. La sua integrazione nell'ecosistema attivo di Ultralytics ti garantisce l'accesso agli strumenti più recenti, API semplici e una comunità fiorente per supportare il tuo percorso nell'IA.

Pronto per l'upgrade? Consulta la Documentazione di YOLO11 o esplora il repository GitHub per iniziare oggi stesso.


Commenti