Vai al contenuto

YOLOv10 contro DAMO-YOLO: Un confronto tecnico

La selezione del modello di object detection ottimale è una decisione critica che bilancia i compromessi tra accuratezza, velocità e costo computazionale. Questa pagina fornisce un confronto tecnico dettagliato tra YOLOv10, l'ultimo modello altamente efficiente integrato nell'ecosistema Ultralytics, e DAMO-YOLO, un potente detector di Alibaba Group. Analizzeremo le loro architetture, le metriche di performance e i casi d'uso ideali per aiutarti a fare una scelta informata per i tuoi progetti di computer vision.

YOLOv10: Rilevamento end-to-end in tempo reale

YOLOv10, introdotto dai ricercatori della Tsinghua University nel maggio 2024, segna un significativo passo avanti nel rilevamento di oggetti in tempo reale. La sua principale innovazione è il raggiungimento del rilevamento end-to-end eliminando la necessità della Non-Maximum Suppression (NMS), che riduce l'overhead di post-elaborazione e diminuisce la latenza di inferenza.

Dettagli tecnici:
Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
Organizzazione:Tsinghua University
Data: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Documentazione:https://docs.ultralytics.com/models/yolov10/

Architettura e caratteristiche principali

YOLOv10 è costruito sul robusto framework Ultralytics, ereditandone la facilità d'uso e il potente ecosistema. La sua architettura introduce diversi progressi chiave per un'efficienza e prestazioni superiori:

  • Addestramento NMS-Free: YOLOv10 impiega assegnazioni duali coerenti per le etichette durante l'addestramento. Ciò consente al modello di produrre previsioni pulite senza richiedere la fase di post-elaborazione NMS, semplificando la pipeline di distribuzione e rendendola veramente end-to-end.
  • Progettazione olistica efficienza-accuratezza: L'architettura del modello è stata ottimizzata in modo completo per ridurre la ridondanza computazionale. Ciò include un head di classificazione leggero e un downsampling disaccoppiato spazio-canale, che migliorano sia la velocità che la capacità.
  • Integrazione fluida con Ultralytics: Come parte dell'ecosistema Ultralytics, YOLOv10 beneficia di un'esperienza utente semplificata. Ciò include una semplice API Python, un'ampia documentazione, efficienti processi di training e pesi pre-addestrati facilmente disponibili. Questa integrazione rende eccezionalmente facile per gli sviluppatori iniziare e distribuire rapidamente i modelli.

Perché NMS-Free è importante

I rilevatori di oggetti tradizionali spesso prevedono più bounding box per un singolo oggetto. La Non-Maximum Suppression (NMS) è una fase di post-elaborazione utilizzata per filtrare questi duplicati. Eliminando la NMS, YOLOv10 riduce significativamente la latenza e la complessità dell'inferenza, soprattutto negli scenari di implementazione edge dove ogni millisecondo conta.

Scopri di più su YOLOv10

DAMO-YOLO: Efficienza guidata da NAS

DAMO-YOLO è un modello di object detection veloce e preciso sviluppato dall'Alibaba Group. Rilasciato nel novembre 2022, ha introdotto diverse nuove tecniche per spingere i confini delle prestazioni dei detector in stile YOLO, concentrandosi fortemente sull'ottimizzazione architetturale attraverso algoritmi di ricerca.

Dettagli tecnici:
Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, et al.
Organizzazione:Alibaba Group
Data: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHub:https://github.com/tinyvision/DAMO-YOLO
Documentazione:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md

Architettura e caratteristiche principali

DAMO-YOLO esplora tecniche avanzate per migliorare il compromesso tra velocità e accuratezza. La sua architettura è caratterizzata da:

  • Neural Architecture Search (NAS): Il backbone di DAMO-YOLO è stato generato utilizzando NAS, consentendo una rete di estrazione delle caratteristiche altamente ottimizzata e specificamente progettata per attività di detect.
  • Efficient RepGFPN Neck: Incorpora un nuovo design di Feature Pyramid Network (FPN) chiamato RepGFPN che fonde in modo efficiente le caratteristiche da diverse scale.
  • ZeroHead e AlignedOTA: Il modello utilizza una testa semplificata, a zero parametri, e una strategia di assegnazione delle etichette migliorata chiamata AlignedOTA (Aligned Optimal Transport Assignment) per migliorare l'accuratezza della detection e la localizzazione.
  • Knowledge Distillation: DAMO-YOLO sfrutta la knowledge distillation per aumentare ulteriormente le prestazioni dei suoi modelli più piccoli imparando da reti teacher più grandi.

Scopri di più su DAMO-YOLO

Testa a testa sulle prestazioni

La tabella seguente confronta le prestazioni di varie dimensioni dei modelli YOLOv10 e DAMO-YOLO sul dataset COCO. YOLOv10 dimostra costantemente prestazioni superiori, offrendo una maggiore accuratezza con una latenza inferiore e meno parametri.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.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

Come mostrano i dati, i modelli YOLOv10 generalmente superano le loro controparti DAMO-YOLO in termini di efficienza. Ad esempio, YOLOv10-S raggiunge un mAP più alto (46,7 vs. 46,0) rispetto a DAMO-YOLO-S pur essendo significativamente più veloce (2,66 ms vs. 3,45 ms) e avendo meno della metà dei parametri (7,2 M vs. 16,3 M). Questa tendenza si mantiene su tutte le dimensioni dei modelli, culminando con YOLOv10-X che raggiunge il mAP più alto di 54,4.

Analisi di punti di forza e debolezze

Punti di forza di YOLOv10

  • Efficienza all'avanguardia: YOLOv10 offre un equilibrio eccezionale tra velocità e accuratezza, spesso superando i concorrenti con meno parametri e minore latenza.
  • Facilità d'uso: Il modello è incredibilmente facile da usare grazie alla sua integrazione con l'ecosistema Ultralytics.
  • Distribuzione End-to-End: Il design senza NMS semplifica l'intero flusso di lavoro dall'addestramento all'inferenza, rendendolo ideale per applicazioni reali su dispositivi edge.
  • Requisiti di memoria inferiori: Rispetto alle architetture più complesse, YOLOv10 è efficiente nell'utilizzo della memoria sia durante l'addestramento che durante l'inferenza.

Punti di forza di DAMO-YOLO

  • Alte prestazioni: DAMO-YOLO raggiunge accuratezza e velocità competitive, il che lo rende un forte concorrente nello spazio del rilevamento oggetti.
  • Tecnologie innovative: Incorpora concetti di ricerca all'avanguardia come NAS e strategie avanzate di assegnazione di etichette che sono preziose per l'esplorazione accademica.

Punti deboli

  • YOLOv10: Pur essendo eccezionale per l'object detection, YOLOv10 è attualmente focalizzato su questa singola attività, a differenza del versatile Ultralytics YOLO11 che supporta segmentation, classificazione e stima della posa out-of-the-box.
  • DAMO-YOLO: L'architettura del modello e la pipeline di addestramento sono più complesse rispetto a YOLOv10. È disponibile principalmente all'interno di specifici toolbox di ricerca, il che può rappresentare una barriera per gli sviluppatori che preferiscono una soluzione più integrata e facile da usare come quella offerta da Ultralytics.

Il vantaggio di Ultralytics

Sebbene entrambi i modelli siano impressionanti, i modelli Ultralytics come YOLOv10 e l'ammiraglia YOLO11 offrono un vantaggio distinto per sviluppatori e ricercatori:

  1. Ecosistema unificato: Ultralytics fornisce una piattaforma coesa in cui l'annotazione dei dati, l'addestramento e l'implementazione avvengono senza problemi.
  2. Facilità d'uso: Con una semplice API Python, puoi caricare un modello ed eseguire l'inferenza in poche righe di codice.
  3. Versatilità: Ultralytics supporta un'ampia gamma di attività, tra cui segmentazione di istanza, classificazione delle immagini, stima della posa e Oriented Bounding Boxes (OBB).
  4. Supporto della community: Una community vivace e una documentazione esaustiva assicurano che tu non rimanga bloccato su un problema per molto tempo.

Esempio di utilizzo: YOLOv10 con Ultralytics

Eseguire YOLOv10 è semplice usando il pacchetto python Ultralytics. Ecco come puoi caricare un modello pre-addestrato ed eseguire la prediction su un'immagine:

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Perform object detection on an image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

Conclusione

Sia YOLOv10 che DAMO-YOLO sono modelli di object detection formidabili. DAMO-YOLO funge da eccellente riferimento per la ricerca su architetture basate su NAS e fusione avanzata di feature. Tuttavia, per l'implementazione pratica e l'efficienza MLOps, YOLOv10 si distingue come la scelta migliore. La sua architettura NMS-free, combinata con l'ecosistema completo Ultralytics, ti assicura di poter passare dal concetto alla produzione più velocemente e con prestazioni migliori.

Per gli utenti che richiedono una versatilità ancora maggiore in diverse attività di visione artificiale, consigliamo vivamente di esplorare YOLO11, che definisce l'attuale stato dell'arte per la famiglia YOLO.

Esplora altri confronti tra modelli

Per vedere come questi modelli si confrontano con altre architetture leader, dai un'occhiata a questi confronti:


Commenti