Confronto tra YOLOv5 e DAMO-YOLO#
Il panorama della visione artificiale in tempo reale è in continua evoluzione, con ricercatori e ingegneri impegnati a trovare il perfetto equilibrio tra accuratezza, velocità e usabilità. Due modelli di spicco che hanno segnato questo percorso sono Ultralytics YOLOv5 e DAMO-YOLO di Alibaba.
Questa guida offre un'analisi tecnica approfondita delle rispettive architetture, metriche delle prestazioni e metodologie di addestramento, per aiutarti a scegliere il modello giusto per il tuo prossimo deployment.
Panoramica dei modelli#
Prima di esaminare gli aspetti tecnici, è importante comprendere le origini e le principali filosofie progettuali 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. Sviluppato nativamente sul framework PyTorch, ha dato priorità a un'esperienza di sviluppo semplificata e a solide funzionalità di deployment già pronte all'uso.
- Autore: Glenn Jocher
- Organizzazione: Ultralytics
- Data: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Documentazione: Documentazione di Ultralytics YOLOv5
DAMO-YOLO#
Creato dai ricercatori di Alibaba Group, DAMO-YOLO si concentra fortemente sulla Ricerca automatizzata dell'architettura neurale (NAS) e su tecniche avanzate di distillazione. Spinge oltre i limiti teorici delle prestazioni specifiche dell'hardware, rivolgendosi soprattutto ad ambienti di ricerca ed edge che richiedono un'ottimizzazione estrema.
- Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organizzazione: Alibaba Group
- Data: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Innovazioni architetturali#
Entrambi i modelli sfruttano concetti strutturali unici per ottenere prestazioni in tempo reale, sebbene i loro approcci differiscano significativamente.
YOLOv5: stabilità e versatilità#
YOLOv5 utilizza un backbone CSP modificato (parziale tra fasi), abbinato a un neck PANet (rete di aggregazione dei percorsi). Questa struttura è altamente efficiente e riduce al minimo l'utilizzo della memoria CUDA sia durante l'addestramento sia durante l'inferenza.
Uno dei principali punti di forza di YOLOv5 è la sua versatilità tra le attività. Oltre alle predizioni dei riquadri di delimitazione, offre architetture dedicate alla segmentazione delle immagini e alla classificazione delle immagini, consentendo agli sviluppatori di standardizzare le pipeline di visione su un unico framework coerente.
DAMO-YOLO: ricerca automatizzata dell'architettura#
L'innovazione principale di DAMO-YOLO è il suo MAE-NAS Backbone. Sfruttando una ricerca guidata dall'entropia massima, il team di Alibaba ha scoperto backbone che bilanciano in modo dinamico la precisione di rilevamento e la velocità di inferenza.
Inoltre, include il neck Efficient RepGFPN per una migliore fusione delle caratteristiche, particolarmente utile per le complesse variazioni di scala spesso presenti nell'analisi delle immagini satellitari. Il design ZeroHead semplifica i livelli finali di predizione 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 hanno difficoltà a causa dell'elevato consumo di VRAM. Sia YOLOv5 sia DAMO-YOLO utilizzano design convoluzionali efficienti per mantenere ridotto l'ingombro in memoria, ma i modelli Ultralytics sono ottimizzati in modo particolare per le GPU di fascia consumer, risultando molto più accessibili a ricercatori indipendenti e startup.
Prestazioni e metriche#
La valutazione dei rilevatori di oggetti in tempo reale richiede l'analisi di una combinazione di mAP (precisione media), velocità di inferenza e parametri relativi alle dimensioni del modello.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (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 |
Sebbene DAMO-YOLO raggiunga punteggi mAP altamente competitivi con determinati numeri di parametri, YOLOv5 dimostra costantemente velocità [TensorRT](https://ultralytics-translation-0.invalid eccezionali e un numero di parametri incredibilmente ridotto nelle configurazioni nano e small. Questo equilibrio prestazionale garantisce che YOLOv5 operi in modo efficiente in diversi scenari di deployment edge.
Efficienza dell'addestramento ed ecosistema#
L'accuratezza teorica di un modello vale quanto la sua effettiva implementabilità. È proprio qui che i modelli divergono considerevolmente.
La complessità della distillazione#
DAMO-YOLO si basa fortemente su una metodologia di addestramento a più stadi. Associa l'assegnazione delle etichette AlignedOTA a una tecnica di distillazione della conoscenza da docente a studente. Sebbene ciò estragga le massime prestazioni dal modello studente, richiede l'addestramento iniziale di un modello docente massiccio. Ciò aumenta drasticamente il tempo di calcolo, i costi energetici e l'hardware richiesto, rappresentando un collo di bottiglia per i team di machine learning 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 di addestramento. Grazie allo sviluppo attivo e a un'enorme community open source, gli sviluppatori possono addestrare, validare e distribuire i modelli senza difficoltà.
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 offre inoltre il supporto integrato per il monitoraggio degli esperimenti tramite strumenti come Weights & Biases e Comet ML, creando un workflow senza attriti.
Casi d'uso nel mondo reale#
- YOLOv5 eccelle negli ambienti di produzione dinamici. La sua semplice esportabilità lo rende la scelta ideale per l'analisi del retail intelligente, il rilevamento ad alta velocità dei difetti di produzione e l'integrazione nelle applicazioni mobili tramite CoreML.
- DAMO-YOLO è particolarmente adatto al benchmarking accademico rigoroso e agli scenari in cui sono disponibili ampie risorse di calcolo per eseguire lunghe sessioni di addestramento con distillazione, finalizzate a ottenere miglioramenti frazionali del mAP su specifici target hardware fissi.
Casi d'uso e raccomandazioni#
La scelta tra YOLOv5 e DAMO-YOLO dipende dai requisiti specifici del tuo progetto, dai vincoli di deployment e dalle tue preferenze in termini di ecosistema.
Quando scegliere YOLOv5#
YOLOv5 è una scelta eccellente per:
- Sistemi di produzione collaudati: implementazioni esistenti in cui sono apprezzati il lungo storico di stabilità di YOLOv5, la documentazione estesa e l'enorme supporto della community.
- Addestramento con risorse limitate: ambienti con risorse GPU limitate, in cui la pipeline di addestramento efficiente di YOLOv5 e i requisiti di memoria inferiori sono vantaggiosi.
- Ampio supporto dei formati di esportazione: progetti che richiedono l'implementazione in numerosi formati, tra cui ONNX, TensorRT, CoreML e TFLite.
Quando scegliere DAMO-YOLO#
DAMO-YOLO è consigliato per:
- Analisi video ad alta produttività: Elaborazione di flussi video ad alto FPS su infrastrutture GPU NVIDIA fisse, dove la produttività con 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 ricerca dell'architettura neurale: Studio degli effetti della ricerca automatizzata dell'architettura (MAE-NAS) e dei backbone efficienti riparametrizzati 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 per gli sviluppatori:
- Deployment edge senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Soppressione non massima.
- Ambienti esclusivamente CPU: dispositivi privi di accelerazione GPU dedicata, dove l'inferenza su CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
- Rilevamento di oggetti piccoli: scenari complessi come le immagini aeree riprese da droni o l'analisi di sensori IoT, in cui ProgLoss e STAL migliorano significativamente l'accuratezza sugli oggetti di piccole dimensioni.
La prossima evoluzione: YOLO26#
Se stai iniziando un nuovo progetto, ti consigliamo vivamente di guardare al futuro. Ultralytics YOLO26 si basa sulle solide fondamenta di YOLOv5 e incorpora innovazioni rivoluzionarie che ridefiniscono lo stato dell'arte dell'IA per la visione.
Rilasciato tra il plauso generale, YOLO26 è nativamente end-to-end. Include un design end-to-end senza NMS, che elimina completamente la soppressione dei massimi non adiacenti nel post-processing, per un deployment sostanzialmente più rapido e semplice.
Le innovazioni principali di YOLO26 includono:
- Ottimizzatore MuSGD: Ispirato alle innovazioni nell'addestramento degli LLM, questo ibrido di SGD e Muon garantisce un addestramento altamente stabile e una convergenza rapida.
- Inferenza su CPU fino al 43% più veloce: Fortemente ottimizzata per l'edge computing, è perfetta per i dispositivi IoT che operano senza GPU dedicate.
- ProgLoss + STAL: Funzioni di perdita avanzate che migliorano drasticamente il riconoscimento degli oggetti piccoli, un aspetto fondamentale per le immagini aeree acquisite da droni e la robotica.
- Miglioramenti specifici per attività: Dalla funzione di perdita specializzata per l'angolo relativa ai riquadri di delimitazione orientati (OBB) alla stima della verosimiglianza logaritmica residua (RLE) per una stima della posa accurata, YOLO26 gestisce con facilità domini complessi.
Conclusioni#
Sia YOLOv5 sia DAMO-YOLO si sono ritagliati un posto nella storia del rilevamento degli oggetti. DAMO-YOLO rimane un interessante caso di studio sulla Ricerca automatizzata dell'architettura neurale e sulla distillazione. Tuttavia, per le organizzazioni che danno priorità a un ecosistema ben mantenuto, alla facilità d'uso e a un percorso rapido verso la produzione, i modelli Ultralytics restano senza eguali.
Ti consigliamo vivamente di utilizzare la piattaforma Ultralytics per annotare, addestrare e distribuire la prossima generazione di modelli, come YOLO26, garantendo che la tua pipeline di visione artificiale sia a prova di futuro, veloce e straordinariamente accurata.