Ultralytics YOLO27:
Get Started

EfficientDet vs YOLOv5#

Scegliere l'architettura di rete neurale ottimale è un passaggio decisivo in qualsiasi iniziativa di visione artificiale. L'equilibrio tra latenza di inferenza, efficienza dei parametri e accuratezza del rilevamento determina il rendimento di un modello nel mondo reale. Questa guida tecnica completa analizza in profondità due framework di rilevamento degli oggetti molto influenti: EfficientDet di Google e Ultralytics YOLOv5.

Confrontando le innovazioni architetturali, le metodologie di addestramento e le capacità di deployment, gli sviluppatori possono prendere decisioni informate per i propri ambienti di deployment, sia che debbano scalare su server cloud sia che debbano eseguire i modelli su dispositivi edge con risorse limitate.

EfficientDet: architettura scalabile con BiFPN#

Introdotto da Google Research, EfficientDet è stato progettato per scalare sistematicamente sia il backbone sia la rete delle caratteristiche, ottenendo un'elevata accuratezza con un numero di parametri inferiore rispetto ai precedenti modelli all'avanguardia.

Dettagli del modello#

Innovazioni architetturali#

EfficientDet utilizza il modello di classificazione EfficientNet come backbone e applica un metodo di scaling composto che scala uniformemente larghezza, profondità e risoluzione della rete. Il suo contributo più rilevante al rilevamento degli oggetti è l'introduzione della rete piramidale delle caratteristiche bidirezionale (BiFPN). A differenza delle reti piramidali delle caratteristiche standard, che si limitano ad aggregare le caratteristiche dall'alto verso il basso, BiFPN consente connessioni complesse e bidirezionali tra scale diverse e introduce pesi apprendibili per determinare l'importanza delle diverse caratteristiche di input.

Sebbene sia molto accurato, EfficientDet dipende fortemente dall'ecosistema TensorFlow e da librerie specifiche di AutoML. Questa dipendenza può rendere talvolta complicata l'integrazione in pipeline di deployment personalizzate e leggere o in ambienti che privilegiano i grafi computazionali dinamici.

Scopri di più su EfficientDet

Ultralytics YOLOv5: democratizzare l'AI real-time#

Rilasciato poco dopo EfficientDet, Ultralytics YOLOv5 ha rivoluzionato il settore offrendo un'implementazione nativa di YOLO in PyTorch estremamente accessibile. Ha definito un nuovo standard per l'esperienza degli sviluppatori, l'efficienza dell'addestramento e la flessibilità del deployment real-time.

Dettagli del modello#

Innovazioni architetturali#

YOLOv5 ha introdotto importanti miglioramenti rispetto ai predecessori, utilizzando un backbone CSPDarknet (Cross-Stage Partial) che migliora notevolmente il flusso dei gradienti e riduce il numero complessivo di parametri. Inoltre, YOLOv5 integra anchor box ad apprendimento automatico, che calcolano automaticamente le prior ottimali dei bounding box in base ai tuoi specifici dati di addestramento personalizzati, eliminando la necessità di ottimizzare manualmente gli iperparametri.

YOLOv5 utilizza ampiamente anche l'augmentation Mosaic, che combina quattro immagini distinte in un'unica immagine di addestramento. Questo migliora notevolmente la capacità del modello di rilevare oggetti piccoli e generalizza la comprensione del contesto, rendendolo molto robusto in ambienti diversi.

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 di diverse dimensioni di EfficientDet e YOLOv5 in condizioni standardizzate.

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
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

Analisi dei compromessi#

EfficientDet-d7 raggiunge un notevole picco di mAP pari a 53,7, ma presenta una latenza di inferenza significativa su hardware GPU rispetto alle architetture YOLO. YOLOv5, invece, eccelle nell'accelerazione hardware. La variante YOLOv5n raggiunge l'impressionante tempo di inferenza di 1,12 ms su una GPU T4 usando NVIDIA TensorRT, risultando nettamente superiore per applicazioni real-time come la guida autonoma o le linee di produzione ad alta velocità.

Inoltre, durante l'addestramento, i modelli YOLOv5 richiedono molta meno memoria CUDA rispetto alle reti complesse con scaling composto o ai grandi modelli Transformer. Questo profilo di memoria efficiente democratizza l'accesso all'AI all'avanguardia, consentendo ai ricercatori di addestrare modelli robusti su hardware consumer standard.

Massimizzare l'efficienza hardware

Per ottenere il massimo di fotogrammi al secondo (FPS) dal tuo modello YOLOv5 sui dispositivi edge, esporta i 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 per gli sviluppatori#

Il vero vantaggio dell'ecosistema Ultralytics risiede nell'esperienza utente semplificata. Mentre EfficientDet richiede una conoscenza approfondita dell'API TensorFlow per il rilevamento degli oggetti, YOLOv5 offre un'API Python semplice e coerente.

L'ecosistema Ultralytics, gestito con cura, garantisce agli sviluppatori aggiornamenti frequenti, supporto attivo della community e integrazioni fluide con strumenti di tracciamento degli esperimenti come Weights & Biases e ClearML.

Esempio di codice: iniziare con YOLOv5#

L'inferenza con un modello YOLOv5 preaddestrato richiede solo poche righe di codice tramite il pacchetto Python Ultralytics:

from ultralytics import YOLO

# Carica il modello YOLOv5s altamente efficiente
model = YOLO("yolov5su.pt")  # YOLOv5u: pesi YOLOv5 anchor-free per il pacchetto ultralytics

# Esegui l'inferenza su un'immagine
results = model("https://ultralytics.com/images/zidane.jpg")

# Mostra i bounding box rilevati
results[0].show()

Versatilità e applicazioni reali#

EfficientDet è un framework esclusivamente per il rilevamento degli oggetti, il che ne limita l'utilità nelle pipeline di visione complesse. YOLOv5, invece, si è evoluto fino a supportare più task di visione artificiale. Le versioni moderne del modello supportano la segmentazione di 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: Ideale per l'elaborazione offline, la ricerca accademica e l'analisi basata su cloud, dove si dà priorità alla massima accuratezza rispetto alla latenza e sono disponibili TPU di classe server o GPU con molta memoria.
  • YOLOv5: La scelta migliore per i deployment edge AI. La combinazione di bassa latenza, ingombro ridotto dei parametri e alta accuratezza lo rende ideale per l'analisi con droni, l'automazione retail in tempo reale e le applicazioni mobili tramite CoreML o LiteRT.

La nuova generazione: passare a YOLO26#

YOLOv5 resta un modello robusto e ampiamente utilizzato, ma il settore dell'AI evolve rapidamente. Per i team che avviano nuovi progetti o cercano il massimo 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 progressi di YOLO26#

  • Design end-to-end senza NMS: La head end-to-end opzionale di YOLO26 (nms=False) elimina la post-elaborazione con la soppressione dei non massimi. Questo semplifica notevolmente la logica di deployment e riduce la variabilità della latenza: un approccio rivoluzionario perfezionato a partire dai primi esperimenti con YOLOv10.
  • Inferenza su CPU fino al 43% più veloce: Progettato specificamente per l'edge computing e i dispositivi IoT a basso consumo che funzionano senza GPU dedicate.
  • Ottimizzatore MuSGD: Ispirata alle tecniche di addestramento dei modelli linguistici di grandi dimensioni (come Kimi K2 di Moonshot AI), questa combinazione di SGD e Muon porta le innovazioni degli LLM nella visione artificiale, consentendo una convergenza più rapida e dinamiche di addestramento altamente stabili.
  • ProgLoss + STAL: Queste funzioni di loss avanzate migliorano notevolmente il riconoscimento degli oggetti piccoli, fondamentale per le immagini aeree e la robotica.
  • Rimozione di DFL: Eliminando la Distribution Focal Loss, la head del modello viene notevolmente semplificata, migliorando la compatibilità con l'esportazione su hardware edge legacy o fortemente vincolato.

Per i team che eseguono il deployment di pipeline multi-task, YOLO26 introduce anche miglioramenti specifici per ciascun task, come proto multi-scala per la segmentazione e una loss angolare specializzata per i bounding box orientati (OBB). Per esplorare altre alternative moderne nell'ecosistema, puoi consultare anche YOLO11 o l'architettura YOLOv8.

Conclusione#

La scelta tra EfficientDet e YOLOv5 dipende in larga misura dalla destinazione del deployment. EfficientDet offre un approccio allo scaling matematicamente elegante, adatto all'inferenza prevalentemente su cloud. Tuttavia, la migliore esperienza per gli sviluppatori offerta da YOLOv5, i cicli di addestramento PyTorch estremamente rapidi e le capacità di deployment edge altamente ottimizzate ne fanno la scelta preferita per la stragrande maggioranza delle applicazioni real-time nel mondo reale. Sfruttando gli strumenti completi offerti da Ultralytics, i team possono ridurre il time-to-market e creare sistemi AI altamente reattivi.

Commenti