Vai al contenuto

EfficientDet vs YOLOv6. YOLOv6: un'analisi approfondita delle architetture di rilevamento degli oggetti

La scelta del modello di rilevamento oggetti più adatto è spesso un compromesso tra accuratezza, latenza e vincoli di implementazione. Questo confronto esplora due pietre miliari significative nella storia della visione artificiale: EfficientDet, l'architettura scalabile Google che ha ridefinito l'efficienza dei parametri nel 2019, e YOLOv6.YOLOv6, il rilevatore di livello industriale di Meituan ottimizzato per GPU ad alta produttività nel 2023.

Confronto delle metriche di performance

La tabella seguente evidenzia le differenze di prestazioni tra le due architetture. Mentre EfficientDet si concentra sull'efficienza dei parametri (dimensioni del modello più ridotte a parità di precisione), YOLOv6. YOLOv6 privilegia la velocità di inferenza su acceleratori hardware come le GPU.

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
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

EfficientDet: scalabile ed efficiente in termini di parametri

EfficientDet è stato introdotto dal team Google per affrontare la sfida di scalare in modo efficiente i modelli di rilevamento degli oggetti. A differenza dei modelli precedenti che semplicemente rendevano le reti più profonde o più ampie, EfficientDet ha introdotto un metodo di scalabilità composta che scala in modo uniforme la risoluzione, la profondità e l'ampiezza.

Caratteristiche architettoniche chiave

  • BiFPN (Weighted Bi-directional Feature Pyramid Network): EfficientDet crea un percorso complesso di fusione delle caratteristiche. A differenza di un FPN standard, BiFPN consente una facile fusione delle caratteristiche su più scale introducendo pesi apprendibili a diverse caratteristiche di input, garantendo che la rete dia priorità alle informazioni più importanti.
  • EfficientNet Backbone: utilizza EfficientNet come backbone, altamente ottimizzato per le operazioni in virgola mobile (FLOP) e il conteggio dei parametri.
  • Ridimensionamento composto: un semplice coefficiente $\phi$ controlla contemporaneamente il ridimensionamento delle reti backbone, BiFPN e classe/box.

Avviso di complessità

Sebbene BiFPN sia matematicamente elegante ed efficiente in termini di parametri, i suoi modelli di accesso alla memoria irregolari possono rendere più difficile l'ottimizzazione su determinati acceleratori hardware rispetto ai semplici blocchi convoluzionali presenti nelle YOLO .

Metadati:

Scopri di più su EfficientDet

YOLOv6.0: Il demone della velocità industriale

Rilasciato da Meituan nel 2023, YOLOv6. YOLOv6(spesso denominato "Full-Scale Reloading") è stato progettato espressamente per applicazioni industriali. Gli autori hanno dato priorità alla velocità di inferenza reale sulle GPU rispetto ai FLOP teorici, ottenendo un modello che domina in scenari ad alta produttività come l'analisi video.

Caratteristiche architettoniche chiave

  • RepBi-PAN: questa struttura aggiornata impiega blocchi in stile RepVGG. Durante l'addestramento, questi blocchi hanno topologie multi-ramificate per un migliore flusso di gradiente. Durante l'inferenza, vengono riparametrizzati strutturalmente in una singola convoluzione 3x3, riducendo drasticamente la latenza.
  • Addestramento assistito da anchor (AAT): sebbene YOLOv6 fondamentalmente un rilevatore senza anchor, la versione 3.0 ha introdotto un ramo ausiliario basato su anchor durante l'addestramento per stabilizzare la convergenza e migliorare la precisione senza influire sulla velocità di inferenza.
  • Testa disaccoppiata: i compiti di classificazione e regressione sono separati in rami diversi, una scelta progettuale che è diventata standard nei moderni rilevatori per risolvere il conflitto tra questi due obiettivi.

Metadati:

  • Autori: Chuyi Li, Lulu Li, Yifei Geng, et al.
  • Organizzazione:Meituan
  • Data: 13 gennaio 2023
  • Link:Arxiv | GitHub

Scopri di più su YOLOv6

Analisi comparativa

Latenza e throughput

YOLOv6.YOLOv6 è significativamente più veloce GPU . Come si può vedere dalla tabella, YOLOv6.YOLOv6 raggiunge un mAP 52,8% con una TensorRT di soli 8,95 ms. Al contrario, EfficientDet-d6 raggiunge un mAP simile del 52,6%, mAP richiede 89,29 ms, praticamente un ordine di grandezza più lento. Questo rende YOLOv6 chiaro vincitore per le applicazioni che richiedono l'elaborazione in tempo reale su dispositivi NVIDIA o Jetson.

Efficienza dei parametri

EfficientDet eccelle in ambienti in cui lo spazio di archiviazione è il principale collo di bottiglia. EfficientDet-d0 offre un mAP rispettabile del 34,6% mAP soli 3,9 milioni di parametri. Si tratta di un valore inferiore rispetto alla YOLOv6 più piccola. Per la ricerca accademica o per ambienti di archiviazione estremamente limitati (ad esempio, l'integrazione di un modello direttamente in un piccolo pacchetto di app mobili), l'ingombro ridotto di EfficientDet rimane rilevante.

Addestramento e usabilità

EfficientDet si basa sul vecchio ecosistema TensorFlow , che può essere complicato da integrare nei moderni flussi di lavoro PyTorch. L'addestramento spesso comporta una complessa regolazione degli iperparametri per il ridimensionamento composto. YOLOv6. YOLOv6 offre una ricetta di addestramento più moderna, ma si concentra principalmente sul rilevamento di oggetti, mancando di supporto nativo per altre attività come la segmentazione o la stima della posa nella sua versione base.

Il vantaggio di Ultralytics

Sebbene lo studio di queste architetture fornisca informazioni preziose, lo sviluppo moderno richiede una piattaforma olistica. Ultralytics un ecosistema completo che supera le singole architetture di modelli concentrandosi sull'intero ciclo di vita dell'apprendimento automatico.

Perché passare a Ultralytics?

  • Versatilità senza pari: a differenza di EfficientDet e YOLOv6 sono principalmente rilevatori di oggetti, Ultralytics supportano nativamente la segmentazione delle istanze, la stima della posa, i riquadri di delimitazione orientati (OBB) e la classificazione.
  • Facilità d'uso: Python coerente consente di passare da una generazione di modelli all'altra (ad esempio, da YOLO11 YOLO26) modificando una singola stringa.
  • Efficienza della memoria: Ultralytics sono ottimizzati per un utilizzo ridotto della VRAM durante l'addestramento, consentendo batch di dimensioni maggiori su GPU consumer rispetto alle architetture EfficientDet, che richiedono molta memoria.

Entra in YOLO26: il nuovo standard

Per gli sviluppatori alla ricerca della tecnologia più all'avanguardia, YOLO26 rappresenta il massimo in termini di efficienza e prestazioni. Rilasciato nel gennaio 2026, supera i limiti sia di EfficientDet (velocità) che di YOLOv6 CPU ).

YOLO26 Innovazioni:

  • End-to-End NMS: eliminando la Non-Maximum Suppression (NMS), YOLO26 semplifica la logica di implementazione e riduce la varianza della latenza di inferenza.
  • MuSGD Optimizer: ispirato all'addestramento LLM, questo ottimizzatore ibrido stabilizza l'addestramento e accelera la convergenza.
  • Ottimizzazione dei bordi: grazie all'eliminazione della perdita focale di distribuzione (DFL) e a specifiche modifiche architetturali, YOLO26 è fino al 43% più veloce nell'inferenza CPU rispetto alle generazioni precedenti, rendendolo superiore per Raspberry Pi e implementazioni mobili dove EfficientDet spesso incontra difficoltà.
  • Funzioni di perdita avanzate: l'integrazione di ProgLoss e STAL migliora significativamente il rilevamento di oggetti di piccole dimensioni, un requisito fondamentale per le immagini dei droni e i sensori IoT.
from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Train on COCO8 dataset with MuSGD optimizer
model.train(data="coco8.yaml", epochs=100, optimizer="MuSGD")

# Export to ONNX for NMS-free deployment
model.export(format="onnx")

Scopri di più su YOLO26

Raccomandazioni sui casi d'uso

  • Scegli EfficientDet se: stai conducendo una ricerca accademica sul ridimensionamento della fusione delle caratteristiche o stai lavorando con TensorFlow legacy in cui la dimensione del peso del modello (MB) è un vincolo rigoroso.
  • Scegli YOLOv6. YOLOv6 se: stai effettuando l'implementazione esclusivamente su NVIDIA (come T4 o A10) e l'unica metrica che ti interessa è la velocità effettiva (FPS) per il rilevamento di oggetti standard.
  • Scegli Ultralytics se: hai bisogno di una soluzione pronta per la produzione che bilanciaGPU , non richiede complesse operazioni di post-elaborazione (NMS), deve eseguire attività che vanno oltre il semplice rilevamento (come la segmentazione o OBB) o richiede un flusso di lavoro di formazione semplificato.

Per approfondire ulteriormente il tema dei moderni rilevatori di oggetti, ti invitiamo a leggere i nostri confronti tra YOLOv8 EfficientDet o le funzionalità dei Real-Time Detection Transformers (RT-DETR).


Commenti