Ultralytics YOLO27:
Get Started

EfficientDet vs YOLOv10#

Nel campo in rapida evoluzione della visione artificiale, scegliere l'architettura giusta per il rilevamento degli oggetti è fondamentale per bilanciare accuratezza, latenza ed efficienza computazionale. Questa guida tecnica completa confronta due modelli di grande influenza: EfficientDet di Google e YOLOv10 della Tsinghua University. Entrambi rappresentano importanti progressi nel rilevamento degli oggetti, ma affrontano la progettazione architetturale e l'ottimizzazione dei modelli da prospettive molto diverse.

Esamineremo le architetture di base, analizzeremo i benchmark prestazionali su dataset standard come COCO e vedremo come si integrano nelle moderne pipeline di machine learning, mettendo in particolare evidenza i vantaggi dell'ampio ecosistema Ultralytics.

EfficientDet: pioniere dello scaling composto#

Introdotto alla fine del 2019, EfficientDet ha definito un nuovo punto di riferimento per il rilevamento degli oggetti scalabile e altamente accurato, proponendo un approccio rigoroso allo scaling delle dimensioni della rete.

Innovazioni e architettura principali#

EfficientDet si basa sul backbone EfficientNet e sfrutta una nuova rete bidirezionale a piramide di feature (BiFPN). A differenza delle tradizionali reti a piramide di feature (FPN), che sommano le feature senza distinguerne l'importanza, BiFPN usa pesi apprendibili per fondere feature multi-scala. In questo modo la rete può apprendere efficacemente quali feature a diverse risoluzioni contribuiscono maggiormente alla predizione finale. Inoltre, EfficientDet usa 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.

EfficientDet resta una scelta solida per i sistemi legacy profondamente integrati con le vecchie pipeline TensorFlow, ma durante l'addestramento richiede una quantità considerevole di memoria e dipende da un ecosistema meno recente, che può risultare macchinoso rispetto ai framework moderni e dinamici.

Scopri di più su EfficientDet

YOLOv10: l'innovatore NMS-free#

Rilasciato a metà del 2024, YOLOv10 ha trasformato radicalmente il paradigma del rilevamento degli oggetti in tempo reale eliminando la necessità di Non-Maximum Suppression (NMS) durante la post-elaborazione e riducendo sensibilmente la latenza di inferenza.

Innovazioni e architettura principali#

YOLOv10 introduce una strategia coerente di assegnazione doppia per l'addestramento NMS-free. Usando durante l'addestramento assegnazioni delle etichette sia one-to-many sia one-to-one, la rete impara a produrre bounding box univocamente corrispondenti senza affidarsi a NMS per eliminare i duplicati. Questo design del modello, che integra efficienza e accuratezza, riduce la ridondanza computazionale e lo rende un'ottima soluzione per l'edge computing e le applicazioni di streaming video a bassa latenza. Si integra perfettamente nell'ecosistema Ultralytics e offre agli sviluppatori un'API Python estremamente semplice.

Scopri di più su YOLOv10

Impatto dell'approccio NMS-free

Eliminando la fase NMS, YOLOv10 garantisce velocità di inferenza costanti indipendentemente dal numero di oggetti rilevati nella scena, evitando i picchi di latenza frequenti nelle applicazioni di visione artificiale con molte persone o oggetti.

Confronto delle prestazioni: accuratezza, velocità ed efficienza#

Quando distribuiscono i modelli in scenari reali, gli sviluppatori devono valutare la media della precisione media (mAP) insieme al numero di parametri e alle operazioni computazionali (FLOPs). La tabella seguente riporta queste metriche per le varianti scalari di entrambi i modelli.

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
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4

Nota: la variante YOLOv10n richiede un numero di parametri significativamente inferiore (2,3M) e raggiunge velocità TensorRT nettamente superiori (1,84 ms) rispetto alle prime versioni di EfficientDet, risultando molto più adatta all'inferenza in tempo reale in produzione.

Perché scegliere Ultralytics per la distribuzione dei modelli?#

Entrambi i modelli hanno rilevanza storica e strutturale, ma integrarli nelle pipeline moderne può essere difficile. È qui che la Piattaforma Ultralytics si distingue. Grazie a un ecosistema unificato, Ultralytics semplifica l'intero ciclo di vita, dall'annotazione dei dati alla distribuzione.

  1. Facilità d'uso: il pacchetto Python di Ultralytics offre un'unica interfaccia per l'addestramento dei modelli, la validazione e l'esportazione, sostituendo centinaia di righe di codice ripetitivo con comandi concisi.
  2. Ecosistema e versatilità: mentre EfficientDet è fortemente specializzato nel rilevamento, i modelli YOLO di Ultralytics si estendono naturalmente alla segmentazione delle istanze, alla stima della posa, alle bounding box orientate (OBB) e alla classificazione.
  3. Efficienza dell'addestramento: grazie a tecniche all'avanguardia come l'auto-batching e l'addestramento distribuito, i modelli Ultralytics si addestrano più rapidamente e consumano molta meno memoria CUDA rispetto ai pesanti modelli Transformer o alle vecchie architetture TF multi-ramo.

Esempio di codice: addestramento di YOLOv10#

Distribuire YOLOv10 con Ultralytics è estremamente semplice. Il seguente frammento di codice mostra come inizializzare, addestrare e valutare una rete YOLOv10 interamente tramite l'API Python.

from ultralytics import YOLO

# Carica un modello YOLOv10 pre-addestrato (variante nano per la velocità sui dispositivi edge)
model = YOLO("yolov10n.pt")

# Addestra il modello sul dataset COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)

# Valuta il modello sul set di validazione
metrics = model.val()

# Esporta il modello in ONNX per la distribuzione in produzione
model.export(format="onnx")

Casi d'uso e consigli#

La scelta tra EfficientDet e YOLOv10 dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle tue preferenze in termini di ecosistema.

Quando scegliere EfficientDet#

EfficientDet è una scelta valida per:

  • Pipeline Google Cloud e TPU: Sistemi strettamente integrati con le API Google Cloud Vision o con infrastrutture TPU, per le quali EfficientDet dispone di un'ottimizzazione nativa.
  • 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 YOLOv10#

YOLOv10 è consigliato per:

  • Rilevamento in tempo reale senza NMS: applicazioni che traggono vantaggio dal rilevamento end-to-end senza soppressione non massima, riducendo la complessità della distribuzione.
  • Compromesso equilibrato tra velocità e precisione: progetti che richiedono un buon equilibrio tra velocità di inferenza e precisione di rilevamento con modelli di diverse dimensioni.
  • Applicazioni con latenza costante: scenari di distribuzione in cui i tempi di inferenza prevedibili sono fondamentali, ad esempio nella robotica o nei sistemi autonomi.

Quando scegliere Ultralytics (YOLO26)#

Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la combinazione migliore 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 con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
  • Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.

Il futuro è qui: ecco Ultralytics YOLO26#

YOLOv10 ha introdotto il rivoluzionario design NMS-free, ma la tecnologia si è evoluta. Rilasciato a gennaio 2026, Ultralytics YOLO26 rappresenta lo stato dell'arte definitivo per l'IA visiva. Riunisce i migliori aspetti delle architetture precedenti, come le capacità multi-task di YOLO11 e la stabilità di RT-DETR, in un'unica soluzione estremamente ottimizzata e potente.

I vantaggi di YOLO26

Se stai iniziando un nuovo progetto, ti consigliamo vivamente di passare a YOLO26. Offre flessibilità e facilità d'uso ineguagliabili tramite la Piattaforma Ultralytics.

Innovazioni principali di YOLO26:

  • Design end-to-end NMS-free: basandosi sui fondamenti introdotti da YOLOv10, YOLO26 offre una testa end-to-end one-to-one opzionale (nms=False) che salta NMS e riduce al minimo la complessità della logica di distribuzione.
  • Inferenza CPU fino al 43% più veloce: eliminando Distribution Focal Loss (DFL), YOLO26 riduce drasticamente l'overhead computazionale e diventa il modello di riferimento indiscusso per i dispositivi edge con IA.
  • Ottimizzatore MuSGD: YOLO26 riprende innovazioni dall'addestramento dei modelli linguistici di grandi dimensioni (LLM). Combinando la stabilità di SGD con la velocità di Muon, converge più rapidamente e con maggiore affidabilità rispetto a qualsiasi modello precedente.
  • ProgLoss + STAL: formulazioni superiori delle funzioni di perdita risolvono efficacemente problemi di lunga data nel rilevamento degli oggetti piccoli, un ambito in cui EfficientDet ha tradizionalmente mostrato difficoltà.

Conclusione: scegliere i modelli in base ai casi d'uso#

La scelta tra queste reti dipende in definitiva dai vincoli di distribuzione:

  • EfficientDet resta di interesse accademico per lo scaling composto ed è adatto ai ricercatori che mantengono sistemi TensorFlow esistenti, nei quali le dimensioni dei pesi del modello su disco sono più importanti della velocità di esecuzione.
  • YOLOv10 è eccellente per le applicazioni che richiedono una latenza estremamente bassa, come il tracciamento multi-oggetto ad alta velocità e il monitoraggio del traffico, grazie alla sua architettura pionieristica NMS-free.
  • YOLO26, tuttavia, è la raccomandazione definitiva per i moderni progetti di visione artificiale, offrendo il massimo equilibrio prestazionale possibile tra accuratezza, ingombro minimo in memoria e versatilità multi-task, grazie al supporto del solido ecosistema Ultralytics.

Commenti