Vai al contenuto

YOLO11 vs YOLOv5: evoluzione dello stato dell'arte del rilevamento degli oggetti

L'evoluzione del rilevamento degli oggetti in tempo reale è stata notevolmente influenzata dalla serieYOLO di Ultralytics . YOLOv5rilasciato nel 2020, ha stabilito uno standard globale per facilità d'uso, velocità e affidabilità, diventando uno dei modelli di IA di visione più diffusi nella storia. YOLO11, l'ultima iterazione, si basa su queste leggendarie fondamenta per offrire precisione, efficienza e versatilità senza precedenti.

Questa guida fornisce un confronto tecnico dettagliato tra queste due potenze, aiutando sviluppatori e ricercatori a comprendere i cambiamenti architetturali, i guadagni di prestazioni e i casi d'uso ideali per ciascuna di esse.

Analisi delle prestazioni

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

Metriche di prestazione chiave

La tabella seguente presenta un confronto testa a testa sul set di datiCOCO . Un'osservazione critica è l'efficienza di YOLO11n, che raggiunge una mAP 39,5, superando in modo significativo la mAP di 28,0 di YOLOv5n, e funzionando più velocemente sull'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

Precisione ed efficienza

YOLO11 rappresenta un cambiamento di paradigma nel compromesso "efficienza vs. precisione".

  • Rilevamento di piccoli oggetti: YOLO11 migliora significativamente il rilevamento di oggetti di piccole dimensioni rispetto a YOLOv5, grazie ai suoi livelli di estrazione delle caratteristiche perfezionati.
  • Efficienza di calcolo: YOLO11l raggiunge 53,4 mAP con soli 25,3M parametri. Al contrario, YOLOv5l richiede 53,2 milioni di parametri per raggiungere una mAP inferiore di 49,0. Questa riduzione del 50% dei parametri per una maggiore precisione si traduce in un minore utilizzo della memoria e in tempi di addestramento più rapidi.

Senza ancoraggio e con ancoraggio

Una delle differenze tecniche più significative è il meccanismo della testina di rilevamento. YOLOv5 utilizza un approccio basato sulle ancore, che richiede caselle di ancoraggio predefinite che devono essere messe a punto per set di dati specifici per ottenere prestazioni ottimali.

YOLO11 utilizza un design privo di ancore. Ciò elimina la necessità di calcolare manualmente le caselle di ancoraggio, semplifica la pipeline di addestramento e migliora la generalizzazione su insiemi di dati diversi senza la regolazione degli iperparametri.

Architettura e progettazione del modello

Le differenze architettoniche tra questi due modelli riflettono la progressione della ricerca sulla computer vision nel corso degli anni.

YOLOv5: lo standard comprovato

YOLOv5 ha introdotto un'implementazione di PyTorch di facile utilizzo che ha reso il rilevamento degli oggetti accessibile alle masse.

  • Backbone: Utilizza una CSPDarknet53 modificata, molto efficace ma computazionalmente più pesante delle alternative moderne.
  • Focus: Priorità all'equilibrio tra velocità e precisione, rivoluzionario al momento del 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: Il bordo d'avanguardia

YOLO11 integra le più recenti tecniche di deep learning per massimizzare il riutilizzo delle caratteristiche e ridurre al minimo l'overhead computazionale.

  • Blocco C3k2: Evoluzione del collo di bottiglia CSP, questo blocco consente un flusso di gradienti e una fusione di caratteristiche più efficienti.
  • Modulo C2PSA: Introduce i meccanismi di attenzione spaziale, consentendo al modello di concentrarsi sulle aree critiche dell'immagine per una migliore localizzazione degli oggetti.
  • Testa multi-task: a differenza di YOLOv5, che richiede fork di modelli separati per i diversi compiti, YOLO11 supporta in modo nativo il rilevamento degli oggetti, la segmentazione delle istanze, la stima della posa, le OBB (Oriented Bounding Boxes) e la classificazione in un quadro unificato.

Scopri di più su YOLO11

Tabella di confronto: Specifiche tecniche

CaratteristicaYOLOv5YOLO11
ArchitetturaBackbone CSPDarknetBackbone raffinato con C3k2 e C2PSA
Detection HeadBasato su ancoreSenza ancore
AttivitàRilevare, segmentare, classificareRilevamento, segmentazione, classificazione, posa, OBB, tracciamento
LicenzaAGPL-3.0AGPL-3.0
Data di uscitaGiugno 2020Settembre 2024
Facilità d'usoAlto (riga di comando e hub PyTorch )Molto alto (SDK e CLI Python unificati)

Formazione ed ecosistema

Entrambi i modelli beneficiano del solido ecosistemaUltralytics , che fornisce strumenti continui per la gestione dei dati, la formazione e l'implementazione.

Efficienza della formazione

YOLO11 è stato progettato per allenarsi più velocemente e convergere più rapidamente di YOLOv5.

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

Esempio di codice: Formazione YOLO11

L'addestramento di YOLO11 è semplificato grazie alla 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

Mentre YOLOv5 , a causa della sua età, dispone di una vasta collezione di tutorial di terze parti, YOLO11 è integrato in modo nativo nel moderno pacchetto Ultralytics . Ciò consente di accedere immediatamente alle funzioni avanzate:

  • Esportazione con un solo clic: Esportazione in ONNX, OpenVINO, TensorRT e CoreML con un solo comando.
  • Tracciamento: Supporto integrato per il tracciamento degli oggetti (BoT-SORT, ByteTrack) senza repository esterni.
  • Esploratore: Utilizzate l'API Ultralytics Explorer per visualizzare e interrogare i vostri set di dati utilizzando SQL e la ricerca semantica.

Casi d'uso ideali

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

Quando scegliere YOLO11

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

  1. Nuovi sviluppi: Se si parte da zero, YOLO11 offre la migliore protezione per il futuro, precisione e velocità.
  2. Utilizzo dellaCPU : Per i dispositivi edge che funzionano su CPU (ad esempio, Raspberry Pi, telefoni cellulari), YOLO11n è significativamente più veloce e più preciso di YOLOv5n.
  3. Attività complesse: I progetti che richiedono la stima della posa o l'OBB (ad esempio, immagini aeree, analisi di documenti) sono supportati in modo nativo da YOLO11.
  4. Cloud e server: L'elevato throughput di YOLO11 lo rende ideale per l'elaborazione di flussi video massicci in tempo reale.

Quando è il caso di continuare con 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 specifica base di codice o il formato di output di YOLOv5 .
  2. Messa a punto dell'hardware specifico: Alcuni vecchi acceleratori embedded possono avere un firmware altamente ottimizzato e specificamente validato per i livelli YOLOv5 (anche se la maggior parte dei runtime moderni, come OpenVINO , favorisce le architetture più recenti).
  3. Linea di riferimento accademica: I ricercatori che si confrontano con le basi storiche spesso citano YOLOv5 per la sua lunga presenza in letteratura.

Migrazione a YOLO11

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

Esplorare altre opzioni

Ultralytics supporta un'ampia gamma di modelli, oltre a YOLO11 e YOLOv5. A seconda delle vostre esigenze specifiche, potreste prendere in considerazione:

  • YOLOv8: il predecessore diretto di YOLO11, che offre un ottimo equilibrio di funzioni e un'ampia adozione da parte del settore.
  • YOLOv10: un'architettura incentrata sull'addestramento NMS per ridurre la latenza in applicazioni specifiche in tempo reale.
  • RT-DETR: un rilevatore basato su trasformatori che eccelle in accuratezza nei casi in cui la velocità di inferenza è meno critica della massima precisione.
  • YOLOv9: noto per il suo concetto di Programmable Gradient Information (PGI), offre prestazioni elevate in compiti di rilevamento difficili.

Conclusione

Il passaggio da YOLOv5 a YOLO11 segna una tappa significativa nella storia della computer vision. YOLOv5 ha democratizzato l'intelligenza artificiale, rendendo accessibile a tutti il rilevamento degli oggetti. YOLO11 perfeziona questa visione, offrendo un modello più veloce, più leggero e più preciso.

Per gli sviluppatori che cercano le migliori prestazioni per watt e il set di funzioni più versatile, YOLO11 è il chiaro vincitore. La sua integrazione nell'ecosistema attivo di Ultralytics garantisce l'accesso agli strumenti più recenti, alle API più semplici e a una comunità fiorente per sostenere il vostro viaggio nell'intelligenza artificiale.

Pronti per l'aggiornamento? Consultate la documentazione di YOLO11 o esplorate il repository GitHub per iniziare subito.


Commenti