Vai al contenuto

Confronto tra modelli: YOLOv8 vs YOLOv10 per il rilevamento di oggetti

Scegliere il modello di object detection giusto è fondamentale per il successo di qualsiasi progetto di computer vision. Questa pagina fornisce un confronto tecnico dettagliato tra Ultralytics YOLOv8 e YOLOv10, due modelli all'avanguardia nel settore. Analizzeremo le loro sfumature architetturali, le metriche di performance, le metodologie di training e le applicazioni ideali per guidarti nel prendere una decisione informata per le tue esigenze specifiche.

Ultralytics YOLOv8: Versatilità e maturità

Autori: Glenn Jocher, Ayush Chaurasia e Jing Qiu
Organizzazione: Ultralytics
Data: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Documenti: https://docs.ultralytics.com/models/yolov8/

Ultralytics YOLOv8, lanciato a gennaio 2023 da Ultralytics, è un modello maturo e altamente versatile che si basa sui punti di forza dei suoi predecessori YOLO. È progettato per velocità, precisione e facilità d'uso in un ampio spettro di attività di visione artificiale, tra cui object detection, instance segmentation, image classification, pose estimation e oriented bounding boxes (OBB).

Architettura e caratteristiche principali

YOLOv8 rappresenta una significativa evoluzione nella serie YOLO, caratterizzata da un approccio di rilevamento senza ancore che semplifica l'architettura del modello e migliora la generalizzazione tra diversi set di dati. La sua backbone flessibile e le funzioni di perdita ottimizzate contribuiscono a una maggiore precisione e a un addestramento più stabile. Un vantaggio chiave di YOLOv8 è la sua scalabilità, che offre una gamma di dimensioni del modello da Nano (n) a Extra-large (x) per soddisfare diverse esigenze computazionali e di precisione. Questa versatilità lo rende una scelta ideale per progetti che potrebbero richiedere più della semplice rilevazione di oggetti, poiché supporta più attività all'interno di un framework singolo e unificato.

Prestazioni e punti di forza

YOLOv8 offre un forte equilibrio delle prestazioni, raggiungendo punteggi mAP elevati pur mantenendo velocità di inferenza elevate adatte per applicazioni in tempo reale. Ad esempio, YOLOv8x raggiunge il 53,9% di mAPval 50-95 sul dataset COCO. Il suo design efficiente garantisce requisiti di memoria inferiori durante l'addestramento e l'inferenza rispetto a molte altre architetture, specialmente i modelli basati su transformer come RT-DETR.

  • Maturo e Ben Documentato: YOLOv8 beneficia di una documentazione estesa, una vasta comunità e risorse prontamente disponibili, rendendolo eccezionalmente facile da usare e da implementare tramite semplici interfacce Python e CLI.
  • Versatile e Multi-Task: Il suo supporto per un'ampia gamma di attività di visione è un vantaggio chiave rispetto ai modelli più specializzati, offrendo una flessibilità senza pari per i requisiti di progetti complessi.
  • Ecosistema ben mantenuto: Il modello è perfettamente integrato con Ultralytics HUB, una piattaforma che semplifica i flussi di lavoro dall'addestramento al deployment. È supportato da sviluppo attivo e aggiornamenti frequenti da parte di Ultralytics.
  • Bilanciamento delle prestazioni: Fornisce un eccellente compromesso tra velocità, precisione e dimensione del modello, rendendolo adatto a una vasta gamma di scenari di implementazione nel mondo reale.
  • Efficienza di addestramento: YOLOv8 offre processi di addestramento efficienti e pesi pre-addestrati facilmente disponibili, il che accelera significativamente i cicli di sviluppo.

Punti deboli

Pur essendo altamente efficiente, YOLOv8 può essere marginalmente superato in benchmark specifici e altamente vincolati da modelli più recenti come YOLOv10, che danno la priorità alla velocità pura o al conteggio dei parametri sopra ogni altra cosa. Tuttavia, YOLOv8 offre spesso un pacchetto complessivo migliore in termini di usabilità, versatilità e supporto.

Casi d'uso ideali

La versatilità e la facilità d'uso di YOLOv8 lo rendono ideale per un'ampia gamma di applicazioni:

  • Sistemi di sicurezza: Eccellente per il rilevamento di oggetti in tempo reale nei sistemi di allarme di sicurezza.
  • Analisi Dati nel Retail: Utile nel retail intelligente per comprendere il comportamento dei clienti e la gestione dell'inventario.
  • Controllo Qualità Industriale: Applicabile nella produzione per l'ispezione visiva automatizzata.
  • Progetti Multi-Task: Ideale per progetti che richiedono rilevamento, segmentazione e stima della posa simultaneamente da un singolo modello.

Scopri di più su YOLOv8

YOLOv10: Spingendo i confini dell'efficienza

Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
Organizzazione: Tsinghua University
Data: 2024-05-23
Arxiv: https://arxiv.org/abs/2405.14458
GitHub: https://github.com/THU-MIG/yolov10
Documentazione: https://docs.ultralytics.com/models/yolov10/

YOLOv10, introdotto a maggio 2024, si concentra sulla massimizzazione dell'efficienza e della velocità pur mantenendo una precisione competitiva. È particolarmente indicato per le applicazioni in tempo reale e edge. Un'innovazione chiave è il suo approccio di addestramento che elimina la necessità di Non-Maximum Suppression (NMS), il che aiuta a ridurre la latenza di post-elaborazione e consente un vero rilevamento di oggetti end-to-end.

Architettura e caratteristiche principali

YOLOv10 presenta un design del modello olistico guidato dall'efficienza e dall'accuratezza. Ottimizza vari componenti per ridurre la ridondanza computazionale e migliorare le capacità di rilevamento. Utilizzando assegnazioni duali coerenti per l'addestramento, rimuove il passaggio NMS, semplificando la pipeline di distribuzione. Sebbene questo sia un passo avanti significativo, è importante notare che YOLOv10 si concentra principalmente sul rilevamento di oggetti e manca della versatilità multi-task integrata di YOLOv8.

Analisi delle prestazioni

YOLOv10 dimostra un'efficienza all'avanguardia, offrendo velocità di inferenza più elevate e dimensioni del modello inferiori rispetto a molte versioni precedenti di YOLO. Ad esempio, YOLOv10-S raggiunge il 46,7% di mAPval 50-95 con soli 7,2 milioni di parametri. La tabella seguente mostra che, per un dato livello di accuratezza, i modelli YOLOv10 hanno spesso meno parametri e FLOP inferiori rispetto alle loro controparti YOLOv8. Tuttavia, YOLOv8 mantiene velocità molto competitive, soprattutto su CPU, dove è stato altamente ottimizzato.

Modello dimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
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
YOLOv10n 640 39.5 - 1.56 2.3 6.7
YOLOv10s 640 46.7 - 2.66 7.2 21.6
YOLOv10m 640 51.3 - 5.48 15.4 59.1
YOLOv10b 640 52.7 - 6.54 24.4 92.0
YOLOv10l 640 53.3 - 8.33 29.5 120.3
YOLOv10x 640 54.4 - 12.2 56.9 160.4

Punti di forza e debolezze

  • Efficienza Migliorata: Offre velocità di inferenza più elevate e dimensioni del modello più piccole in molti confronti, il che è vantaggioso per ambienti con risorse limitate.
  • Addestramento senza NMS: Semplifica la pipeline di implementazione rimuovendo la fase di post-elaborazione NMS, riducendo la latenza.
  • Prestazioni all'avanguardia: Ottiene prestazioni eccellenti, in particolare nei benchmark orientati alla latenza.

Tuttavia, anche YOLOv10 presenta alcune limitazioni:

  • Modello più recente: Essendo un modello più recente, ha una community più piccola e meno risorse prontamente disponibili o integrazioni di terze parti rispetto al consolidato YOLOv8.
  • Integrazione dell'ecosistema: Pur essendo integrato nella libreria Ultralytics, potrebbe richiedere un maggiore sforzo per adattarsi ai flussi di lavoro MLOps consolidati rispetto a modelli come YOLOv8 che sono nativi dell'ecosistema completo Ultralytics.
  • Specializzazione dell'attività: È focalizzato principalmente sul rilevamento di oggetti, privo della versatilità integrata per la segmentazione, la classificazione e la stima della posa offerta da YOLOv8.

Casi d'uso ideali

YOLOv10 è particolarmente adatto per applicazioni in cui le prestazioni in tempo reale e l'efficienza delle risorse sono le priorità assolute:

  • Dispositivi Edge: Ideale per la distribuzione su dispositivi con potenza di calcolo limitata come telefoni cellulari e sistemi embedded.
  • Elaborazione ad alta velocità: Adatto per applicazioni che richiedono una latenza molto bassa, come i droni autonomi e la robotica.
  • Analisi in tempo reale: Perfetto per ambienti dinamici che necessitano di rilevamento oggetti immediato, come la gestione del traffico.

Scopri di più su YOLOv10

Conclusione

Sia Ultralytics YOLOv8 che YOLOv10 sono modelli potenti ed efficaci per il rilevamento di oggetti. La scelta tra i due dipende molto dalle priorità specifiche del progetto.

Ultralytics YOLOv8 è la scelta consigliata per la maggior parte degli sviluppatori e dei ricercatori. Si distingue per la sua eccezionale versatilità, facilità d'uso, ecosistema robusto e un eccellente equilibrio tra velocità e precisione. Le sue capacità multi-task lo rendono una soluzione a prova di futuro per progetti che potrebbero evolversi per includere la segmentazione, la stima della posa o altre attività di visione.

YOLOv10 offre notevoli vantaggi in termini di efficienza per applicazioni specializzate e sensibili alla latenza. Se il vincolo principale del tuo progetto è il deployment su dispositivi edge a bassa potenza o il raggiungimento del tempo di inferenza più basso possibile per una singola attività, YOLOv10 è un forte candidato.

Per gli utenti interessati a esplorare altri modelli all'avanguardia, Ultralytics offre una gamma di opzioni, tra cui il rinomato YOLOv5, l'innovativo YOLOv9 e l'ultimo YOLO11. Ulteriori confronti, come YOLOv9 vs YOLOv8 e YOLOv5 vs YOLOv8, sono disponibili per aiutare a selezionare il modello migliore per le proprie esigenze.



📅 Creato 1 anno fa ✏️ Aggiornato 1 mese fa

Commenti