YOLO11 vs EfficientDet#
Per scegliere la rete neurale giusta per i progetti di computer vision, devi conoscere le architetture disponibili. Questa guida confronta Ultralytics YOLO11 e EfficientDet di Google, analizzandone le differenze architetturali, le metriche prestazionali, l’efficienza di addestramento e gli scenari di distribuzione ideali, per aiutarti a scegliere il modello adatto ai tuoi carichi di lavoro di machine learning.
Panoramica e specifiche dei modelli#
Entrambi i modelli hanno influenzato la ricerca sul rilevamento degli oggetti nel deep learning, ma derivano da filosofie progettuali e periodi diversi dello sviluppo dell’IA.
Dettagli su YOLO11#
- 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
Dettagli su 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
- Documentazione: https://github.com/google/automl/tree/master/efficientdet#readme
L’ecosistema che circonda un modello è importante quanto il modello stesso. L’ecosistema Ultralytics offre documentazione completa, il supporto di una community attiva e l’esportazione con un solo comando in formati come ONNX e TensorRT.
Innovazioni architetturali#
EfficientDet: BiFPN e scaling composto#
Introdotto alla fine del 2019, EfficientDet mirava a massimizzare l’accuratezza riducendo al minimo il costo computazionale. Ci riesce principalmente grazie a due meccanismi. Innanzitutto, il suo backbone appartiene alla famiglia EfficientNet, che aumenta insieme profondità, larghezza e risoluzione tramite scaling composto. In secondo luogo, ha introdotto il Bi-directional Feature Pyramid Network (BiFPN), che consente una fusione delle caratteristiche multi-scala semplice e rapida.
Pur essendo efficiente per l’epoca, l’implementazione AutoML di EfficientDet basata su TensorFlow può essere rigida. Rispetto ai moderni framework modulari basati su PyTorch, i ricercatori spesso trovano difficile applicare il pruning dei modelli e apportare modifiche personalizzate.
YOLO11: estrazione avanzata delle caratteristiche e versatilità#
YOLO11 si basa sui predecessori e combina i blocchi C3k2 e l’attenzione spaziale C2PSA con un modulo rapido Spatial Pyramid Pooling (SPPF). Queste modifiche migliorano l’estrazione delle caratteristiche e aiutano YOLO11 a cogliere i dettagli visivi più fini.
Un grande vantaggio di YOLO11 è la sua versatilità. Mentre EfficientDet è esclusivamente un modello di rilevamento degli oggetti, YOLO11 supporta nativamente la segmentazione delle istanze, la classificazione delle immagini, la stima della posa e i riquadri di delimitazione orientati (OBB). YOLO11 richiede inoltre poca memoria durante l’addestramento e l’inferenza, il che gli conferisce un vantaggio rispetto ai modelli meno recenti e ai Vision Transformer più grandi sull’hardware di IA edge con risorse limitate.
Prestazioni e benchmark#
L’equilibrio tra accuratezza, misurata tramite mean Average Precision (mAP), e velocità di inferenza spesso determina le distribuzioni nel mondo reale. La tabella qui sotto mostra le prestazioni di entrambe le famiglie di modelli sul dataset COCO.
| Modello | dimensione (pixel) | mAPval50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| EfficientDet-d0 | 512 | 34.6 | - | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | - | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 768 | 43.0 | - | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 896 | 47.5 | - | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 1024 | 49.7 | - | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 1280 | 51.5 | - | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 1280 | 52.6 | - | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 1536 | 53.7 | - | 128.07 | 51.9 | 325.0 |
YOLO11 è molto più veloce su GPU a parità di accuratezza. YOLO11s è quasi alla pari con EfficientDet-d3 (47.0 contro 47.5 mAP) in 2.5 ms anziché 19.59 ms su una T4 con TensorRT, mentre YOLO11x raggiunge la massima accuratezza (54.7 mAP) in 11.3 ms contro i 128.07 ms di EfficientDet-d7 (53.7 mAP). EfficientDet-d0 richiede il minor numero di FLOPs (2.54B).
Efficienza dell'addestramento ed ecosistema#
I modelli Ultralytics sono progettati per essere facili da usare. Addestrare un modello EfficientDet richiede spesso di districarsi tra configurazioni complesse dei grafi TensorFlow e catene di dipendenze, mentre YOLO11 si basa su una moderna piattaforma PyTorch.
Questo ecosistema ben mantenuto consente agli sviluppatori di installare il pacchetto, caricare un modello preaddestrato e iniziare ad addestrarlo su un dataset personalizzato con poche righe di codice.
Esempio di codice Python#
Ecco un esempio completamente eseguibile che dimostra la semplicità dell'API Ultralytics. Questo script scarica un modello YOLO11 preaddestrato, lo addestra ed esegue una rapida predizione.
from ultralytics import YOLO
# Inizializza un modello YOLO11 nano preaddestrato
model = YOLO("yolo11n.pt")
# Addestra il modello in modo efficiente usando il motore PyTorch integrato
# L'addestramento è efficiente e richiede meno VRAM rispetto ai modelli legacy
results = model.train(data="coco8.yaml", epochs=10, imgsz=640, device="cpu")
# Esegui inferenze in tempo reale su un'immagine di esempio
prediction = model.predict("https://ultralytics.com/images/bus.jpg")
# Visualizza le bounding box in output
prediction[0].show()Uno sguardo al futuro: i vantaggi di YOLO26#
I team che avviano nuovi progetti dovrebbero valutare Ultralytics YOLO26, rilasciato a gennaio 2026, che semplifica la distribuzione e migliora le prestazioni edge.
Le principali innovazioni di YOLO26 includono:
- Progettazione end-to-end senza NMS: una testa one-to-one opzionale (
nms=False) salta la post-elaborazione con Non-Maximum Suppression (NMS), garantendo a YOLO26 una latenza costante e bassa per la robotica ad alta velocità e la guida autonoma. - Inferenza su CPU fino al 43% più veloce: per le distribuzioni senza GPU dedicate, YOLO26n è fino al 43% più veloce di YOLO11n su CPU.
- Ottimizzatore MuSGD: ispirato a Kimi K2 di Moonshot AI, questo ibrido di SGD e Muon porta la stabilità di addestramento dei modelli linguistici di grandi dimensioni (LLM) nella computer vision e accelera la convergenza.
- ProgLoss + STAL: la Progressive Loss e l’assegnazione di etichette consapevole dei piccoli oggetti (STAL) migliorano il riconoscimento degli oggetti di piccole dimensioni, spesso problematico nell’analisi di immagini satellitari e nei filmati ripresi dai droni.
- Rimozione della DFL: L'eliminazione della Distribution Focal Loss semplifica l'esportazione del modello sui dispositivi edge.
Casi d'uso e consigli#
La scelta tra YOLO11 ed EfficientDet dipende dai requisiti specifici del progetto, dai vincoli di implementazione e dalle preferenze relative all'ecosistema.
Quando scegliere YOLO11#
YOLO11 è un'ottima scelta per:
- Deployment edge in produzione: applicazioni commerciali su dispositivi come Raspberry Pi o NVIDIA Jetson, per cui affidabilità e manutenzione attiva sono fondamentali.
- Applicazioni di visione multi-task: progetti che richiedono rilevamento, segmentazione, stima della posa e OBB all’interno di un unico framework unificato.
- Prototipazione e distribuzione rapide: team che devono passare velocemente dalla raccolta dei dati alla produzione usando l’API Python di Ultralytics.
Quando scegliere EfficientDet#
EfficientDet è consigliato per:
- Google Cloud e pipeline TPU: sistemi basati su TensorFlow nell’infrastruttura Google Cloud TPU, dove l’implementazione di riferimento di EfficientDet supporta l’addestramento su TPU.
- Ricerca sullo scaling composto: Benchmark accademici incentrati sugli effetti di uno scaling bilanciato di profondità, larghezza e risoluzione della rete.
- Implementazione mobile con LiteRT: Progetti che richiedono specificamente l'esportazione in LiteRT (in precedenza TensorFlow Lite) per Android o dispositivi Linux embedded.
Quando scegliere Ultralytics (YOLO26)#
Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la migliore combinazione di prestazioni ed esperienza per gli sviluppatori:
- Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
- Ambienti senza GPU: Dispositivi privi di accelerazione GPU dedicata, sui quali l’inferenza CPU di YOLO26n, fino al 43% più veloce di YOLO11n, offre un vantaggio decisivo.
- Rilevamento di oggetti piccoli: Scenari complessi come le immagini aeree riprese da droni o l’analisi dei sensori IoT, in cui ProgLoss e STAL migliorano la precisione sugli oggetti piccoli.
Conclusione#
EfficientDet è stata un’architettura pionieristica che ha dimostrato il valore dello scaling composto nel rilevamento degli oggetti. I modelli più recenti sono più capaci, più facili da integrare e più veloci da eseguire sulle GPU.
Grazie al supporto multi-task, alla rapida inferenza su GPU e alla semplicità dell’API, YOLO11 è la scelta migliore per le moderne pipeline di visione. Per i nuovi progetti, soprattutto quelli destinati prima di tutto all’edge, YOLO26 aggiunge l’inferenza opzionale senza NMS e una maggiore accuratezza.