YOLO11 vs. DAMO-YOLO: Un confronto tecnico
Nel panorama in rapida evoluzione della computer vision, la scelta del giusto modello di rilevamento degli oggetti è fondamentale per il successo del progetto. Questa pagina presenta un confronto tecnico dettagliato tra Ultralytics YOLO11 e YOLO, due architetture ad alte prestazioni progettate per garantire velocità e precisione. Mentre YOLO introduce tecniche innovative provenienti dalla ricerca accademica, YOLO11 si distingue come soluzione versatile e pronta per la produzione, supportata da un solido ecosistema.
Sintesi
Ultralytics YOLO11 rappresenta l'ultima evoluzione della serie YOLO , ottimizzando l'inferenza in tempo reale su hardware diversi, dai dispositivi edge ai server cloud. Supporta in modo nativo diverse attività, tra cui il rilevamento, la segmentazione e la stima della posa, diventando così una soluzione unificata per pipeline di IA complesse.
YOLO, sviluppato da Alibaba Group, si concentra sull'equilibrio tra velocità di rilevamento e accuratezza utilizzando la ricerca dell'architettura neurale (NAS) e nuove tecniche di fusione delle caratteristiche. Si tratta principalmente di un rilevatore orientato alla ricerca e ottimizzato per il throughput GPU .
Ultralytics YOLO11
Autori: Glenn Jocher, Jing Qiu
Organizzazione:Ultralytics
Data: 2024-09-27
GitHubultralytics
Docsyolo11
YOLO11 perfeziona lo stato dell'arte introducendo miglioramenti architettonici che migliorano l'estrazione delle caratteristiche mantenendo un'elevata efficienza. Utilizza una spina dorsale CSPNet modificata e una testa avanzata priva di ancoraggi per offrire una precisione superiore con meno parametri rispetto alle generazioni precedenti.
Caratteristiche principali e punti di forza
- Versatilità: A differenza di molti modelli specializzati, YOLO11 è un framework multi-task. Supporta il rilevamento degli oggetti, la segmentazione delle istanze, la classificazione delle immagini, la stima della posa e le bounding box orientate (OBB).
- Architettura perfezionata: Incorpora blocchi C3k2 e moduli C2PSA (Cross-Stage Partial with Spatial Attention) per catturare efficacemente modelli complessi, migliorando le prestazioni su oggetti piccoli e sfondi difficili.
- Ampio supporto hardware: Ottimizzato per CPU e GPU , offrendo diverse scale di modelli (da Nano a X-Large) per adattarsi a vincoli che vanno da Raspberry Pi a cluster NVIDIA A100.
- Facilità d'uso: l'API e la CLI di Ultralytics Python consentono agli sviluppatori di addestrare, convalidare e distribuire i modelli con un codice minimo.
Ecosistema pronto per la produzione
YOLO11 si integra perfettamente con l'ecosistemaUltralytics , compresi gli strumenti per la gestione dei dati, l'addestramento dei modelli tramite Ultralytics HUB e l'esportazione con un solo clic in formati quali ONNX, TensorRTe CoreML.
DAMO-YOLO
Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
Organization:Alibaba Group
Date: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHubYOLO
YOLO è stato progettato con un'attenzione particolare alla bassa latenza e all'elevato throughput per le applicazioni industriali. Introduce diversi componenti "new tech" nella famiglia YOLO per spingere al massimo i compromessi tra velocità e precisione.
Innovazioni architettoniche
- Backbone MAE-NAS: Utilizza la ricerca dell'architettura neurale (NAS) guidata dall'errore assoluto medio (MAE) per scoprire automaticamente una topologia di rete efficiente.
- RepGFPN efficiente: Una rete piramidale generalizzata di caratteristiche (GFPN) che impiega la ri-parametrizzazione, consentendo la fusione di caratteristiche complesse durante l'addestramento e collassando in una struttura più semplice e veloce durante l'inferenza.
- ZeroHead: una testa di rilevamento leggera che disaccoppia i compiti di classificazione e regressione, riducendo in modo significativo l'overhead computazionale degli strati finali di output.
- AlignedOTA: una strategia di assegnazione delle etichette migliorata che risolve il disallineamento tra la fiducia nella classificazione e l'accuratezza della regressione durante l'addestramento.
Sebbene YOLO eccella in metriche specifiche, è principalmente un repository di ricerca. Non ha la documentazione completa, gli aggiornamenti continui e l'ampio supporto della comunità che si trova nell'ecosistema Ultralytics .
Metriche di prestazione: Testa a testa
La tabella seguente confronta le prestazioni di YOLO11 e YOLO sul datasetCOCO val2017. Le metriche chiave includono la precisione mediamAP) e la velocità di inferenza su CPU e GPU .
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Analisi dei risultati
- Efficienza dominante: YOLO11 dimostra una superiore efficienza dei parametri. Ad esempio, il modello YOLO11m raggiunge 51,5 mAP con solo 20,1 milioni di parametri, mentre il modello comparabile DAMO-YOLOm rimane indietro a 49,2 mAP con un ingombro maggiore di 28,2 milioni di parametri.
- Massima precisione: La variante più grande, YOLO11x, raggiunge la ragguardevole cifra di 54,7 mAP, superando il modello più grande di YOLO . Ciò rende YOLO11 la scelta preferibile per compiti di alta precisione come l'imaging medico o il rilevamento di difetti.
- Distribuzione ai margini: Il modello YOLO11n (Nano) è eccezionalmente leggero (2,6M di parametri) e veloce (1,5 ms su T4), il che lo rende perfetto per i sistemi embedded dove la memoria è scarsa. Al contrario, il modello YOLO più piccolo è significativamente più pesante (8,5M di parametri).
- PrestazioniCPU : Ultralytics fornisce benchmark trasparenti CPU , evidenziando la fattibilità di YOLO11 per le implementazioni senza acceleratori dedicati. YOLO non riporta ufficialmente le velocità CPU , il che limita la sua valutazione per le applicazioni IoT a basso consumo.
Approfondimento tecnico
Formazione e architettura
YOLO si basa molto sulla ricerca dell'architettura neurale (NAS) per definire la sua struttura portante. Sebbene questo metodo possa produrre strutture teoricamente ottimali, spesso si traduce in blocchi irregolari che potrebbero non essere compatibili con l'hardware di tutti i dispositivi. Al contrario, YOLO11 utilizza blocchi raffinati e realizzati a mano (C3k2, C2PSA), progettati in modo intuitivo per le GPU standard. GPU e CPU .
YOLO11 enfatizza anche l'efficienza della formazione. Converge rapidamente grazie a iperparametri ottimizzati e a strategie di incremento dei dati. I suoi requisiti di memoria durante l'addestramento sono generalmente inferiori rispetto alle complesse architetture basate su trasformatori o NAS, consentendo ai ricercatori di addestrare modelli efficaci su hardware di livello consumer.
Ecosistema e usabilità
Uno dei fattori di differenziazione più significativi è l'ecosistema. YOLO è principalmente un repository di codice per la riproduzione dei risultati dei documenti di ricerca.
Ultralytics YOLO11, tuttavia, è una piattaforma a servizio completo:
- Documentazione: Guide complete su ogni aspetto della pipeline.
- Integrazioni: Supporto nativo per MLFlow, TensorBoard e Weights & Biases per il tracciamento degli esperimenti.
- Comunità: Una comunità massiccia e attiva su GitHub e Discord che garantisce la rapida correzione dei bug e la risposta alle domande.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for deployment
path = model.export(format="onnx")
Raccomandazioni sui casi d'uso
Quando scegliere Ultralytics YOLO11
- Distribuzione nel mondo reale: Se avete bisogno di distribuire su hardware diversi (iOSAndroid, Edge TPU, Jetson), le capacità di esportazione di YOLO11 sono impareggiabili.
- Pipeline di visione complesse: Quando il progetto richiede qualcosa di più dei semplici riquadri di delimitazione, come il tracciamento degli oggetti o la stima della posa del corpo,YOLO11 li gestisce in modo nativo.
- Prototipazione rapida: La facilità d'uso consente agli sviluppatori di passare dai dati a una demo funzionante in pochi minuti.
- Vincoli di risorse: I modelli Nano e Small offrono il miglior rapporto precisione/dimensioni per i dispositivi alimentati a batteria.
Quando considerare DAMO-YOLO
- Ricerca accademica: I ricercatori che studiano l'efficacia dei NAS nel rilevamento degli oggetti o nelle tecniche di ri-parametrizzazione potrebbero trovare in YOLO un valido punto di riferimento.
- Setup di GPU specifici: Negli scenari in cui i blocchi architettonici specifici di YOLO si allineano perfettamente con la gerarchia di cache dell'acceleratore di destinazione, può offrire un throughput competitivo.
Conclusione
Mentre YOLO introduce concetti accademici impressionanti come MAE-NAS e RepGFPN, Ultralytics YOLO11 rimane la scelta migliore per la maggior parte degli sviluppatori e delle aziende. La sua combinazione di accuratezza all'avanguardia, architettura leggera e un ecosistema fiorente garantisce che i progetti non solo siano performanti, ma anche manutenibili e scalabili.
Per gli sviluppatori che cercano una soluzione di computer vision affidabile, versatile e ad alte prestazioni, YOLO11 offre gli strumenti e le metriche necessarie per avere successo nel 2025 e oltre.
Esplora altri confronti tra modelli
Per comprendere meglio il panorama dei modelli di rilevamento degli oggetti, esplorate questi confronti correlati:
- YOLO11 vs. YOLOv10
- YOLO11 vs. YOLOv8
- DAMO-YOLO contro RT-DETR
- DAMO-YOLO contro YOLOX
- YOLO11 vs. EfficientDet