Confronto tra EfficientDet e YOLOv5#
La selezione dell'architettura di rete neurale ottimale è un passaggio determinante per qualsiasi iniziativa di computer vision. L'equilibrio tra latenza di inferenza, efficienza dei parametri e accuratezza del rilevamento determina le prestazioni che un modello può raggiungere nel mondo reale. Questa guida tecnica completa offre un'analisi approfondita di due framework di grande rilievo per il rilevamento degli oggetti: EfficientDet di Google e Ultralytics YOLOv5.
Confrontando le innovazioni architetturali, le metodologie di addestramento e le capacità di deployment, gli sviluppatori possono prendere decisioni consapevoli per i propri ambienti di deployment specifici, sia che si tratti di scalare su server cloud o di eseguire il modello su dispositivi edge con risorse limitate.
EfficientDet: architettura scalabile con BiFPN#
Presentato da Google Research, EfficientDet è stato progettato per scalare sistematicamente sia il backbone sia la rete delle feature, così da raggiungere un'elevata accuratezza con un numero di parametri inferiore rispetto ai precedenti modelli all'avanguardia.
Dettagli del modello#
- Autori: Mingxing Tan, Ruoming Pang e Quoc V. Le
- Organizzazione: Google Research
- Data: 20 novembre 2019
- Arxiv: EfficientDet: rilevamento degli oggetti scalabile ed efficiente
- GitHub: google/automl/efficientdet
Innovazioni architetturali#
EfficientDet sfrutta il modello di classificazione EfficientNet come backbone, utilizzando un metodo di scaling composto che scala uniformemente larghezza, profondità e risoluzione della rete. Il contributo più rilevante al rilevamento degli oggetti è l'introduzione della rete piramidale delle feature bidirezionale (BiFPN). A differenza delle reti piramidali delle feature standard, che si limitano ad aggregare le feature dall'alto verso il basso, BiFPN consente connessioni complesse e bidirezionali tra scale diverse e introduce pesi apprendibili per determinare l'importanza delle diverse feature di input.
Sebbene sia altamente accurato, EfficientDet dipende fortemente dall'ecosistema TensorFlow e da librerie AutoML specifiche. Questa dipendenza può talvolta rendere complessa l'integrazione in pipeline di deployment personalizzate e leggere o in ambienti che privilegiano grafi di calcolo dinamici.
Ultralytics YOLOv5: democratizzare l'AI in tempo reale#
Rilasciato poco dopo EfficientDet, Ultralytics YOLOv5 ha rivoluzionato il settore offrendo un'implementazione nativa in PyTorch dell'architettura YOLO, incredibilmente accessibile. Ha stabilito un nuovo standard per l'esperienza degli sviluppatori, l'efficienza dell'addestramento e la flessibilità del deployment in tempo reale.
Dettagli del modello#
- Autori: Glenn Jocher
- Organizzazione: Ultralytics
- Data: 26 giugno 2020
- GitHub: ultralytics/yolov5
- Documentazione: Documentazione di YOLOv5
Innovazioni architetturali#
YOLOv5 ha introdotto importanti miglioramenti rispetto ai predecessori, utilizzando un backbone CSPDarknet (parziale tra fasi) che migliora significativamente il flusso del gradiente riducendo al contempo il numero complessivo di parametri. Inoltre, YOLOv5 integra gli anchor box ad apprendimento automatico, che calcolano automaticamente i prior ottimali dei bounding box in base ai tuoi specifici dati di addestramento personalizzati, eliminando la necessità di ottimizzare manualmente gli iperparametri.
YOLOv5 utilizza inoltre ampiamente la Mosaic Data Augmentation, combinando quattro immagini diverse in un'unica tessera di addestramento. Questo migliora notevolmente la capacità del modello di rilevare oggetti piccoli e generalizza la comprensione del contesto, rendendolo altamente robusto in ambienti differenti.
Prestazioni e benchmark#
Valutare i modelli su benchmark standard come il dataset COCO è fondamentale per comprendere i compromessi tra precisione e velocità. La tabella seguente mostra le prestazioni delle diverse dimensioni di EfficientDet e YOLOv5 in condizioni standardizzate.
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Analisi dei compromessi#
Sebbene EfficientDet-d7 raggiunga un impressionante valore mAP di picco pari a 53,7, presenta una latenza di inferenza significativamente maggiore su hardware GPU rispetto alle architetture YOLO. Al contrario, YOLOv5 eccelle nell'accelerazione hardware. La variante YOLOv5n raggiunge un tempo di inferenza straordinariamente rapido, pari a 1,12 ms, su una GPU T4 utilizzando NVIDIA TensorRT, risultando nettamente superiore per applicazioni in tempo reale come la guida autonoma o le linee di produzione ad alta velocità.
Inoltre, durante l'addestramento i modelli YOLOv5 dimostrano requisiti di memoria CUDA molto inferiori rispetto alle reti complesse con scaling composto o ai modelli Transformer di grandi dimensioni. Questo profilo di memoria contenuto democratizza l'accesso all'AI all'avanguardia, consentendo ai ricercatori di addestrare modelli robusti su hardware consumer standard.
Per ottenere il massimo numero di fotogrammi al secondo (FPS) dal tuo modello YOLOv5 sui dispositivi edge, esporta i tuoi pesi PyTorch in TensorRT per le GPU NVIDIA o in OpenVINO per le CPU Intel. Questo passaggio può spesso raddoppiare la velocità di inferenza.
Ecosistema di addestramento ed esperienza degli sviluppatori#
Il vero vantaggio dell'ecosistema Ultralytics risiede nella sua esperienza utente semplificata. Mentre EfficientDet richiede una conoscenza approfondita dell'API di rilevamento degli oggetti di TensorFlow, YOLOv5 offre un'API Python coerente e semplice.
L'ecosistema Ultralytics, mantenuto con cura, garantisce agli sviluppatori l'accesso ad aggiornamenti frequenti, supporto attivo della community e integrazioni fluide con strumenti di monitoraggio degli esperimenti come Weights & Biases e ClearML.
Esempio di codice: iniziare a usare YOLOv5#
Eseguire l'inferenza con un modello YOLOv5 pre-addestrato richiede solo poche righe di codice tramite PyTorch Hub:
from ultralytics import YOLO
# Load the highly efficient YOLOv5s model
model = YOLO("yolov5su.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Display the detected bounding boxes
results[0].show()Versatilità e applicazioni nel mondo reale#
EfficientDet è esclusivamente un framework per il rilevamento degli oggetti, il che ne limita l'utilità nelle pipeline di computer vision complesse. YOLOv5, invece, si è evoluto fino a supportare molteplici attività di computer vision. Le versioni moderne del modello supportano la segmentazione delle istanze e la classificazione delle immagini con elevata accuratezza, consentendo agli sviluppatori di consolidare il proprio stack di machine learning.
Casi d'uso ideali#
- EfficientDet: più indicato per l'elaborazione offline, la ricerca accademica e l'analisi basata sul cloud, dove si dà priorità alla massima accuratezza rispetto alla latenza e sono disponibili TPU di livello server o GPU con molta memoria.
- YOLOv5: la scelta definitiva per i deployment di AI edge. La combinazione di bassa latenza, numero ridotto di parametri e alta accuratezza lo rende ideale per l'analisi tramite droni, l'automazione retail in tempo reale e le applicazioni mobile tramite CoreML o TFLite.
La prossima generazione: passare a YOLO26#
Sebbene YOLOv5 rimanga un modello robusto e ampiamente utilizzato, il settore dell'AI si evolve rapidamente. Per i team che avviano nuovi progetti o cercano il massimo assoluto delle prestazioni moderne, Ultralytics ha introdotto YOLO26, rilasciato a gennaio 2026.
YOLO26 ridefinisce la frontiera di Pareto tra velocità e accuratezza, introducendo cambiamenti architetturali rivoluzionari che semplificano il deployment e accelerano l'inferenza.
Principali miglioramenti di YOLO26#
- Design end-to-end senza NMS: YOLO26 elimina nativamente il post-processing della soppressione dei non massimi. Questo semplifica notevolmente la logica di deployment e riduce la variabilità della latenza, in un approccio innovativo perfezionato a partire dai primi esperimenti in YOLOv10.
- Inferenza su CPU fino al 43% più veloce: progettato specificamente per l'edge computing e i dispositivi IoT a basso consumo che operano senza GPU dedicate.
- Ottimizzatore MuSGD: ispirato alle tecniche di addestramento dei modelli linguistici di grandi dimensioni (come Kimi K2 di Moonshot AI), questo ibrido di SGD e Muon porta le innovazioni degli LLM nella computer vision, consentendo una convergenza più rapida e dinamiche di addestramento altamente stabili.
- ProgLoss + STAL: Queste funzioni di perdita avanzate migliorano significativamente il riconoscimento degli oggetti piccoli, un aspetto fondamentale per le immagini aeree e la robotica.
- Rimozione di DFL: eliminando la Distribution Focal Loss, la testa del modello viene notevolmente semplificata, con una conseguente migliore compatibilità durante l'esportazione su hardware edge obsoleto o fortemente limitato.
Per i team che implementano pipeline multi-task, YOLO26 introduce anche miglioramenti specifici per attività, come proto multi-scala per la segmentazione e una loss specializzata per l'angolo dei bounding box orientati (OBB). Per esplorare altre alternative moderne nell'ecosistema, puoi consultare anche YOLO11 o l'architettura YOLOv8.
Conclusioni#
La scelta tra EfficientDet e YOLOv5 dipende in larga misura dal target di deployment. EfficientDet offre un approccio allo scaling matematicamente elegante, adatto all'inferenza intensiva sul cloud. Tuttavia, l'esperienza degli sviluppatori superiore di YOLOv5, i loop di addestramento PyTorch estremamente rapidi e le capacità di deployment edge altamente ottimizzate lo rendono la scelta preferita per la stragrande maggioranza delle applicazioni reali in tempo reale. Sfruttando gli strumenti completi forniti da Ultralytics, i team possono accelerare il time-to-market e creare sistemi di AI altamente reattivi.