DAMO-YOLO contro YOLO11: Un confronto tecnico
Questa pagina fornisce un confronto tecnico dettagliato tra due modelli di object detection all'avanguardia: DAMO-YOLO, sviluppato da Alibaba Group, e Ultralytics YOLO11. Sebbene entrambi i modelli siano progettati per un rilevamento di oggetti in tempo reale ad alte prestazioni, impiegano filosofie architettoniche distinte ed eccellono in diverse aree. Analizzeremo le loro differenze architettoniche, le metriche di prestazioni e le applicazioni ideali per aiutarti a prendere una decisione informata per i tuoi progetti di computer vision.
DAMO-YOLO
Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
Organizzazione: Alibaba Group
Data: 2022-11-23
Arxiv: https://arxiv.org/abs/2211.15444v2
GitHub: https://github.com/tinyvision/DAMO-YOLO
Documentazione: https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
DAMO-YOLO è un metodo di rilevamento oggetti veloce e preciso sviluppato da Alibaba Group. Introduce diverse tecniche innovative per spingere i limiti di prestazione dei rilevatori in stile YOLO. Il modello mira a raggiungere un equilibrio superiore tra precisione e latenza, in particolare su hardware GPU.
Architettura e caratteristiche principali
L'architettura di DAMO-YOLO è una combinazione di componenti all'avanguardia progettati per lavorare in sinergia:
- Backbone basati su NAS: Sfrutta la Ricerca di Architettura Neurale (NAS) per generare backbone efficienti (come GiraffeNet) ottimizzati per hardware specifici, riducendo i costi computazionali e mantenendo elevate capacità di estrazione delle caratteristiche.
- Efficient RepGFPN Neck: Il modello incorpora una struttura neck efficiente basata su Generalized Feature Pyramid Networks (GFPN) con tecniche di riparametrizzazione per migliorare la fusione di feature multiscala.
- ZeroHead: DAMO-YOLO introduce un head di rilevamento leggero e senza ancore chiamato ZeroHead, che disaccoppia i task di classificazione e regressione e riduce il sovraccarico computazionale.
- Assegnazione etichette AlignedOTA: Utilizza una strategia di assegnazione etichette migliorata chiamata AlignedOTA, che abbina dinamicamente gli oggetti ground-truth con le previsioni più adatte in base sia ai punteggi di classificazione che di localizzazione, portando a una migliore convergenza dell'addestramento.
- Knowledge Distillation: Il processo di addestramento è potenziato con la knowledge distillation, in cui un modello teacher più grande e potente guida l'addestramento di un modello student più piccolo per aumentarne l'accuratezza finale.
Punti di forza
- Elevata accuratezza su GPU: DAMO-YOLO raggiunge punteggi mAP impressionanti, in particolare nelle sue varianti più grandi, dimostrando ottime prestazioni sul dataset COCO.
- Inferenza GPU veloce: Il modello è altamente ottimizzato per l'inferenza GPU, offrendo una bassa latenza, fondamentale per le applicazioni in tempo reale in esecuzione su hardware grafico dedicato.
- Tecniche innovative: Dimostra l'efficacia di tecniche moderne come NAS, l'assegnazione avanzata di etichette e la distillazione nel rilevamento di oggetti.
Punti deboli
- Versatilità limitata: DAMO-YOLO è principalmente progettato per il rilevamento di oggetti. Manca del supporto nativo per altri task di computer vision come la segmentazione delle istanze, la stima della posa o la classificazione, che sono standard in framework come Ultralytics.
- Ecosistema Complesso: Il repository e la documentazione, sebbene funzionali, sono meno ottimizzati rispetto all'ecosistema Ultralytics. Ciò può presentare una curva di apprendimento più ripida per i nuovi utenti.
- Focus sull'hardware: Le sue prestazioni sono ampiamente valutate su GPU, con informazioni limitate sulle prestazioni della CPU, il che lo rende una scelta meno flessibile per l'implementazione su sole CPU o su diversi dispositivi edge.
Ultralytics YOLO11
Autori: Glenn Jocher, Jing Qiu
Organizzazione: Ultralytics
Data: 2024-09-27
GitHub: https://github.com/ultralytics/ultralytics
Documentazione: https://docs.ultralytics.com/models/yolo11/
Ultralytics YOLO11 è l'ultima evoluzione della rinomata serie YOLO (You Only Look Once), che rappresenta lo stato dell'arte nel rilevamento di oggetti in tempo reale e oltre. Si basa sui successi dei suoi predecessori come YOLOv8, offrendo maggiore accuratezza, velocità e versatilità all'interno di un ecosistema maturo e facile da usare.
Architettura e caratteristiche principali
YOLO11 presenta un'architettura anchor-free a singolo stadio perfezionata, altamente ottimizzata per un eccezionale equilibrio tra prestazioni ed efficienza. Il suo design si concentra sull'estrazione di caratteristiche semplificata e su una struttura di rete leggera, che riduce il numero di parametri e il carico computazionale. Ciò rende YOLO11 altamente adattabile per l'implementazione su una vasta gamma di hardware, dai potenti server cloud ai dispositivi edge con risorse limitate come NVIDIA Jetson.
Tuttavia, la vera potenza di YOLO11 risiede nella sua integrazione con l'ecosistema Ultralytics ben mantenuto, che offre vantaggi significativi:
- Facilità d'uso: Una semplice API Python e una potente CLI rendono l'addestramento, la convalida e l'inferenza incredibilmente semplici. La documentazione completa fornisce una guida chiara per gli utenti di tutti i livelli di competenza.
- Versatilità: A differenza di DAMO-YOLO, YOLO11 è un modello multi-task che supporta nativamente il rilevamento di oggetti, la segmentazione di istanze, la classificazione delle immagini, la stima della posa e i bounding box orientati (OBB) all'interno di un singolo framework unificato.
- Bilanciamento delle prestazioni: I modelli YOLO11 offrono un eccellente compromesso tra velocità e precisione sia su CPU che su GPU, garantendo un'implementazione flessibile ed efficiente in diversi scenari reali.
- Efficienza di addestramento: Il framework è ottimizzato per tempi di addestramento rapidi e ha requisiti di memoria inferiori rispetto ad architetture più complesse. I pesi pre-addestrati facilmente disponibili accelerano i flussi di lavoro di addestramento personalizzati.
- Ecosistema robusto: Gli utenti beneficiano di sviluppo attivo, forte supporto della comunità tramite GitHub e Discord, aggiornamenti frequenti e integrazione perfetta con strumenti come Ultralytics HUB per MLOps end-to-end.
Punti di forza
- Prestazioni all'avanguardia: Raggiunge punteggi mAP di livello superiore con un'architettura ottimizzata sia per la velocità che per l'accuratezza.
- Versatilità senza pari: Un singolo framework di modello può gestire cinque diverse attività di visione, fornendo una soluzione completa per progetti complessi.
- Usabilità Superiore: L'API semplificata, la documentazione chiara e l'ecosistema integrato lo rendono eccezionalmente facile da avviare e implementare.
- Flessibilità hardware: Altamente efficiente sia su CPU che su GPU, il che lo rende adatto a una gamma più ampia di target di implementazione.
- Attivo e supportato: Supportato da un team dedicato di Ultralytics e da una vasta e attiva comunità open source.
Punti deboli
- I modelli più grandi come YOLO11x richiedono notevoli risorse computazionali, sebbene rimangano altamente efficienti per la loro classe di prestazioni.
Confronto delle prestazioni
La tabella seguente fornisce un confronto diretto delle metriche di performance per DAMO-YOLO e YOLO11 sul dataset COCO val.
Modello | dimensione (pixel) |
mAPval 50-95 |
Velocità CPU ONNX (ms) |
Velocità T4 TensorRT10 (ms) |
parametri (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
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 |
Dai dati possiamo trarre diverse conclusioni:
- Precisione: Sebbene DAMO-YOLO sia competitivo, i modelli YOLO11, in particolare le varianti medio-grandi (YOLO11m, l, x), raggiungono punteggi mAP più elevati, con YOLO11x che raggiunge un impressionante 54,7 mAP.
- Velocità GPU: DAMO-YOLO mostra una latenza GPU molto competitiva. Tuttavia, anche i modelli YOLO11 sono altamente ottimizzati, con YOLO11n che raggiunge la velocità GPU più elevata a 1,5 ms.
- Velocità della CPU: Un vantaggio fondamentale per YOLO11 è la sua eccellente e ben documentata performance della CPU. La disponibilità di benchmark della CPU la rende una scelta affidabile per applicazioni in cui le GPU non sono disponibili. DAMO-YOLO manca di metriche ufficiali sulla velocità della CPU, limitandone l'applicabilità.
- Efficienza: I modelli YOLO11 sono eccezionalmente efficienti. Ad esempio, YOLO11l raggiunge un 53.4 mAP con soli 25.3M di parametri, superando DAMO-YOLOl sia in termini di precisione che di efficienza dei parametri. YOLO11n stabilisce lo standard per i modelli leggeri con soli 2.6M di parametri.
Conclusione e raccomandazioni
DAMO-YOLO è un potente rilevatore di oggetti che mette in mostra impressionanti innovazioni accademiche e offre solide prestazioni su hardware GPU. È una scelta eccellente per i ricercatori che esplorano concetti architettonici avanzati o per applicazioni distribuite in ambienti ricchi di GPU dove è richiesta solo l'object detection.
Tuttavia, per la stragrande maggioranza degli sviluppatori, dei ricercatori e delle aziende, Ultralytics YOLO11 è la scelta chiara e superiore. Non solo offre una precisione e una velocità all'avanguardia, ma lo fa all'interno di un framework maturo, facile da usare e incredibilmente versatile. Il supporto nativo per molteplici attività, le eccellenti prestazioni sia su CPU che su GPU e il robusto ecosistema di documentazione, supporto della comunità e strumenti MLOps come Ultralytics HUB rendono YOLO11 una soluzione più pratica, scalabile e potente per la creazione di applicazioni di computer vision nel mondo reale.
Esplora altri modelli
Se sei interessato a come DAMO-YOLO e YOLO11 si confrontano con altri modelli leader, consulta questi altri confronti:
- RT-DETR vs. DAMO-YOLO
- YOLOv9 vs. DAMO-YOLO
- YOLOv8 vs. DAMO-YOLO
- YOLO11 vs. RT-DETR
- YOLO11 vs. YOLOv9