EfficientDet vs. DAMO-YOLO: 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. Due architetture degne di nota che hanno caratterizzato il settore sono EfficientDet, sviluppata da Google Research, e YOLO, sviluppata dalla DAMO Academy di Alibaba. Sebbene entrambe mirino a massimizzare le prestazioni, le loro filosofie di progettazione divergono in modo significativo: una si concentra sull'efficienza dei parametri e sulla scalabilità, mentre l'altra punta a un'inferenza a bassa latenza su hardware industriale.
Questa guida fornisce un'analisi tecnica approfondita di questi due modelli, confrontandone le architetture, le metriche delle prestazioni e i casi d'uso ideali per aiutare gli sviluppatori a prendere decisioni informate.
Analisi delle prestazioni: Efficienza e latenza
I seguenti benchmark illustrano i diversi compromessi tra EfficientDet e YOLO. EfficientDet è rinomato per il basso numero di parametri e FLOP, che lo rendono teoricamente efficiente, mentre YOLO è ottimizzato per la velocità di inferenza nel mondo reale sulle GPU.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
Principali risultati dei benchmark
Dai dati sopra riportati emergono diverse distinzioni critiche:
- Dominio della latenzaGPU : YOLO dimostra velocità di inferenza significativamente superiori su hardware GPU . Ad esempio, DAMO-YOLOm raggiunge un mAP di 49,2 con una latenza di soli 5,09 ms su una GPU T4. Al contrario, l'analogo EfficientDet-d4 (49,7 mAP) richiede 33,55 ms, quasi 6 volte più lento.
- Efficienza dei parametri: EfficientDet eccelle nelle metriche di compressione dei modelli. Il modello EfficientDet-d0 utilizza solo 3,9 milioni di parametri e 2,54 miliardi di FLOP, offrendo un ingombro ridotto ideale per i dispositivi con limiti di memoria.
- PrestazioniCPU : EfficientDet offre benchmark consolidati per le prestazioni CPU , il che lo rende una scelta prevedibile per i dispositivi edge non accelerati. Tuttavia, i suoi complessi livelli di fusione delle funzioni spesso comportano un rallentamento del throughput nel mondo reale rispetto ad architetture più semplici.
EfficientDet: Scalabile ed efficiente
EfficientDet ha rivoluzionato il rilevamento degli oggetti introducendo un metodo di principio per scalare le dimensioni dei modelli. Costruito sulla struttura portante di EfficientNet, mira a ottenere un'elevata precisione riducendo al minimo il costo computazionale teorico (FLOPs).
Dettagli EfficientDet:
- Autori: Mingxing Tan, Ruoming Pang e Quoc V. Le
- Organizzazione:Google
- Data: 2019-11-20
- Arxiv:https://arxiv.org/abs/1911.09070
- GitHub:https://github.com/google/automl/tree/master/efficientdet
Punti salienti dell'architettura
L'innovazione principale di EfficientDet risiede in due componenti principali:
- BiFPN (Bidirectional Feature Pyramid Network): A differenza delle FPN tradizionali, che sommano le caratteristiche di scale diverse, la BiFPN introduce pesi apprendibili per le diverse caratteristiche in ingresso e consente alle informazioni di fluire ripetutamente sia dall'alto verso il basso che dal basso verso l'alto. Questo migliora la fusione delle caratteristiche, ma aggiunge complessità computazionale.
- Scala composta: EfficientDet propone un coefficiente composto che fa crescere congiuntamente la spina dorsale, la BiFPN, la rete di classi/box e la risoluzione dell'input. In questo modo si garantisce che tutte le parti della rete crescano in modo equilibrato, anziché scalare solo una dimensione (come la profondità o la larghezza) in modo arbitrario.
Punti di forza e debolezze
Il punto di forza principale di EfficientDet è la sua efficienza teorica. Raggiunge un'accuratezza allo stato dell'arte con un numero di parametri molto inferiore rispetto a rilevatori precedenti come YOLOv3 o RetinaNet. Tuttavia, l'uso massiccio di convoluzioni separabili in profondità e i complessi schemi di accesso alla memoria di BiFPN possono portare a un minore utilizzo delle moderne GPU, con conseguente aumento della latenza nonostante i FLOP inferiori.
Considerazioni sulla distribuzione
Sebbene EfficientDet abbia bassi FLOP, "bassi FLOP" non sempre si traduce in "inferenza veloce". Su hardware come le GPU o le TPU, la larghezza di banda della memoria e le spese generali di lancio del kernel sono spesso più importanti. La complessa struttura a grafo di EfficientDet può talvolta rappresentare un collo di bottiglia in scenari di inferenza in tempo reale.
YOLO: innovazione orientata alla velocità
YOLO è stato progettato con un obiettivo specifico: colmare il divario tra prestazioni elevate e bassa latenza su hardware industriale. Incorpora tecnologie all'avanguardia di ricerca di architetture neurali (NAS) per trovare la struttura ottimale per i compiti di rilevamento.
YOLO Dettagli:
- Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organizzazione:Gruppo Alibaba
- Data: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
Punti salienti dell'architettura
YOLO introduce diversi componenti "new tech" nella famiglia YOLO :
- Backbone MAE-NAS: Utilizza la ricerca dell'architettura neurale (NAS) guidata dalla massima entropia per scoprire dorsali efficienti che gestiscono efficacemente risoluzioni di ingresso diverse.
- RepGFPN: Si tratta di un miglioramento rispetto alla FPN generalizzata standard, che incorpora la riparametrizzazione per semplificare il blocco di fusione, massimizzando l'utilizzo dell'hardware.
- ZeroHead e AlignedOTA: il design "ZeroHead" riduce significativamente la complessità della testina di rilevamento, mentre AlignedOTA (Optimal Transport Assignment) fornisce una robusta strategia di assegnazione delle etichette durante l'addestramento per risolvere il disallineamento tra classificazione e regressione.
Punti di forza e debolezze
YOLO eccelle in velocità. Dando priorità alle strutture che sono favorevoli all'accelerazione hardware (come TensorRT), raggiunge un throughput notevole. Tuttavia, la sua dipendenza da architetture complesse generate dal NAS può rendere più difficile la modifica o la messa a punto per scopi di ricerca personalizzati rispetto ad architetture più semplici e realizzate a mano. Inoltre, non ha l'ampio supporto della comunità e la facilità d'uso multipiattaforma che si trovano nelle versioni di YOLO più tradizionali.
Ultralytics YOLO11: l'alternativa olistica
EfficientDet offre l'efficienza dei parametri e YOLO la velocità GPU , Ultralytics YOLO11 offre un equilibrio superiore di entrambi, racchiuso in un ecosistema facile da sviluppare. Per la maggior parte delle applicazioni pratiche, che vanno dall'edge AI alle YOLO11 cloud, YOLO11 rappresenta la scelta ottimale.
Perché scegliere i modelli Ultralytics ?
- Versatilità senza pari: A differenza di EfficientDet e YOLO, che sono principalmente rilevatori di oggetti, Ultralytics YOLO11 supporta in modo nativo un'ampia gamma di attività di computer vision, tra cui la segmentazione delle istanze, la stima della posa, le bounding box orientate (OBB) e la classificazione delle immagini. Ciò consente di utilizzare un unico framework per diversi requisiti di progetto.
- Equilibrio delle prestazioni: YOLO11 si spinge oltre la frontiera dell'accuratezza e della latenza. Spesso eguaglia o supera l'accuratezza dei modelli più pesanti, pur mantenendo una velocità di inferenza competitiva con i modelli specializzati in tempo reale.
- Facilità d'uso ed ecosistema: L'API di Ultralytics è stata progettata per essere semplice. Grazie all'ampia documentazione e al supporto della comunità, gli sviluppatori possono passare dall'installazione alla formazione in pochi minuti. L'ecosistema comprende integrazioni perfette per l'annotazione dei dati, il tracciamento degli esperimenti e l'esportazione con un solo clic in formati come ONNX, TensorRT, CoreML e TFLite.
- Efficienza della formazione: I modelli Ultralytics sono ottimizzati per una rapida convergenza. Utilizzano strategie avanzate di incremento dei dati e caricatori di dati efficienti, riducendo i tempi e i costi associati alla formazione di modelli ad alte prestazioni.
- Efficienza della memoria: Rispetto ai modelli basati su Transformer o alle architetture più vecchie, YOLO11 richiede una quantità di memoria CUDA significativamente inferiore per l'addestramento, rendendolo accessibile sulle GPU di fascia consumer.
Esempio di codice: Come iniziare con YOLO11
L'implementazione di un rilevamento all'avanguardia con Ultralytics è semplice. Il seguente frammento di codice mostra come caricare un modello YOLO11 pre-addestrato ed eseguire l'inferenza su un'immagine:
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on a local image or URL
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
# Export the model to ONNX format for deployment
path = model.export(format="onnx")
Integrazione perfetta
I modelli Ultralytics si integrano senza problemi con i più diffusi strumenti MLOps. Sia che si utilizzi MLflow per il logging o Ray Tune per l'ottimizzazione degli iperparametri, la funzionalità è integrata direttamente nella libreria.
Conclusione
Nel confronto tra EfficientDet e YOLO, la scelta dipende in gran parte dai vincoli hardware specifici. EfficientDet rimane un candidato forte per l'efficienza teorica e per gli scenari in cui il numero di parametri è il collo di bottiglia principale. YOLO è il chiaro vincitore per le applicazioni ad alto rendimento eseguite sulle moderne GPU, dove la latenza è fondamentale.
Tuttavia, per una soluzione che combini il meglio di entrambi i mondi - prestazioni elevate, facilità d'uso e capacità multitasking - Ultralytics è in grado di offrire una soluzione che combina il meglio di entrambi i mondi.Ultralytics YOLO11 si distingue come standard del settore. Il suo robusto ecosistema e i continui miglioramenti garantiscono agli sviluppatori gli strumenti più affidabili per realizzare soluzioni di computer vision scalabili.
Esplora altri confronti
Per comprendere meglio il panorama dei modelli di rilevamento degli oggetti, esplorate questi ulteriori confronti:
- YOLO11 vs. EfficientDet
- YOLOv8 vs. DAMO-YOLO
- RT-DETR vs. DAMO-YOLO
- YOLO11 vs. RT-DETR
- YOLOX vs. EfficientDet