Vai al contenuto

YOLOv7 EfficientDet: un'analisi approfondita delle architetture di rilevamento oggetti in tempo reale

L'evoluzione del rilevamento degli oggetti è stata caratterizzata da un costante braccio di ferro tra accuratezza ed efficienza. Due contendenti di peso in questo campo sono YOLOv7, una pietra miliare nella famiglia "You Only Look Once" rilasciata nel 2022, ed EfficientDet, l'architettura scalabile Google della fine del 2019. Sebbene entrambi i modelli abbiano influenzato in modo significativo il campo della visione artificiale, affrontano il problema del rilevamento degli oggetti da filosofie architetturali fondamentalmente diverse.

Questa guida fornisce un confronto tecnico completo per aiutare sviluppatori, ricercatori e ingegneri a selezionare lo strumento più adatto ai loro specifici progetti di visione artificiale. Esploreremo le loro architetture uniche, i parametri di riferimento delle prestazioni, le metodologie di formazione e gli scenari di implementazione ideali.

Panoramica e Origini del Modello

Prima di approfondire le metriche, è fondamentale comprendere il pedigree di questi modelli.

YOLOv7: La Potenza del Bag-of-Freebies

Rilasciato nel luglio 2022, YOLOv7 i confini delle possibilità offerte dai rilevatori in tempo reale. Ha introdotto innovazioni architetturali progettate per ottimizzare il processo di addestramento senza aumentare i costi di inferenza, un concetto che gli autori hanno definito "trainable bag-of-freebies" (sacchetto di omaggi addestrabile).

Scopri di più su YOLOv7

EfficientDet: Scalabile ed Efficiente

Sviluppato dal team Google , EfficientDet si è concentrato su un approccio sistematico al ridimensionamento. Ha combinato una nuova rete piramidale bidirezionale ponderata (BiFPN) con un metodo di ridimensionamento composto che ridimensiona uniformemente risoluzione, profondità e larghezza.

Differenze Architetturali

La differenza fondamentale tra questi due modelli risiede nel modo in cui gestiscono l'aggregazione delle caratteristiche e il ridimensionamento del modello.

Architettura YOLOv7

YOLOv7 la rete Extended Efficient Layer Aggregation Network (E-ELAN). Questa architettura consente al modello di apprendere caratteristiche più diversificate controllando i percorsi di gradiente più brevi e più lunghi, migliorando la capacità di apprendimento della rete senza distruggere il percorso di gradiente originale.

Le caratteristiche architettoniche principali includono:

  • Ridimensionamento del modello: a differenza del ridimensionamento composto di EfficientDet, YOLOv7 simultaneamente gli attributi dell'architettura (profondità e larghezza) nei modelli basati sulla concatenazione.
  • Testa ausiliaria da grossolana a fine: impiega una supervisione approfondita in cui una testa ausiliaria genera etichette grossolane per l'addestramento, mentre la testa principale si occupa della messa a punto.
  • Riparametrizzazione: YOLOv7 livelli RepConv che semplificano le complesse strutture di addestramento in convoluzioni standard per un'inferenza più rapida, una tecnica fondamentale per l'inferenza in tempo reale.

Architettura di EfficientDet

EfficientDet è basato sulla struttura di EfficientNet e introduce il BiFPN.

Le caratteristiche architettoniche principali includono:

  • BiFPN: una rete piramidale bidirezionale ponderata che consente una fusione delle caratteristiche multiscala facile e veloce. Apprende l'importanza delle diverse caratteristiche di input e applica ripetutamente la fusione delle caratteristiche multiscala top-down e bottom-up.
  • Scalabilità composta: un coefficiente semplice ma efficace che scala congiuntamente la larghezza, la profondità e la risoluzione della rete, consentendo una famiglia di modelli (da D0 a D7) mirati a diversi vincoli di risorse.

Confronto delle prestazioni

Quando confrontiamo le prestazioni, prendiamo in considerazione la precisione media (mAP) sul COCO rispetto alla velocità di inferenza.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Analisi Critica

  1. Latenza: YOLOv7 significativamente più veloce su GPU . Ad esempio, YOLOv7x raggiunge mAP del 53,1% mAP una TensorRT di ~11,5 ms, mentre EfficientDet-d7 richiede ~128 ms per raggiungere un mAP leggermente superiore, pari al 53,7%. Ciò rende YOLOv7 10 volte più veloce in scenari ad alta precisione.
  2. Efficienza: EfficientDet-d0 a d2 sono estremamente leggeri in termini di FLOP, il che li rende adatti a CPU a bassissimo consumo energetico dove GPU non è disponibile. Tuttavia, passando a D4 e oltre, i guadagni in termini di efficienza diminuiscono rispetto alle YOLO .
  3. Precisione: sebbene EfficientDet-d7 raggiunga una precisione impressionante, il costo computazionale è proibitivo per le applicazioni in tempo reale. YOLOv7 un compromesso migliore, mantenendo un'elevata precisione senza sacrificare le capacità in tempo reale.

Formazione ed ecosistema

L'ecosistema che circonda un modello ne determina la praticità per gli sviluppatori. È qui che Ultralytics offre un valore aggiunto sostanziale.

Ecosistema EfficientDet

EfficientDet è principalmente radicato nell TensorFlow . Sebbene potente, integrarlo nelle moderne pipeline spesso comporta la gestione di dipendenze complesse.

  • Complessità: le attivazioni BiFPN e swish possono essere più difficili da ottimizzare su alcuni acceleratori edge rispetto alle convoluzioni standard.
  • Manutenzione: molti repository vengono aggiornati con minore frequenza rispetto al rapido ciclo di rilascio della YOLO .

Vantaggi dell'ecosistema Ultralytics

Uno dei vantaggi principali dell'utilizzo Ultralytics come YOLOv7 e le versioni più recenti) è l'ecosistema ben mantenuto.

  • Facilità d'uso: Ultralytics Python unificata che semplifica l'addestramento, la convalida e l'implementazione.
  • Efficienza della formazione: YOLO utilizzano in modo efficace GPU standard, riducendo i tempi e i costi associati alla formazione su set di dati personalizzati.
  • Requisiti di memoria: rispetto ai vecchi rilevatori a due stadi o ai modelli pesanti basati su trasformatori, YOLOv7 richiede YOLOv7 meno CUDA durante l'addestramento, consentendo batch di dimensioni maggiori su hardware di livello consumer.

Formazione semplificata con Ultralytics

L'addestramento di un YOLO è semplice con Python . Ecco come avviare un ciclo di addestramento:

from ultralytics import YOLO

# Load a model
model = YOLO("yolov7.pt")  # load a pretrained model

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

Raccomandazioni sui casi d'uso

Quando scegliere YOLOv7

YOLOv7 la scelta preferita per le applicazioni in tempo reale in cui la latenza è fondamentale.

  • Guida autonoma: rileva pedoni, veicoli e segnali stradali con frame rate elevati, garantendo decisioni sicure.
  • Robotica: ideale per integrare la visione artificiale nella robotica, consentendo ai robot di navigare e interagire con ambienti dinamici.
  • Analisi video: elabora più flussi video contemporaneamente per analisi di sicurezza o di vendita al dettaglio senza richiedere cluster di elaborazione di grandi dimensioni.

Quando scegliere EfficientDet

EfficientDet rimane rilevante per specifici scenari a bassa potenza o laddove la dimensione del modello (in MB) è il vincolo principale piuttosto che la latenza.

  • App mobili: le varianti più piccole come D0-D1 sono adatte ai dispositivi mobili in cui lo spazio di archiviazione è strettamente limitato.
  • Sistemi legacy: in ambienti già fortemente ottimizzati per gli ecosistemi TensorFlow, EfficientDet potrebbe offrire un'integrazione più semplice.
  • Ricerca accademica: utile per studiare gli effetti delle tecniche di ridimensionamento dei composti o di fusione delle caratteristiche, dove l'inferenza in tempo reale non è l'obiettivo principale.

Il futuro: aggiornamento a YOLO26

Sebbene YOLOv7 uno strumento valido, il campo della visione artificiale è in rapida evoluzione. Per gli sviluppatori alla ricerca delle prestazioni migliori in assoluto, il modello YOLO26, rilasciato nel gennaio 2026, rappresenta la tecnologia più avanzata.

YOLO26 si basa sull'eredità dei precedenti YOLO con un design end-to-end NMS. Ciò elimina la necessità della post-elaborazione Non-Maximum Suppression (NMS), semplificando le pipeline di implementazione e aumentando la velocità di inferenza.

I principali vantaggi di YOLO26 rispetto a YOLOv7 EfficientDet includono:

  • MuSGD Optimizer: un ibrido tra SGD Muon, che introduce innovazioni nell'addestramento LLM alla visione artificiale per un addestramento più stabile e una convergenza più rapida.
  • Ottimizzazione edge: con la rimozione della Distribution Focal Loss (DFL), YOLO26 è fino al 43% più veloce sulla CPU, rendendolo ancora più adatto ai dispositivi edge rispetto a EfficientDet.
  • Maggiore versatilità: oltre al rilevamento, YOLO26 offre prestazioni all'avanguardia nella stima della posa, nella segmentazione delle istanze e nell'Oriented Bounding Box (OBB), il tutto all'interno di un unico framework.
  • ProgLoss + STAL: le funzioni di perdita migliorate offrono notevoli miglioramenti nel riconoscimento di oggetti di piccole dimensioni, fondamentale per l'IoT e le immagini aeree.

Scopri di più su YOLO26

Conclusione

Sia YOLOv7 EfficientDet si sono assicurati un posto nella storia della visione artificiale. EfficientDet ha introdotto eleganti principi di scalabilità, mentre YOLOv7 l'approccio "bag-of-freebies" per la velocità in tempo reale. Tuttavia, per le moderne pipeline di produzione che richiedono equilibrio delle prestazioni, facilità d'uso e versatilità, Ultralytics , incarnato da YOLOv7 dal più recente YOLO26, offre un vantaggio distintivo.

Con requisiti di memoria inferiori durante la formazione e esportazione senza interruzioni in formati come ONNX e TensorRT, Ultralytics garantiscono che il percorso dal set di dati alla distribuzione sia il più agevole possibile.

Letture aggiuntive


Commenti