Link to this sectionYOLOv5 vs DAMO-YOLO#
Il panorama della computer vision in tempo reale è in continua evoluzione, con ricercatori e ingegneri che si impegnano a trovare il perfetto equilibrio tra precisione, 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, metriche di performance e metodologie di addestramento per aiutarti a scegliere il modello giusto per la tua prossima implementazione.
Link to this sectionBackground dei modelli#
Prima di addentrarci nelle sfumature tecniche, è importante comprendere le origini e le principali filosofie di design alla base di ciascuno di questi influenti modelli di visione.
Link to this sectionUltralytics YOLOv5#
Sviluppato da Glenn Jocher e dal team di Ultralytics, YOLOv5 è diventato uno standard del settore sin dalla sua uscita. Costruito nativamente sul framework PyTorch, ha dato priorità a un'esperienza di sviluppo ottimizzata e a solide capacità di deployment già pronte all'uso.
- Autore: Glenn Jocher
- Organizzazione: Ultralytics
- Data: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Documentazione: Documentazione Ultralytics YOLOv5
Link to this sectionDAMO-YOLO#
Creato dai ricercatori di Alibaba Group, DAMO-YOLO si concentra pesantemente sulla Neural Architecture Search (NAS) e su tecniche avanzate di distillazione. Spinge i limiti teorici delle performance specifiche dell'hardware, rivolgendosi fortemente alla ricerca e agli ambienti edge che richiedono un tuning estremo.
- 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
Link to this sectionInnovazioni architettoniche#
Entrambi i modelli sfruttano concetti strutturali unici per ottenere le loro performance in tempo reale, sebbene i loro approcci differiscano significativamente.
Link to this sectionYOLOv5: Stabilità e versatilità#
YOLOv5 utilizza un backbone Modified CSP (Cross Stage Partial) abbinato a un neck PANet (Path Aggregation Network). Questa struttura è altamente efficiente e riduce 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 bbox, 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.
Link to this sectionDAMO-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 la precisione di 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 riscontrate nell'analisi di immagini satellitari. Il suo design ZeroHead semplifica gli strati di previsione finale 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 basse le occupazioni di memoria, ma i modelli Ultralytics sono notevolmente ottimizzati per GPU di livello consumer, rendendoli molto più accessibili per ricercatori indipendenti e startup.
Link to this sectionPrestazioni 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) | params (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 ottenga punteggi mAP altamente competitivi a 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 operi in modo efficiente in diversi scenari di deployment edge.
Link to this sectionEfficienza di addestramento ed ecosistema#
La precisione teorica di un modello è valida tanto quanto la sua implementabilità pratica. È qui che i modelli divergono notevolmente.
Link to this sectionLa complessità della distillazione#
DAMO-YOLO si basa pesantemente su una metodologia di addestramento a più stadi. Implementa una tecnica di distillazione della conoscenza teacher-student nota come AlignedOTA. Sebbene ciò estragga le massime prestazioni dal modello student, richiede inizialmente l'addestramento di un enorme modello teacher. Ciò aumenta drasticamente il tempo di calcolo, i costi energetici e l'hardware richiesto, rappresentando un collo di bottiglia per i team ML agili.
Link to this sectionIl 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. Supportato da uno sviluppo attivo e da un'enorme community open-source, gli sviluppatori possono addestrare, convalidare e distribuire modelli senza soluzione di continuità.
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.
Link to this sectionCasi d'uso nel mondo reale#
- YOLOv5 eccelle in ambienti di produzione frenetici. La sua semplicità di esportazione lo rende la scelta principale per l'analisi del retail intelligente, il rilevamento dei difetti di produzione ad alta velocità e l'integrazione in applicazioni mobili tramite CoreML.
- DAMO-YOLO è altamente adatto per rigorosi benchmarking accademici e scenari in cui sono disponibili vaste risorse computazionali per eseguire lunghi addestramenti distillati, mirati a spremere miglioramenti mAP frazionali per target hardware specifici e fissi.
Link to this sectionCasi d'uso e raccomandazioni#
La scelta tra YOLOv5 e DAMO-YOLO dipende dai requisiti specifici del tuo progetto, dai vincoli di deployment e dalle preferenze dell'ecosistema.
Link to this sectionQuando scegliere YOLOv5#
YOLOv5 è una scelta solida per:
- Sistemi di produzione comprovati: Deployment esistenti in cui sono apprezzati la lunga storia di stabilità, l'ampia documentazione e il massiccio supporto della comunità 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 sono vantaggiosi.
- Ampio supporto di formati di esportazione: Progetti che richiedono il deployment su molti formati, inclusi ONNX, TensorRT, CoreML e TFLite.
Link to this sectionQuando scegliere DAMO-YOLO#
DAMO-YOLO è raccomandato 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.
Link to this sectionQuando 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 oggetti piccoli: Scenari impegnativi come immagini di droni aerei o analisi di sensori IoT in cui ProgLoss e STAL aumentano significativamente la precisione su oggetti minuscoli.
Link to this sectionLa prossima evoluzione: YOLO26#
Se stai iniziando un nuovo progetto, ti consigliamo vivamente di guardare al futuro. Ultralytics YOLO26 costruisce sulle incredibili fondamenta di YOLOv5, incorporando progressi rivoluzionari che ridefiniscono l'AI di visione allo stato dell'arte.
Rilasciato con un plauso universale, YOLO26 è nativamente end-to-end. Presenta un design NMS-Free End-to-End, che elimina completamente il post-processing Non-Maximum Suppression per un deployment sostanzialmente più rapido e semplice.
Le innovazioni chiave in YOLO26 includono:
- Ottimizzatore MuSGD: Ispirato dalle innovazioni nell'addestramento LLM, questo ibrido di SGD e Muon garantisce un addestramento altamente stabile e una rapida convergenza.
- Fino al 43% di inferenza CPU più veloce: Pesantemente ottimizzato per l'edge computing, rendendolo perfetto per dispositivi IoT che operano senza GPU dedicate.
- ProgLoss + STAL: Funzioni di perdita avanzate che migliorano drasticamente il riconoscimento di piccoli oggetti, il che è fondamentale per immagini di droni aerei e robotica.
- Miglioramenti specifici per attività: Dalla perdita angolare specializzata per Oriented Bounding Boxes (OBB) alla stima della log-verosimiglianza residua (RLE) per una Pose estimation accurata, YOLO26 gestisce domini complessi con facilità.
Link to this sectionConclusione#
Sia YOLOv5 che DAMO-YOLO hanno consolidato 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, alla facilità d'uso e a un percorso rapido verso la produzione, i modelli Ultralytics rimangono impareggiabili.
Ti consigliamo vivamente di utilizzare la piattaforma Ultralytics per annotare, addestrare e distribuire la prossima generazione di modelli, come YOLO26, assicurando che la tua pipeline di computer vision sia a prova di futuro, veloce e straordinariamente accurata.