YOLOv5 vs. DAMO-YOLO: Un confronto tecnico completo
Il panorama della computer vision in tempo reale è in continua evoluzione, con ricercatori e ingegneri che si sforzano di trovare il perfetto equilibrio tra accuratezza, velocità e usabilità. Due modelli di spicco che hanno plasmato questo percorso sono Ultralytics YOLOv5 e DAMO-YOLO di Alibaba.
Questa guida fornisce un'analisi tecnica approfondita delle loro architetture, delle metriche di performance e delle metodologie di addestramento per aiutarti a scegliere il modello giusto per la tua prossima implementazione.
Background dei modelli
Prima di addentrarti nelle sfumature tecniche, è importante comprendere le origini e le principali filosofie di progettazione alla base di ciascuno di questi influenti modelli di visione.
Ultralytics YOLOv5
Sviluppato da Glenn Jocher e dal team di Ultralytics, YOLOv5 è diventato uno standard del settore sin dal suo rilascio. Costruito nativamente sul framework PyTorch, ha dato priorità a un'esperienza di sviluppo semplificata e a robuste capacità di implementazione fin da subito.
- Autore: Glenn Jocher
- Organizzazione: Ultralytics
- Data: 26-06-2020
- GitHub: https://github.com/ultralytics/yolov5
- Documentazione: Documentazione di Ultralytics YOLOv5
DAMO-YOLO
Creato dai ricercatori dell'Alibaba Group, DAMO-YOLO si concentra pesantemente sulla Neural Architecture Search (NAS) e su tecniche di distillazione avanzate. Spinge i limiti teorici delle prestazioni specifiche dell'hardware, rivolgendosi fortemente alla ricerca e agli ambienti edge che richiedono una messa a punto estrema.
- 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
Innovazioni architettoniche
Entrambi i modelli sfruttano concetti strutturali unici per ottenere le loro prestazioni in tempo reale, sebbene i loro approcci differiscano in modo significativo.
YOLOv5: Stabilità e versatilità
YOLOv5 utilizza un backbone Modified CSP (Cross Stage Partial) abbinato a un neck PANet (Path Aggregation Network). Questa struttura è altamente efficiente, riducendo al minimo l'utilizzo della memoria CUDA sia durante l'addestramento che durante l'inferenza.
Uno dei maggiori punti di forza di YOLOv5 è la sua versatilità tra le attività. Oltre alle previsioni di bounding box, offre architetture dedicate per la segmentazione delle immagini e la classificazione delle immagini, consentendo agli sviluppatori di standardizzare le proprie pipeline di visione attorno a un unico framework coeso.
DAMO-YOLO: Ricerca automatizzata dell'architettura
L'innovazione principale di DAMO-YOLO è il suo MAE-NAS Backbone. Utilizzando una ricerca evolutiva multi-obiettivo, il team di Alibaba ha scoperto backbone che bilanciano dinamicamente l'accuratezza del rilevamento e la velocità di inferenza.
Inoltre, presenta il neck Efficient RepGFPN per una migliore fusione delle caratteristiche, estremamente vantaggioso per le complesse variazioni di scala spesso osservate nell'analisi delle immagini satellitari. Il suo design ZeroHead semplifica i livelli di previsione finali per ridurre la latenza, sebbene questa complessa generazione strutturale possa rendere l'architettura rigida e più difficile da modificare per applicazioni personalizzate.
Le architetture basate su Transformer spesso lottano con un elevato consumo di VRAM. Sia YOLOv5 che DAMO-YOLO utilizzano design convoluzionali efficienti per mantenere bassi gli ingombri di memoria, ma i modelli Ultralytics sono notevolmente ottimizzati per GPU di livello consumer, rendendoli molto più accessibili per ricercatori indipendenti e startup.
Prestazioni e metriche
La valutazione dei rilevatori di oggetti in tempo reale richiede di osservare una matrice di mAP (mean Average Precision), velocità di inferenza e parametri di dimensione del modello.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOP (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
Mentre DAMO-YOLO raggiunge punteggi mAP altamente competitivi con determinati conteggi di parametri, YOLOv5 dimostra costantemente velocità TensorRT eccezionali e conteggi di parametri incredibilmente bassi per le sue configurazioni nano e small. Questo equilibrio di prestazioni garantisce che YOLOv5 funzioni in modo efficiente in diversi scenari di implementazione edge.
Efficienza nell'addestramento ed ecosistema
L'accuratezza teorica di un modello è valida solo quanto la sua implementabilità pratica. È qui che i modelli divergono notevolmente.
La complessità della distillazione
DAMO-YOLO si affida pesantemente a una metodologia di addestramento a più stadi. Implementa una tecnica di distillazione della conoscenza insegnante-studente nota come AlignedOTA. Sebbene questo estragga le massime prestazioni dal modello studente, richiede inizialmente l'addestramento di un enorme modello insegnante. Ciò aumenta drasticamente il tempo di calcolo, i costi energetici e l'hardware richiesto, rappresentando un collo di bottiglia per i team ML agili.
Il vantaggio di Ultralytics: facilità d'uso
Al contrario, l'ecosistema Ultralytics è rinomato in tutto il mondo per le sue API intuitive e l'efficienza dell'addestramento. Supportati da uno sviluppo attivo e da un'enorme community open-source, gli sviluppatori possono addestrare, convalidare e implementare modelli senza problemi.
from ultralytics import YOLO
# Load a pretrained YOLOv5 model
model = YOLO("yolov5s.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX format for deployment
model.export(format="onnx")Ultralytics fornisce anche supporto integrato per il tracciamento degli esperimenti tramite strumenti come Weights & Biases e Comet ML, creando un flusso di lavoro senza attriti.
Casi d'uso reali
- YOLOv5 eccelle in ambienti di produzione frenetici. La sua semplicità di esportazione lo rende la scelta principale per l'analisi intelligente della vendita al dettaglio, il rilevamento dei difetti di produzione ad alta velocità e l'integrazione in applicazioni mobili tramite CoreML.
- DAMO-YOLO è altamente adatto per rigorosi benchmark accademici e scenari in cui sono disponibili vaste risorse computazionali per eseguire lunghi addestramenti distillati, volti a ottenere miglioramenti frazionari del mAP per obiettivi hardware specifici e fissi.
Casi d'uso e raccomandazioni
La scelta tra YOLOv5 e DAMO-YOLO dipende dai requisiti specifici del tuo progetto, dai vincoli di implementazione e dalle preferenze dell'ecosistema.
Quando scegliere YOLOv5
YOLOv5 è una scelta solida per:
- Sistemi di produzione comprovati: Implementazioni esistenti in cui sono apprezzati il lungo storico di stabilità, l'ampia documentazione e il massiccio supporto della community di YOLOv5.
- Addestramento con risorse limitate: Ambienti con risorse GPU limitate in cui la pipeline di addestramento efficiente e i minori requisiti di memoria di YOLOv5 risultano vantaggiosi.
- Ampio supporto per formati di esportazione: Progetti che richiedono l'implementazione su molti formati, inclusi ONNX, TensorRT, CoreML e TFLite.
Quando scegliere DAMO-YOLO
DAMO-YOLO è consigliato per:
- Analisi video ad alto throughput: elaborazione di flussi video ad alto FPS su infrastrutture GPU NVIDIA fisse 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 della qualità in tempo reale sulle linee di assemblaggio.
- Ricerca sulla Neural Architecture Search: studio degli effetti della ricerca automatizzata dell'architettura (MAE-NAS) e dei backbone riparametrizzati efficienti sulle prestazioni di rilevamento.
Quando scegliere Ultralytics (YOLO26)
Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la migliore combinazione di prestazioni ed esperienza di sviluppo:
- Deployment Edge senza NMS: Applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Non-Maximum Suppression.
- Ambienti solo CPU: Dispositivi senza accelerazione GPU dedicata, dove l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
- Rilevamento di piccoli oggetti: Scenari complessi come immagini di droni aerei o analisi tramite sensori IoT dove ProgLoss e STAL migliorano significativamente l'accuratezza su oggetti minuscoli.
La prossima evoluzione: YOLO26
Se stai iniziando un nuovo progetto, ti consigliamo vivamente di guardare al futuro. Ultralytics YOLO26 si basa sull'incredibile fondamento di YOLOv5, incorporando progressi rivoluzionari che ridefiniscono l'IA di visione allo stato dell'arte.
Rilasciato con un plauso universale, YOLO26 è nativamente end-to-end. Presenta un design End-to-End NMS-Free, che elimina completamente la post-elaborazione Non-Maximum Suppression per un'implementazione sostanzialmente più veloce e semplice.
Le innovazioni chiave in YOLO26 includono:
- MuSGD Optimizer: Ispirato dalle innovazioni nell'addestramento LLM, questo ibrido di SGD e Muon garantisce un addestramento altamente stabile e una rapida convergenza.
- Inferenza CPU fino al 43% più veloce: Pesantemente ottimizzato per il calcolo edge, rendendolo perfetto per dispositivi IoT che operano senza GPU dedicate.
- ProgLoss + STAL: Funzioni di perdita avanzate che migliorano drasticamente il riconoscimento di oggetti piccoli, il che è fondamentale per l'immagini di droni aerei e la robotica.
- Miglioramenti specifici per attività: Dalla perdita angolare specializzata per Oriented Bounding Boxes (OBB) alla Residual Log-Likelihood Estimation (RLE) per una stima della posa accurata, YOLO26 gestisce domini complessi con facilità.
Conclusione
Sia YOLOv5 che DAMO-YOLO hanno cementato il loro posto nella storia del rilevamento degli oggetti. DAMO-YOLO rimane uno studio affascinante sulla Neural Architecture Search e sulla distillazione. Tuttavia, per le organizzazioni che danno priorità a un ecosistema ben mantenuto, facilità d'uso e un rapido percorso verso la produzione, i modelli Ultralytics rimangono senza pari.
Ti consigliamo vivamente di utilizzare la piattaforma Ultralytics per annotare, addestrare e implementare la prossima generazione di modelli, come YOLO26, assicurandoti che la tua pipeline di computer vision sia a prova di futuro, veloce e straordinariamente accurata.