EfficientDet vs YOLOv7: Un confronto tecnico
La scelta del modello di object detection giusto è una decisione critica che bilancia le esigenze di accuratezza, velocità e costo computazionale. Questa pagina fornisce un confronto tecnico dettagliato tra due modelli influenti: EfficientDet, rinomato per la sua eccezionale efficienza di parametri, e YOLOv7, un modello di riferimento per l'object detection in tempo reale. Esaminando le loro architetture, le metriche di performance e i casi d'uso ideali, miriamo a fornire le informazioni necessarie per selezionare il modello migliore per il tuo progetto, evidenziando al contempo i vantaggi di alternative più moderne.
EfficientDet: Scalabilità ed efficienza
EfficientDet è stato introdotto dal team Google Brain come una famiglia di rilevatori di oggetti altamente efficienti e scalabili. La sua innovazione principale risiede nell'ottimizzazione dell'architettura del modello e dei principi di ridimensionamento per ottenere prestazioni migliori con meno parametri e risorse computazionali (FLOP).
- 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
- Documentazione: https://github.com/google/automl/tree/master/efficientdet#readme
Architettura e caratteristiche principali
Il design di EfficientDet si basa su tre componenti chiave:
- Backbone EfficientNet: Utilizza l'EfficientNet altamente efficiente come backbone per l'estrazione delle feature, che è stato progettato utilizzando la ricerca di architettura neurale (NAS).
- BiFPN (Bi-directional Feature Pyramid Network): Invece di una FPN standard, EfficientDet introduce BiFPN, che consente una fusione di caratteristiche multiscala più ricca con connessioni ponderate, migliorando l'accuratezza con un overhead minimo.
- Scaling composto: Un nuovo metodo di scaling che scala uniformemente la profondità, l'ampiezza e la risoluzione del backbone, della rete di feature e dell'head di previsione utilizzando un singolo coefficiente composto. Ciò consente al modello di scalare dal leggero EfficientDet-D0 all'altamente preciso D7, soddisfacendo un'ampia gamma di budget computazionali.
Punti di forza e debolezze
Punti di forza:
- Efficienza eccezionale: Offre un'elevata accuratezza per un determinato numero di parametri e FLOP, rendendolo molto conveniente sia per l'addestramento che per la distribuzione.
- Scalabilità: Il metodo di scaling composto fornisce un percorso chiaro per scalare il modello verso l'alto o verso il basso in base ai vincoli hardware, dai dispositivi edge AI ai potenti server cloud.
- Solide prestazioni sui benchmark standard: Ha ottenuto risultati all'avanguardia sul dataset COCO al momento del suo rilascio, dimostrando la sua efficacia.
Punti deboli:
- Velocità di inferenza più lenta: Pur essendo efficiente in termini di FLOP, la sua architettura può comportare una latenza maggiore rispetto ai modelli specificamente progettati per l'inferenza in tempo reale, come la famiglia YOLO.
- Specifico per l'attività: EfficientDet è principalmente un modello di rilevamento di oggetti e manca della versatilità multi-task nativa presente nei framework moderni.
- Complessità: I concetti di BiFPN e ridimensionamento composto, sebbene potenti, possono essere più complessi da implementare da zero rispetto ad architetture più semplici.
YOLOv7: Spingendo le prestazioni in tempo reale
YOLOv7, sviluppato dagli autori dell'originale YOLOv4, ha stabilito un nuovo standard per i rilevatori di oggetti in tempo reale, migliorando significativamente sia la velocità che la precisione. Ha introdotto nuove tecniche di addestramento e ottimizzazioni architettoniche per spingere i confini di ciò che era possibile sull'hardware GPU.
- Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
- Data: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Documentazione: https://docs.ultralytics.com/models/yolov7/
Architettura e caratteristiche principali
I progressi di YOLOv7 derivano da diverse aree chiave:
- Riforme Architetturali: Introduce una Extended Efficient Layer Aggregation Network (E-ELAN) per migliorare la capacità di apprendimento della rete senza distruggere il percorso del gradiente originale.
- Bag-of-Freebies addestrabile: Un contributo importante è l'uso di strategie di ottimizzazione durante l'addestramento che migliorano l'accuratezza senza aumentare il costo di inferenza. Questo include tecniche come la convoluzione riparametrizzata e l'addestramento guidato lead coarse-to-fine.
- Scalabilità del modello: YOLOv7 fornisce metodi per scalare i modelli basati sulla concatenazione, assicurando che l'architettura rimanga ottimale man mano che viene scalata per una maggiore accuratezza.
Punti di forza e debolezze
Punti di forza:
- Compromesso Superiore Velocità-Precisione: Al momento del suo rilascio, offriva il miglior equilibrio tra mAP e velocità di inferenza tra i rilevatori in tempo reale.
- Addestramento efficiente: L'approccio "bag-of-freebies" gli consente di ottenere un'elevata accuratezza con cicli di addestramento più efficienti rispetto ai modelli che richiedono un addestramento più lungo o un post-elaborazione più complessa.
- Prestazioni comprovate: È un modello consolidato con ottimi risultati sui benchmark, il che lo rende una scelta affidabile per applicazioni ad alte prestazioni.
Punti deboli:
- Utilizzo intensivo di risorse: I modelli YOLOv7 più grandi richiedono notevoli risorse GPU per l'addestramento.
- Versatilità limitata: Sebbene esistano versioni della comunità per altre attività, il modello ufficiale è focalizzato sul rilevamento di oggetti. Framework integrati come Ultralytics YOLOv8 offrono supporto integrato per la segmentazione, la classificazione e la stima della posa.
- Complessità: La combinazione di modifiche architetturali e tecniche di addestramento avanzate può essere complessa da comprendere appieno e personalizzare.
Analisi delle prestazioni: Efficienza vs. Velocità
La differenza principale tra EfficientDet e YOLOv7 risiede nella loro filosofia di progettazione. EfficientDet dà la priorità all'efficienza computazionale (FLOPs) e al conteggio dei parametri, mentre YOLOv7 dà la priorità alla velocità di inferenza grezza (latenza) 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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Come mostra la tabella, i modelli EfficientDet più piccoli sono estremamente leggeri in termini di parametri e FLOP. Tuttavia, YOLOv7x raggiunge un mAP paragonabile a EfficientDet-d6/d7 con una latenza significativamente inferiore su una GPU T4, evidenziandone l'idoneità per applicazioni in tempo reale.
Perché scegliere i modelli Ultralytics YOLO?
Sebbene EfficientDet e YOLOv7 siano entrambi modelli potenti, il campo della computer vision è avanzato rapidamente. I modelli Ultralytics YOLO più recenti come YOLOv8 e YOLO11 offrono vantaggi sostanziali che li rendono una scelta superiore per lo sviluppo moderno.
- Facilità d'uso: I modelli Ultralytics sono progettati pensando all'utente, con una API Python semplificata, un'ampia documentazione e semplici comandi CLI che rendono l'addestramento, la convalida e la distribuzione incredibilmente semplici.
- Ecosistema ben manutenuto: Gli utenti beneficiano di sviluppo attivo, un'ampia comunità open source, aggiornamenti frequenti e un'integrazione perfetta con strumenti come Ultralytics HUB per un MLOps end-to-end.
- Bilanciamento delle prestazioni: I modelli Ultralytics offrono un eccellente compromesso tra velocità e precisione, rendendoli adatti a una vasta gamma di scenari reali, dai dispositivi edge alle piattaforme cloud.
- Efficienza della memoria: I modelli Ultralytics YOLO sono progettati per un utilizzo efficiente della memoria. Spesso richiedono meno memoria CUDA per l'addestramento rispetto ai modelli basati su transformer e anche ad alcune varianti di EfficientDet o YOLOv7, consentendo l'addestramento su una gamma più ampia di hardware.
- Versatilità: Modelli come YOLOv8 e YOLO11 non sono solo rilevatori. Sono framework multi-task che supportano segmentazione di istanza, classificazione delle immagini, stima della posa e object detection orientato (OBB) out-of-the-box.
- Efficienza di addestramento: Approfitta di processi di addestramento efficienti, pesi pre-addestrati facilmente disponibili su dataset come COCO e tempi di convergenza più rapidi.
Conclusione
EfficientDet eccelle in scenari in cui l'efficienza dei parametri e dei FLOP è fondamentale, offrendo un'eccellente scalabilità tra diversi budget di risorse. È una scelta valida per applicazioni su dispositivi con risorse limitate o in ambienti cloud su larga scala dove il costo computazionale è un fattore importante. YOLOv7 spinge i limiti del rilevamento di oggetti in tempo reale, offrendo velocità e precisione eccezionali, in particolare su hardware GPU, sfruttando tecniche di training avanzate.
Tuttavia, per gli sviluppatori alla ricerca di un framework moderno, versatile e facile da usare, con prestazioni elevate, documentazione eccellente e un ecosistema completo, i modelli Ultralytics come YOLOv8 e YOLO11 rappresentano una scelta più interessante. Offrono una soluzione unificata per un'ampia gamma di attività di visione artificiale, semplificando la pipeline di sviluppo dalla ricerca all'implementazione in produzione.
Altri confronti tra modelli
Per ulteriori approfondimenti, considera questi confronti che coinvolgono EfficientDet, YOLOv7 e altri modelli rilevanti:
- EfficientDet vs YOLOv8
- EfficientDet vs YOLOv5
- YOLOv7 vs YOLOv8
- YOLOv7 vs YOLOv5
- RT-DETR vs YOLOv7
- YOLOX contro YOLOv7
- Esplora gli ultimi modelli come YOLOv10 e YOLO11.