Vai al contenuto

EfficientDet vs. YOLOv8: un confronto tecnico tra i giganti del rilevamento di oggetti

Nel panorama in rapida evoluzione della computer vision, la scelta della giusta architettura è fondamentale per il successo del progetto. Questa analisi mette a confronto due modelli influenti: EfficientDet, una pietra miliare della ricerca di Google incentrata sull'efficienza dei parametri, e YOLOv8, un modello all'avanguardia di Ultralytics progettato per applicazioni in tempo reale e facilità d'uso.

Mentre EfficientDet ha introdotto concetti innovativi nella scalatura dei modelli, le nuove architetture come YOLOv8 e l'avanguardia YOLO11 hanno ridefinito gli standard di velocità, precisione e versatilità di implementazione.

Metriche delle prestazioni: Velocità, precisione ed efficienza

Quando si sceglie un modello per la produzione, gli sviluppatori devono soppesare i compromessi tra latenza di inferenza e precisione di rilevamento. La tabella seguente fornisce un confronto diretto delle metriche delle prestazioni sul set di datiCOCO .

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
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

Analisi dei dati

Le metriche evidenziano una netta divergenza nella filosofia di progettazione. EfficientDet riduce al minimo le FLOP (Floating Point Operations), storicamente correlate all'efficienza teorica. Tuttavia, in scenari pratici di inferenza in tempo reale, in particolare su GPU, YOLOv8 dimostra un vantaggio significativo.

  • LatenzaGPU : YOLOv8n è circa 2,6 volte più veloce di EfficientDet-d0 su una GPU T4 con TensorRTnonostante abbia FLOP leggermente superiori. Ciò è dovuto al fatto che l'architettura di YOLOv8 è ottimizzata per il parallelismo hardware, mentre le convoluzioni separabili in profondità di EfficientDet possono essere vincolate alla memoria sugli acceleratori.
  • Precisione in scala: All'estremità superiore, YOLOv8x raggiunge un livello superiore di mAP di 53,9 con una velocità di inferenza di 14,37 ms, superando drasticamente EfficientDet-d7, che si ferma a 128,07 ms per una precisione simile.
  • Dimensione del modello: YOLOv8n richiede meno parametri (3,2M) rispetto al più piccolo EfficientDet (3,9M), il che lo rende altamente efficiente dal punto di vista dello storage per le applicazioni mobili.

Efficienza e latenza

Un basso numero di FLOP non sempre equivale a un'esecuzione veloce. EfficientDet è altamente ottimizzato per i costi di calcolo teorici, ma YOLOv8 sfrutta le capacità di elaborazione in parallelo delle moderne GPU (come NVIDIA T4/A100) in modo più efficace, con conseguente riduzione della latenza nel mondo reale.

Filosofia dell'architettura e del design

La comprensione delle sfumature architettoniche spiega le differenze di prestazioni osservate sopra.

Dettagli EfficientDet

EfficientDet è stato costruito sul principio del Compound Scaling, che scala uniformemente la risoluzione, la profondità e la larghezza della rete. Utilizza una struttura portante EfficientNet e introduce la BiFPN (Bidirectional Feature Pyramid Network). La BiFPN consente la fusione ponderata delle caratteristiche, imparando quali sono le più importanti. Se da un lato si ottiene un'elevata efficienza dei parametri, dall'altro le complesse connessioni irregolari della BiFPN possono essere computazionalmente costose da eseguire su hardware che privilegiano modelli di accesso alla memoria regolari.

Scopri di più su EfficientDet

Dettagli YOLOv8

YOLOv8 rappresenta il passaggio a un meccanismo di rilevamento privo di ancoraggi, semplificando il processo di formazione ed eliminando la necessità di calcolare manualmente le caselle di ancoraggio. È dotato di una struttura portante CSPDarknet modificata con moduli C2f, che migliorano il flusso di gradienti e la ricchezza di funzioni rispetto alle versioni precedenti. La testa utilizza una struttura disaccoppiata, elaborando compiti di classificazione e regressione in modo indipendente, e impiega Task Aligned Assign per l'assegnazione dinamica delle etichette. Questa architettura è stata progettata specificamente per massimizzare il throughput sull'hardware GPU .

Scopri di più su YOLOv8

Il vantaggio di Ultralytics

Se EfficientDet è un risultato accademico notevole, l'ecosistema Ultralytics che circonda YOLOv8 e YOLO11 è un'altra cosa. YOLO11 offre vantaggi tangibili agli sviluppatori che si concentrano sulla consegna dei prodotti e sugli MLOP.

1. Facilità d'uso e di implementazione

L'implementazione di EfficientDet richiede spesso la navigazione in complessi file di configurazione e dipendenze all'interno dell'ecosistema TensorFlow . Al contrario, i modelli di Ultralytics privilegiano l'esperienza degli sviluppatori. Un modello può essere caricato, addestrato e distribuito con poche righe di Python.

from ultralytics import YOLO

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

# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
detection = model("https://ultralytics.com/images/bus.jpg")

2. Versatilità tra i compiti

EfficientDet è principalmente un'architettura per il rilevamento degli oggetti. Ultralytics YOLOv8 va ben oltre le semplici bounding box. All'interno dello stesso framework, gli utenti possono eseguire:

3. Formazione ed efficienza della memoria

L'addestramento dei moderni trasformatori o di complesse architetture multiscala può richiedere un notevole dispendio di risorse. I modelli Ultralytics YOLO sono rinomati per la loro efficienza di memoria.

  • Utilizzo ridotto della VRAM: Gli efficienti moduli C2f e le funzioni di perdita ottimizzate consentono a YOLOv8 di addestrarsi su GPU di fascia consumer dove altri modelli potrebbero incorrere in errori di Out-Of-Memory (OOM).
  • Convergenza rapida: Tecniche avanzate di incremento come Mosaic accelerano l'apprendimento, riducendo il numero di epoche necessarie per raggiungere un'elevata precisione.

Ecosistema integrato

I modelli Ultralytics si integrano perfettamente con strumenti quali Weights & Biases, Comete ClearML per il tracciamento degli esperimenti, nonché Roboflow per la gestione dei set di dati.

Applicazioni nel mondo reale

La scelta tra questi modelli spesso determina la fattibilità dell'implementazione in ambienti specifici.

  • Casi d'uso di EfficientDet: L'elevata efficienza dei parametri lo rende interessante per la ricerca accademica sulle leggi di scalabilità o per i sistemi legacy strettamente CPU, dove i FLOP sono il vincolo più stringente, anche se la latenza potrebbe comunque essere superiore a YOLOv8n.
  • Casi d'uso di YOLOv8 :
    • Sistemi autonomi: Gli elevati FPS (Frames Per Second) dei dispositivi Edge AI come NVIDIA Jetson rendono YOLOv8 ideale per droni e robotica.
    • Produzione: Utilizzato per il rilevamento dei difetti in tempo reale sulle linee di assemblaggio dove i millisecondi contano.
    • Vendita al dettaglio intelligente: Funzionalità come il conteggio e il tracciamento degli oggetti consentono di effettuare analisi avanzate per il layout dei negozi e la gestione delle code.

Conclusione

EfficientDet rimane un contributo significativo al campo del Deep Learning, dimostrando che una scalatura intelligente può produrre modelli compatti. Tuttavia, per la stragrande maggioranza delle applicazioni pratiche di oggi, Ultralytics YOLOv8 (e il più recente YOLO11) offrono una soluzione superiore.

La combinazione di un'incredibile velocità di inferenza su hardware moderno, di un SDK Python completo e della capacità di gestire molteplici attività di visione rende i modelli Ultralytics la scelta consigliata per gli sviluppatori. Che si tratti di costruire un sistema di allarme di sicurezza o di analizzare immagini satellitari, l'ecosistema Ultralytics fornisce gli strumenti per portare il progetto dall'ideazione alla produzione in modo efficiente.

Esplora altri modelli

Per una prospettiva più ampia sulle scelte di rilevamento degli oggetti, considerate questi confronti:


Commenti