EfficientDet vs. YOLO11: equilibrio tra efficienza e prestazioni in tempo reale
Il panorama del rilevamento degli oggetti si è evoluto rapidamente, spinto dalla necessità di modelli non solo accurati, ma anche sufficientemente efficienti per l'impiego nel mondo reale. Due pietre miliari di questa evoluzione sono EfficientDet e Google di Google. Ultralytics YOLO11. Entrambe le architetture mirano a ottimizzare il compromesso tra velocità e accuratezza, ma affrontano il problema con filosofie di progettazione diverse e si rivolgono a casi d'uso primari differenti.
EfficientDet ha rivoluzionato il campo introducendo un metodo sistematico per scalare le dimensioni dei modelli, concentrandosi intensamente sull'efficienza dei parametri e sui costi di calcolo teorici (FLOP). Al contrario, YOLO11 rappresenta l'avanguardia della visione artificiale in tempo reale, dando priorità alla velocità di inferenza pratica su hardware moderno, alla versatilità tra i vari compiti e a un'esperienza incentrata sullo sviluppatore. Questo confronto completo approfondisce le specifiche tecniche, le innovazioni architettoniche e i benchmark delle prestazioni per aiutarvi a scegliere lo strumento giusto per il vostro progetto.
EfficientDet di Google
EfficientDet è una famiglia di modelli di rilevamento degli oggetti sviluppata dal team di Google Brain. Rilasciata alla fine del 2019, è stata progettata per risolvere l'inefficienza dei precedenti rilevatori all'avanguardia, che spesso si affidavano a dorsali massicce o a reti di fusione di funzioni non ottimizzate.
Dettagli tecnici:
- Autori: Mingxing Tan, Ruoming Pang, Quoc V. Le
- Organizzazione:Google
- Data: 2019-11-20
- Arxiv:EfficientDet: Rilevamento scalabile ed efficiente di oggetti
- GitHub:google
- Documenti:README di EfficientDet
Architettura e Innovazioni Chiave
Il successo di EfficientDet risiede in due contributi architettonici principali che lavorano in tandem per massimizzare l'efficienza:
- BiFPN (Bi-directional Feature Pyramid Network): Le tradizionali reti di piramidi di caratteristiche (FPN) fondono le caratteristiche di diverse scale in modo top-down. EfficientDet ha introdotto BiFPN, che consente alle informazioni di fluire sia in direzione top-down che bottom-up. Inoltre, impiega un meccanismo di fusione ponderata delle caratteristiche, apprendendo l'importanza di ciascuna caratteristica in ingresso, che consente alla rete di dare priorità ai segnali più informativi.
- Scala composta: Ispirato a EfficientNet, questo metodo crea una famiglia di modelli (da D0 a D7) scalando in modo uniforme la risoluzione, la profondità e la larghezza della struttura portante, della rete di caratteristiche e delle reti di predizione. In questo modo si garantisce che, man mano che il modello cresce, mantenga un equilibrio tra i suoi vari componenti, ottimizzando i FLOP e il numero di parametri.
La spina dorsale di EfficientNet
EfficientDet utilizza come spina dorsale EfficientNet, una rete di classificazione sviluppata anch'essa da Google. EfficientNet è stata ottimizzata utilizzando il Neural Architecture Search (NAS) per trovare la struttura di rete più efficiente, utilizzando in modo massiccio le convoluzioni separabili in profondità per ridurre i calcoli.
Punti di forza e debolezze
EfficientDet è rinomato per l'elevata efficienza dei parametri, che consente di raggiungere un livello di efficienza competitivo. mAPval competitivi con un numero di parametri significativamente inferiore rispetto a molti altri modelli contemporanei. La sua natura scalabile consente ai ricercatori di selezionare una dimensione del modello che si adatti esattamente al loro budget computazionale teorico.
Tuttavia, l'efficienza teorica non sempre si traduce in velocità pratica. L'uso estensivo di convoluzioni separabili in profondità e la complessa connettività della BiFPN possono portare a un minore utilizzo GPU . Di conseguenza, la latenza di inferenza sulle GPU è spesso più elevata rispetto ai modelli ottimizzati per l'elaborazione in parallelo come la serie YOLO . Inoltre, EfficientDet è esclusivamente un rilevatore di oggetti, privo di supporto nativo per altre attività di visione artificiale come la segmentazione delle istanze o la stima della posa all'interno della stessa base di codice.
Casi d'uso ideali
- Edge AI su CPU: Dispositivi in cui la memoria è il vincolo principale e l'accelerazione GPU non è disponibile.
- Ricerca accademica: Studi incentrati sull'efficienza delle reti neurali e sulle leggi di scala.
- Applicazioni a basso consumo: Scenari in cui la minimizzazione del consumo della batteria (legato ai FLOP) è più importante della latenza grezza.
Ultralytics YOLO11
Ultralytics YOLO11 è l'ultima iterazione dell'acclamata serie YOLO (You Only Look Once). Si basa su un'eredità di prestazioni in tempo reale, introducendo perfezionamenti architettonici che spingono i confini dell'accuratezza pur mantenendo la velocità di inferenza fulminea che gli sviluppatori si aspettano.
Dettagli tecnici:
- Autori: Glenn Jocher, Jing Qiu
- Organizzazione:Ultralytics
- Data: 2024-09-27
- GitHub:ultralytics
- Documenti:DocumentazioneYOLO11
Architettura e Funzionalità
YOLO11 impiega una testa di rilevamento senza ancoraggio all'avanguardia, che elimina la necessità di configurare manualmente la scatola di ancoraggio e semplifica il processo di formazione. Le architetture della spina dorsale e del collo sono state ottimizzate per potenziare le capacità di estrazione delle caratteristiche, migliorando le prestazioni in compiti difficili come il rilevamento di piccoli oggetti e di scene ingombre.
A differenza di EfficientDet, che si concentra principalmente sulla riduzione dei FLOP, YOLO11 è progettato per un'efficienza consapevole dell'hardware. Ciò significa che i suoi livelli e le sue operazioni sono selezionati per massimizzare il throughput su GPU e acceleratori NPU.
Versatilità senza limiti
Un'unica architettura del modello YOLO11 supporta un'ampia gamma di attività di visione. All'interno della stessa struttura, è possibile eseguire Rilevamento di oggetti, Segmentazione di istanze, Classificazione dell'immagine, Stima della posae Box di delimitazione orientato (OBB) rilevamento.
Punti di forza e debolezze
Il punto di forza principale di YOLO11 è l'eccezionale equilibrio tra velocità e precisione. Offre un'accuratezza all'avanguardia che rivaleggia o batte i modelli più grandi, pur funzionando con una frazione della latenza. Questo lo rende ideale per le applicazioni di inferenza in tempo reale. Inoltre, l'ecosistema Ultralytics garantisce la facilità d'uso grazie a un'API unificata, che rende la formazione e l'implementazione senza problemi.
Una considerazione da fare è che le varianti più piccole di YOLO11 , pur essendo incredibilmente veloci, possono compromettere un piccolo margine di precisione rispetto ai modelli più grandi e più pesanti dal punto di vista computazionale disponibili in ambito accademico. Tuttavia, per l'impiego pratico, questo compromesso è quasi sempre favorevole.
Casi d'uso ideali
- Sistemi autonomi: Percezione in tempo reale per la robotica e i veicoli autonomi.
- Automazione industriale: Controllo della qualità della produzione ad alta velocità e rilevamento dei difetti.
- Città intelligenti: Monitoraggio efficiente del traffico e sorveglianza della sicurezza.
- Applicazioni interattive: Applicazioni mobili che richiedono un feedback visivo immediato.
Confronto delle prestazioni
Nel confronto tra EfficientDet e YOLO11, la differenza più evidente riguarda la velocità di inferenza, in particolare su hardware GPU . Mentre i modelli EfficientDet (D0-D7) mostrano una buona efficienza dei parametri, le loro operazioni complesse (come la BiFPN) impediscono loro di utilizzare appieno le capacità di elaborazione parallela.
Come mostrato nella tabella seguente, YOLO11n raggiunge un mAP più elevato (39,5) rispetto a EfficientDet-d0 (34,6), pur essendo significativamente più veloce. Ancora più impressionante è il fatto che YOLO11m eguaglia l'accuratezza del ben più pesante EfficientDet-d5 (51,5 mAP) ma viene eseguito circa 14 volte più velocemente su una GPU T4 (4,7 ms contro 67,86 ms). Questo enorme vantaggio in termini di velocità consente a YOLO11 di elaborare flussi video ad alta risoluzione in tempo reale, un'impresa difficile per i modelli EfficientDet di livello superiore.
| 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Il vantaggio di Ultralytics
Se le metriche tecniche sono fondamentali, l'esperienza dello sviluppatore e il supporto dell'ecosistema sono altrettanto importanti per il successo del progetto. Ultralytics fornisce una suite completa di strumenti che semplificano l'intero ciclo di vita degli MLOps, offrendo vantaggi distinti rispetto al repository EfficientDet, incentrato sulla ricerca.
- Facilità d'uso: l'APIPython di Ultralytics e la CLI sono progettate per la semplicità. È possibile caricare, addestrare e distribuire un modello all'avanguardia con poche righe di codice, mentre EfficientDet spesso richiede complessi file di configurazione e la gestione delle dipendenze in TensorFlow.
- Ecosistema ben curato: I modelli Ultralytics sono supportati da una comunità attiva e da aggiornamenti frequenti. Dal repository GitHub all'ampia documentazione, gli sviluppatori hanno accesso a una grande quantità di risorse, tutorial e canali di supporto.
- Efficienza della formazione: YOLO11 è ottimizzato per una rapida convergenza. Supporta strategie efficienti di caricamento e incremento dei dati che riducono i tempi di addestramento. Inoltre, i suoi requisiti di memoria ridotti rispetto alle architetture più vecchie o ai modelli basati su trasformatori consentono di eseguire l'addestramento su GPU di fascia consumer senza esaurire la memoria CUDA .
- Flessibilità di distribuzione: Il framework supporta in modo nativo l'esportazione dei modelli in vari formati, tra cui ONNX, TensorRT, CoreML e OpenVINO. Ciò garantisce che il modello YOLO11 possa essere distribuito ovunque, dai server cloud ai dispositivi edge come Raspberry Pi.
Esperienza con YOLO11
Provate la semplicità dell'API di Ultralytics . L'esempio seguente mostra come caricare un modello YOLO11 pre-addestrato ed eseguire l'inferenza su un'immagine:
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on an image source
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Conclusione
Sia EfficientDet che YOLO11 sono risultati fondamentali per la computer vision. EfficientDet rimane un riferimento prezioso per la progettazione di architetture scalabili ed è adatto ad applicazioni di nicchia in cui i FLOP teorici sono il vincolo principale.
Tuttavia, per la stragrande maggioranza delle moderne applicazioni di computer vision, Ultralytics YOLO11 è la scelta migliore. La sua architettura offre un equilibrio molto migliore tra precisione e velocità, in particolare sull'hardware GPU utilizzato nella maggior parte degli ambienti di produzione. Grazie a un versatile framework multi-task, a un robusto ecosistema e a un'impareggiabile facilità d'uso, YOLO11 consente agli sviluppatori di creare e distribuire con fiducia soluzioni di intelligenza artificiale ad alte prestazioni.
Esplora altri confronti
Per comprendere meglio il panorama dei modelli di rilevamento degli oggetti, si consiglia di esplorare questi ulteriori confronti:
- YOLO11 vs. YOLOv10
- YOLO11 vs. RT-DETR
- YOLO11 contro YOLOv9
- YOLOv8 vs. EfficientDet
- YOLOX vs. EfficientDet