Vai al contenuto

YOLOv8 vs YOLOv10: un confronto tecnico completo

La scelta del giusto modello di rilevamento degli oggetti è fondamentale per il successo di qualsiasi progetto di computer vision. Questa guida fornisce un confronto tecnico dettagliato tra Ultralytics YOLOv8 e YOLOv10analizzando le innovazioni architettoniche, le metriche delle prestazioni e i casi d'uso ideali. Mentre YOLOv10 introduce nuove ottimizzazioni dell'efficienza, Ultralytics YOLOv8 rimane una forza dominante grazie al suo robusto ecosistema, alla versatilità senza pari e alla comprovata affidabilità in diversi scenari di implementazione.

Ultralytics YOLOv8: lo standard versatile

Rilasciato nel gennaio 2023, Ultralytics YOLOv8 rappresenta un significativo passo avanti nella serieYOLO , progettata non solo come modello ma come framework completo per l'IA della visione. La priorità è l'usabilità e la flessibilità, che lo rendono la scelta ideale per gli sviluppatori, dagli hobbisti agli ingegneri aziendali.

Architettura e capacità

YOLOv8 impiega un meccanismo di rilevamento privo di ancoraggi, che semplifica il processo di formazione eliminando la necessità di specificare manualmente le caselle di ancoraggio. Questo approccio migliora la generalizzazione tra diverse forme di oggetti. La sua architettura è caratterizzata da una testa disaccoppiata e da una struttura portante all'avanguardia che bilancia il costo computazionale con un'elevata precisione.

Una caratteristica distintiva di YOLOv8 è il supporto multi-task nativo. A differenza di molti modelli specializzati, YOLOv8 offre funzionalità già pronte per:

Vantaggi principali

L'ecosistema ben curato che circonda YOLOv8 è un enorme vantaggio. Si integra perfettamente con Ultralytics HUB per la formazione e la gestione dei modelli e offre ampie opzioni di esportazione in formati come ONNX, TensorRT e CoreML. Inoltre, i suoi requisiti di memoria durante l'addestramento e l'inferenza sono significativamente inferiori rispetto alle architetture basate su trasformatori, garantendo un funzionamento efficiente su hardware standard.

Scopri di più su YOLOv8

YOLOv10: superare i limiti dell'efficienza

YOLOv10sviluppato dai ricercatori della Tsinghua University, si concentra molto sull'ottimizzazione della pipeline di inferenza, eliminando i colli di bottiglia associati alla post-elaborazione.

Innovazioni architettoniche

La caratteristica principale di YOLOv10 è la sua strategia di addestramentoNMS. I rilevatori di oggetti tradizionali si affidano alla soppressione non massima (NMS) per filtrare le bounding box sovrapposte durante l'inferenza, il che può introdurre latenza. YOLOv10 utilizza assegnazioni duali coerenti durante l'addestramento, combinando la supervisione uno-a-molti per ottenere segnali di supervisione ricchi e la corrispondenza uno-a-uno per un'inferenza efficiente. Ciò consente al modello di prevedere i bounding box esatti senza bisogno di NMS, riducendo così la latenza end-to-end.

L'architettura comprende anche un progetto olistico di efficienza e precisione, con teste di classificazione leggere e downsampling disaccoppiato per canale spaziale per ridurre la ridondanza computazionale (FLOP) e il numero di parametri.

Per saperne di più su YOLOv10

Metriche e analisi delle prestazioni

Quando si confrontano questi due modelli, è essenziale guardare oltre i semplici numeri di precisione. Mentre YOLOv10 mostra un'efficienza impressionante in termini di parametri, YOLOv8 mantiene prestazioni solide su una più ampia varietà di hardware e attività.

Tabella comparativa

La tabella seguente evidenzia le prestazioni sul set di datiCOCO . In alcuni casi, YOLOv10 raggiunge una mAP più elevata con un minor numero di parametri, ma YOLOv8 rimane altamente competitivo in termini di velocità di inferenza, in particolare nei benchmark standard CPU e GPU .

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Analisi critica

  1. Equilibrio delle prestazioni: YOLOv8 offre un eccellente compromesso tra velocità e precisione. Le sue velocità su CPU (tramite ONNX) sono ben documentate e ottimizzate, il che lo rende una scelta affidabile per le implementazioni che non dispongono di hardware GPU specializzato.
  2. Efficienza della formazione: I modelli Ultralytics sono noti per l'efficienza dei processi di formazione. Gli utenti possono spesso raggiungere la convergenza più rapidamente grazie agli iperparametri ottimizzati di YOLOv8 e ai pesi pre-addestrati prontamente disponibili.
  3. Maturità dell'ecosistema: Mentre YOLOv10 offre guadagni teorici di efficienza, YOLOv8 beneficia di anni di perfezionamento nell'ecosistema Ultralytics . Questo include un ampio supporto per l'aumento dei dati, il debugging attivo della comunità e le integrazioni con strumenti quali Weights & Biases e Comet.

La versatilità è importante

Se il vostro progetto richiede qualcosa di più dei semplici riquadri di delimitazione, come la comprensione del linguaggio del corpo tramite la stima della posa o la delimitazione precisa dei confini tramite la segmentazione,YOLOv8 è il chiaro vincitore, in quanto YOLOv10 è attualmente specializzato principalmente nel rilevamento degli oggetti.

Casi d'uso ideali

Quando scegliere Ultralytics YOLOv8

YOLOv8 è la scelta consigliata per la maggior parte delle applicazioni reali grazie alla sua versatilità e facilità d'uso.

  • Soluzioni AI multi-sfaccettate: Perfette per i progetti che richiedono la segmentazione o la classificazione delle istanze oltre al rilevamento.
  • Distribuzione aziendale: Ideale per le aziende che necessitano di un framework stabile e supportato, con chiare opzioni di licenza e integrazione nelle pipeline MLOps esistenti.
  • Smart Retail: La sua capacità di gestire molteplici compiti lo rende adatto a complesse analisi di vendita al dettaglio, come il monitoraggio degli scaffali e l'analisi del comportamento dei clienti.
  • Prototipazione rapida: La semplice API Python consente agli sviluppatori di passare dal concetto al modello addestrato in pochi minuti.

Quando scegliere YOLOv10

YOLOv10 è riservato a nicchie specifiche in cui i vincoli hardware sono estremi.

  • Latency-Critical Edge AI: applicazioni su microcontrollori o sistemi embedded legacy in cui ogni millisecondo di latenza di inferenza conta.
  • Elaborazione video ad alta velocità: Scenari come la gestione del traffico, in cui la riduzione del tempo di post-elaborazione per fotogramma può far risparmiare cumulativamente risorse di calcolo significative.

Implementazione del codice

Uno dei tratti distintivi dell'ecosistema di Ultralytics è il facilità d'uso. Entrambi i modelli sono accessibili tramite il sistema unificato ultralytics Python , garantendo un'esperienza di sviluppo coerente.

Di seguito è riportato un esempio di come eseguire l'inferenza con YOLOv8dimostrando la semplicità dell'API.

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

# Perform object detection on a local image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

Allo stesso modo, poiché Ultralytics supporta un ecosistema più ampio, è spesso possibile scambiare facilmente i pesi per sperimentare altre architetture, purché siano supportate dalla libreria.

Esportazione senza soluzione di continuità

Ultralytics offre un comando di una sola riga per esportare i modelli addestrati in formati adatti alla distribuzione. Questo funziona perfettamente con YOLOv8 per generare modelli ottimizzati per la produzione:

# Export YOLOv8 model to ONNX format
model.export(format="onnx")

Conclusione

Sia YOLOv8 che YOLOv10 sono due straordinari capolavori di ingegneria della visione computerizzata. YOLOv10 spinge al massimo l'efficienza architettonica con il suo design NMS, che lo rende un forte concorrente per compiti di rilevamento altamente specializzati e sensibili alla latenza.

Tuttavia, per uno sviluppo robusto, versatile e a prova di futuro, Ultralytics YOLOv8 rimane la scelta migliore. La sua capacità di gestire la classificazione, la segmentazione e la stima della posa all'interno di un unico framework offre un valore ineguagliabile. Insieme all'ampia documentazione, al supporto attivo della comunità e alla perfetta integrazione con Ultralytics HUB, YOLOv8 consente agli sviluppatori di creare soluzioni AI complete in modo più rapido e affidabile.

Per coloro che sono alla ricerca di prestazioni all'avanguardia, consigliamo di esplorare anche il modello YOLO11che si basa sui punti di forza di YOLOv8 per offrire precisione e velocità ancora maggiori.

Letture aggiuntive


Commenti