Vai al contenuto

YOLOv8 vs. EfficientDet: Un Confronto Tecnico

La scelta del modello di rilevamento oggetti giusto implica un compromesso tra accuratezza, velocità e costo computazionale. Questa pagina fornisce un confronto tecnico dettagliato tra due architetture influenti: Ultralytics YOLOv8, un modello all'avanguardia noto per la sua velocità e versatilità, ed EfficientDet, una famiglia di modelli di Google progettata per un'eccezionale efficienza dei parametri. Sebbene entrambi siano potenti, derivano da filosofie di progettazione diverse, rendendoli adatti a diverse applicazioni.

Ultralytics YOLOv8: Versatilità e prestazioni

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 è un rilevatore di oggetti all'avanguardia, one-stage, che si basa sui successi delle versioni precedenti di YOLO. Si è affermato come un framework altamente versatile e potente introducendo importanti miglioramenti architetturali. Questi includono un nuovo backbone CSPDarknet, un neck C2f per una migliore fusione delle caratteristiche e un head disaccoppiato e senza ancore. Questo design non solo aumenta le prestazioni, ma offre anche flessibilità in una vasta gamma di attività di visione artificiale.

Punti di forza di YOLOv8

  • Bilanciamento delle prestazioni: YOLOv8 raggiunge un eccellente compromesso tra velocità di inferenza e accuratezza, rendendolo adatto a diverse implementazioni nel mondo reale, dai dispositivi edge ai potenti server cloud.
  • Versatilità: Un vantaggio principale di YOLOv8 è il suo supporto nativo per molteplici attività di visione all'interno di un singolo framework unificato. Questo include object detection, segmentazione di istanza, classificazione delle immagini, stima della posa e oriented bounding boxes (OBB).
  • Facilità d'uso: Il modello fa parte di un ecosistema ben mantenuto che dà priorità all'esperienza utente. Offre una API Python semplificata e una semplice CLI, supportate da un'ampia documentazione e numerosi tutorial.
  • Efficienza di addestramento: YOLOv8 offre processi di addestramento efficienti e fornisce pesi pre-addestrati facilmente disponibili, semplificando lo sviluppo di modelli personalizzati. In genere richiede meno memoria CUDA per l'addestramento rispetto ad architetture più complesse.
  • Ecosistema ben manutenuto: Gli utenti beneficiano di sviluppo continuo, una solida comunità open source, aggiornamenti frequenti e un'integrazione perfetta con strumenti come Ultralytics HUB per flussi di lavoro MLOps end-to-end.

Punti deboli di YOLOv8

  • I modelli più grandi come YOLOv8x richiedono notevoli risorse computazionali per l'addestramento e la distribuzione.
  • Potrebbe richiedere ulteriori ottimizzazioni come la quantizzazione per il deployment su hardware estremamente limitato in termini di risorse.

Casi d'uso ideali per YOLOv8

YOLOv8 è ideale per applicazioni che richiedono elevata precisione e prestazioni in tempo reale, come la robotica avanzata, i sistemi di sicurezza intelligenti e le infrastrutture di smart city. La sua versatilità lo rende anche una scelta ideale per progetti che potrebbero espandersi per includere altre attività di visione oltre alla semplice object detection.

Scopri di più su YOLOv8

EfficientDet: Scalabilità ed efficienza

Autori: Mingxing Tan, Ruoming Pang e Quoc V. Le
Organizzazione: Google
Data: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https://github.com/google/automl/tree/master/efficientdet
Documenti: https://github.com/google/automl/tree/master/efficientdet#readme

EfficientDet è una famiglia di modelli di rilevamento di oggetti introdotta dal team di Google Brain. La sua principale innovazione è l'attenzione all'efficienza e alla scalabilità. L'architettura utilizza un backbone EfficientNet, una nuova Bi-directional Feature Pyramid Network (BiFPN) per un'efficace fusione di feature multiscala e un metodo di ridimensionamento composto. Questo metodo ridimensiona uniformemente la profondità, l'ampiezza e la risoluzione del backbone, della rete di feature e dell'head di previsione, consentendo di adattare il modello a diversi vincoli di risorse.

Punti di forza di EfficientDet

  • Elevata efficienza: EfficientDet è progettato per ridurre al minimo il numero di parametri e i FLOPs, massimizzando al contempo la precisione, il che lo rende una delle architetture più efficienti dal punto di vista computazionale per il suo tempo.
  • Scalabilità: L'approccio di scaling composto fornisce una famiglia di modelli (da D0 a D7) che possono essere selezionati in base al budget computazionale disponibile, dai dispositivi mobili ai server cloud su larga scala.
  • Precisione: I modelli EfficientDet più grandi raggiungono una precisione competitiva su benchmark standard come il dataset COCO.

Punti deboli di EfficientDet

  • Velocità di inferenza: Pur essendo efficiente in termini di FLOP, EfficientDet non si traduce sempre nelle velocità di inferenza reali più veloci, specialmente su GPU, se confrontato con architetture come YOLOv8 che sono altamente ottimizzate per l'elaborazione parallela.
  • Versatilità limitata: EfficientDet è principalmente un modello di rilevamento di oggetti e manca del supporto integrato per altri task come la segmentazione o la stima della posa presente nel framework Ultralytics.
  • Ecosistema e manutenzione: Il repository ufficiale non è attivamente manutenuto con nuove funzionalità e integrazioni come l'ecosistema Ultralytics, il che può rendere più difficile l'adozione e il deployment da parte degli sviluppatori.

Casi d'uso ideali per EfficientDet

EfficientDet eccelle in scenari in cui il numero di parametri e il costo computazionale teorico (FLOP) sono i vincoli più critici. È una scelta valida per applicazioni su determinati dispositivi edge AI in cui le dimensioni del modello sono strettamente limitate o in ambienti cloud in cui ridurre al minimo i costi computazionali è una priorità.

Scopri di più su EfficientDet

Testa a testa sulle prestazioni: Velocità, precisione ed efficienza

Quando si confrontano YOLOv8 ed EfficientDet, è chiaro che sono ottimizzati per obiettivi diversi. YOLOv8 dà la priorità a un equilibrio superiore tra velocità di inferenza e accuratezza nel mondo reale, mentre EfficientDet si concentra sulla riduzione al minimo dei parametri del modello e dei FLOP.

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
EfficientDet-d0 640 34.6 10.2 3.92 3.9 2.54
EfficientDet-d1 640 40.5 13.5 7.31 6.6 6.1
EfficientDet-d2 640 43.0 17.7 10.92 8.1 11.0
EfficientDet-d3 640 47.5 28.0 19.59 12.0 24.9
EfficientDet-d4 640 49.7 42.8 33.55 20.7 55.2
EfficientDet-d5 640 51.5 72.5 67.86 33.7 130.0
EfficientDet-d6 640 52.6 92.8 89.29 51.9 226.0
EfficientDet-d7 640 53.7 122.0 128.07 51.9 325.0

Dalla tabella possiamo osservare:

  • Precisione vs. Parametri: I modelli YOLOv8 raggiungono costantemente punteggi mAP più elevati rispetto ai modelli EfficientDet con un numero di parametri simile o addirittura superiore. Ad esempio, YOLOv8s (11,2 milioni di parametri) raggiunge 44,9 mAP, superando EfficientDet-d2 (8,1 milioni di parametri) a 43,0 mAP.
  • Velocità di inferenza: YOLOv8 dimostra un vantaggio significativo nella velocità di inferenza, specialmente sulle GPU con ottimizzazione TensorRT. Il modello YOLOv8x è oltre 8 volte più veloce del modello EfficientDet-d7 comparabile su una GPU T4, nonostante abbia più parametri. YOLOv8 mostra anche velocità di inferenza della CPU molto più elevate.
  • Compromesso sull'Efficienza: Sebbene i modelli EfficientDet abbiano FLOP inferiori, questo non si traduce direttamente in un'inferenza più veloce. L'architettura di YOLOv8 è più adatta per l'accelerazione hardware moderna, con conseguente minore latenza in scenari pratici.

Perché scegliere i modelli Ultralytics YOLO?

Sebbene EfficientDet sia stato un modello rivoluzionario per il suo tempo, i modelli Ultralytics YOLO più recenti come YOLOv8 e l'ultimo YOLO11 offrono vantaggi significativi per sviluppatori e ricercatori moderni:

  • Prestazioni Superiori: I modelli Ultralytics offrono un miglior equilibrio tra velocità e precisione, il che è fondamentale per l'inferenza in tempo reale.
  • Architettura moderna: Incorporano gli ultimi progressi nel deep learning, come il rilevamento anchor-free e le reti avanzate di fusione delle caratteristiche.
  • Ecosistema Completo: L'ecosistema Ultralytics offre un'esperienza fluida dall'addestramento al deployment, con ampio supporto, documentazione e integrazioni.
  • Funzionalità Multi-Task: La capacità di gestire rilevamento, segmentazione e altro all'interno di un unico framework consente di risparmiare tempo di sviluppo e riduce la complessità.

Conclusione

EfficientDet rimane un'architettura degna di nota, in particolare per il suo approccio innovativo allo scaling e all'efficienza del modello. È una scelta solida per le applicazioni in cui la riduzione al minimo del numero di parametri e dei FLOP è la priorità assoluta.

Tuttavia, per la stragrande maggioranza delle moderne applicazioni di computer vision, YOLOv8 presenta un'opzione più interessante. Offre velocità superiore, maggiore precisione e versatilità senza pari. In combinazione con l'ecosistema Ultralytics facile da usare e attivamente mantenuto, YOLOv8 consente agli sviluppatori di creare e implementare soluzioni di intelligenza artificiale ad alte prestazioni in modo più rapido ed efficace. Per coloro che cercano la soluzione più avanzata e facile da usare, i modelli Ultralytics sono la scelta consigliata.

Altri confronti tra modelli

Per ulteriori approfondimenti, considera questi confronti che coinvolgono YOLOv8, EfficientDet e altri modelli rilevanti:



📅 Creato 1 anno fa ✏️ Aggiornato 1 mese fa

Commenti