DAMO-YOLO vs YOLOv10#
Il campo della visione artificiale ha assistito a una rapida evoluzione nelle architetture di object detection in tempo reale. Quando confrontiamo DAMO-YOLO e YOLOv10, osserviamo due filosofie distinte nella progettazione dei modelli: la ricerca architetturale automatizzata rispetto all'ottimizzazione end-to-end senza NMS. Sebbene entrambi spingano i confini di precisione e velocità, le loro strutture sottostanti e i casi d'uso ideali differiscono in modo significativo.
DAMO-YOLO: Ricerca dell'architettura neurale su larga scala#
Sviluppato da Alibaba Group, DAMO-YOLO è emerso come un potente rilevatore focalizzato sullo sfruttamento della scoperta automatizzata per l'efficienza strutturale.
- Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Data: 23 novembre 2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
Punti salienti dell'architettura#
DAMO-YOLO si affida pesantemente alla Neural Architecture Search (NAS) per bilanciare prestazioni e latenza. Il suo backbone, chiamato MAE-NAS, utilizza una ricerca evolutiva multi-obiettivo sotto rigidi budget computazionali per trovare la profondità e la larghezza ottimali dei layer.
Per gestire la fusione delle feature tra diverse scale, il modello impiega un efficiente RepGFPN (Reparameterized Generalized Feature Pyramid Network). Questo design con heavy-neck è particolarmente abile nell'estrarre gerarchie spaziali complesse, rendendolo utile in scenari come l'aerial imagery analysis. Inoltre, DAMO-YOLO introduce lo ZeroHead, una testa di rilevamento snella che riduce pesantemente la complessità degli strati di previsione finale, affidandosi a un robusto processo di miglioramento della distillazione durante l'addestramento.
DAMO-YOLO utilizza spesso un processo di distillazione della conoscenza multi-stage. Richiede l'addestramento di un modello "teacher" più pesante per guidare il modello "student" più piccolo, il che estrae un mAP (mean Average Precision) più elevato ma aumenta significativamente il tempo di calcolo GPU compute richiesto.
YOLOv10: Pionieristico nel rilevamento oggetti end-to-end#
Rilasciato un anno e mezzo dopo, YOLOv10 ha introdotto un cambio di paradigma eliminando completamente la necessità di Non-Maximum Suppression (NMS) durante l'inferenza.
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione: Tsinghua University
- Data: 23 maggio 2024
- Arxiv: 2405.14458
- Documentazione: Ultralytics YOLOv10
Punti salienti dell'architettura#
La caratteristica distintiva di YOLOv10 sono i suoi consistent dual assignments per l'addestramento senza NMS. I detector tradizionali prevedono molteplici bounding box sovrapposti per un singolo oggetto, richiedendo la NMS per filtrare i duplicati. Questo passaggio di post-elaborazione crea un collo di bottiglia, specialmente sui dispositivi edge. YOLOv10 risolve questo problema permettendo al modello di prevedere naturalmente una singola e accurata bounding box per oggetto.
Gli autori si sono anche concentrati su una progettazione del modello olistica basata sull'efficienza e sulla precisione. Analizzando attentamente la ridondanza computazionale nelle architetture esistenti, hanno ottimizzato il backbone e la testa per ridurre il numero di FLOPs e parametri. Questo design leggero assicura che YOLOv10 offra una latenza di inferenza eccezionale quando viene esportato in formati come TensorRT o OpenVINO.
Prestazioni e benchmark#
La tabella seguente illustra le metriche di prestazioni grezze sul COCO dataset. I migliori valori complessivi in ogni colonna sono evidenziati in grassetto.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | params (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 |
| 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 |
Mentre DAMO-YOLO si difende bene in termini di precisione, YOLOv10 offre costantemente una latenza inferiore e model weights significativamente più piccoli. Ad esempio, YOLOv10s ottiene un mAP leggermente superiore (46,7%) rispetto a DAMO-YOLOs (46,0%) pur utilizzando meno della metà dei parametri (7,2M vs 16,3M). I minori memory requirements rendono YOLOv10 una scelta eccezionalmente versatile per i sistemi embedded.
Efficienza di addestramento e usabilità#
Nel passaggio dalla ricerca accademica alla produzione, la facilità d'uso è fondamentale. Il processo di distillazione multi-stadio di DAMO-YOLO e le complesse configurazioni NAS possono presentare ripide curve di apprendimento per i team di ingegneria.
Al contrario, YOLOv10 trae enormi vantaggi dall'essere completamente integrato nell'Ultralytics Python SDK. L'addestramento di un modello personalizzato richiede un codice boilerplate minimo. Ultralytics gestisce automaticamente data augmentation, hyperparameter tuning e experiment tracking.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()L'utilizzo dell'ecosistema Ultralytics consente agli sviluppatori di passare da un prototipo a un exported ONNX model completo in poche righe di codice, bypassando le complesse configurazioni di ambiente richieste dai framework più vecchi.
Casi d'uso nel mondo reale#
- Smart Retail (DAMO-YOLO): La precisione di DAMO-YOLO è ben adatta per ambienti server ad alta densità che analizzano il customer behavior dove le GPU abbondano e i colli di bottiglia NMS in tempo reale sono gestibili.
- Veicoli Autonomi (YOLOv10): L'architettura priva di NMS garantisce una latenza deterministica e prevedibile, che è fondamentale per i sistemi di sicurezza nella autonomous driving.
- Automazione Industriale (YOLOv10): Il rilevamento di difetti su linee di montaggio in rapido movimento richiede modelli che massimizzino la velocità di real-time inference senza consumare una vasta VRAM, rendendo YOLOv10 un candidato ideale per il deployment edge.
Casi d'uso e raccomandazioni#
La scelta tra DAMO-YOLO e YOLOv10 dipende dai requisiti specifici del tuo progetto, dai vincoli di deployment e dalle preferenze dell'ecosistema.
Quando scegliere DAMO-YOLO#
DAMO-YOLO è una scelta valida per:
- Video Analytics ad alto throughput: Elaborazione di flussi video ad alto FPS su infrastruttura GPU NVIDIA fissa dove il throughput batch-1 è la metrica principale.
- Linee di produzione industriale: Scenari con rigorosi vincoli di latenza GPU su hardware dedicato, come l'ispezione di qualità in tempo reale sulle linee di assemblaggio.
- Ricerca sulla Neural Architecture Search: Studiare gli effetti della ricerca automatizzata dell'architettura (MAE-NAS) e delle efficienti backbone riparametrizzate sulle prestazioni di rilevamento.
Quando scegliere YOLOv10#
YOLOv10 è consigliato per:
- Rilevamento in tempo reale senza NMS: Applicazioni che traggono vantaggio dal rilevamento end-to-end senza Non-Maximum Suppression, riducendo la complessità di distribuzione.
- Compromessi bilanciati tra velocità e precisione: Progetti che richiedono un ottimo equilibrio tra velocità di inferenza e precisione di rilevamento su diverse scale di modello.
- Applicazioni a latenza costante: Scenari di deployment in cui tempi di inferenza prevedibili sono critici, come la robotics o i sistemi autonomi.
Quando scegliere Ultralytics (YOLO26)#
Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la migliore combinazione di prestazioni ed esperienza per gli sviluppatori:
- Implementazione Edge senza NMS: Applicazioni che richiedono un'inferenza costante e a bassa latenza senza la complessità della post-elaborazione della soppressione dei non massimi.
- Ambienti solo CPU: Dispositivi senza accelerazione GPU dedicata, dove l'inferenza CPU fino al 43% più veloce di YOLO26 fornisce un vantaggio decisivo.
- Rilevamento di piccoli oggetti: Scenari complessi come aerial drone imagery o analisi di sensori IoT in cui ProgLoss e STAL aumentano significativamente l'accuratezza sugli oggetti minuscoli.
La Nuova Generazione: entra in scena Ultralytics YOLO26#
Sebbene YOLOv10 abbia gettato le basi per il rilevamento senza NMS, la tecnologia si è evoluta rapidamente. Per le applicazioni moderne, il modello Ultralytics YOLO26 offre prestazioni e usabilità senza pari, prendendo il meglio dalle generazioni precedenti e perfezionandole per la produzione.
YOLO26 presenta un design rigorosamente nativo end-to-end, eliminando il post-processing NMS per pipeline di deployment più semplici su dispositivi edge. Inoltre, la rimozione della Distribution Focal Loss (DFL) ha migliorato drasticamente la compatibilità con l'hardware edge AI a basso consumo.
Sul fronte dell'addestramento, YOLO26 introduce il MuSGD Optimizer, un ibrido ispirato alle tecniche di addestramento dei Large Language Model (LLM). Ciò garantisce un addestramento più stabile e una convergenza più rapida. Abbinato alle funzioni di perdita ProgLoss + STAL, YOLO26 mostra notevoli miglioramenti nel riconoscimento di piccoli oggetti, una funzionalità critica per wildlife conservation e drone operations.
In modo cruciale, YOLO26 non è solo un rilevatore di oggetti. Offre miglioramenti specifici per attività su tutta la linea, supportando nativamente Instance Segmentation, Pose Estimation utilizzando la Residual Log-Likelihood Estimation (RLE) e perdite angolari specializzate per Oriented Bounding Boxes (OBB). Con un'inferenza CPU fino al 43% più veloce rispetto ai suoi predecessori, è la scelta definitiva per i team di ingegneria agili.
Per la gestione centralizzata, l'annotazione e l'addestramento su cloud dei modelli YOLO26, la Ultralytics Platform fornisce un'interfaccia intuitiva che semplifica l'intero ciclo di vita della visione artificiale.
Gli sviluppatori interessati a esplorare altri recenti progressi possono anche valutare Ultralytics YOLO11 o il framework RT-DETR basato su transformer per scenari che richiedono soluzioni architettoniche distinte.