EfficientDet vs YOLO11#
Scegliere l'architettura di rete neurale ottimale è il fondamento di qualsiasi applicazione di visione artificiale di successo. Questa guida completa offre un confronto tecnico approfondito tra EfficientDet di Google e Ultralytics YOLO11, analizzandone le differenze architetturali, le metriche prestazionali e gli scenari di distribuzione ideali.
Che tu voglia ottenere una latenza di pochi millisecondi sui dispositivi per l'IA edge o un'accuratezza scalabile per l'inferenza basata sul cloud, è fondamentale comprendere le caratteristiche specifiche di questi modelli.
Profili dei modelli e dettagli tecnici#
Comprendere la genealogia e la filosofia progettuale alla base di ciascuna architettura aiuta a contestualizzarne le prestazioni nelle attività di rilevamento degli oggetti del mondo reale.
EfficientDet#
Sviluppato dai ricercatori di Google Brain, EfficientDet ha introdotto un approccio rigoroso allo scaling delle reti per il rilevamento degli oggetti, insieme alla nuova BiFPN (rete bidirezionale a piramide di feature).
- 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
YOLO11#
YOLO11 rappresenta un'evoluzione significativa nell'ecosistema Ultralytics e amplia i limiti delle prestazioni in tempo reale, dell'efficienza dei parametri e dell'apprendimento multi-task.
- Autori: Glenn Jocher e Jing Qiu
- Organizzazione: Ultralytics
- Data: 2024-09-27
- GitHub: https://github.com/ultralytics/ultralytics
- Documentazione: https://docs.ultralytics.com/models/yolo11
Confronto architetturale#
Le differenze architetturali tra questi due modelli evidenziano la divergenza delle strategie progettuali sviluppatesi nel corso degli anni.
EfficientDet sfrutta il backbone EfficientNet e introduce BiFPN, che consente la fusione di feature multi-scala dall'alto verso il basso e dal basso verso l'alto. Utilizza un metodo di scaling composto che ridimensiona uniformemente e simultaneamente risoluzione, profondità e larghezza del backbone, della rete di feature e delle reti di predizione di box/classi. Sebbene sia molto efficace nel massimizzare la media della precisione media (mAP), il complesso instradamento di BiFPN può talvolta creare colli di bottiglia nella larghezza di banda della memoria durante l'inferenza.
YOLO11, invece, utilizza un modulo C3k2 ottimizzato e una testa di rilevamento avanzata anchor-free. Questo approccio snello riduce al minimo l'overhead durante l'estrazione delle feature. Ultralytics ha progettato YOLO11 per massimizzare l'utilizzo dell'hardware GPU, riducendo notevolmente i requisiti di memoria sia durante l'addestramento sia durante l'inferenza rispetto alle architetture meno recenti o ai pesanti modelli Transformer.
Mentre EfficientDet è esclusivamente un rilevatore di oggetti, YOLO11 offre una versatilità eccezionale. Una singola architettura YOLO11 supporta nativamente la segmentazione delle istanze, la classificazione delle immagini, la stima della posa e le bounding box orientate (OBB).
Benchmark delle prestazioni#
La tabella seguente confronta le prestazioni delle due famiglie di modelli a diverse scale sul dataset COCO.
| 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
Analisi equilibrata: punti di forza e debolezze#
Accelerazione GPU: YOLO11 è nettamente superiore negli ambienti GPU. Ad esempio, YOLO11m raggiunge un mAP del 51,5% in appena 4,7 ms su una GPU T4 con TensorRT. Per ottenere un'accuratezza comparabile, EfficientDet-d5 impiega 67,86 ms: oltre 14 volte di più. Ciò evidenzia il bilanciamento prestazionale superiore dei modelli Ultralytics per le applicazioni in tempo reale.
Ambienti CPU: nelle varianti più piccole (come d0 e d1), EfficientDet offre velocità di inferenza CPU molto ottimizzate usando ONNX. Tuttavia, nelle varianti più grandi come d7, l'accuratezza aumenta poco senza comportare enormi penalizzazioni di latenza GPU.
Metodologia di addestramento ed ecosistema#
L'esperienza di sviluppo è spesso importante quanto le capacità teoriche del modello. È in questo ambito che l'ecosistema Ultralytics si distingue.
EfficientDet dipende fortemente dal vecchio ecosistema TensorFlow e da complesse librerie AutoML. Configurare una pipeline di addestramento personalizzata richiede una lunga curva di apprendimento, una gestione articolata delle dipendenze e la configurazione manuale degli anchor e delle funzioni di perdita.
Ultralytics, invece, offre una facilità d'uso senza pari. Grazie a un ecosistema PyTorch ben mantenuto, bastano poche righe di codice per addestrare un modello YOLO. Il framework gestisce automaticamente le augmentation avanzate dei dati e la pianificazione del learning rate, ed include funzionalità integrate di ottimizzazione degli iperparametri.
Esempio di codice: iniziare con Ultralytics#
Questo esempio di codice robusto e pronto per la produzione mostra quanto siano semplici l'addestramento e l'inferenza all'interno dell'API Python.
from ultralytics import YOLO
# Carica un modello YOLO11 small preaddestrato
model = YOLO("yolo11s.pt")
# Addestra il modello sul tuo dataset personalizzato
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Esegui un'inferenza rapida su un'immagine
results = model.predict("https://ultralytics.com/images/bus.jpg")
results[0].show()Casi d'uso ideali#
Quando usare EfficientDet: EfficientDet resta una scelta valida negli ambienti di ricerca fortemente basati su pipeline TensorFlow o in presenza di specifici vincoli legati alla CPU, quando le prime architetture come d0 sono adeguate.
Quando usare YOLO11: YOLO11 è la scelta ideale per le moderne distribuzioni aziendali. La sua velocità eccezionale lo rende perfetto per i veicoli autonomi, l'analisi sportiva in tempo reale e il rilevamento ad alto rendimento dei difetti di fabbricazione. Inoltre, il minore utilizzo di memoria consente una distribuzione flessibile su hardware con risorse limitate, come NVIDIA Jetson.
Uno sguardo al futuro: l'aggiornamento a YOLO26#
YOLO11 è estremamente capace, ma gli sviluppatori che avviano nuovi progetti dovrebbero valutare altre architetture Ultralytics, come il collaudato YOLOv8 o il nuovo YOLO26. Rilasciato all'inizio del 2026, YOLO26 parte dalle basi di YOLO11 e introduce diverse innovazioni rivoluzionarie:
- Design end-to-end NMS-free: Sulla scia di YOLOv10, YOLO26 può saltare completamente la post-elaborazione Non-Maximum Suppression (NMS) grazie alla sua testa opzionale one-to-one (
nms=False), riducendo la latenza e semplificando le pipeline di distribuzione. - Ottimizzatore MuSGD: un ottimizzatore ibrido che combina SGD standard e Muon (ispirato all'addestramento dei modelli linguistici di grandi dimensioni), migliorando notevolmente la stabilità dell'addestramento.
- Inferenza CPU fino al 43% più veloce: alcune ottimizzazioni rendono YOLO26 estremamente efficace sui dispositivi edge privi di GPU discrete.
- ProgLoss + STAL: funzioni di perdita avanzate che migliorano notevolmente il rilevamento degli oggetti di piccole dimensioni, fondamentale per le immagini aeree e la robotica.
Esplora il panorama più ampio delle architetture di visione, inclusi i rilevatori basati su Transformer come RT-DETR, nella nostra documentazione Ultralytics completa.