Vai al contenuto

EfficientDet vs YOLOv7: Confronto tecnico

La scelta del modello di object detection più adatto è una decisione fondamentale che bilancia accuratezza, velocità e costo computazionale. Questa pagina fornisce un confronto tecnico dettagliato tra EfficientDet e YOLOv7, due architetture influenti nel campo della computer vision. EfficientDet è rinomato per la sua eccezionale efficienza dei parametri e scalabilità, mentre YOLOv7 è celebrato per aver superato i limiti della velocità e dell'accuratezza del rilevamento in tempo reale.

Esploreremo le loro principali differenze architetturali, i benchmark delle prestazioni e i casi d'uso ideali. Sebbene entrambi i modelli abbiano i loro punti di forza, per molte applicazioni moderne, gli sviluppatori potrebbero trovare alternative superiori come Ultralytics YOLOv8 e YOLO11 che offrono una soluzione più completa e di facile utilizzo.

EfficientDet: Architettura scalabile ed efficiente

EfficientDet, introdotto dal team di Google Brain, è una famiglia di modelli di rilevamento di oggetti progettati per un'elevata efficienza e precisione. La sua principale innovazione risiede in un approccio sistematico al ridimensionamento del modello e in una nuova rete di fusione delle caratteristiche.

Architettura e caratteristiche principali

L'architettura di EfficientDet si basa su tre componenti principali:

  • EfficientNet Backbone: Utilizza l'EfficientNet, altamente efficiente, come backbone per l'estrazione delle caratteristiche, ottimizzato per un equilibrio superiore tra accuratezza e costo computazionale.
  • BiFPN (Bi-directional Feature Pyramid Network): A differenza delle FPN tradizionali che sommano le caratteristiche in modo unidirezionale, BiFPN consente la fusione di caratteristiche multiscala con connessioni ponderate, consentendo rappresentazioni di caratteristiche più ricche con meno parametri.
  • Ridimensionamento Composto: EfficientDet introduce un metodo di ridimensionamento composto che scala uniformemente la profondità, la larghezza e la risoluzione del backbone, della rete di feature e dell'head di predizione. Ciò consente al modello di scalare dal piccolo EfficientDet-D0 al grande D7, adattandosi a diverse limitazioni di risorse.

Punti di forza

  • Elevata efficienza dei parametri: I modelli EfficientDet raggiungono un'accuratezza competitiva con un numero significativamente inferiore di parametri e FLOP rispetto ad altri modelli del loro tempo.
  • Scalabilità: Il metodo di scaling composto fornisce un percorso chiaro per scalare il modello verso l'alto o verso il basso, rendendolo adattabile a vari hardware, dai dispositivi edge ai potenti server cloud.
  • Solide prestazioni sulla CPU: Le varianti più piccole di EfficientDet offrono buone prestazioni sulle CPU, rendendole adatte per applicazioni in cui l'hardware GPU non è disponibile.

Punti deboli

  • Inferenza GPU più lenta: Nonostante la sua efficienza FLOP, EfficientDet può essere più lento di modelli come YOLOv7 sulle GPU, poiché la sua architettura è meno ottimizzata per l'elaborazione parallela.
  • Specifico per l'attività: EfficientDet è progettato principalmente per il rilevamento di oggetti e manca della versatilità multi-task nativa presente nei framework più moderni.
  • Complessità: I concetti di BiFPN e ridimensionamento composto, sebbene potenti, possono aggiungere complessità alla comprensione e alla personalizzazione del modello.

Scopri di più su EfficientDet

YOLOv7: Un nuovo benchmark nel rilevamento in tempo reale

YOLOv7 è emerso come un significativo passo avanti nella serie YOLO, stabilendo un nuovo stato dell'arte per i rilevatori di oggetti in tempo reale. Ha introdotto diverse ottimizzazioni architetturali e di addestramento per aumentare l'accuratezza senza compromettere la velocità di inferenza.

Architettura e caratteristiche principali

I guadagni di prestazioni di YOLOv7 derivano da diverse innovazioni chiave:

  • Extended Efficient Layer Aggregation Network (E-ELAN): Questo modulo, utilizzato nel backbone del modello, migliora la capacità della rete di apprendere e convergere efficacemente controllando i percorsi del gradiente.
  • Riparamentrizzazione del Modello: YOLOv7 impiega la convoluzione riparametrizzata pianificata, una tecnica che unisce più moduli in uno durante l'inferenza per ridurre il sovraccarico computazionale e aumentare la velocità.
  • Bag-of-Freebies addestrabile: Introduce tecniche di addestramento avanzate, come gli head ausiliari che approfondiscono la supervisione e l'addestramento guidato lead coarse-to-fine, che migliorano l'accuratezza senza aumentare il costo finale di inferenza.

Punti di forza

  • Eccezionale compromesso tra velocità e precisione: YOLOv7 offre eccezionali velocità di inferenza in tempo reale sulle GPU, pur mantenendo una precisione molto elevata, superando molti altri modelli.
  • Ottimizzazioni avanzate del training: L'approccio "bag-of-freebies" consente di ottenere punteggi mAP più elevati senza appesantire il modello distribuito.
  • Prestazioni comprovate: È stato ampiamente valutato su set di dati standard come MS COCO, dimostrando le sue capacità.

Punti deboli

  • Addestramento ad alta intensità di risorse: I modelli YOLOv7 più grandi possono essere computazionalmente impegnativi e richiedere una notevole quantità di memoria GPU per l'addestramento.
  • Versatilità limitata: Sebbene il repository ufficiale includa estensioni per attività come la stima della posa e la segmentazione, non è un framework multi-task integrato come i modelli Ultralytics più recenti.
  • Complessità: L'architettura e la pipeline di training sono complesse, il che può rappresentare una barriera per gli sviluppatori che desiderano personalizzare o comprendere a fondo il modello.

Scopri di più su YOLOv7

Analisi delle prestazioni: Velocità e precisione

Quando si confrontano EfficientDet e YOLOv7, la differenza chiave risiede nei loro obiettivi di ottimizzazione. EfficientDet dà la priorità all'efficienza dei parametri e dei FLOP, mentre YOLOv7 si concentra sulla massimizzazione della velocità di inferenza (FPS) su hardware GPU per una data accuratezza.

Modello dimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT
(ms)
parametri
(M)
FLOPs
(B)
YOLOv7l 640 51.4 - 6.84 36.9 104.7
YOLOv7x 640 53.1 - 11.57 71.3 189.9
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 trarre diverse conclusioni:

  • Precisione: Il modello EfficientDet più grande (d7) raggiunge il mAP più alto, ma YOLOv7x è molto vicino.
  • Efficienza: I modelli EfficientDet sono eccezionalmente leggeri in termini di parametri e FLOP, specialmente le varianti più piccole. EfficientDet-d0 è un chiaro vincitore per gli ambienti con risorse limitate.
  • Velocità: I modelli YOLOv7 sono significativamente più veloci su GPU (TensorRT). Ad esempio, YOLOv7l raggiunge una mAP di 51,4 a soli 6,84 ms, mentre il comparabile EfficientDet-d5 raggiunge una mAP di 51,5 ma impiega un tempo molto più lungo di 67,86 ms. Questo rende YOLOv7 molto più adatto per applicazioni in tempo reale che richiedono un'elevata produttività.

Perché scegliere i modelli Ultralytics YOLO?

Sebbene YOLOv7 offra prestazioni eccellenti, i modelli Ultralytics YOLO più recenti come YOLOv8 e YOLO11 offrono vantaggi significativi:

  • Facilità d'uso: I modelli Ultralytics sono dotati di un'API Python semplificata, un'ampia documentazione e semplici comandi CLI, semplificando l'addestramento, la convalida e la distribuzione.
  • Ecosistema ben manutenuto: Approfitta di sviluppo attivo, una forte community open-source, aggiornamenti frequenti e integrazione con strumenti come Ultralytics HUB per MLOps senza interruzioni.
  • Bilanciamento delle prestazioni: I modelli Ultralytics raggiungono un eccellente compromesso tra velocità e precisione, adatto a diversi scenari reali dai dispositivi edge ai server cloud.
  • Efficienza della memoria: I modelli Ultralytics YOLO sono progettati per un utilizzo efficiente della memoria durante l'addestramento e l'inferenza, spesso richiedendo meno memoria CUDA rispetto ai modelli basati su transformer o anche ad alcune varianti di EfficientDet o YOLOv7.
  • Versatilità: Modelli come YOLOv8 e YOLO11 supportano molteplici attività oltre al rilevamento oggetti, tra cui segmentazione, classificazione, stima della posa e rilevamento di oggetti orientati (OBB), offrendo una soluzione unificata.
  • Efficienza di addestramento: Approfitta di processi di addestramento efficienti, pesi pre-addestrati facilmente disponibili su dataset come COCO e tempi di convergenza più rapidi.

Conclusione

EfficientDet eccelle in scenari in cui l'efficienza dei parametri e dei FLOP è fondamentale, offrendo scalabilità tra diversi budget di risorse. YOLOv7 spinge i confini del rilevamento di oggetti in tempo reale, offrendo velocità e precisione eccezionali, in particolare su hardware GPU, sfruttando tecniche di addestramento avanzate.

Tuttavia, per gli sviluppatori alla ricerca di un framework moderno, versatile e facile da usare, con prestazioni elevate, documentazione eccellente e un ecosistema completo che supporti diverse attività di visione artificiale, i modelli Ultralytics come YOLOv8 e YOLO11 rappresentano spesso una scelta più interessante per un'ampia gamma di applicazioni, dalla ricerca all'implementazione in produzione.

Altri confronti tra modelli

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



📅 Creato 1 anno fa ✏️ Aggiornato 1 mese fa

Commenti