YOLOX vs. EfficientDet: un confronto tecnico tra architetture di rilevamento oggetti
La scelta dell'architettura ottimale per il rilevamento degli oggetti è una decisione fondamentale che influisce sulla latenza, l'accuratezza e la scalabilità dei sistemi di visione artificiale. Questo confronto approfondisce le differenze tecniche tra YOLOX, un rilevatore ad alte prestazioni senza ancoraggio di Megvii, ed EfficientDet, l'architettura scalabile Google incentrata sull'efficienza.
Sebbene entrambi i modelli abbiano plasmato il panorama della visione artificiale, le applicazioni moderne richiedono sempre più soluzioni che offrano un'implementazione semplificata e prestazioni native per dispositivi edge. Esploreremo anche come la tecnologia all'avanguardia YOLO26 si basa su queste eredità per fornire risultati superiori.
Metriche di performance e benchmark
La tabella seguente mette a confronto le prestazioni di vari modelli su scala diversa sul COCO . Le metriche chiave includono la precisione media (mAP) e la latenza di inferenza, evidenziando il compromesso tra velocità e accuratezza.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| 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 |
YOLOX: L'Evoluzione Anchor-Free
YOLOX rappresenta un cambiamento significativo nella YOLO grazie all'adozione di un meccanismo senza ancoraggio e al disaccoppiamento della testa di rilevamento. Questo design semplifica il processo di addestramento e migliora le prestazioni su diversi set di dati.
Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
Organizzazione: Megvii
Data: 18/07/2021
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
Caratteristiche architettoniche chiave
- Testa disaccoppiata: a differenza YOLO precedenti YOLO che utilizzavano una testa accoppiata per la classificazione e la localizzazione, YOLOX separa questi compiti. Ciò porta a una convergenza più rapida e a una maggiore precisione.
- Design senza ancoraggi: eliminando le caselle di ancoraggio, YOLOX elimina la necessità di una regolazione manuale degli ancoraggi, rendendo il modello più robusto rispetto alle diverse forme degli oggetti.
- Assegnazione delle etichette SimOTA: YOLOX introduce SimOTA, una strategia avanzata di assegnazione delle etichette che abbina dinamicamente gli oggetti reali alle previsioni, bilanciando efficacemente la funzione di perdita.
Punti di forza e debolezze
YOLOX eccelle in scenari che richiedono un equilibrio tra velocità e precisione, in particolare dove i problemi legati all'ancoraggio legacy (come lo squilibrio) erano problematici. Tuttavia, la sua dipendenza da pesanti pipeline di aumento dei dati può talvolta complicare la configurazione dell'addestramento per i set di dati personalizzati.
EfficientDet: Efficienza Scalabile
EfficientDet si concentra sull'ottimizzazione dell'efficienza attraverso un metodo di ridimensionamento composto che ridimensiona uniformemente la risoluzione, la profondità e la larghezza della dorsale, della rete di caratteristiche e delle reti di previsione box/classe.
Autori: Mingxing Tan, Ruoming Pang e Quoc V. Le
Organizzazione: Google
Data: 20/11/2019
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: google
Caratteristiche architettoniche chiave
- EfficientNet Backbone: utilizza EfficientNet, ottimizzato per FLOP e efficienza dei parametri.
- BiFPN (Bidirectional Feature Pyramid Network): un livello di fusione delle caratteristiche ponderato che consente una fusione delle caratteristiche multiscala facile e veloce.
- Scalatura composta: un metodo distinto che scala simultaneamente tutte le dimensioni della rete, anziché aumentare solo la profondità o la larghezza in modo isolato.
Punti di forza e debolezze
EfficientDet è altamente efficace per applicazioni in cui le dimensioni del modello (memoria) rappresentano un vincolo primario, come le app mobili. Sebbene raggiunga mAP elevato, la sua velocità di inferenza sulle GPU spesso è inferiore rispetto YOLO a causa della complessità del BiFPN e delle convoluzioni separabili in profondità, che a volte sono meno ottimizzate nell'hardware rispetto alle convoluzioni standard.
Il Vantaggio Ultralytics: Entra in YOLO26
Sebbene YOLOX ed EfficientDet abbiano avuto un ruolo fondamentale nel periodo 2019-2021, il settore ha registrato rapidi progressi. YOLO26, rilasciato da Ultralytics gennaio 2026, rappresenta l'avanguardia dell'intelligenza artificiale visiva, superando i limiti delle generazioni precedenti con innovazioni rivoluzionarie.
Facilità d'uso ed ecosistema
Gli sviluppatori che scelgono Ultralytics di un ecosistema unificato e completo. A differenza degli archivi di ricerca frammentati di YOLOX o EfficientDet, la Ultralytics e l'API Ultralytics consentono di addestrare, convalidare e implementare modelli senza soluzione di continuità. L'ecosistema supporta iterazioni rapide con funzionalità quali l'annotazione automatica e l'esportazione con un solo clic in formati quali ONNX e OpenVINO.
Caratteristiche prestazionali di nuova generazione
YOLO26 introduce diverse innovazioni architetturali che lo rendono superiore per le implementazioni moderne:
Progettazione end-to-end NMS: YOLO26 è nativamente end-to-end, eliminando la necessità di post-elaborazione con soppressione non massima (NMS). Ciò riduce la varianza della latenza e semplifica le pipeline di implementazione, un concetto introdotto per la prima volta in YOLOv10 e qui perfezionato.
MuSGD Optimizer: ispirato all'addestramento dei modelli linguistici di grandi dimensioni (LLM), MuSGD Optimizer combina la stabilità di SGD le proprietà di momentum di Muon. Ciò si traduce in una convergenza più rapida durante l'addestramento e in pesi finali più robusti.
Efficienza edge-first: eliminando la Distribution Focal Loss (DFL), YOLO26 semplifica la struttura del livello di output. Questa modifica, combinata con ottimizzazioni architetturali, consente CPU fino al 43% più veloce rispetto alle generazioni precedenti, rendendola significativamente più veloce di EfficientDet su hardware edge.
ProgLoss + STAL: le nuove funzioni di perdita ProgLoss e STAL apportano notevoli miglioramenti nel rilevamento di oggetti di piccole dimensioni, un punto debole comune nei precedenti modelli senza ancoraggio. Ciò è fondamentale per le applicazioni nell'imaging aereo e nella robotica.
Consiglio per l'allenamento
L'ottimizzatore MuSGD di YOLO26 consente tassi di apprendimento più aggressivi. Quando si esegue l'addestramento su set di dati personalizzati, è consigliabile utilizzare la guida Ultralytics Tuning per massimizzare le prestazioni.
Versatilità e memoria
A differenza di YOLOX ed EfficientDet, che sono principalmente rilevatori, YOLO26 è un potente strumento multi-task. Supporta nativamente:
Inoltre, Ultralytics sono ottimizzati per l'efficienza della memoria. L'addestramento di un modello YOLO26 richiede in genere meno CUDA rispetto alle alternative basate su trasformatori come RT-DETR, consentendo batch di dimensioni maggiori su GPU di livello consumer.
Esempio di Codice: Addestramento di YOLO26
Passare a YOLO26 è semplicissimo conPython Ultralytics .
from ultralytics import YOLO
# Load the state-of-the-art YOLO26n model
model = YOLO("yolo26n.pt")
# Train on the COCO8 dataset
# The MuSGD optimizer and ProgLoss are handled automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
# NMS-free output is generated natively
results = model("https://ultralytics.com/images/bus.jpg")
Conclusione
Mentre YOLOX offre una solida base per la ricerca senza anchor e EfficientDet fornisce uno studio sull'efficienza di scalabilità, YOLO26 si distingue come la scelta pragmatica per il 2026 e oltre. La sua combinazione di inferenza NMS, CPU superiore e il solido supporto Ultralytics lo rendono il candidato ideale per gli sviluppatori che desiderano superare i limiti dell'inferenza in tempo reale.
Per chi è pronto a passare alla versione superiore, scoprite tutte le funzionalità di YOLO26 nella nostra documentazione o citate altre opzioni moderne come YOLO11 per confronti con versioni precedenti.