DAMO-YOLO contro YOLO11: Un confronto tecnico
Nel panorama in rapida evoluzione della computer vision, la scelta del modello di object detection giusto è fondamentale per il successo dell'applicazione. Questo confronto completo analizza due architetture significative: DAMO-YOLO, sviluppato da Alibaba Group, e Ultralytics YOLO11, l'ultimo modello all'avanguardia di Ultralytics. Mentre entrambi i modelli mirano a ottimizzare il compromesso tra velocità e precisione, servono a scopi primari diversi e offrono vantaggi distinti a seconda dello scenario di implementazione.
Questa guida fornisce uno sguardo approfondito alle loro architetture, metriche di performance e casi d'uso ideali per aiutare sviluppatori e ricercatori a prendere decisioni informate.
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 framework di object detection che integra diverse tecnologie all'avanguardia per ottenere prestazioni elevate. Si concentra sulla riduzione della latenza, mantenendo al contempo un'accuratezza competitiva attraverso una serie di innovazioni architetturali guidate dalla ricerca di Alibaba.
Architettura e innovazione
DAMO-YOLO introduce un approccio "Distill-and-Select" e incorpora i seguenti componenti chiave:
- Backbone MAE-NAS: Utilizzando Neural Architecture Search (NAS), il backbone è ottimizzato in base a vincoli specifici per garantire un'efficiente estrazione delle feature.
- Efficient RepGFPN: Una Generalized Feature Pyramid Network (GFPN) utilizza pesantemente meccanismi di riparametrizzazione per migliorare la fusione delle caratteristiche attraverso diverse scale senza incorrere in pesanti costi computazionali durante l'inferenza.
- ZeroHead: Questa detection head leggera disaccoppia i task di classificazione e regressione, con l'obiettivo di massimizzare la velocità di inferenza.
- AlignedOTA: Una strategia di assegnazione delle etichette che risolve il disallineamento tra gli obiettivi di classificazione e regressione, migliorando la convergenza durante il training.
Sebbene DAMO-YOLO presenti impressionanti progressi teorici, è principalmente un framework orientato alla ricerca incentrato sulla object detection. In genere, manca del supporto multi-task nativo presente in ecosistemi più completi.
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 rappresenta l'apice della computer vision in tempo reale, perfezionando l'eredità della serie YOLO con significativi miglioramenti in termini di architettura, efficienza e facilità d'uso. È progettato non solo come modello, ma come uno strumento versatile per l'implementazione pratica e reale in diversi ambienti hardware.
Architettura ed ecosistema
YOLO11 si basa sui successi precedenti con un'architettura raffinata senza ancore. Presenta un backbone migliorato per un'estrazione delle feature superiore e un design del neck modificato che migliora il flusso di informazioni a varie scale.
I vantaggi principali del framework Ultralytics YOLO11 includono:
- Versatilità: A differenza di molti concorrenti, YOLO11 supporta nativamente un'ampia gamma di task, tra cui object detection, instance segmentation, pose estimation, image classification e oriented bounding boxes (OBB).
- Facilità d'uso: Il modello è racchiuso in un'API Python e una CLI di facile utilizzo, che lo rendono accessibile sia ai principianti che agli esperti.
- Efficienza dell'addestramento: Ottimizzato per una convergenza più rapida, YOLO11 utilizza funzioni di data augmentation e perdita efficienti, consentendo agli utenti di addestrare modelli personalizzati su dataset come COCO con un overhead di risorse inferiore.
- Ecosistema ben manutenuto: Supportato dal team Ultralytics, gli utenti beneficiano di aggiornamenti frequenti, documentazione esaustiva e integrazione perfetta con strumenti MLOps come Ultralytics HUB.
Lo sapevi?
YOLO11 è progettato per essere altamente efficiente sui dispositivi Edge AI. La sua architettura ottimizzata garantisce un basso utilizzo di memoria e un'elevata velocità di inferenza su hardware come NVIDIA Jetson e Raspberry Pi, rendendolo una scelta superiore per le applicazioni embedded rispetto ai modelli basati su transformer più pesanti.
Confronto delle prestazioni
Il seguente grafico e tabella illustrano le differenze di prestazioni tra DAMO-YOLO e YOLO11. Ultralytics YOLO11 dimostra costantemente una precisione superiore (mAP) e velocità di inferenza favorevoli, in particolare sull'hardware CPU dove DAMO-YOLO manca di benchmark ufficiali.
| 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 |
Analisi dei risultati
- Accuratezza: YOLO11 supera significativamente i modelli DAMO-YOLO comparabili. Ad esempio, YOLO11m raggiunge un 51.5 mAP, notevolmente superiore a DAMO-YOLOm con 49.2 mAP, nonostante abbia meno parametri (20.1M vs 28.2M).
- Velocità di inferenza: Su GPU (T4 TensorRT), YOLO11 offre una latenza altamente competitiva. YOLO11n è incredibilmente veloce a 1,5 ms, rendendolo adatto per applicazioni a latenza ultra-bassa.
- Prestazioni della CPU: Un vantaggio importante dei modelli Ultralytics è la loro trasparenza riguardo alle prestazioni della CPU. YOLO11 è ottimizzato per l'inferenza su CPU tramite ONNX e OpenVINO, mentre DAMO-YOLO si concentra molto sulla GPU, spesso lasciando le prestazioni di deployment su CPU non definite.
- Efficienza del modello: YOLO11 dimostra un migliore equilibrio tra parametri e prestazioni. L'efficienza architetturale consente file di modello più piccoli, il che si traduce in download più veloci e minori requisiti di archiviazione sui dispositivi edge.
Principali elementi di differenziazione e casi d'uso
Punti di forza di Ultralytics YOLO11
Gli sviluppatori che utilizzano Ultralytics YOLO11 ottengono l'accesso a un robusto ambiente di livello di produzione.
- Bilanciamento delle prestazioni: L'architettura del modello è meticolosamente ottimizzata per offrire il miglior compromesso tra velocità di inferenza e precisione, fondamentale per l'analisi video in tempo reale.
- Funzionalità multi-task: Se l'ambito del tuo progetto si espande dal detect al tracking o al segment, YOLO11 gestisce tutto questo senza problemi all'interno della stessa codebase.
- Facilità d'uso: Il
ultralyticspackage semplifica l'intera pipeline. Caricare un modello, eseguire previsioni ed esportare in formati come CoreML, TFLite o TensorRT può essere fatto con poche righe di codice. - Requisiti di memoria inferiori: Rispetto ai detector basati su transformer o alle architetture non ottimizzate, YOLO11 in genere richiede meno memoria CUDA durante l'addestramento, consentendo ai ricercatori di addestrarsi su GPU di livello consumer.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Train on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Punti di forza di DAMO-YOLO
DAMO-YOLO è un forte contendente nei circoli di ricerca accademici.
- Innovazione nella ricerca: Funzionalità come MAE-NAS e ZeroHead offrono spunti interessanti sulla ricerca di architetture neurali e sul disaccoppiamento degli head.
- Throughput GPU: Per applicazioni industriali specifiche in esecuzione esclusivamente su GPU supportate, DAMO-YOLO fornisce un elevato throughput, anche se spesso è inferiore a YOLO11 in termini di pura efficienza accuratezza per parametro.
Conclusione
Sebbene DAMO-YOLO introduca nuovi concetti dal team di ricerca di Alibaba, Ultralytics YOLO11 si distingue come la scelta migliore per la maggior parte degli sviluppatori e delle aziende. Il suo predominio è definito non solo da punteggi mAP più alti e da un'inferenza più veloce, ma dall'ecosistema completo che lo supporta.
Dalla facilità d'uso e versatilità a una codebase ben mantenuta e al supporto attivo della community, YOLO11 abbatte le barriere all'ingresso per la creazione di soluzioni AI avanzate. Che si tratti di implementazioni su server cloud o su dispositivi edge con risorse limitate, YOLO11 fornisce l'affidabilità e le prestazioni necessarie per le moderne applicazioni di computer vision.
Esplora altri confronti tra modelli
Per comprendere meglio come i modelli Ultralytics si confrontano con altre architetture, esplora le nostre pagine di confronto dettagliate:
- YOLO11 vs YOLOv10
- YOLO11 vs. RT-DETR
- DAMO-YOLO contro YOLOv8
- DAMO-YOLO vs. YOLOv9
- YOLO11 vs. EfficientDet