YOLOv5 vs YOLOv6-3.0#
Il panorama della computer vision è in continua evoluzione, con nuove architetture che spingono oltre i limiti di velocità e precisione. Per scegliere un modello per il tuo prossimo progetto di AI per la computer vision, gli sviluppatori spesso si trovano a confrontare framework consolidati e versatili con rilevatori industriali altamente specializzati. Questo approfondimento esamina le differenze tecniche tra Ultralytics YOLOv5 e YOLOv6-3.0 di Meituan, aiutandoti a scegliere lo strumento migliore per le tue esigenze di deployment.
Introduzione ai modelli#
Ultralytics YOLOv5: lo standard versatile#
Rilasciato nel 2020, Ultralytics YOLOv5 è diventato rapidamente il punto di riferimento per il rilevamento degli oggetti accessibile e ad alte prestazioni. È noto per l'incredibile facilità d'uso, le solide pipeline di addestramento e le numerose integrazioni per il deployment.
- Autore: Glenn Jocher
- Organizzazione: Ultralytics
- Data: 2020-06-26
- GitHub: ultralytics/yolov5
YOLOv5 è stato progettato da zero per offrire un'esperienza di sviluppo senza soluzione di continuità nell'ecosistema PyTorch. Offre un equilibrio favorevole tra le prestazioni, raggiungendo un'eccellente precisione media (mAP) e mantenendo velocità di inferenza elevate, adatte a diversi scenari di deployment reali, dai dispositivi edge ai server cloud.
YOLOv6-3.0: velocità di elaborazione industriale#
Sviluppato dal reparto Vision AI di Meituan, YOLOv6-3.0 è progettato specificamente per le applicazioni industriali, con una forte priorità al throughput puro 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 punta a massimizzare la velocità di elaborazione su GPU come NVIDIA T4. Utilizza metodi di quantizzazione personalizzati e backbone specializzati per raggiungere queste prestazioni, risultando particolarmente adatto all'elaborazione su server backend, dove si ricorre ampiamente all'inferenza a batch.
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 abbinato a un collo Path Aggregation Network (PANet). Questa struttura è ottimizzata a fondo per ridurre al minimo i requisiti 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 estesi, YOLOv5 funziona in modo efficiente su hardware standard per il mercato consumer.
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 molto accessibile sia ai ricercatori sia alle startup.
Inoltre, YOLOv5 non è solo un rilevatore di oggetti. La sua architettura si estende senza soluzione di continuità ad altre attività, offrendo supporto immediato e solido per la segmentazione delle immagini e la classificazione delle immagini.
L'architettura YOLOv6-3.0#
YOLOv6-3.0 include un backbone EfficientRep, progettato per essere compatibile con l'hardware, in particolare con l'esecuzione su GPU. Nel collo impiega un modulo Bi-directional Concatenation (BiC) per migliorare la fusione delle feature.
Durante l'addestramento, YOLOv6 usa una strategia Anchor-Aided Training (AAT) per stabilizzare la convergenza, ma durante l'inferenza resta un rilevatore anchor-free. Sebbene questa architettura eccella nelle attività accelerate da GPU, a volte può essere più complessa da adattare a diversi dispositivi edge rispetto al framework YOLOv5, altamente portatile.
Analisi delle prestazioni#
Per valutare questi modelli, le metriche di velocità pura e precisione sono fondamentali. Di seguito trovi una tabella comparativa delle prestazioni di diverse dimensioni di modello sul dataset COCO.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Sebbene YOLOv6-3.0 raggiunga punteggi mAP più alti nelle varianti più grandi, YOLOv5 mantiene un ingombro estremamente ridotto. Per esempio, YOLOv5n richiede molti meno parametri e FLOPs rispetto alla variante corrispondente di YOLOv6, risultando particolarmente adatto al deployment su dispositivi mobili o limitati dalla CPU.
Ecosistema e facilità d’uso#
Per molti team di ingegneria, il fattore davvero determinante è l'ecosistema che circonda il modello.
YOLOv6 è un notevole repository di ricerca, ma richiede una quantità considerevole di codice boilerplate per il deployment in formati diversi. Ultralytics offre invece un ecosistema curato e aggiornato, caratterizzato da un'esperienza utente lineare. Grazie all'API Python unificata e all'intuitiva Ultralytics Platform, gli sviluppatori possono gestire i dataset senza difficoltà, avviare l'addestramento con un clic ed esportare direttamente in formati come ONNX e TensorRT.
Esempio di codice: API Ultralytics unificata#
Il pacchetto pip Ultralytics ultralytics ti consente di caricare, addestrare e distribuire modelli con poche righe di codice.
from ultralytics import YOLO
# Carica un modello YOLOv5 small preaddestrato
model = YOLO("yolov5su.pt") # YOLOv5u: pesi YOLOv5 anchor-free per il pacchetto ultralytics
# Addestra facilmente il modello sul dataset COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Esegui un'inferenza rapida su un'immagine
predictions = model("https://ultralytics.com/images/bus.jpg")
# Esporta in ONNX per il deployment edge
model.export(format="onnx")Casi d'uso e consigli#
La scelta tra YOLOv5 e YOLOv6 dipende dai requisiti specifici del progetto, dai vincoli di deployment e dalle preferenze relative all'ecosistema.
Quando scegliere YOLOv5#
YOLOv5 è un'ottima scelta per:
- Sistemi di produzione collaudati: distribuzioni esistenti in cui sono apprezzati lo storico di stabilità di YOLOv5, la documentazione esaustiva e il vasto supporto della community.
- Addestramento con risorse limitate: ambienti con risorse GPU limitate, in cui la pipeline di addestramento efficiente e i requisiti di memoria ridotti di YOLOv5 sono vantaggiosi.
- Ampio supporto dei formati di esportazione: progetti che richiedono la distribuzione in numerosi formati, tra cui ONNX, TensorRT, CoreML e LiteRT.
Quando scegliere YOLOv6#
YOLOv6 è consigliato per:
- Distribuzione ottimizzata per l’hardware industriale: scenari in cui la progettazione consapevole dell’hardware e la riparametrizzazione efficiente del modello offrono prestazioni ottimizzate sull’hardware di destinazione specifico.
- Rilevamento rapido a singolo stadio: applicazioni che privilegiano la velocità pura di inferenza su 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 combinazione migliore di prestazioni ed esperienza per gli sviluppatori:
- Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
- Ambienti con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
- Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.
Uno sguardo al futuro: i vantaggi di YOLO26#
YOLOv5 resta un modello affidabile e collaudato, mentre YOLOv6-3.0 offre un throughput elevato sulle GPU industriali; tuttavia, lo stato dell'arte si è evoluto. Per gli sviluppatori che iniziano oggi 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 e introduce miglioramenti architetturali rivoluzionari:
- Design end-to-end senza NMS: l'head opzionale senza NMS di YOLO26 (
nms=False) elimina la post-elaborazione con Non-Maximum Suppression, riducendo notevolmente le variazioni di latenza e semplificando la logica di deployment. - Inferenza su CPU fino al 43% più veloce: grazie alla rimozione della DFL e a un head ottimizzato, supera notevolmente le generazioni precedenti sui dispositivi edge e a basso consumo.
- Ottimizzatore MuSGD: sfruttando le innovazioni nell'addestramento degli LLM, il nuovo ottimizzatore MuSGD garantisce un addestramento estremamente stabile e una convergenza notevolmente rapida.
- Versatilità avanzata: YOLO26 gestisce senza soluzione di continuità Oriented Bounding Box (OBB), la stima della posa e la segmentazione, con funzioni di loss specifiche per le attività, come ProgLoss e STAL, che offrono un riconoscimento degli oggetti piccoli senza pari.
Se stai valutando altre opzioni nell'ecosistema Ultralytics, puoi considerare anche YOLO11, il modello per uso generico, o l'innovativo YOLO-World per attività di rilevamento con vocabolario aperto.
Conclusione#
Sia YOLOv5 sia YOLOv6-3.0 hanno avuto un impatto significativo nel campo della computer vision. YOLOv6-3.0 offre un throughput eccellente sull'hardware server di fascia alta, risultando adatto ad analisi offline specializzate. Tuttavia, YOLOv5 resta la scelta migliore per gli sviluppatori che cercano un modello solido, facile da usare e molto versatile, supportato da una piattaforma di livello mondiale.
Per ottenere il perfetto equilibrio tra precisione 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 AI per la computer vision.