EfficientDet vs. YOLOv10: l'evoluzione del rilevamento di oggetti in tempo reale
Il panorama della visione artificiale è cambiato radicalmente tra il rilascio di EfficientDet Google nel 2019 e YOLOv10 dell'Università di Tsinghua YOLOv10 2024. Per sviluppatori e ricercatori, comprendere il percorso che ha portato dal complesso ridimensionamento composto alle architetture semplificate end-to-end è fondamentale per selezionare lo strumento giusto per il lavoro. Questa analisi confronta la precisione legacy di EfficientDet con l'innovazione a bassa latenza di YOLOv10, evidenziando al contempo come soluzioni moderne come Ultralytics stiano definendo nuovi standard per gli ambienti di produzione.
EfficientDet: L'eredità del compound scaling
Rilasciato dal team Google , EfficientDet ha rappresentato una pietra miliare nell'ottimizzazione dell'efficienza delle reti neurali. Ha introdotto il concetto di Compound Scaling, che scala uniformemente la risoluzione, la profondità e l'ampiezza della dorsale della rete, invece di modificare solo una dimensione.
Dettagli tecnici di EfficientDet:
- Autori: Mingxing Tan, Ruoming Pang e Quoc V. Le
- Organizzazione:Google Research
- Data: 2019-11-20
- Arxiv:EfficientDet: Scalable and Efficient Object Detection
- GitHub:google/automl
Il cuore di EfficientDet è il Bi-directional Feature Pyramid Network (BiFPN). A differenza delle tradizionali FPN che sommano caratteristiche provenienti da scale diverse, la BiFPN consente una fusione complessa e ponderata delle caratteristiche, permettendo al modello di apprendere l'importanza delle diverse caratteristiche di input. Sebbene questa architettura abbia raggiunto un livello di precisione media (mAP) all'avanguardia sul COCO all'epoca, le complesse interconnessioni dei livelli BiFPN comportano un notevole sovraccarico computazionale, rendendo l'inferenza, in particolare sui dispositivi edge, più lenta rispetto alle architetture moderne.
YOLOv10: La Rivoluzione End-to-End
YOLOv10, sviluppato dai ricercatori dell'Università di Tsinghua, affronta il principale ostacolo delle YOLO precedenti YOLO : la soppressione non massima (NMS). Utilizzando una strategia di doppia assegnazione coerente durante l'addestramento, YOLOv10 a prevedere un unico riquadro di delimitazione ottimale per ogni oggetto, diventando di fatto un rilevatore end-to-end NMS.
Dettagli YOLOv10 :
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione:Tsinghua University
- Data: 2024-05-23
- Arxiv:YOLOv10: Real-Time End-to-End Object Detection
- GitHub:THU-MIG/yolov10
Questo cambiamento architettonico consente una latenza di inferenza significativamente inferiore. Il modello introduce anche un design olistico basato sull'efficienza e l'accuratezza, utilizzando convoluzioni con kernel di grandi dimensioni e auto-attenzione parziale per migliorare le prestazioni senza il sovraccarico di parametri riscontrato nei modelli precedenti.
Confronto delle prestazioni: Velocità vs. Precisione
Il divario prestazionale tra queste due generazioni di modelli è netto, in particolare per quanto riguarda la velocità di inferenza. Mentre EfficientDet-d7 offre un'elevata precisione, lo fa a costo di una latenza elevata (oltre 100 ms), mentre YOLOv10 raggiungono una precisione simile o superiore in pochi millisecondi.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Analisi Architetturale
- Post-elaborazione: EfficientDet si affida in larga misura NMS filtrare i riquadri sovrapposti. In scene dense, questa fase di post-elaborazione diventa un CPU , aumentando la latenza totale indipendentemente dalla GPU . Il designNMS YOLOv10 elimina completamente questa fase.
- Utilizzo della memoria: EfficientDet, in particolare con scalature più elevate come d7, consuma una quantità significativa di VRAM a causa della struttura BiFPN. YOLOv10 ottimizzato per un ingombro di memoria inferiore, rendendolo più adatto alle applicazioni AI edge.
- Ottimizzazione: EfficientDet è basato su TensorFlow può essere complesso da esportare in formati come ONNX TensorRT rispetto PyTorch nativa PyTorch dei moderni YOLO.
Il vantaggio dell'ecosistema Ultralytics
Sebbene YOLOv10 notevoli progressi architettonici, sfruttarlo all'interno Ultralytics ne amplifica l'utilità. Gli sviluppatori spesso devono affrontare la frammentazione dei repository accademici. Ultralytics questo problema unificando i modelli in un unico Python ben gestito.
Perché scegliere l'Ultralytics ?
- Facilità d'uso: passa da YOLOv8 a YOLOv10, YOLO11 e YOLO26 con una sola riga di codice.
- Efficienza della formazione: gli iperparametri preconfigurati e la gestione automatica delle dimensioni dei batch garantiscono un utilizzo ottimale delle risorse.
- Pronto per l'implementazione: esportazione con un solo clic in TFLite, CoreML, OpenVINO e ONNX.
- Ultralytics : gestisci in modo semplice i set di dati, fai formazione nel cloud e distribuisci modelli tramite la Ultralytics .
Esempio di codice
L'esecuzione dell'inferenza con Ultralytics progettata per essere intuitiva e semplice. Ecco come caricare un YOLOv10 ed eseguire una previsione:
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image from the internet
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
Raccomandazione di produzione: aggiornamento a YOLO26
Mentre EfficientDet funge da importante punto di riferimento storico e YOLOv10 il paradigma NMS, il Ultralytics rappresenta l'apice di questa evoluzione per l'uso in produzione.
Rilasciato nel gennaio 2026, YOLO26 si basa sull'innovazione NMS di YOLOv10 lo perfeziona per garantire una maggiore robustezza nel mondo reale. È dotato della funzione di rimozione della perdita focale di distribuzione (DFL), che semplifica il grafico del modello per facilitare l'esportazione e garantire una migliore compatibilità con i dispositivi edge a bassa potenza.
Inoltre, YOLO26 incorpora l'ottimizzatore MuSGD, un ibrido tra SGD Muon (ispirato alle innovazioni nella formazione LLM), che garantisce una convergenza più rapida e una formazione stabile. Con ottimizzazioni come ProgLoss e STAL (Shape-aware Task Alignment Loss), YOLO26 offre un rilevamento superiore dei piccoli oggetti ed è fino al 43% più veloce CPU rispetto alle generazioni precedenti.
Casi d'uso reali
La scelta del modello giusto dipende dai vostri vincoli specifici:
- EfficientDet: ideale per la ricerca accademica in cui è necessario studiare il ridimensionamento dei composti o le architetture BiFPN. Si trova anche nei sistemi legacy in cui il costo della migrazione supera i vantaggi in termini di prestazioni dei modelli più recenti.
- YOLOv10 YOLO26: La scelta ideale per applicazioni in tempo reale.
- Robotica: il design NMS riduce il jitter di latenza, fondamentale per la navigazione e l'evitamento degli ostacoli.
- Monitoraggio del traffico: l'elevata velocità di elaborazione consente di elaborare più flussi video su una singola GPU il tracciamento degli oggetti.
- App mobili: il numero ridotto di parametri e l'utilizzo limitato della memoria rendono questi modelli perfetti per l'implementazione su Android iOS Android .
Per gli sviluppatori che cercano il miglior equilibrio tra velocità, precisione e facilità di implementazione, il passaggio a Ultralytics o YOLO11 è la strada consigliata da seguire.