Ultralytics YOLO27:

Confronto tra YOLOv5 e YOLOv6-3.0#

Il panorama della visione artificiale è in continua evoluzione, con nuove architetture che ampliano costantemente i limiti di velocità e accuratezza. Quando selezionano un modello per il loro prossimo progetto di IA per la visione, gli sviluppatori si trovano spesso a confrontare framework affermati e versatili con rilevatori industriali altamente specializzati. Questa analisi approfondita esplora le differenze tecniche tra Ultralytics YOLOv5 e YOLOv6-3.0 di Meituan, aiutandoti a scegliere lo strumento più adatto alle tue esigenze di deployment.

Introduzione ai modelli#

Ultralytics YOLOv5: lo standard versatile#

Rilasciato nel 2020, Ultralytics YOLOv5 è rapidamente diventato lo standard di riferimento per il rilevamento degli oggetti accessibile e ad alte prestazioni. È rinomato per la sua straordinaria facilità d'uso, le solide pipeline di addestramento e le numerose integrazioni per il deployment.

YOLOv5 è stato progettato fin dall'inizio per offrire un'esperienza di sviluppo fluida all'interno dell'ecosistema PyTorch. Offre un equilibrio favorevole tra prestazioni, raggiungendo un'eccellente precisione media media (mAP) e mantenendo al contempo velocità di inferenza elevate, adatte a diversi scenari di deployment reali, dai dispositivi edge ai server cloud.

YOLOv6-3.0: throughput industriale#

Sviluppato dal reparto Vision AI di Meituan, YOLOv6-3.0 è pensato specificamente per le applicazioni industriali, dando priorità soprattutto al throughput grezzo sugli acceleratori hardware dedicati.

  • Autori: Chuyi Li, Lulu Li, Yifei Geng, et al.
  • Organizzazione: Meituan
  • Data: 2023-01-13
  • Arxiv: 2301.05586
  • GitHub: meituan/YOLOv6

YOLOv6 mira a massimizzare la velocità di elaborazione sulle GPU come NVIDIA T4. Utilizza metodi di quantizzazione personalizzati e backbone specializzati per raggiungere queste prestazioni, risultando una scelta valida per l'elaborazione sui server backend, dove l'inferenza batch è ampiamente utilizzata.

Learn more about YOLOv6

Differenze architetturali#

Comprendere le scelte architetturali alla base di questi modelli è fondamentale per individuarne i casi d'uso ideali.

L'architettura di YOLOv5#

YOLOv5 utilizza un backbone CSPDarknet altamente ottimizzato, combinato con un neck Path Aggregation Network (PANet). Questa struttura è stata ottimizzata nei minimi dettagli per garantire requisiti minimi di memoria durante l'addestramento e l'inferenza. A differenza dei grandi modelli Transformer, che richiedono enormi quantità di memoria CUDA e tempi di addestramento prolungati, YOLOv5 funziona in modo efficiente su hardware consumer standard.

Efficienza della memoria

I modelli Ultralytics sono progettati specificamente per garantire un addestramento efficiente. Spesso puoi addestrare un modello YOLOv5 su una singola GPU di fascia media, rendendolo altamente accessibile sia ai ricercatori sia alle startup.

Inoltre, YOLOv5 non è solo un rilevatore di oggetti. La sua architettura si estende facilmente ad altri task, offrendo supporto immediato e solido per la segmentazione delle immagini e la classificazione delle immagini.

L'architettura YOLOv6-3.0#

YOLOv6-3.0 presenta un backbone EfficientRep, progettato per essere ottimizzato per l'hardware, in particolare per l'esecuzione su GPU. Utilizza un modulo Bi-directional Concatenation (BiC) nel neck per migliorare la fusione delle feature.

Durante l'addestramento, YOLOv6 utilizza una strategia Anchor-Aided Training (AAT) per stabilizzare la convergenza, pur rimanendo un rilevatore anchor-free durante l'inferenza. Sebbene questa architettura eccella nei task accelerati dalla GPU, a volte può essere più complessa da adattare a diversi dispositivi edge rispetto al framework YOLOv5, altamente portabile.

Analisi delle prestazioni#

Quando valuti questi modelli, le metriche di velocità grezza e accuratezza sono fondamentali. Di seguito trovi una tabella comparativa che evidenzia le prestazioni di diverse dimensioni di modello sul dataset COCO.

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
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

Sebbene YOLOv6-3.0 raggiunga punteggi mAP più elevati nelle varianti più grandi, YOLOv5 mantiene un ingombro estremamente ridotto. Ad esempio, YOLOv5n richiede molti meno parametri e FLOPs rispetto alla controparte YOLOv6, risultando altamente ottimale per i deployment su dispositivi mobili o vincolati dalla CPU.

Ecosistema e facilità d'uso#

Il vero fattore distintivo per molti team di engineering è l'ecosistema che circonda il modello.

YOLOv6 è un repository di ricerca impressionante, ma richiede una quantità significativa di codice boilerplate per il deployment in formati diversi. Al contrario, Ultralytics offre un ecosistema ben mantenuto, caratterizzato da un'esperienza utente semplificata. Attraverso l'API Python unificata e l'intuitiva Ultralytics Platform, gli sviluppatori hanno accesso alla gestione fluida dei dataset, all'addestramento con un clic e all'esportazione diretta in formati come ONNX e TensorRT.

Esempio di codice: API Ultralytics unificata#

Il pacchetto pip ultralytics di Ultralytics ti permette di caricare, addestrare e implementare modelli con poche righe di codice.

from ultralytics import YOLO

# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")

# Train the model effortlessly on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# Run fast inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")

# Export to ONNX for edge deployment
model.export(format="onnx")

Casi d'uso e raccomandazioni#

La scelta tra YOLOv5 e YOLOv6 dipende dai requisiti specifici del tuo progetto, dai vincoli di deployment e dalle preferenze relative all'ecosistema.

Quando scegliere YOLOv5#

YOLOv5 è una scelta eccellente per:

  • Sistemi di produzione collaudati: implementazioni esistenti in cui sono apprezzati il lungo storico di stabilità di YOLOv5, la documentazione estesa e l'enorme supporto della community.
  • Addestramento con risorse limitate: ambienti con risorse GPU limitate, in cui la pipeline di addestramento efficiente di YOLOv5 e i requisiti di memoria inferiori sono vantaggiosi.
  • Ampio supporto dei formati di esportazione: progetti che richiedono l'implementazione in numerosi formati, tra cui ONNX, TensorRT, CoreML e TFLite.

Quando scegliere YOLOv6#

YOLOv6 è consigliato per:

  • Distribuzione attenta all'hardware industriale: scenari in cui il design consapevole dell'hardware del modello e la sua efficiente riparametrizzazione offrono prestazioni ottimizzate su hardware target specifico.
  • Rilevamento rapido a singolo stadio: applicazioni che danno priorità alla velocità di inferenza pura sulla GPU per l'elaborazione video in tempo reale in ambienti controllati.
  • Integrazione nell'ecosistema Meituan: team che lavorano già nello stack tecnologico e nell'infrastruttura di distribuzione di Meituan.

Quando scegliere Ultralytics (YOLO26)#

Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la migliore combinazione di prestazioni ed esperienza per gli sviluppatori:

  • Deployment edge senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Soppressione non massima.
  • Ambienti esclusivamente CPU: dispositivi privi di accelerazione GPU dedicata, dove l'inferenza su CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari complessi come le immagini aeree riprese da droni o l'analisi di sensori IoT, in cui ProgLoss e STAL migliorano significativamente l'accuratezza sugli oggetti di piccole dimensioni.

Il futuro: il vantaggio di YOLO26#

Sebbene YOLOv5 rimanga un affidabile cavallo di battaglia e YOLOv6-3.0 offra un solido throughput industriale su GPU, lo stato dell'arte si è evoluto. Per gli sviluppatori che oggi iniziano nuovi progetti, il percorso consigliato è Ultralytics YOLO26.

Rilasciato a gennaio 2026, YOLO26 rappresenta un enorme passo avanti. Eredita la versatilità senza pari dell'ecosistema Ultralytics, introducendo al contempo miglioramenti architetturali rivoluzionari:

  • Design end-to-end senza NMS: YOLO26 elimina la post-elaborazione della soppressione dei massimi non elettivi, riducendo drasticamente la variabilità della latenza e semplificando la logica di deployment.
  • Inferenza su CPU fino al 43% più veloce: grazie alla rimozione di DFL e a una head ottimizzata, supera nettamente le generazioni precedenti sui dispositivi edge e a basso consumo.
  • Ottimizzatore MuSGD: sfruttando le innovazioni dell'addestramento degli LLM, il nuovo ottimizzatore MuSGD garantisce un addestramento altamente stabile e una convergenza straordinariamente rapida.
  • Versatilità avanzata: YOLO26 gestisce senza problemi bounding box orientati (OBB), stima della posa e segmentazione, con loss specializzate per i task come ProgLoss e STAL, per un riconoscimento senza precedenti degli oggetti di piccole dimensioni.

Se stai valutando altre opzioni nell'ecosistema Ultralytics, potresti prendere in considerazione anche il YOLO11 general-purpose o l'innovativo YOLO-World per i task di rilevamento a vocabolario aperto.

Conclusioni#

Sia YOLOv5 sia YOLOv6-3.0 hanno avuto un impatto significativo nel campo della visione artificiale. YOLOv6-3.0 offre un throughput eccellente sull'hardware server di fascia alta, risultando adatto per analisi offline specializzate. Tuttavia, YOLOv5 rimane la scelta superiore per gli sviluppatori che necessitano di un modello solido, facile da usare e altamente versatile, supportato da una piattaforma di livello mondiale.

Per ottenere il miglior equilibrio tra accuratezza di nuova generazione, deployment nativo senza NMS e la migliore esperienza di sviluppo del settore, passare a YOLO26 tramite Ultralytics Platform è la scelta definitiva per le moderne soluzioni di IA per la visione.

Commenti