Vai al contenuto

EfficientDet vs YOLOv7: Evoluzione del rilevamento di oggetti in tempo reale

Il panorama della visione artificiale è stato plasmato dalla continua ricerca di un equilibrio tra accuratezza ed efficienza computazionale. Due filosofie distinte in questa evoluzione sono rappresentate da EfficientDet, una famiglia di modelli incentrati sull'efficienza scalabile, e YOLOv7, che ha dato priorità alla velocità di inferenza in tempo reale attraverso l'ottimizzazione dell'architettura.

Questo confronto esplora le specifiche tecniche, le differenze architetturali e le metriche prestazionali di questi due modelli influenti, sottolineando al contempo perché soluzioni moderne come YOLO26 sono diventate il nuovo standard per gli sviluppatori.

EfficientDet: Efficienza Scalabile

Rilasciato alla fine del 2019, EfficientDet è stato progettato per risolvere le inefficienze dei rilevatori precedenti, in cui il ridimensionamento veniva spesso effettuato manualmente o in modo non uniforme. Ha introdotto un metodo sistematico per ridimensionare contemporaneamente risoluzione, profondità e larghezza.

Panoramica tecnica

Architettura e caratteristiche principali

EfficientDet utilizza una struttura EfficientNet abbinata a una rete piramidale bidirezionale ponderata (BiFPN). La BiFPN consente una fusione multi-scala delle caratteristiche facile e veloce, correggendo lo squilibrio che si verifica quando caratteristiche di input diverse contribuiscono in modo diseguale all'output.

Il modello impiega il Compound Scaling, che utilizza un semplice coefficiente per scalare la rete backbone, BiFPN, la rete class/box e la risoluzione. Sebbene questo approccio garantisca un'elevata precisione per un determinato numero di parametri (FLOP), le complesse interconnessioni nei livelli BiFPN possono comportare una maggiore latenza di inferenza su hardware non specificamente ottimizzato per tali modelli di accesso alla memoria irregolari.

YOLOv7: La potenza del "Bag-of-Freebies"

Lanciato nel luglio 2022, YOLOv7 un significativo balzo in avanti nella famiglia YOLO You Only Look Once). A differenza di EfficientDet, incentrato sull'efficienza dei parametri, YOLOv7 sulla velocità di inferenza, ampliando i confini di ciò che era possibile per il rilevamento di oggetti in tempo reale su GPU standard.

Panoramica tecnica

Architettura e caratteristiche principali

YOLOv7 la rete Extended Efficient Layer Aggregation Network (E-ELAN). Questa architettura controlla i percorsi di gradiente più brevi e più lunghi per consentire alla rete di apprendere caratteristiche più diversificate senza distruggere il percorso di gradiente originale.

Un concetto fondamentale di YOLOv7 il "trainable bag-of-freebies", ovvero metodi di ottimizzazione che migliorano la precisione durante l'addestramento senza aumentare il costo dell'inferenza. Ciò include tecniche come la riparametrizzazione del modello, in cui una struttura di addestramento complessa viene semplificata in un insieme ottimizzato di convoluzioni per l'implementazione. Ciò garantisce che, pur mantenendo la robustezza del processo di addestramento, il modello finale implementato sia eccezionalmente veloce.

Scopri di più su YOLOv7

Confronto delle prestazioni

La tabella seguente mette a confronto le prestazioni dei vari YOLOv7 EfficientDet e YOLOv7 . Sebbene i modelli EfficientDet (d0-d7) mostrino una buona efficienza dei parametri, la loro latenza su hardware standard è significativamente superiore rispetto YOLOv7 , ottimizzate per GPU ad alta velocità.

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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Analisi delle metriche

I dati evidenziano una distinzione fondamentale: latenza vs. FLOP. Sebbene EfficientDet-d7 raggiunga un elevato mAP del 53,7%, lo fa con una latenza superiore a 128 ms su una GPU T4. Al contrario, YOLOv7x raggiunge un mAP comparabile del 53,1%, ma funziona a soli 11,57 ms, ovvero più di 10 volte più velocemente. Per applicazioni reali come i veicoli autonomi o l'analisi video, questo vantaggio in termini di velocità è spesso il fattore decisivo.

La latenza è importante

Sebbene i FLOP (Floating Point Operations) siano un buon parametro teorico per misurare la complessità, non sempre sono correlati in modo lineare alla velocità di inferenza. Architetture come BiFPN possono avere costi di accesso alla memoria elevati che rallentano il tempo di esecuzione effettivo, mentre le strutture CNN semplici YOLO sono altamente ottimizzate per GPU .

Il vantaggio di Ultralytics: ecosistema e usabilità

La scelta di un modello dipende spesso tanto dall'ecosistema software quanto dai parametri grezzi. È qui che il passaggio ai Ultralytics offre vantaggi sostanziali rispetto ai repository più vecchi.

Esperienza utente semplificata

EfficientDet si basa su TensorFlow meno recenti che possono essere difficili da integrare nel moderno PyTorch . Al contrario, Ultralytics Python unificata che tratta l'addestramento, la convalida e l'implementazione dei modelli come attività semplici e standardizzate.

Efficienza dell'addestramento e memoria

Uno dei principali vantaggiYOLO Ultralytics è rappresentato dai requisiti di memoria. Grazie a caricatori di dati ottimizzati e a un design architettonico efficiente, YOLO consumano in genere meno CUDA durante l'addestramento rispetto alle complesse reti multi-ramo. Ciò consente agli sviluppatori di utilizzare batch di dimensioni maggiori, stabilizzando l'addestramento e accelerando la convergenza.

from ultralytics import YOLO

# Load a model (YOLOv7 or newer)
model = YOLO("yolov7.pt")

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

Versatilità oltre ogni immaginazione

Sebbene EfficientDet sia principalmente un rilevatore di oggetti, Ultralytics supporta una gamma più ampia di attività, tra cui la segmentazione delle istanze, la stima della posa e i riquadri di delimitazione orientati (OBB). Questa versatilità consente ai team di utilizzare un unico framework per diverse sfide di visione artificiale.

Il Nuovo Standard: YOLO26

Sebbene YOLOv7 il massimo della tecnologia del 2022, il settore è in rapida evoluzione. Per i nuovi progetti, consigliamo YOLO26, rilasciato nel gennaio 2026. Si basa sui punti di forza delle generazioni precedenti, introducendo al contempo cambiamenti architettonici fondamentali.

  • Progettazione end-to-end NMS: a differenza di YOLOv7 EfficientDet, che richiedono una post-elaborazione con soppressione non massima (NMS), YOLO26 è nativamente end-to-end. Ciò elimina i colli di bottiglia dovuti alla latenza e semplifica la logica di implementazione, una svolta pionieristica introdotta in YOLOv10.
  • MuSGD Optimizer: ispirato al Kimi K2 di Moonshot AI, questo ottimizzatore combina la stabilità SGD la velocità del Muon, apportando innovazioni nell'addestramento LLM alle attività di visione.
  • Prestazioni edge potenziate: grazie all'eliminazione della perdita focale di distribuzione (DFL) e a ottimizzazioni specifiche, YOLO26 è fino al 43% più veloce sulla CPU, rendendolo di gran lunga superiore a EfficientDet per dispositivi edge come Raspberry Pi o telefoni cellulari.
  • ProgLoss + STAL: le nuove funzioni di perdita migliorano significativamente il riconoscimento di oggetti di piccole dimensioni, risolvendo una debolezza comune nei precedenti rilevatori monostadio.

Scopri di più su YOLO26

Applicazioni nel mondo reale

Quando scegliere EfficientDet

EfficientDet rimane rilevante per i sistemi legacy profondamente integrati conTensorFlow o per specifiche ricerche accademiche sul ridimensionamento dei composti. Le sue varianti più piccole (d0-d2) sono utili anche nei casi in cui il vincolo principale è lo spazio di archiviazione su disco (dimensione del peso del modello in MB) piuttosto che la velocità di esecuzione.

Quando scegliere YOLOv7

YOLOv7 una scelta eccellente per le pipeline di produzione esistenti che richiedono:

  • Analisi video: elaborazione di flussi ad alto FPS per approfondimenti in materia di sicurezza o vendita al dettaglio.
  • Robotica:integrazione della visione artificiale nella robotica, dove la bassa latenza è fondamentale per la navigazione.
  • Rilevamento generale: scenari che richiedono un'architettura matura e ampiamente supportata.

Quando passare a YOLO26

YOLO26 è la scelta ideale per praticamente tutte le nuove implementazioni, poiché offre:

  • Edge Computing: CPU superiori per applicazioni IoT e mobili.
  • Attività complesse: supporto nativo per segmentazione, posa e OBB.
  • Operazioni semplificate: il design NMS elimina una delle principali difficoltà nella post-elaborazione e nell'esportazione, garantendo che ciò che si vede durante la formazione sia esattamente ciò che si ottiene nella fase di implementazione.

Per i ricercatori e gli sviluppatori che desiderano rimanere all'avanguardia, il passaggio alla Ultralytics con YOLO26 garantisce l'accesso agli ultimi progressi in termini di stabilità della formazione, efficienza dei modelli e versatilità di implementazione.


Commenti