Vai al contenuto

DAMO-YOLO vs. EfficientDet: Un confronto tecnico

Nel panorama in rapida evoluzione della computer vision, la scelta della giusta architettura di rilevamento degli oggetti è fondamentale per il successo delle applicazioni. Questa analisi completa mette a confronto YOLO, un modello ad alte prestazioni di Alibaba, con EfficientDet, un'architettura scalabile ed efficiente di Google. Entrambi i modelli hanno introdotto innovazioni significative nel campo, affrontando l'eterno compromesso tra velocità, precisione e costo computazionale.

Panoramica dei modelli

Prima di immergersi nelle metriche delle prestazioni, è essenziale comprendere il pedigree e la filosofia architettonica alla base di ciascun modello.

DAMO-YOLO

Sviluppato dal gruppo Alibaba, YOLO (Distillation-Enhanced Neural Architecture Search-based YOLO) si concentra sulla massimizzazione della velocità di inferenza senza compromettere la precisione. Introduce tecnologie come Neural Architecture Search (NAS) per le dorsali, un'efficiente RepGFPN (Reparameterized Generalized Feature Pyramid Network) e una testa di rilevamento leggera nota come ZeroHead.

YOLO Dettagli:

Scopri di più su DAMO-YOLO

EfficientDet

EfficientDet, creato dal team di Google Brain, ha rivoluzionato il rilevamento degli oggetti proponendo un metodo di scalatura composto. Questo approccio scala uniformemente la risoluzione, la profondità e l'ampiezza della struttura portante, della rete di caratteristiche e delle reti di predizione. È dotato di BiFPN (Bi-directional Feature Pyramid Network), che consente una fusione semplice e veloce delle caratteristiche.

Dettagli EfficientDet:

Scopri di più su EfficientDet

Analisi delle prestazioni: Velocità, precisione ed efficienza

Il grafico e la tabella seguenti forniscono un confronto quantitativo dei modelli EfficientDet e YOLO sul datasetCOCO . Questi benchmark evidenziano i diversi obiettivi di ottimizzazione di ciascuna architettura.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

Punti chiave

Dai dati, possiamo osservare punti di forza distinti per ogni famiglia di modelli:

  1. Latenza GPU : YOLO domina nella velocità di inferenza GPU . Ad esempio, DAMO-YOLOm raggiunge un precisione mediamAP) di 49,2 con una latenza di soli 5,09 ms su una GPU T4. Al contrario, EfficientDet-d4, con un mAP simile di 49,7, è significativamente più lento, con 33,55 ms.
  2. Parametro Efficienza: EfficientDet è estremamente leggero in termini di parametri e di operazioni in virgola mobile (FLOP). EfficientDet-d0 utilizza solo 3,9 milioni di parametri, il che lo rende altamente efficiente dal punto di vista dello storage, anche se questo non si traduce sempre in una maggiore velocità di inferenza sulle moderne GPU rispetto a modelli ottimizzati per l'architettura come YOLO.
  3. PrestazioniCPU : EfficientDet fornisce benchmark affidabili CPU , suggerendo che rimane un'opzione valida per l'hardware legacy in cui l'accelerazione GPU non è disponibile.

Nota di architettura

Il vantaggio in termini di velocità di YOLO deriva dall'ottimizzazione specifica per la latenza dell'hardware mediante la ricerca dell'architettura neurale (NAS), mentre EfficientDet ottimizza per i FLOP teorici, che non sempre sono correlati in modo lineare alla latenza del mondo reale.

Analisi Approfondita dell'Architettura

EfficientDet: Il potere della scalabilità composta

EfficientDet si basa sulla struttura portante di EfficientNet, che utilizza convoluzioni mobili a collo di bottiglia invertito (MBConv). La sua caratteristica distintiva è la BiFPN, una rete piramidale di caratteristiche pesate bidirezionale. A differenza delle FPN tradizionali, che sommano solo le caratteristiche dall'alto verso il basso, la BiFPN permette alle informazioni di fluire sia dall'alto verso il basso che dal basso verso l'alto, trattando ogni strato di caratteristiche con pesi apprendibili. Ciò consente alla rete di comprendere l'importanza delle diverse caratteristiche in ingresso.

Il modello scala utilizzando un coefficiente composto, phi, che aumenta uniformemente l'ampiezza della rete, la profondità e la risoluzione, in modo che i modelli più grandi (come d7) rimangono equilibrati tra precisione ed efficienza.

YOLO: innovazione orientata alla velocità

YOLO adotta un approccio diverso, concentrandosi sulla latenza in tempo reale. Utilizza il MAE-NAS (Method of Automating Architecture Search) per trovare la struttura ottimale della dorsale in base a specifici vincoli di latenza.

Le principali innovazioni includono:

  • RepGFPN: Un miglioramento del GFPN standard, migliorato con la riparametrizzazione per ottimizzare i percorsi di fusione delle caratteristiche per la velocità.
  • ZeroHead: una testa di rilevamento semplificata che riduce l'onere computazionale solitamente associato agli strati di predizione finale.
  • AlignedOTA: una strategia di assegnazione delle etichette che risolve il disallineamento tra i compiti di classificazione e regressione durante l'addestramento.

Casi d'uso e applicazioni

Le differenze architettoniche determinano i punti di forza di ciascun modello negli scenari reali.

  • EfficientDet è ideale per gli ambienti con limitazioni di memoria o per le applicazioni che si basano sull'inferenza CPU , dove la minimizzazione dei FLOP è fondamentale. Viene spesso utilizzato nelle applicazioni mobili e nei sistemi embedded, dove la durata della batteria (correlata ai FLOP) è una preoccupazione primaria.
  • YOLO eccelle nell'automazione industriale, nella guida autonoma e nella sorveglianza della sicurezza, dove è richiesta l'inferenza in tempo reale su GPU. La sua bassa latenza consente di elaborare flussi video ad alta velocità senza perdita di fotogrammi.

Il vantaggio di Ultralytics

Mentre YOLO ed EfficientDet sono modelli capaci, il modello Ultralytics offre una soluzione più completa per lo sviluppo dell'IA moderna. Modelli come il modernissimo YOLO11 e il versatile YOLOv8 offrono vantaggi significativi in termini di usabilità, prestazioni e funzionalità.

Scopri di più su YOLO11

Perché scegliere Ultralytics?

  • Equilibrio delle prestazioni: I modelli Ultralytics sono progettati per offrire il miglior compromesso tra velocità e precisione. YOLO11, ad esempio, offre una mAP superiore rispetto alle generazioni precedenti, pur mantenendo un'eccezionale velocità di inferenza sia su CPU che su GPU.
  • Facilità d'uso: Con la filosofia "batterie incluse", Ultralytics fornisce una semplice API Python e una potente interfaccia a riga di comando (CLI). Gli sviluppatori possono passare dall'installazione alla formazione in pochi minuti.

    from ultralytics import YOLO
    
    # Load a pre-trained YOLO11 model
    model = YOLO("yolo11n.pt")
    
    # Run inference on an image
    results = model("path/to/image.jpg")
    
  • Ecosistema ben curato: A differenza di molti modelli di ricerca che vengono abbandonati dopo la pubblicazione, Ultralytics mantiene un repository attivo con aggiornamenti frequenti, correzioni di bug e supporto della comunità tramite i problemi e le discussioni su GitHub.

  • Versatilità: I modelli Ultralytics non si limitano alle bounding box. Supportano in modo nativo la segmentazione delle istanze, la stima delle pose, la classificazione delle immagini e le bounding box orientate (OBB), il tutto in un unico framework unificato.
  • Efficienza della memoria: I modelli Ultralytics YOLO sono progettati per essere efficienti in termini di memoria durante l'addestramento. Ciò contrasta con i modelli basati su trasformatori o con le architetture più vecchie, che spesso richiedono una notevole quantità di memoria CUDA , rendendo i modelli Ultralytics accessibili su hardware di livello consumer.
  • Efficienza della formazione: Il framework supporta funzioni come la precisione mista automatica (AMP), l'addestramento GPU e la cache, assicurando che l 'addestramento di set di dati personalizzati sia veloce ed economico.

Conclusione

Sia YOLO che EfficientDet rappresentano pietre miliari nella storia della computer vision. EfficientDet ha dimostrato la potenza della scalatura di principio e dell'efficiente fusione di funzioni, mentre YOLO ha spinto i confini della ricerca di architetture con latenza consapevole.

Tuttavia, per gli sviluppatori che cercano una soluzione pronta per la produzione che combini prestazioni elevate e un'esperienza eccezionale per gli sviluppatori, Ultralytics YOLO11 è la scelta consigliata. La sua integrazione in un robusto ecosistema, il supporto per molteplici attività di computer vision e i continui miglioramenti lo rendono lo strumento più pratico per trasformare i dati visivi in informazioni utili.

Esplora altri confronti tra modelli

Per aiutarvi ulteriormente nel processo di selezione dei modelli, esplorate questi confronti correlati all'interno della documentazione di Ultralytics :


Commenti