YOLOv10 vs EfficientDet#
Selezionare la rete neurale ottimale per il rilevamento degli oggetti è una decisione cruciale che determina il successo dei moderni sistemi di visione artificiale. Due architetture di rilievo che hanno influenzato significativamente il settore sono YOLOv10 ed EfficientDet. Sebbene entrambe puntino a massimizzare la precisione riducendo al minimo il carico computazionale, adottano approcci architetturali molto diversi per raggiungere questi obiettivi.
Questa guida completa analizza i loro design distintivi, le metodologie di addestramento e le caratteristiche di deployment, aiutando sviluppatori e ingegneri ML a prendere decisioni basate sui dati per le applicazioni di IA per la visione. Esamineremo le loro prestazioni su hardware che spazia dai dispositivi edge per l'IA integrati alle potenti GPU cloud.
YOLOv10: il pioniere senza NMS#
Sviluppato per ampliare i limiti della latenza in tempo reale, YOLOv10 ha affrontato uno dei colli di bottiglia più persistenti della famiglia YOLO: la soppressione non massima (NMS). Eliminando questo passaggio di post-elaborazione, il modello raggiunge una latenza altamente prevedibile, fondamentale per i veicoli autonomi e la robotica ad alta velocità.
Innovazioni architetturali#
YOLOv10 introduce assegnazioni duali coerenti per l'addestramento senza NMS. Durante l'addestramento, sfrutta assegnazioni delle label sia uno-a-molti sia uno-a-uno, consentendo alla rete di apprendere rappresentazioni ricche e di produrre nativamente un'unica bounding box migliore per oggetto durante l'inferenza. L'architettura incorpora inoltre un design olistico guidato dall'efficienza e dalla precisione, semplificando la head di classificazione e riducendo la ridondanza computazionale presente nelle iterazioni precedenti.
Dettagli del modello#
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione: Tsinghua University
- Data: 2024-05-23
- Paper: YOLOv10: Real-Time End-to-End Object Detection
- GitHub: THU-MIG/yolov10
- Documentazione: Documentazione di YOLOv10
Poiché YOLOv10 rimuove il passaggio NMS, è intrinsecamente più semplice esportarlo in formati come il formato ONNX e NVIDIA TensorRT senza dipendere da plugin runtime personalizzati per il filtraggio delle bounding box.
Punti di forza:
- Inferenza prevedibile: la rimozione di NMS garantisce tempi di inferenza costanti indipendentemente dal numero di oggetti presenti nella scena.
- Minore utilizzo della memoria: rispetto ai modelli basati su Transformer come RT-DETR, YOLOv10 richiede una quantità di memoria significativamente inferiore sia durante l'addestramento sia durante l'inferenza.
- Eccellente compromesso tra velocità e precisione: ottimizzato specificamente per gli scenari a bassa latenza senza sacrificare le metriche delle prestazioni.
Punti deboli:
- Focus su una singola attività: a differenza del più ampio ecosistema Ultralytics, il repository originale di YOLOv10 è fortemente incentrato sul rilevamento e non offre supporto nativo per la segmentazione delle istanze o la stima della posa.
EfficientDet: scalabile e bilanciato#
Introdotto da Google Brain, EfficientDet affronta il rilevamento degli oggetti attraverso una strategia di scaling sistematico della rete. Si basa sul backbone per la classificazione delle immagini EfficientNet e introduce un innovativo meccanismo di fusione delle feature.
Innovazioni architetturali#
Il componente centrale di EfficientDet è la rete piramidale delle feature bidirezionale (BiFPN), che consente una fusione delle feature multi-scala semplice e rapida. A differenza delle FPN tradizionali, che sommano le feature solo dall'alto verso il basso, BiFPN introduce connessioni bidirezionali tra le scale e pesi addestrabili per apprendere l'importanza delle diverse feature di input. Inoltre, EfficientDet utilizza un metodo di scaling composto che adatta uniformemente risoluzione, profondità e larghezza per tutte le reti backbone, delle feature e di predizione di box/classi.
Dettagli del modello#
- Autori: Mingxing Tan, Ruoming Pang e Quoc V. Le
- Organizzazione: Google Brain
- Data: 2019-11-20
- Paper: EfficientDet: Scalable and Efficient Object Detection
- GitHub: Google AutoML EfficientDet
Punti di forza:
- Elevata efficienza: eccellente rapporto tra numero di parametri e precisione, che rende le varianti più piccole, da
-d0a-d2, molto leggere. - Scaling basato su principi rigorosi: lo scaling composto consente di scegliere facilmente una dimensione del modello adatta al proprio budget computazionale preciso.
Punti deboli:
- Integrazione con framework legacy: l'implementazione originale dipende fortemente da versioni meno recenti di TensorFlow, il che può complicare le pipeline di deployment moderne.
- Addestramento più lento: addestrare EfficientDet da zero è notoriamente lento e richiede un'attenta ottimizzazione degli iperparametri rispetto alla rapida convergenza delle architetture YOLO.
- Velocità di inferenza: sebbene sia efficiente in termini di parametri, le complesse operazioni BiFPN spesso comportano velocità di inferenza reali inferiori sull'hardware standard rispetto ai modelli YOLO altamente ottimizzati.
Prestazioni e benchmark#
Il vero banco di prova di questi modelli è rappresentato dalle loro prestazioni empiriche su benchmark standard come il dataset COCO. La tabella seguente illustra le differenze fondamentali nel numero di parametri, nelle operazioni in virgola mobile (FLOPs) e nella latenza di inferenza sulle GPU NVIDIA T4.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Come mostrato sopra, YOLOv10 mantiene un vantaggio significativo nella velocità di inferenza grezza. Ad esempio, YOLOv10-S raggiunge 46.7 mAP con una latenza TensorRT di soli 2.66ms, mentre EfficientDet-d3 raggiunge un valore simile, 47.5 mAP, ma impiega quasi 20ms: questo rende YOLOv10 di gran lunga superiore per lo streaming video in tempo reale o le pipeline di produzione ad alta velocità.
Casi d'uso e raccomandazioni#
La scelta tra YOLOv10 ed EfficientDet dipende dai requisiti specifici del progetto, dai vincoli di deployment e dalle preferenze per l'ecosistema.
Quando scegliere YOLOv10#
YOLOv10 è una scelta ottimale 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 EfficientDet#
EfficientDet è consigliato 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 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.
Lo standard moderno: arriva Ultralytics YOLO26#
Sebbene YOLOv10 abbia introdotto il rivoluzionario paradigma senza NMS ed EfficientDet abbia mostrato i vantaggi dello scaling basato su principi rigorosi, il panorama della visione artificiale ha continuato a evolversi. Per gli sviluppatori che oggi iniziano nuovi progetti, Ultralytics YOLO26 rappresenta lo stato dell'arte indiscusso. Rilasciato a gennaio 2026, riunisce il meglio di tutti gli approcci in un pacchetto altamente rifinito e pronto per la produzione all'interno della Ultralytics Platform.
Perché YOLO26 supera la concorrenza#
- Design end-to-end senza NMS: YOLO26 adotta nativamente l'architettura end-to-end senza NMS introdotta da YOLOv10, semplificando il deployment e accelerando l'inferenza.
- Inferenza su CPU fino al 43% più veloce: per i dispositivi edge privi di acceleratori dedicati, YOLO26 è ottimizzato specificamente per funzionare in modo efficiente sulle CPU standard.
- Ottimizzatore MuSGD avanzato: ispirandosi alle innovazioni nell'addestramento degli LLM, YOLO26 utilizza una combinazione di SGD e Muon per un addestramento estremamente stabile e una convergenza rapida, migliorando notevolmente l'efficienza dell'addestramento rispetto a EfficientDet.
- ProgLoss + STAL: queste funzioni di loss migliorate garantiscono notevoli incrementi nel riconoscimento degli oggetti piccoli, un punto debole tradizionale sia di YOLOv10 sia di EfficientDet.
- Rimozione di DFL: rimuovendo Distribution Focal Loss, YOLO26 si esporta senza problemi in quasi tutti i formati hardware, inclusi OpenVINO e CoreML.
Inoltre, YOLO26 offre una versatilità senza pari. Mentre EfficientDet e YOLOv10 sono esclusivamente modelli per il rilevamento, YOLO26 gestisce senza problemi le bounding box orientate, la classificazione delle immagini e la segmentazione delle istanze utilizzando lo stesso intuitivo pacchetto Python di Ultralytics.
Facilità d'uso con Ultralytics#
L'ecosistema ben mantenuto fornito da Ultralytics garantisce un'esperienza fluida per gli sviluppatori. Addestrare un modello, convalidarlo ed esportarlo nell'integrazione TensorRT richiede solo poche righe di codice.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (or upgrade to YOLO26 natively)
model = YOLO("yolov10n.pt")
# Train the model efficiently on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference and immediately visualize results
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()
# Export for rapid deployment
model.export(format="engine", quantize=16)Conclusioni#
Nel confronto tra YOLOv10 ed EfficientDet, la scelta dipende fortemente dalle preferenze per il framework e dai requisiti di velocità. EfficientDet offre un approccio strutturato allo scaling dei modelli nell'ecosistema TensorFlow. Tuttavia, YOLOv10 offre prestazioni superiori in tempo reale, un minore utilizzo della memoria e un percorso di deployment più semplice grazie alla sua architettura senza NMS.
Per ottenere il miglior equilibrio assoluto tra prestazioni, facilità d'uso e versatilità multi-task, è altamente consigliato passare alla Ultralytics Platform e utilizzare YOLO26. Integra le innovazioni senza NMS di YOLOv10, applica tecniche di addestramento all'avanguardia come l'ottimizzatore MuSGD e le racchiude in un solido framework open source supportato da un'enorme community globale.