Link to this sectionDAMO-YOLO vs YOLOX#
Il panorama della computer vision in tempo reale è in costante evoluzione. Due pietre miliari in questo percorso sono DAMO-YOLO e YOLOX, ciascuna delle quali porta innovazioni uniche al problema del rilevamento di oggetti ad alta velocità e precisione. Sebbene entrambi i modelli abbiano contribuito in modo significativo alla comunità open source, comprendere le loro differenze architetturali, le metodologie di addestramento e gli scenari di implementazione ideali è fondamentale per gli ingegneri di machine learning.
Questa guida completa esplora le sfumature tecniche di entrambi i modelli e sottolinea perché le moderne alternative come la piattaforma Ultralytics YOLO26 offrano prestazioni superiori e facilità d'uso per gli ambienti di produzione odierni.
Link to this sectionPanoramica dei modelli#
Link to this sectionDettagli di DAMO-YOLO#
Sviluppato da un team di ricercatori presso l'Alibaba Group, DAMO-YOLO è stato introdotto come un metodo di rilevamento oggetti altamente efficiente che sfrutta la scoperta automatizzata dell'architettura.
Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
Organizzazione: Alibaba Group
Data: 23-11-2022
Arxiv: https://arxiv.org/abs/2211.15444v2
GitHub: https://github.com/tinyvision/DAMO-YOLO
Documentazione: Documentazione DAMO-YOLO
Link to this sectionDettagli YOLOX#
Creato dai ricercatori di Megvii, YOLOX mirava a colmare il divario tra le comunità di ricerca e quelle industriali passando la serie YOLO a un design anchor-free, semplificando drasticamente l'architettura e ottenendo al contempo prestazioni migliori per l'epoca.
Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
Organizzazione: Megvii
Data: 18-07-2021
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
Documentazione: Documentazione YOLOX
Link to this sectionAnalisi Architetturale#
Link to this sectionArchitettura di DAMO-YOLO#
DAMO-YOLO si affida pesantemente alla Neural Architecture Search (NAS). I componenti principali includono:
- Backbone MAE-NAS: Utilizza un algoritmo di ricerca evolutiva multi-obiettivo per scoprire backbone che forniscano l'equilibrio ottimale tra velocità di inferenza e precisione.
- Efficient RepGFPN: Un design heavy-neck adattato per la fusione delle caratteristiche, che aiuta il modello a mantenere un'elevata precisione su diverse scale di oggetti.
- ZeroHead: Una head di rilevamento semplificata e leggera che riduce il carico computazionale negli strati di predizione finali.
Link to this sectionArchitettura di YOLOX#
YOLOX ha adottato un approccio diverso, concentrandosi sulla semplicità strutturale e su un design anchor-free:
- Meccanismo Anchor-Free: Predicendo le coordinate del BBox direttamente senza ancore predefinite, YOLOX riduce il numero di parametri di progettazione e le modifiche euristiche richieste.
- Decoupled Head: Separa le attività di classificazione e regressione in diversi rami di caratteristiche, il che migliora la velocità di convergenza e la precisione complessiva.
- Assegnazione dell'etichetta SimOTA: Una strategia avanzata di assegnazione dell'etichetta che alloca dinamicamente campioni positivi alle ground truth, migliorando l'efficienza dell'addestramento.
Mentre DAMO-YOLO utilizza ricerche NAS guidate dalla macchina per trovare architetture ottimali sotto vincoli rigorosi, YOLOX sfrutta eleganti semplificazioni progettate dall'uomo (come head anchor-free) per ottimizzare la pipeline di rilevamento oggetti.
Link to this sectionConfronto delle Prestazioni#
Valutare questi modelli richiede di osservare la mAP (mean Average Precision), le velocità di inferenza e il numero di parametri. Di seguito è riportata una tabella comparativa dettagliata delle varianti standard e leggere per entrambe le architetture.
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Mentre YOLOXx raggiunge la massima mAP assoluta a 51.1, DAMO-YOLOl offre una mAP altamente competitiva di 50.8 con meno della metà dei parametri (42.1M rispetto a 99.1M) e un'esecuzione su TensorRT significativamente più veloce.
Link to this sectionMetodologie di addestramento#
Link to this sectionAddestramento di DAMO-YOLO#
DAMO-YOLO utilizza una complessa ottimizzazione tramite distillazione durante l'addestramento. Spesso, viene prima addestrato un modello "insegnante" di grandi dimensioni e la sua conoscenza viene distillata nei modelli "studenti" più piccoli. Impiega anche AlignedOTA per l'assegnazione dinamica dell'etichetta. Sebbene molto efficace, questo processo di addestramento a più stadi aumenta drasticamente il tempo di calcolo GPU e il sovraccarico di memoria richiesti.
Link to this sectionAddestramento di YOLOX#
YOLOX si basa su forti strategie di data augmentation come MixUp e Mosaic. Tuttavia, gli autori hanno scoperto che disattivare queste forti aumentazioni per le ultime 15 epoche consente al modello di colmare il divario di realtà, aumentando significativamente le metriche di precisione finali.
Link to this sectionCasi d'uso ideali#
- DAMO-YOLO: Ideale per implementazioni industriali ad alto rischio in cui è possibile supportare pipeline di distillazione lato server e dove l'hardware di destinazione (come specifiche GPU NVIDIA) beneficia direttamente della sua architettura NAS heavy-neck.
- YOLOX: Eccellente per gli sviluppatori che cercano un approccio puramente anchor-free. Il
YOLOXnanoestremamente leggero lo rende adatto a dispositivi Android legacy, edge computing e sensori IoT molto vincolati, dove il numero di parametri è il collo di bottiglia assoluto.
Link to this sectionIl vantaggio di Ultralytics: arriva YOLO26#
Mentre DAMO-YOLO e YOLOX rappresentano pietre miliari eccellenti, gli sviluppatori oggi richiedono soluzioni più complete, versatili e facili da usare. È qui che la Piattaforma Ultralytics e il nuovo Ultralytics YOLO26 brillano.
Rilasciato a gennaio 2026, YOLO26 è il modello definitivo consigliato per tutte le attività di computer vision. Introduce una serie di innovazioni che superano le architetture più vecchie:
- Design End-to-End NMS-Free: YOLO26 elimina nativamente il post-processing NMS (Non-Maximum Suppression). Ciò consente un'implementazione significativamente più semplice e veloce, evitando i colli di bottiglia di latenza intrinseci nelle head di rilevamento tradizionali.
- Fino al 43% di velocità di inferenza CPU in più: Rimuovendo strategicamente la Distribution Focal Loss (DFL) e ottimizzando gli strati, YOLO26 offre velocità senza precedenti su CPU e hardware edge.
- Ottimizzatore MuSGD: Ispirato alle tecniche di addestramento dei modelli linguistici di grandi dimensioni (LLM), YOLO26 introduce l'ottimizzatore MuSGD (un ibrido di SGD e Muon), che porta a cicli di addestramento altamente stabili e una convergenza molto più rapida rispetto alle configurazioni legacy in YOLOX.
- ProgLoss + STAL: Queste funzioni di perdita avanzate offrono notevoli miglioramenti nel riconoscimento di oggetti piccoli, rendendo YOLO26 di gran lunga superiore per riprese con droni e robotica.
- Versatilità: A differenza di DAMO-YOLO, che è strettamente per il rilevamento oggetti, YOLO26 gestisce perfettamente segmentazione di istanze, stima della posa, classificazione e Oriented Bounding Boxes (OBB) nativamente all'interno dello stesso ecosistema ben mantenuto.
Link to this sectionFacilità d'uso con Ultralytics#
L'API Python di Ultralytics semplifica l'esperienza dello sviluppatore. Addestrare un modello YOLO26 all'avanguardia richiede molto meno codice boilerplate ed evita le complesse pipeline di distillazione di DAMO-YOLO. Inoltre, i modelli Ultralytics presentano requisiti di memoria CUDA eccezionalmente bassi durante l'addestramento rispetto ai pesanti modelli basati su Transformer.
from ultralytics import YOLO
# Load the latest Ultralytics YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset with one line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run fast, NMS-free inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX or TensorRT seamlessly
model.export(format="onnx")Puoi annotare, addestrare e implementare automaticamente modelli all'edge utilizzando la Piattaforma Ultralytics, che gestisce per te tutto il versionamento dei dati e il provisioning della GPU cloud.
Link to this sectionConclusione#
Scegliere tra DAMO-YOLO e YOLOX dipende da vincoli specifici: DAMO-YOLO offre rapporti velocità-precisione eccezionali su specifiche GPU tramite NAS, mentre YOLOX fornisce un design pulito e anchor-free ideale per scenari edge leggeri.
Tuttavia, per i team che cercano una soluzione moderna e a prova di futuro con una comunità attiva, l'architettura Ultralytics YOLO26 è la scelta definitiva. Il suo design NMS-free, la rapida inferenza CPU e l'API unificata per attività di rilevamento, segmentazione e posa la rendono impareggiabile per una transizione fluida dalla ricerca alla robusta produzione nel mondo reale.
Per gli sviluppatori interessati a esplorare altre architetture moderne, consigliamo anche di dare un'occhiata a Ultralytics YOLO11 o ai modelli basati su Transformer come RT-DETR disponibili nella documentazione completa di Ultralytics.