Ultralytics YOLO27:

YOLOv8 vs EfficientDet#

Nel campo in rapida evoluzione del rilevamento degli oggetti, selezionare l’architettura di rete neurale ottimale è fondamentale per bilanciare accuratezza, velocità di inferenza e fattibilità della distribuzione. Questo approfondimento tecnico confronta due architetture di grande rilievo: Ultralytics YOLOv8, uno standard versatile nell’ecosistema moderno della computer vision, ed EfficientDet, un modello fondamentale di Google noto per la sua strategia di scalabilità composta.

Che la tua distribuzione sia destinata a server cloud ad alte prestazioni o a dispositivi edge con risorse limitate, comprendere le peculiarità architetturali di questi modelli guiderà il tuo progetto verso il successo.

Panoramica dell'architettura#

Entrambi i modelli affrontano la sfida di identificare e localizzare gli oggetti in un’immagine utilizzando reti neurali convoluzionali, ma adottano metodologie distinte per ottenere l’estrazione delle caratteristiche e la regressione dei bounding box.

Ultralytics YOLOv8#

Rilasciato da Ultralytics nel gennaio 2023, YOLOv8 ha rappresentato un notevole passo avanti nella famiglia YOLO. Scritto da Glenn Jocher, Ayush Chaurasia e Jing Qiu, è stato progettato da zero per supportare senza soluzione di continuità molteplici attività di visione artificiale, tra cui il rilevamento degli oggetti, la segmentazione delle istanze, la stima della posa e la classificazione delle immagini.

L’architettura introduce una testa di rilevamento senza ancoraggi, che riduce notevolmente il numero di predizioni dei box e accelera la soppressione dei non massimi (NMS). Il suo backbone utilizza un innovativo modulo C2f (collo di bottiglia Cross-Stage Partial con due convoluzioni) per migliorare il flusso dei gradienti durante l’addestramento mantenendo al contempo un ingombro ridotto. Questo rende YOLOv8 eccezionalmente efficiente quando viene compilato in formati come NVIDIA TensorRT o ONNX.

EfficientDet#

Scritto da Mingxing Tan, Ruoming Pang e Quoc V. Le presso Google e rilasciato alla fine del 2019, EfficientDet si concentra sull’efficienza scalabile. Descritto nel loro articolo ufficiale su Arxiv, il modello sfrutta ampiamente l’ecosistema AutoML.

La caratteristica distintiva di EfficientDet è la sua rete piramidale delle caratteristiche bidirezionale (BiFPN), che consente una fusione delle caratteristiche multiscala semplice e veloce. In combinazione con un backbone EfficientNet, l’architettura utilizza un metodo di scalabilità composta che ridimensiona uniformemente risoluzione, profondità e ampiezza di tutte le reti del backbone, delle caratteristiche e della predizione di box/classi allo stesso tempo. Sebbene ciò garantisca un’eccellente efficienza dei parametri, la complessa topologia della rete spesso fatica a raggiungere velocità real-time ottimali sulle GPU standard.

Scopri di più su EfficientDet

Confronto di prestazioni e metriche#

Nel confronto tra i rilevatori di oggetti, la precisione media media (mAP) e la latenza di inferenza sono i principali benchmark. La tabella seguente illustra il confronto tra le varianti di YOLOv8 e la famiglia EfficientDet (d0-d7) in base a metriche standard su dataset come COCO.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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
Analisi del bilanciamento delle prestazioni

Sebbene EfficientDet raggiunga un’accuratezza ragguardevole con un numero inferiore di FLOPs teorici, Ultralytics YOLOv8 domina in termini di velocità di inferenza GPU nel mondo reale. Ad esempio, YOLOv8x raggiunge una mAP leggermente superiore (53,9) rispetto a EfficientDet-d7 (53,7), ma elabora le immagini molto più rapidamente su una GPU T4 (14,37 ms contro 128,07 ms), rendendo YOLOv8 la scelta ovvia per l’analisi video in tempo reale.

Metodologie di addestramento ed ecosistema#

L’esperienza degli sviluppatori è un fattore cruciale nella scelta di un’architettura di machine learning. È qui che il supporto della community open source e gli strumenti dell’ecosistema differenziano davvero questi modelli.

EfficientDet dipende fortemente da TensorFlow e da pipeline AutoML specializzate. Sebbene sia efficace per l’addestramento cloud distribuito su larga scala, configurare l’ambiente, regolare gli ancoraggi e analizzare i densi file di configurazione presenti nel repository EfficientDet su GitHub può risultare impegnativo per team di ingegneria che lavorano a ritmi elevati.

Al contrario, Ultralytics YOLOv8 è sviluppato nativamente su PyTorch, offrendo una facilità d’uso senza pari. Gli sviluppatori possono avviare cicli di addestramento complessi con una sola riga di codice Python o un comando CLI. Inoltre, i requisiti di memoria del modello durante l’addestramento sono fortemente ottimizzati; YOLOv8 consente agli sviluppatori dotati di GPU consumer di fascia media di addestrare modelli robusti senza incorrere in errori di memoria esaurita (OOM), che affliggono frequentemente le architetture pesantemente basate su Transformer.

La perfetta integrazione con la Ultralytics Platform fa un ulteriore passo avanti, offrendo un’interfaccia no-code per l’annotazione dei dataset, l’addestramento dei modelli e la distribuzione cloud con un solo clic. Funzionalità come il tuning automatico degli iperparametri assicurano che tu ottenga sempre la migliore accuratezza possibile per i tuoi dataset personalizzati.

Esempio di codice Python: inferenza con YOLOv8#

Eseguire un rilevatore all’avanguardia utilizzando il repository Ultralytics su GitHub è straordinariamente semplice:

from ultralytics import YOLO

# Initialize the YOLOv8 model natively in PyTorch
model = YOLO("yolov8n.pt")

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

# Run fast inference on an image URL
inference_results = model("https://ultralytics.com/images/bus.jpg")

# Display the bounding boxes
inference_results[0].show()

La prossima generazione: passare a Ultralytics YOLO26#

Sebbene YOLOv8 rimanga un modello di produzione molto capace, ricercatori e sviluppatori alla ricerca delle prestazioni AI più avanzate dovrebbero valutare Ultralytics YOLO26, rilasciato nel gennaio 2026.

YOLO26 ridefinisce il paradigma del rilevamento degli oggetti introducendo un design nativo end-to-end senza NMS. Eliminando la necessità della soppressione dei non massimi durante il post-processing, un collo di bottiglia presente fin dalle prime versioni di YOLO, la variabilità della latenza viene praticamente eliminata. Si tratta di una svolta per la distribuzione su dispositivi a basso consumo.

Inoltre, YOLO26 integra diverse innovazioni rivoluzionarie per l’addestramento:

  • Ottimizzatore MuSGD: ispirato a tecniche avanzate di addestramento degli LLM, questo ibrido di SGD e Muon garantisce un addestramento altamente stabile e tassi di convergenza notevolmente accelerati.
  • Inferenza CPU fino al 43% più veloce: grazie alla rimozione di NMS e a un backbone fortemente ottimizzato, YOLO26 raggiunge velocità senza precedenti sui dispositivi edge basati esclusivamente su CPU, senza dipendere da NPU dedicate.
  • ProgLoss + STAL: queste funzioni di perdita avanzate offrono un notevole miglioramento dell’accuratezza nel riconoscimento degli oggetti di piccole dimensioni, rendendo YOLO26 indispensabile per le immagini aeree e i sensori IoT di precisione.
  • Rimozione di DFL: la Distribution Focal Loss è stata completamente rimossa per semplificare drasticamente il processo di esportazione in formati come OpenVINO e CoreML.

Casi d'uso e raccomandazioni#

La scelta tra queste architetture dipende in ultima analisi dai tuoi vincoli di distribuzione e dai requisiti legacy.

  • Scegli Ultralytics YOLOv8 se: stai sviluppando applicazioni moderne e versatili di computer vision che richiedono alta accuratezza, inferenza GPU in tempo reale e un’esperienza di sviluppo senza attriti. Le sue solide prestazioni nelle attività di classificazione, segmentazione e rilevamento lo rendono uno strumento multifunzione potente per l’analisi nel settore retail, la robotica e i sistemi di sicurezza.
  • Scegli EfficientDet se: sei vincolato a workflow legacy basati su TensorFlow e la tua preoccupazione principale è ridurre al minimo il numero di parametri e i FLOPs teorici, magari per scopi di ricerca anziché per una rigorosa distribuzione industriale in tempo reale.
  • Scegli Ultralytics YOLO26 se: stai iniziando un nuovo progetto e hai bisogno del meglio in assoluto. La sua architettura nativa end-to-end senza NMS lo rende la scelta definitiva sia per le distribuzioni edge ultrarapide sia per l’elaborazione cloud intensiva.

Se stai esplorando altri framework altamente capaci nell’ecosistema Ultralytics, puoi prendere in considerazione anche Ultralytics YOLO11 per prestazioni legacy bilanciate o RT-DETR per un approccio basato su Transformer al rilevamento in tempo reale.

Commenti