YOLO vs. YOLOv8: un approfondimento tecnico
Il panorama del rilevamento degli oggetti è in continua evoluzione, con ricercatori e ingegneri che si sforzano di bilanciare le esigenze concorrenti di velocità, precisione ed efficienza computazionale. Due architetture di spicco che hanno fatto scalpore nella comunità della computer vision sono YOLO, sviluppata da Alibaba Group, e YOLOv8creato da Ultralytics.
Questo confronto tecnico esplora le innovazioni architettoniche, le metriche delle prestazioni e l'usabilità pratica di entrambi i modelli. Mentre YOLO introduce concetti di ricerca innovativi come la ricerca dell'architettura neurale (NAS), Ultralytics YOLOv8 si concentra sull'offerta di un ecosistema robusto e facile da usare che semplifica il flusso di lavoro dalla formazione alla distribuzione.
Analisi delle prestazioni: Velocità e precisione
Per capire come questi modelli si confrontano in scenari reali, analizziamo le loro prestazioni sul set di dati standard COCO . Le metriche riportate di seguito evidenziano i compromessi tra precisione mediamAP), velocità di inferenza su hardware diversi e complessità del modello.
| 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Punti chiave
I dati rivelano vantaggi distinti a seconda dell'obiettivo di impiego:
- Prestazioni del bordo: Il YOLOv8n (Nano) è il leader indiscusso per gli ambienti con risorse limitate. Con soli 3,2 milioni di parametri e 8,7 miliardi di FLOP, raggiunge la massima velocità di inferenza sia su CPU che su GPU. Questo lo rende ideale per le applicazioni mobili o per i dispositivi IoT dove la memoria e l'energia sono scarse.
- Precisione di picco: Per applicazioni in cui la precisione è fondamentale, YOLOv8x raggiunge il più alto mAP del 53,9%. Mentre i modelli YOLO ottengono buoni risultati, la variante più grande di YOLOv8 si spinge oltre il limite della precisione di rilevamento.
- Scambi di latenza: YOLO dimostra un throughput impressionante su GPU dedicate (come il T4), grazie alla sua struttura portante ottimizzata per il NAS. Tuttavia, Ultralytics YOLOv8 mantiene un equilibrio superiore su una più ampia varietà di hardware, comprese le CPU, garantendo una maggiore flessibilità di implementazione.
YOLO: innovazione guidata dalla ricerca
YOLO è un prodotto delle iniziative di ricerca del Gruppo Alibaba. Il nome è l'acronimo di "Discovery, Adventure, Momentum, and Outlook" (Scoperta, avventura, slancio e prospettive) e riflette la volontà di esplorare nuove frontiere architettoniche.
Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
Organization:Alibaba Group
Date: 2022-11-23
Arxiv:2211.15444v2
GitHub:YOLO
Punti salienti dell'architettura
YOLO integra diverse tecnologie avanzate per ottimizzare il compromesso tra latenza e precisione:
- Backbone MAE-NAS: Utilizza la ricerca di architetture neurali (NAS) per scoprire automaticamente strutture di rete efficienti, in particolare utilizzando un metodo chiamato MAE-NAS.
- Collo RepGFPN: Una rete di piramidi di caratteristiche generalizzate (GFPN) fortemente parametrizzata viene utilizzata per massimizzare il flusso di informazioni tra i diversi livelli di scala, migliorando il rilevamento di oggetti a distanze variabili.
- ZeroHead: per controbilanciare la pesantezza del collo, il modello impiega un leggero "ZeroHead", che riduce il carico computazionale nella fase finale di rilevamento.
- AlignedOTA: una strategia di assegnazione dinamica delle etichette che allinea i compiti di classificazione e regressione durante l'addestramento, aiutando il modello a convergere in modo più efficace.
Ultralytics YOLOv8: lo standard dell'ecosistema
YOLOv8 rappresenta un perfezionamento dell'architettura YOLO che si concentra su usabilità, versatilità e prestazioni all'avanguardia. A differenza dei modelli di ricerca puri, YOLOv8 è stato progettato come prodotto per gli sviluppatori, sottolineando un ecosistema ben curato e la facilità di integrazione.
Autori: Glenn Jocher, Ayush Chaurasia e Jing Qiu
Organizzazione:Ultralytics
Data: 2023-01-10
Docs:Ultralytics YOLOv8
Punti di forza architettonici
- Rilevamento senza ancore: YOLOv8 elimina le caselle di ancoraggio, riducendo il numero di iperparametri che gli sviluppatori devono mettere a punto e semplificando il processo di formazione.
- Modulo C2f: L'architettura sostituisce il modulo C3 con il modulo C2f, che offre informazioni più ricche sul flusso del gradiente mantenendo un ingombro ridotto.
- Testa disaccoppiata: separando i compiti di classificazione e regressione nella testa, il modello raggiunge una maggiore precisione di localizzazione.
- Struttura unificata: Forse la sua caratteristica architettonica più forte è il supporto nativo di molteplici compiti di visione -segmentazione di istanze, stima della posa, classificazione e rilevamento di oggetti orientati (OBB)- tutti all'interno di un'unica base di codice.
Lo sapevate?
Ultralytics offre un percorso continuo per esportare i modelli in formati ottimizzati come ONNX, TensorRT, CoreMLe OpenVINO. Questa capacità di esportazione garantisce che i modelli addestrati possano essere eseguiti in modo efficiente su quasi tutte le piattaforme hardware.
Usabilità ed esperienza dello sviluppatore
La differenza più significativa tra i due modelli risiede nella facilità d'uso e nell'ecosistema circostante.
Ultralytics YOLO sono famosi per la loro esperienza "da zero a eroe". Con una semplice installazione di PIP, gli sviluppatori hanno accesso a una potente CLI e a un'API Python . Ciò abbassa notevolmente la barriera d'ingresso rispetto ai repository di ricerca che spesso richiedono una complessa configurazione dell'ambiente.
Efficienza della formazione
I modelli Ultralytics sono progettati per garantire l'efficienza della formazione. Utilizzano in modo efficiente la memoria CUDA , consentendo l'utilizzo di batch di dimensioni maggiori o l'addestramento su GPU di fascia consumer. Inoltre, la disponibilità di pesi pre-addestrati di alta qualità accelera la convergenza, risparmiando tempo ed energia di calcolo.
Ecco un esempio completo ed eseguibile di come caricare e predire con un modello YOLOv8 in sole tre righe di Python:
from ultralytics import YOLO
# Load a pre-trained YOLOv8n model
model = YOLO("yolov8n.pt")
# Run inference on an image (automatically downloads image if needed)
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Show the results
for result in results:
result.show()
Al contrario, YOLO offre prestazioni elevate, ma in genere richiede una configurazione più manuale e una maggiore familiarità con i framework orientati alla ricerca, rendendolo meno accessibile per la prototipazione rapida o l'integrazione commerciale.
Conclusione: Scegliere lo strumento giusto
Sia YOLO che YOLOv8 sono risultati eccezionali nella computer vision.
YOLO è una scelta eccellente per i ricercatori interessati alla ricerca su architetture neurali e per coloro che si dedicano specificamente all'hardware, dove la sua spina dorsale personalizzata è completamente ottimizzata.
Tuttavia, per la maggior parte degli sviluppatori, dei ricercatori e delle imprese, Ultralytics YOLOv8 (e il più recente YOLO11) offrono una proposta di valore superiore:
- Versatilità: È in grado di gestire rilevamento, segmentazione, posa e OBB in un'unica struttura.
- Facilità d'uso: Documentazione ineguagliabile, API semplice e solido supporto della comunità.
- Distribuzione: L'ampio supporto per le modalità di esportazione copre tutto, dai telefoni cellulari ai server cloud.
- Bilanciamento delle prestazioni: Eccellente rapporto precisione/velocità, in particolare sui dispositivi CPU ed Edge.
Per chi vuole essere sempre all'avanguardia, consigliamo anche di dare un'occhiata a YOLO11che si basa sui punti di forza di YOLOv8 con un'efficienza e una precisione ancora maggiori.
Esplora altri confronti tra modelli
Per aiutarvi a prendere la decisione più consapevole per i vostri progetti di computer vision, esplorate questi ulteriori confronti dettagliati: