Vai al contenuto

YOLOv5 vs DAMO-YOLO: Un Confronto Tecnico Dettagliato

Nel panorama in rapida evoluzione della computer vision, la scelta della giusta architettura di rilevamento degli oggetti è fondamentale per il successo del progetto. Questo confronto esplora due modelli significativi: Ultralytics YOLOv5, uno standard industriale adottato a livello globale e noto per la sua affidabilità e velocità, e YOLO, un modello incentrato sulla ricerca di Alibaba Group che introduce nuove tecniche di ricerca architetturale.

Entrambi i modelli mirano a risolvere compiti di rilevamento di oggetti, ma rispondono a esigenze diverse. YOLOv5 privilegia la facilità d'uso, la versatilità di implementazione e il bilanciamento delle prestazioni nel mondo reale, mentre YOLO si concentra sulla ricerca di limiti accademici con la ricerca di architetture neurali (NAS) e meccanismi di fusione di funzioni pesanti.

Metriche di prestazione e parametri di riferimento

La comprensione dei compromessi tra la velocità di inferenza e l'accuratezza del rilevamento è essenziale quando si sceglie un modello per la produzione. I dati seguenti evidenziano le prestazioni di questi modelli sul set di datiCOCO , un benchmark standard per il rilevamento di oggetti.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

Analisi dei risultati

I dati rivelano una netta dicotomia nella filosofia di progettazione. YOLOv5n (Nano) è il campione indiscusso per velocità ed efficienza, offrendo un incredibile tempo di inferenza di 1,12 ms su GPU e prestazioni CPU ampiamente accessibili. Questo lo rende ideale per le applicazioni di intelligenza artificiale in cui la bassa latenza è irrinunciabile.

I modelli YOLO , come il DAMO-YOLOl, ottenere un risultato marginalmente più alto precisione mediamAP), con un picco di 50.8ma al costo di un'opacità nelle metriche delle prestazioni CPU . La mancanza di velocità della CPU per YOLO suggerisce che è ottimizzato principalmente per ambienti GPU di fascia alta, limitando la sua flessibilità per scenari di implementazione più ampi, come applicazioni mobili o sistemi embedded.

Ultralytics YOLOv5: lo standard versatile del settore

Autore: Glenn Jocher
Organizzazione:Ultralytics
Data: 2020-06-26
GitHubyolov5
Documentazioneyolov5

Sin dal suo rilascio, YOLOv5 si è affermato come una pietra miliare nella comunità della computer vision. Costruito nativamente in PyTorchbilancia la complessità con l'usabilità, fornendo un'esperienza "a batterie incluse". La sua architettura utilizza una spina dorsale CSPDarknet e un collo PANet, che aggrega in modo efficiente caratteristiche a scale diverse per detect oggetti di varie dimensioni.

Punti di forza

  • Facilità d'uso: Ultralytics dà priorità all'esperienza degli sviluppatori (DX). Grazie a una semplice API Python e a comandiCLI intuitivi, gli utenti possono addestrare e distribuire i modelli in pochi minuti.
  • Ecosistema ben curato: Sostenuto da una comunità attiva e da aggiornamenti frequenti, YOLOv5 garantisce la compatibilità con gli strumenti più recenti, tra cui Ultralytics HUB per una gestione perfetta dei modelli.
  • Versatilità: Oltre al rilevamento standard, YOLOv5 supporta la segmentazione delle istanze e la classificazione delle immagini, consentendo agli sviluppatori di affrontare diverse attività di visione con un unico framework.
  • Flessibilità di distribuzione: Dall'esportazione in ONNX e TensorRT all'esecuzione su iOS e Android, YOLOv5 è progettato per funzionare ovunque.

Scopri di più su YOLOv5

Flusso di lavoro ottimizzato

YOLOv5 si integra perfettamente con i più diffusi strumenti MLOps. È possibile track gli esperimenti utilizzando Weights & Biases o Comet con un solo comando, assicurando che i cicli di formazione siano riproducibili e facili da analizzare.

YOLO: Accuratezza guidata dalla ricerca

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
GitHubYOLO

YOLO è un metodo sviluppato dalla DAMO Academy di Alibaba. Introduce una serie di tecnologie avanzate, tra cui la ricerca di architetture neurali (NAS) per progettare automaticamente dorsali efficienti (MAE-NAS), una struttura a collo pesante nota come RepGFPN (Reparameterized Generalized Feature Pyramid Network) e una testa leggera chiamata ZeroHead.

Caratteristiche principali

  • Backbone MAE-NAS: Utilizza un metodo chiamato MAE-NAS per trovare una struttura di rete ottimale sotto specifici vincoli di latenza, anche se questo può rendere l'architettura più complessa da modificare manualmente.
  • Assegnazione delle etichette AlignedOTA: Impiega una strategia di assegnazione dinamica delle etichette chiamata AlignedOTA per risolvere i disallineamenti tra i compiti di classificazione e regressione.
  • Focus sull'accuratezza: L'obiettivo principale di YOLO è quello di massimizzare la mAP sul set di dati COCO , rendendolo un forte concorrente per le competizioni o le ricerche accademiche in cui ogni frazione di percentuale conta.

Scopri di più su DAMO-YOLO

Differenze architettoniche e operative

La divergenza tra YOLOv5 e YOLO va oltre le semplici metriche e si estende alle loro filosofie di progettazione e ai loro requisiti operativi.

Architettura: Semplicità e complessità

YOLOv5 utilizza un'architettura artigianale e intuitiva. Il suo approccio basato sugli ancoraggi è ben compreso e facile da debuggare. Al contrario, YOLO si basa su una pesante ri-parametrizzazione e sulla ricerca automatica (NAS). Sebbene il NAS possa produrre strutture efficienti, spesso si traduce in modelli "black-box", difficili da personalizzare o interpretare per gli sviluppatori. Inoltre, il collo pesante (RepGFPN) di YOLO aumenta il carico computazionale durante l'addestramento, richiedendo una maggiore quantità di memoriaGPU rispetto all'efficiente design CSP di YOLOv5.

Efficienza dell'allenamento e memoria

I modelli Ultralytics sono rinomati per la loro efficienza di addestramento. YOLOv5 richiede in genere meno memoria CUDA , consentendo l'addestramento su GPU di livello consumer. YOLO, con i suoi complessi processi di ri-parametrizzazione e distillazione, spesso richiede hardware di fascia alta per un addestramento efficace. Inoltre, Ultralytics offre una vasta libreria di pesi pre-addestrati e la regolazione automatica degli iperparametri per accelerare il percorso di convergenza.

Ecosistema e facilità d'uso

Forse la differenza più significativa sta nell'ecosistema. YOLOv5 non è solo un modello, ma fa parte di una suite completa di strumenti.

  • Documentazione: Ultralytics dispone di un'ampia documentazione multilingue che guida gli utenti dalla raccolta dei dati all'implementazione.
  • Comunità: Un'enorme comunità globale assicura che i problemi vengano risolti rapidamente e che le esercitazioni siano prontamente disponibili.
  • Integrazioni: Supporto nativo per Roboflow e i target di distribuzione come NVIDIA Jetson semplifica l'intera pipeline.

YOLO, principalmente un repository per la ricerca, non dispone di questo livello di supporto, rendendo l'integrazione nei prodotti commerciali molto più impegnativa.

Casi d'uso reali

La scelta tra questi modelli dipende spesso dall'ambiente di distribuzione specifico.

Dove eccelle YOLOv5

  • Agricoltura intelligente: I suoi bassi requisiti in termini di risorse lo rendono perfetto per l'esecuzione su droni o trattori autonomi per il rilevamento delle malattie dei raccolti.
  • Produzione: Nell'automazione industriale, l'alta velocità di YOLOv5 consente di rilevare in tempo reale i difetti sui nastri trasportatori in rapido movimento.
  • Analitica del commercio al dettaglio: Per il conteggio degli oggetti e la gestione delle code, le prestazioni CPU di YOLOv5 consentono un'implementazione economica sull'hardware del negozio esistente.

Dove YOLO eccelle

  • Ricerca accademica: I ricercatori che studiano l'efficacia delle tecniche RepGFPN o NAS troveranno in YOLO un valido punto di riferimento.
  • Sorveglianza di alto livello: In scenari con GPU dedicate di livello server in cui la precisione è prioritaria rispetto alla latenza, YOLO è in grado di fornire un rilevamento preciso in scene complesse.

Esempio di codice: Come iniziare con YOLOv5

L'esecuzione di YOLOv5 è semplice grazie al pacchetto Ultralytics Python . L'esempio seguente mostra come caricare un modello pre-addestrato ed eseguire l'inferenza su un'immagine.

import torch

# Load a pre-trained YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image URL or local path
img = "https://ultralytics.com/images/zidane.jpg"

# Run inference
results = model(img)

# Print results to the console
results.print()

# Show the image with bounding boxes
results.show()

Conclusione

Sia YOLOv5 che YOLO contribuiscono in modo significativo al campo del rilevamento degli oggetti. YOLO mostra il potenziale della ricerca con architettura neurale e della fusione avanzata di funzioni per ottenere parametri di riferimento di elevata precisione.

Tuttavia, per la stragrande maggioranza degli sviluppatori, degli ingegneri e delle aziende, Ultralytics YOLOv5 rimane la scelta migliore. La sua impareggiabile facilità d'uso, il robusto bilanciamento delle prestazioni e la sicurezza di un ecosistema ben curato garantiscono che i progetti passino dal prototipo alla produzione con un attrito minimo. La capacità di distribuire in modo efficiente su CPU e GPU, unita ai minori requisiti di memoria per la formazione, rende YOLOv5 una soluzione estremamente pratica per le applicazioni del mondo reale.

Per coloro che desiderano sfruttare le più recenti tecnologie di visione computerizzata, Ultralytics ha continuato a innovare con YOLOv8 e lo stato dell'arte YOLO11. Questi nuovi modelli si basano sulle solide fondamenta di YOLOv5, offrendo velocità, precisione e versatilità ancora maggiori.

Esplora altri confronti

Per capire meglio come questi modelli si inseriscono nell'ecosistema più ampio, esplorate questi confronti dettagliati:


Commenti