Ultralytics YOLO27:

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 altamente influenti: EfficientDet di Google e YOLOv10 della Tsinghua University. Sebbene entrambi i modelli rappresentino importanti progressi nel rilevamento degli oggetti, affrontano la progettazione dell'architettura e l'ottimizzazione dei modelli da prospettive completamente diverse.

Esamineremo le loro architetture fondamentali, analizzeremo i benchmark delle prestazioni su dataset standard come COCO e discuteremo come si integrano nelle moderne pipeline di machine learning, evidenziando in particolare i vantaggi del completo ecosistema Ultralytics.

EfficientDet: il pioniere dello scaling composto#

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

Innovazioni e architettura principali#

EfficientDet è costruito sul backbone EfficientNet e sfrutta una nuova Bi-directional Feature Pyramid Network (BiFPN). A differenza delle tradizionali reti piramidali delle feature (FPN), che sommano le feature senza distinguerne l'importanza, BiFPN utilizza pesi apprendibili per fondere feature a più scale. Questo consente alla rete di apprendere efficacemente quali feature a diverse risoluzioni contribuiscono maggiormente alla predizione finale. Inoltre, EfficientDet utilizza un metodo di scaling composto che scala uniformemente risoluzione, profondità e larghezza del backbone, della rete delle feature e delle reti di predizione di classe e bounding box.

Sebbene EfficientDet resti una scelta solida per i sistemi legacy profondamente integrati con pipeline TensorFlow meno recenti, durante l'addestramento richiede una quantità considerevole di memoria e si basa su un ecosistema più datato, che può risultare macchinoso rispetto ai framework moderni e dinamici.

Scopri di più su EfficientDet

YOLOv10: l'innovatore senza NMS#

Rilasciato a metà del 2024, YOLOv10 ha cambiato radicalmente il paradigma del rilevamento degli oggetti in tempo reale eliminando la necessità della Non-Maximum Suppression (NMS) durante il post-processing e riducendo significativamente la latenza dell'inferenza.

Innovazioni e architettura principali#

YOLOv10 introduce una strategia coerente di assegnazione doppia per l'addestramento senza NMS. Utilizzando assegnazioni delle label one-to-many e one-to-one durante l'addestramento, la rete impara a produrre bounding box con corrispondenze univoche senza affidarsi a NMS per filtrare i duplicati. Questa progettazione olistica del modello, orientata all'efficienza e all'accuratezza, riduce la ridondanza computazionale, rendendolo un candidato eccellente per l'edge computing e le applicazioni di streaming video a bassa latenza. Si integra perfettamente nell'ecosistema Ultralytics, offrendo agli sviluppatori accesso a una Python API estremamente semplice.

Scopri di più su YOLOv10

Impatto dell'assenza di NMS

Rimuovendo il passaggio NMS, YOLOv10 garantisce velocità di inferenza costanti indipendentemente dal numero di oggetti rilevati in una scena, eliminando i picchi di latenza spesso osservati nelle applicazioni di visione artificiale affollate.

Confronto delle prestazioni: accuratezza, velocità ed efficienza#

Quando implementano modelli in scenari reali, gli sviluppatori devono valutare la mean Average Precision (mAP) rispetto al numero di parametri e alle operazioni computazionali (FLOPs). La tabella seguente illustra queste metriche nelle varianti di scaling 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
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

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

Perché scegliere Ultralytics per l'implementazione dei modelli?#

Sebbene entrambi i modelli abbiano un'importanza storica e strutturale, integrarli nelle pipeline moderne può essere una sfida. È qui che la piattaforma Ultralytics dà il meglio di sé. Fornendo un ecosistema unificato, Ultralytics semplifica l'intero ciclo di vita, dall'annotazione dei dati all'implementazione.

  1. Semplicità 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 boilerplate 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, ai bounding box orientati (OBB) e alla classificazione.
  3. Efficienza dell'addestramento: sfruttando 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 alle architetture Transformer pesanti o alle architetture TF multi-ramo più datate.

Esempio di codice: addestramento di YOLOv10#

Implementare YOLOv10 con Ultralytics è incredibilmente semplice. Il seguente frammento di codice mostra come inizializzare, addestrare e valutare una rete YOLOv10 interamente all'interno della Python API.

from ultralytics import YOLO

# Load a pre-trained YOLOv10 model (nano variant for edge speed)
model = YOLO("yolov10n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)

# Evaluate the model on the validation set
metrics = model.val()

# Export the model to ONNX for production deployment
model.export(format="onnx")

Casi d'uso e raccomandazioni#

La scelta tra EfficientDet e YOLOv10 dipende dai requisiti specifici del tuo progetto, dai vincoli di implementazione e dalle tue preferenze riguardo all'ecosistema.

Quando scegliere EfficientDet#

EfficientDet è una scelta valida per:

  • Pipeline Google Cloud e TPU: sistemi profondamente integrati con le API Google Cloud Vision o con infrastrutture TPU, dove EfficientDet dispone di ottimizzazioni native.
  • Ricerca sullo scaling composto: benchmark accademici incentrati sullo studio degli effetti dello scaling bilanciato di profondità, larghezza e risoluzione della rete.
  • Deployment mobile tramite TFLite: progetti che richiedono specificamente l'esportazione in 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 accuratezza: progetti che richiedono un equilibrio efficace tra velocità di inferenza e accuratezza del rilevamento su diverse dimensioni del modello.
  • Applicazioni a latenza coerente: scenari di distribuzione in cui sono fondamentali tempi di inferenza prevedibili, come la robotica o i sistemi autonomi.

Quando scegliere Ultralytics (YOLO26)#

Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la migliore combinazione di prestazioni ed esperienza per gli sviluppatori:

  • Deployment edge senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Soppressione non massima.
  • Ambienti esclusivamente CPU: dispositivi privi di accelerazione GPU dedicata, dove l'inferenza su CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari complessi come le immagini aeree riprese da droni o l'analisi di sensori IoT, in cui ProgLoss e STAL migliorano significativamente l'accuratezza sugli oggetti di piccole dimensioni.

Il futuro è qui: entra in scena Ultralytics YOLO26#

Sebbene YOLOv10 abbia introdotto il rivoluzionario design senza NMS, la tecnologia si è evoluta. Rilasciato a gennaio 2026, Ultralytics YOLO26 rappresenta lo stato dell'arte definitivo per l'AI applicata alla visione. 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 semplicità d'uso senza pari tramite la piattaforma Ultralytics.

Principali innovazioni di YOLO26:

  • Design end-to-end senza NMS: basandosi sulle fondamenta poste da YOLOv10, YOLO26 è nativamente end-to-end e semplifica la logica di implementazione riducendola all'essenziale.
  • Inferenza su CPU fino al 43% più veloce: eliminando la Distribution Focal Loss (DFL), YOLO26 riduce drasticamente l'overhead computazionale, diventando il riferimento assoluto per i dispositivi edge AI.
  • Ottimizzatore MuSGD: YOLO26 riprende innovazioni dall'addestramento dei Large Language Model (LLM). Fondendo la stabilità di SGD con la velocità di Muon, converge più rapidamente e in modo più affidabile rispetto a qualsiasi predecessore.
  • ProgLoss + STAL: formulazioni della loss superiori risolvono efficacemente problemi di lunga data nel rilevamento degli oggetti di piccole dimensioni, un ambito in cui EfficientDet ha tradizionalmente incontrato difficoltà.

Conclusione: abbinare i modelli ai casi d'uso#

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

  • EfficientDet resta di interesse accademico per quanto riguarda 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 runtime.
  • YOLOv10 è fenomenale per le applicazioni che richiedono una latenza estremamente bassa, come il tracking multi-oggetto ad alta velocità e il monitoraggio del traffico, grazie alla sua architettura pionieristica senza NMS.
  • YOLO26, tuttavia, è la raccomandazione definitiva per i moderni progetti di visione artificiale, offrendo il massimo equilibrio delle prestazioni tra accuratezza, ingombro minimo in memoria e versatilità multi-task, con il supporto del solido ecosistema Ultralytics.

Commenti