YOLO vs. YOLOv5: un confronto tecnico completo
La scelta dell'architettura ottimale per il rilevamento degli oggetti è un passo fondamentale nello sviluppo della computer vision, che richiede un'attenta valutazione dell'accuratezza, della velocità di inferenza e della complessità di integrazione. Questa analisi mette a confronto YOLO, un modello ad alta precisione sviluppato da Alibaba Group, e Ultralytics YOLOv5, un'architettura standard del settore apprezzata per il suo equilibrio di prestazioni, velocità ed ecosistema facile da sviluppare. Esploriamo le loro innovazioni architettoniche, le metriche di benchmark e gli scenari applicativi ideali per aiutarvi a prendere una decisione informata.
YOLO: Architettura guidata dalla precisione
Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
Organization:Alibaba Group
Date: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHubYOLO
Docs:YOLO README
YOLO rappresenta uno sforzo significativo da parte di Alibaba Group per spingere i confini dell'accuratezza del rilevamento mantenendo una latenza ragionevole. Integra tecnologie avanzate di ricerca su architetture neurali (NAS) e nuove strategie di fusione delle caratteristiche per superare molte prestazioni contemporanee su benchmark statici.
Innovazioni architettoniche
YOLO si distingue per diversi componenti tecnicamente complessi, progettati per ottenere le massime prestazioni dalla rete:
- Dorsale MAE-NAS: A differenza dei modelli con dorsali progettate manualmente, YOLO impiega la ricerca dell'architettura neurale (NAS) guidata dal principio della massima entropia. Il risultato è una struttura dorsale ottimizzata specificamente per l'efficienza dell'estrazione delle caratteristiche in presenza di vincoli variabili.
- RepGFPN efficiente: Il modello utilizza una rete di piramidi di caratteristiche generalizzate riparametrizzate (RepGFPN). Questo modulo avanzato migliora le FPN standard ottimizzando la fusione delle caratteristiche su diverse scale e sfruttando la ri-parametrizzazione per ridurre la latenza di inferenza senza sacrificare l'accuratezza.
- ZeroHead: per ridurre al minimo il costo computazionale della testa di rilevamento, YOLO introduce ZeroHead, una testa leggera e disaccoppiata che gestisce in modo efficiente i compiti di classificazione e regressione.
- AlignedOTA: la stabilità e l'accuratezza dell'addestramento sono migliorate dall'Aligned Optimal Transport Assignment (AlignedOTA), una strategia di assegnazione dinamica delle etichette che allinea le ancore di predizione con gli oggetti della verità a terra in modo più efficace rispetto alle regole di corrispondenza statiche.
- Miglioramento della distillazione: Il processo di formazione spesso comporta una distillazione della conoscenza, in cui un modello "insegnante" più grande guida l'apprendimento del modello "studente" più piccolo, impartendo rappresentazioni di caratteristiche più ricche.
Progettazione orientata alla ricerca
YOLO è fortemente ottimizzato per ottenere un'elevata mAP su benchmark come COCO. L'uso di NAS e distillazione lo rende uno strumento potente per la ricerca accademica e per gli scenari in cui ogni frazione di punto percentuale di accuratezza è importante, anche se a costo della complessità dell'addestramento.
Punti di forza e debolezze
Il vantaggio principale di YOLO è la sua precisione di rilevamento grezza. Sfruttando i NAS e i design avanzati del collo, spesso raggiunge punteggi di precisione media (mAP) più elevati rispetto a modelli analoghi della stessa generazione. Eccelle nell'identificazione di oggetti in scene complesse, dove la discriminazione delle caratteristiche a grana fine è fondamentale.
Tuttavia, questi vantaggi comportano dei compromessi. La dipendenza da dorsali NAS e da pipeline di distillazione aumenta la complessità della formazione e dell'integrazione. A differenza della natura plug-and-play di alcune alternative, la creazione di una pipeline di formazione personalizzata per YOLO può richiedere molte risorse. Inoltre, il suo ecosistema è relativamente più piccolo, il che significa che sono disponibili meno risorse della comunità, tutorial e integrazioni di terze parti rispetto a framework più affermati.
Ultralytics YOLOv5: lo standard per l'IA pratica
Autore: Glenn Jocher
Organizzazione:Ultralytics
Data: 2020-06-26
GitHubyolov5
Docsyolov5
Dal suo rilascio, Ultralytics YOLOv5 si è affermato come la soluzione ideale per le applicazioni di computer vision del mondo reale. Il suo equilibrio tra velocità, accuratezza e usabilità è leggendario, supportato da un ecosistema che semplifica ogni fase del ciclo di vita dell'apprendimento automatico, dalla cura dei set di dati all'implementazione.
Architettura e usabilità
YOLOv5 utilizza una dorsale CSPDarknet53 combinata con un collo PANet, architetture scelte per la loro robustezza ed efficienza su hardware GPU e CPU . Sebbene utilizzi il rilevamento basato su ancore - una metodologia comprovata - la sua vera potenza risiede nell'ingegneria e nell'ecosistema:
- Esperienza utente semplificata: YOLOv5 è famoso per la sua filosofia "Zero to Hero". Gli sviluppatori possono configurare l'ambiente, allenarsi su set di dati personalizzati ed eseguire l'inferenza con poche righe di codice.
- Versatilità: Oltre al rilevamento standard degli oggetti, YOLOv5 supporta la segmentazione delle istanze e la classificazione delle immagini, consentendo agli utenti di affrontare diverse attività di visione all'interno di un unico framework.
- Esportabilità: Il modello supporta l'esportazione senza soluzione di continuità in numerosi formati, tra cui ONNX, TensorRT, CoreML e TFLite, per garantire una facile distribuzione su tutti i dispositivi, dai server cloud ai dispositivi edge.
- Efficienza della memoria: I modelli Ultralytics dimostrano in genere un utilizzo minore della memoria durante l'addestramento rispetto alle architetture complesse basate su trasformatori o ai modelli pesanti per il NAS, rendendoli accessibili su una gamma più ampia di hardware.
Vantaggio dell'ecosistema
L'ecosistemaUltralytics è un enorme acceleratore di sviluppo. Grazie all'ampia documentazione, ai forum attivi della comunità e ai frequenti aggiornamenti, gli sviluppatori dedicano meno tempo al debugging e più all'innovazione. Le integrazioni con strumenti come Ultralytics HUB semplificano ulteriormente la gestione dei modelli e la formazione.
Perché gli sviluppatori scelgono YOLOv5
YOLOv5 rimane la scelta migliore perché privilegia la facilità d'uso e l'efficienza dell'addestramento. I pesi pre-addestrati sono prontamente disponibili e robusti, consentendo un rapido apprendimento per trasferimento. La sua velocità di inferenza è eccezionale e lo rende ideale per applicazioni in tempo reale come l'analisi video, la navigazione autonoma e l'ispezione industriale.
Mentre i modelli più recenti come YOLO11 hanno introdotto architetture prive di ancoraggio e ulteriori miglioramenti delle prestazioni, YOLOv5 rimane un cavallo di battaglia affidabile, ben supportato e altamente capace per innumerevoli sistemi di produzione.
Confronto delle prestazioni
In un confronto diretto, la distinzione tra i due modelli diventa chiara: YOLO punta a massimizzare l'accuratezza della validazionemAP), mentre YOLOv5 ottimizza la velocità di inferenza e la praticità di utilizzo. La tabella seguente evidenzia che, mentre i modelli YOLO ottengono spesso punteggi mAP più elevati a parità di parametri, i modelli YOLOv5 (in particolare le varianti Nano e Small) offrono una velocità superiore su CPU e GPU, che spesso è il fattore decisivo per le implementazioni edge.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Codice dell'applicazione del mondo reale
Uno degli argomenti più forti a favore dei modelli Ultralytics è la semplicità di integrazione. Di seguito è riportato un esempio verificato della facilità con cui un modello YOLOv5 può essere caricato e utilizzato per l'inferenza utilizzando PyTorch Hub, a dimostrazione della natura developer-friendly dell'ecosistema.
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image source (URL or local path)
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results to console
results.print()
# Show the results
results.show()
Conclusione
Entrambe le architetture svolgono ruoli distinti nel panorama della computer vision. YOLO è una scelta formidabile per la ricerca accademica e per le competizioni in cui l'unico obiettivo è raggiungere un'accuratezza all'avanguardia e in cui la complessità delle pipeline di addestramento basate su NAS è accettabile.
Tuttavia, per la stragrande maggioranza degli sviluppatori, dei ricercatori e delle aziende, Ultralytics YOLOv5 (e il suo successore, YOLO11) rimangono la raccomandazione migliore. I vantaggi di un ecosistema ben curato non possono essere sopravvalutati: API semplici, documentazione completa e opzioni di esportazione senza soluzione di continuità riducono drasticamente il time-to-market. Grazie a un equilibrio di prestazioni che gestisce efficacemente i vincoli in tempo reale e alla versatilità in compiti come la segmentazione e la classificazione, i modelli Ultralytics forniscono una base solida e a prova di futuro per la creazione di soluzioni pratiche di intelligenza artificiale.
Per chi è alla ricerca di prestazioni e funzionalità all'avanguardia, consigliamo vivamente di esplorare il modello YOLO11che si basa sull'eredità di YOLOv5 con una precisione e un'efficienza ancora maggiori.
Esplora altri confronti
Per valutare ulteriormente il modello migliore per le vostre esigenze, esplorate questi confronti dettagliati: