Vai al contenuto

EfficientDet vs. PP-YOLOE+: Un confronto tecnico

Nell'evoluzione della computer vision, pochi confronti evidenziano il cambiamento della filosofia di progettazione in modo così chiaro come il contrasto tra EfficientDet di Google e PP-YOLOE+ di Baidu. Mentre EfficientDet ha segnato una pietra miliare nell'efficienza dei parametri attraverso il compound scaling, PP-YOLOE+ rappresenta l'era moderna del rilevamento ad alta velocità e senza ancoraggi, ottimizzato per l'inferenza GPU .

Questa analisi approfondisce le loro architetture, le metriche delle prestazioni e le applicazioni pratiche per aiutare gli sviluppatori a scegliere lo strumento giusto per le loro specifiche esigenze di rilevamento degli oggetti.

Analisi comparativa delle prestazioni

Il panorama delle prestazioni è cambiato in modo significativo tra il rilascio di questi due modelli. EfficientDet si concentra sulla minimizzazione delle FLOP (operazioni in virgola mobile) e del numero di parametri, rendendolo teoricamente efficiente. Tuttavia, PP-YOLOE+ è stato progettato per ottenere una velocità di inferenza pratica su acceleratori hardware come le GPU, sfruttando le ottimizzazioni di TensorRT .

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
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

I dati rivelano un aspetto critico: mentre EfficientDet-d0 è leggero, le varianti più grandi (d5-d7) soffrono di una latenza significativa. Al contrario, PP-YOLOE+l raggiunge una precisione media (mAP) paragonabile a quella di EfficientDet-d6 (52,9 contro 52,6), ma viene eseguito più velocemente di 10 volte su una GPU T4 (8,36 ms contro 89,29 ms).

EfficientDet: Efficienza scalabile

EfficientDet è stato introdotto dal team di Google Brain AutoML con l'obiettivo di rompere i vincoli di efficienza dei rilevatori precedenti. Si basa sulla struttura portante di EfficientNet, applicando un metodo di scalatura composto che scala uniformemente risoluzione, profondità e larghezza.

Autori: Mingxing Tan, Ruoming Pang e Quoc V. Le
Organizzazione:Google
Data: 2019-11-20
Arxiv:1911.09070
GitHub:google
Docs:README

Caratteristiche architettoniche principali

  1. BiFPN (Bidirectional Feature Pyramid Network): A differenza delle FPN tradizionali, la BiFPN consente una facile fusione di caratteristiche multiscala. Introduce pesi apprendibili per imparare l'importanza delle diverse caratteristiche in ingresso, applicando ripetutamente la fusione di caratteristiche multiscala dall'alto verso il basso e dal basso verso l'alto.
  2. Scala composta: Un singolo coefficiente composto $\phi$ controlla l'ampiezza, la profondità e la risoluzione della rete, consentendo una famiglia di modelli (da D0 a D7) che si rivolgono a diversi vincoli di risorse.

Punti di forza e debolezze

  • Punti di forza: Eccellente efficienza dei parametri; efficace per le CPU a basso consumo dove i FLOP sono il collo di bottiglia principale; approccio scalare altamente strutturato.
  • Punti deboli: Le connessioni complesse in BiFPN e le convoluzioni separabili in profondità sono spesso limitate in memoria sulle GPU, il che porta a una latenza di inferenza più lenta nel mondo reale nonostante il basso numero di FLOP.

Lo sapevate?

L'uso intensivo di EfficientDet di convoluzioni separabili in profondità riduce il numero di parametri in modo significativo, ma può portare a un utilizzo inferiore GPU rispetto alle convoluzioni standard utilizzate in modelli come YOLO.

Scopri di più su EfficientDet

PP-YOLOE+: Lo sfidante senza ancore

Rilasciato da Baidu come parte dell'ecosistema PaddlePaddle , PP-YOLOE+ è un'evoluzione di PP-YOLOv2. Mira a superare le prestazioni di YOLOv5 e YOLOX adottando un meccanismo completamente privo di ancore e strategie di allenamento avanzate.

Autori: PaddlePaddle Authors
Organization:Baidu
Date: 2022-04-02
Arxiv:2203.16250
GitHub:PaddlePaddle
Docs:PP-YOLOE+ Configs

Caratteristiche architettoniche principali

  1. Design senza ancore: Eliminando le caselle di ancoraggio predefinite, PP-YOLOE+ semplifica la testa di rilevamento e riduce l'onere di regolazione degli iperparametri.
  2. CSPRepResNet: La struttura portante utilizza RepResBlock, che combina i vantaggi delle connessioni residue durante l'addestramento e le riparametrizza in una struttura semplificata per l'inferenza.
  3. TAL (Task Alignment Learning): Una strategia avanzata di assegnazione delle etichette che allinea dinamicamente il punteggio di classificazione e la qualità della localizzazione.

Punti di forza e debolezze

  • Punti di forza: Accuratezza all'avanguardia sul set di datiCOCO ; estremamente veloce su hardware TensorRT; design innovativo della testa.
  • Punti deboli: Fortemente legato al framework PaddlePaddle , che può porre problemi di integrazione per i team standardizzati su PyTorch; numero di parametri leggermente superiore per i modelli piccoli rispetto a EfficientDet-d0.

Il vantaggio di Ultralytics : Una soluzione unificata

Mentre EfficientDet offre un'efficienza teorica e PP-YOLOE+ fornisce una velocità pura, gli sviluppatori spesso richiedono una soluzione che bilanci le prestazioni con l'usabilità e il supporto dell'ecosistema. È qui che Ultralytics YOLO11 eccelle.

A differenza della natura specialistica dei modelli di confronto, i modelli di Ultralytics sono progettati per il moderno flusso di lavoro MLOps, offrendo un'esperienza PyTorch nativa che è facile da addestrare e distribuire.

Perché scegliere Ultralytics YOLO11?

  • Facilità d'uso: Con un'attenzione particolare all'esperienza degli sviluppatori, Ultralytics consente di passare dall'installazione all'inferenza in tre righe di codice Python . Non è necessario compilare manualmente complesse librerie di operatori o convertire formati proprietari.
  • Versatilità: Un unico framework supporta il rilevamento degli oggetti, la segmentazione delle istanze, la stima della posa, la classificazione e le OBB (Oriented Bounding Boxes).
  • Equilibrio delle prestazioni: YOLO11 ottimizza il compromesso tra velocità e precisione, offrendo capacità di inferenza in tempo reale sia su dispositivi Edge (come Jetson) che su GPU cloud.
  • Requisiti di memoria: I modelliYOLO Ultralytics utilizzano architetture ottimizzate che in genere richiedono meno memoria CUDA durante l'addestramento rispetto alle alternative basate su trasformatori o alle vecchie reti di caratteristiche multiscala.
  • Ecosistema ben curato: Sostenuto da una vivace comunità open-source, il repository riceve aggiornamenti frequenti, garantendo la compatibilità con le ultime versioni di PyTorch, CUDA e Python.
  • Efficienza di formazione: Gli utenti possono sfruttare i pesi pre-addestrati prontamente disponibili per perfezionare rapidamente i modelli su set di dati personalizzati, riducendo in modo significativo i requisiti dei dati di addestramento e i costi di calcolo.

Esempio di codice: Come iniziare con YOLO11

L'esecuzione di un modello all'avanguardia non dovrebbe essere complicata. Ecco come è possibile implementare facilmente il rilevamento degli oggetti con Ultralytics:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

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

# Display the results
results[0].show()

Scopri di più su YOLO11

Conclusione

La scelta tra EfficientDet e PP-YOLOE+ dipende in larga misura dai vincoli hardware e dai requisiti di legacy.

  • EfficientDet rimane un valido riferimento per la ricerca sullo scaling efficiente dei parametri ed è adatto a scenari specifici di CPU in cui la larghezza di banda della memoria è limitata.
  • PP-YOLOE+ è una scelta superiore per l'implementazione di GPU ad alte prestazioni, in quanto offre un compromesso latenza-accuratezza significativamente migliore se si è in grado di navigare nell'ecosistema PaddlePaddle .

Tuttavia, per la stragrande maggioranza delle applicazioni reali, che vanno dall'analisi delle città intelligenti al monitoraggio dell'agricoltura, l'Ultralytics è un sistema di analisi che non può essere utilizzato per la maggior parte dei casi.Ultralytics YOLO11 è la scelta più pragmatica. Combina le innovazioni architettoniche dei moderni rilevatori anchor-free con un'esperienza d'uso impareggiabile, che consente di concentrarsi sulla risoluzione dei problemi aziendali piuttosto che sul debugging delle complessità del framework.

Scoprire altri modelli

Per approfondire l'argomento, si consiglia di esaminare questi confronti correlati:


Commenti