DAMO-YOLO vs YOLOv10: Evoluzione del Rilevamento di Oggetti Efficiente in Tempo Reale
Il campo della visione artificiale ha assistito a una rapida evoluzione nelle architetture di rilevamento di oggetti in tempo reale. Confrontando DAMO-YOLO e YOLOv10, osserviamo due filosofie distinte nella progettazione dei modelli: ricerca automatizzata dell'architettura versus ottimizzazione end-to-end senza NMS. Sebbene entrambi spingano i confini di accuratezza e velocità, le loro strutture sottostanti e i casi d'uso ideali differiscono significativamente.
YOLO: Ricerca dell'architettura neurale su larga scala
Sviluppato da Alibaba Group, DAMO-YOLO è emerso come un potente detector 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 Architetturali
DAMO-YOLO si basa fortemente sulla Neural Architecture Search (NAS) per bilanciare prestazioni e latenza. Il suo backbone, soprannominato 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 le diverse scale, il modello impiega un efficiente RepGFPN (Reparameterized Generalized Feature Pyramid Network). Questo design "heavy-neck" è particolarmente abile nell'estrarre gerarchie spaziali complesse, rendendolo utile in scenari come l'analisi di immagini aeree. Inoltre, DAMO-YOLO introduce lo ZeroHead, una testa di rilevamento semplificata che riduce notevolmente la complessità degli strati di previsione finali, basandosi su un robusto processo di miglioramento della distillazione durante l'addestramento.
Addestramento per Distillazione
DAMO-YOLO spesso utilizza un processo di distillazione della conoscenza multi-stadio. Richiede l'addestramento di un modello "insegnante" più pesante per guidare il modello "studente" più piccolo, il quale estrae un mAP (mean Average Precision) più elevato ma aumenta significativamente il tempo di calcolo GPU richiesto.
YOLOv10: Pionieristico nella rilevazione di oggetti end-to-end
Rilasciato un anno e mezzo dopo, YOLOv10 ha introdotto un cambiamento 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 Architetturali
La caratteristica distintiva di YOLOv10 sono le sue assegnazioni duali consistenti per l'addestramento senza NMS. I rilevatori tradizionali prevedono più bounding box sovrapposte per un singolo oggetto, richiedendo 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, accurata bounding box per oggetto.
Gli autori si sono anche concentrati su un design del modello olistico orientato all'efficienza e all'accuratezza. Analizzando attentamente la ridondanza computazionale nelle architetture esistenti, hanno ottimizzato il backbone e la head per ridurre il numero di FLOPs e parametri. Questo design leggero assicura che YOLOv10 offra una latenza di inferenza eccezionale quando esportato in formati come TensorRT o OpenVINO.
Prestazioni e benchmark
La tabella seguente illustra le metriche di performance grezze sul dataset COCO. 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) | 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 |
| 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 pesi del modello significativamente più piccoli. Ad esempio, YOLOv10s raggiunge un mAP leggermente superiore (46.7%) rispetto a DAMO-YOLOs (46.0%) utilizzando meno della metà dei parametri (7.2M contro 16.3M). I minori requisiti di memoria rendono YOLOv10 una scelta eccezionalmente versatile per i sistemi embedded.
Efficienza e usabilità della formazione
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 curve di apprendimento ripide per i team di ingegneria.
Al contrario, YOLOv10 beneficia immensamente dall'essere completamente integrato nell'SDK Python di Ultralytics. L'addestramento di un modello personalizzato comporta un codice boilerplate minimo. Ultralytics gestisce automaticamente la data augmentation, l'ottimizzazione degli iperparametri e il monitoraggio degli esperimenti.
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()
Prototipazione rapida
L'utilizzo dell'ecosistema Ultralytics consente agli sviluppatori di passare da un prototipo a un modello ONNX completamente esportato in poche righe di codice, bypassando le complesse configurazioni di ambiente richieste dai framework più datati.
Casi d'uso reali
- Smart Retail (DAMO-YOLO): L'accuratezza di DAMO-YOLO è ben adatta per ambienti server ad alta densità che analizzano il comportamento dei clienti, dove le GPU sono abbondanti e i colli di bottiglia NMS in tempo reale sono gestibili.
- Veicoli Autonomi (YOLOv10): L'architettura senza NMS garantisce una latenza deterministica e prevedibile, fondamentale per i sistemi di sicurezza nella guida autonoma.
- Automazione Industriale (YOLOv10): Rilevare difetti su linee di assemblaggio in rapido movimento richiede modelli che massimizzino le velocità di inferenza in tempo reale senza consumare grandi quantità di VRAM, rendendo YOLOv10 un candidato ideale per il deployment su edge.
Casi d'Uso e Raccomandazioni
La scelta tra DAMO-YOLO e YOLOv10 dipende dai requisiti specifici del progetto, dai vincoli di deployment e dalle preferenze dell'ecosistema.
Quando scegliere DAMO-YOLO
DAMO-YOLO è una scelta valida per:
- Analisi Video ad Alto Throughput: Elaborazione di flussi video ad alto FPS su infrastruttura NVIDIA GPU fissa dove il throughput batch-1 è la metrica primaria.
- Linee di Produzione Industriali: Scenari con rigorosi vincoli di latenza della GPU su hardware dedicato, come l'ispezione di qualità in tempo reale su linee di assemblaggio.
- Ricerca sulla Ricerca di Architettura Neurale: Studio degli effetti della ricerca automatizzata di architettura (MAE-NAS) e dei backbone riparametrizzati efficienti sulle prestazioni di rilevamento.
Quando scegliere YOLOv10
YOLOv10 è raccomandato per:
- Rilevamento in Tempo Reale NMS-Free: Applicazioni che beneficiano del rilevamento end-to-end senza Non-Maximum Suppression, riducendo la complessità del deployment.
- Equilibrio tra velocità e precisione: progetti che richiedono un forte equilibrio tra velocità di inferenza e precisione di rilevamento su varie scale di modelli.
- Applicazioni a Latenza Consistente: Scenari di deployment in cui tempi di inferenza prevedibili sono critici, come la robotica 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:
- Deployment Edge NMS-Free: Applicazioni che richiedono inferenza consistente e a bassa latenza senza la complessità della post-elaborazione Non-Maximum Suppression.
- Ambienti solo CPU: Dispositivi senza accelerazione GPU dedicata, dove l'inferenza CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
- Rilevamento di Oggetti Piccoli: Scenari impegnativi come immagini aeree da drone o analisi di sensori IoT dove ProgLoss e STAL aumentano significativamente la precisione su oggetti minuscoli.
La Prossima Generazione: Ultralytics YOLO26
Mentre YOLOv10 ha gettato le basi per il detect NMS-free, la tecnologia si è evoluta rapidamente. Per le applicazioni moderne, il modello Ultralytics YOLO26 offre prestazioni e usabilità senza pari, prendendo il meglio delle generazioni precedenti e affinandolo per la produzione.
YOLO26 presenta un design strettamente nativo end-to-end, eliminando la post-elaborazione NMS per pipeline di deployment più semplici su tutti i dispositivi edge. Inoltre, la rimozione della Distribution Focal Loss (DFL) ha migliorato drasticamente la compatibilità con l'hardware edge AI a bassa potenza.
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. Insieme alle funzioni di perdita ProgLoss + STAL, YOLO26 mostra notevoli miglioramenti nel riconoscimento di oggetti di piccole dimensioni, una caratteristica fondamentale per la conservazione della fauna selvatica e le operazioni con droni.
Fondamentale, YOLO26 non è solo un rilevatore di oggetti. Offre miglioramenti specifici per ogni attività, supportando nativamente Segmentazione delle Istanza, Stima della Posa utilizzando la Stima della Massima Verosimiglianza Residua (RLE), e perdite angolari specializzate per Bounding Box Orientate (OBB). Con un'inferenza sulla CPU fino al 43% più veloce rispetto ai suoi predecessori, è la scelta definitiva per i team di ingegneria agile.
Per la gestione centralizzata, l'annotazione e l'addestramento nel 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 basato su transformer RT-DETR per scenari che richiedono soluzioni architetturali distinte.