Vai al contenuto

YOLOv10 vs. YOLO: un confronto tecnico

La scelta del modello ottimale di rilevamento degli oggetti è una decisione critica che bilancia i compromessi tra precisione, velocità e costo computazionale. Questa pagina fornisce un confronto tecnico dettagliato tra YOLOv10l'ultimo modello altamente efficiente integrato nell'ecosistema Ultralytics , e YOLO, un potente rilevatore di Alibaba Group. Analizzeremo le loro architetture, le metriche delle prestazioni e i casi d'uso ideali per aiutarvi a fare una scelta consapevole per i vostri progetti di computer vision.

YOLOv10: rilevamento end-to-end in tempo reale

YOLOv10, presentato dai ricercatori della Tsinghua University nel maggio 2024, segna un significativo passo avanti nel rilevamento degli oggetti in tempo reale. La sua innovazione principale consiste nell'ottenere un rilevamento end-to-end eliminando la necessità della soppressione non massima (NMS), che riduce l'overhead della post-elaborazione e la latenza dell'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
Docsultralytics

Architettura e caratteristiche principali

YOLOv10 si basa sul solido framework Ultralytics , ereditandone la facilità d'uso e il potente ecosistema. La sua architettura introduce diversi progressi chiave per garantire efficienza e prestazioni superiori:

  • FormazioneNMS: YOLOv10 impiega una doppia assegnazione coerente 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 perfetta con Ultralytics : In quanto parte dell'ecosistema Ultralytics , YOLOv10 beneficia di un'esperienza utente semplificata. Ciò include una semplice APIPython , un'ampia documentazione, processi di addestramento efficienti e pesi pre-addestrati prontamente disponibili. Questa integrazione rende eccezionalmente facile per gli sviluppatori iniziare a lavorare e distribuire rapidamente i modelli.

Perché l NMS è importante

I rilevatori di oggetti tradizionali spesso prevedono più bounding box per un singolo oggetto. La soppressione non massimaleNMS) è una fase di post-elaborazione utilizzata per filtrare questi duplicati. Eliminando la NMS, YOLOv10 riduce in modo significativo la latenza e la complessità dell'inferenza, soprattutto negli scenari di distribuzione edge, dove ogni millisecondo è importante.

Per saperne di più su YOLOv10

YOLO: efficienza guidata dai NAS

YOLO è un modello di rilevamento di oggetti veloce e preciso sviluppato da Alibaba Group. Rilasciato nel novembre 2022, ha introdotto diverse nuove tecniche per superare i limiti delle prestazioni dei rilevatori di YOLO, concentrandosi fortemente sull'ottimizzazione dell'architettura 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
GitHubYOLO
DocsYOLO

Architettura e caratteristiche principali

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

  • Ricerca dell'architettura neurale (NAS): La spina dorsale di YOLO è stata generata utilizzando NAS, che ha permesso di creare una rete di estrazione delle caratteristiche altamente ottimizzata, specifica per i compiti di rilevamento.
  • Collo efficiente RepGFPN: Incorpora un nuovo progetto di rete piramidale di caratteristiche (FPN) chiamato RepGFPN, che fonde in modo efficiente caratteristiche provenienti da scale diverse.
  • ZeroHead e AlignedOTA: il modello utilizza una testa semplificata a parametro zero e una strategia migliorata di assegnazione delle etichette chiamata AlignedOTA (Aligned Optimal Transport Assignment) per migliorare l'accuratezza del rilevamento e la localizzazione.
  • Distillazione della conoscenza: YOLO sfrutta la distillazione della conoscenza per aumentare ulteriormente le prestazioni dei suoi modelli più piccoli, imparando da reti di insegnanti più ampie.

Scopri di più su DAMO-YOLO

Testa a testa sulle prestazioni

La tabella seguente mette a confronto le prestazioni delle varie dimensioni dei modelli YOLOv10 e YOLO sul datasetCOCO . YOLOv10 dimostra costantemente prestazioni superiori, offrendo una maggiore accuratezza con una latenza inferiore e un minor numero di 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 YOLO in termini di efficienza. Ad esempio, YOLOv10 raggiunge un valore di mAP (46,7 contro 46,0) rispetto a YOLO, pur essendo significativamente più veloce (2,66 ms contro 3,45 ms) e avendo meno della metà dei parametri (7,2M contro 16,3M). Questa tendenza si mantiene per tutte le dimensioni del modello, culminando in YOLOv10 che raggiunge il massimo mAP di 54,4.

Analisi dei punti di forza e di debolezza

Punti di forza di YOLOv10

  • Efficienza all'avanguardia: YOLOv10 offre un equilibrio eccezionale tra velocità e precisione, spesso superando i concorrenti con un minor numero di parametri e una latenza inferiore.
  • Facilità d'uso: il modello è incredibilmente facile da usare grazie all'integrazione con l'ecosistema Ultralytics .
  • Distribuzione end-to-end: Il design NMS semplifica l'intero flusso di lavoro, dalla formazione all'inferenza, rendendolo ideale per applicazioni reali su dispositivi edge.
  • Requisiti di memoria ridotti: Rispetto ad architetture più complesse, YOLOv10 è efficiente nell'utilizzo della memoria sia durante l'addestramento sia durante l'inferenza.

Punti di forza di 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 i NAS e le strategie avanzate di assegnazione delle etichette, preziose per l'esplorazione accademica.

Punti deboli

  • YOLOv10: pur essendo eccezionale per il rilevamento di oggetti, YOLOv10 è attualmente focalizzato su questo singolo compito, a differenza del versatile Ultralytics YOLO11 che supporta la segmentazione, la classificazione e la stima della posa.
  • YOLO: l'architettura del modello e la pipeline di addestramento sono più complesse rispetto a YOLOv10. È disponibile principalmente all'interno di toolbox di ricerca specifici, il che può rappresentare un ostacolo per gli sviluppatori che preferiscono una soluzione più integrata e facile da usare come quella offerta da Ultralytics.

Il vantaggio di Ultralytics

Mentre entrambi i modelli sono impressionanti, i modelli Ultralytics come YOLOv10 e l'ammiraglia YOLO11 offrono un netto vantaggio a sviluppatori e ricercatori:

  1. Ecosistema unificato: Ultralytics offre una piattaforma coesa in cui l'annotazione dei dati, la formazione e la distribuzione avvengono senza soluzione di continuità.
  2. Facilità d'uso: Grazie a una semplice API Python , è possibile caricare un modello ed eseguire l'inferenza con poche righe di codice.
  3. Versatilità: Ultralytics supporta un'ampia gamma di attività, tra cui la segmentazione delle istanze, la classificazione delle immagini, la stima della posa e le OBB (Oriented Bounding Boxes).
  4. Supporto della comunità: Una comunità vivace e un'ampia documentazione assicurano che non siate mai bloccati a lungo su un problema.

Esempio di utilizzo: YOLOv10 con Ultralytics

L'esecuzione di YOLOv10 è semplice utilizzando il pacchetto Ultralytics Python . Ecco come caricare un modello pre-addestrato ed eseguire la predizione 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 YOLO sono modelli di rilevamento di oggetti formidabili. YOLO è un ottimo riferimento per la ricerca sulle architetture basate su NAS e sulla fusione avanzata di funzioni. Tuttavia, per quanto riguarda l'implementazione pratica e l'efficienza degli MLOps, YOLOv10 è la scelta migliore. La sua architettura NMS, combinata con l'ecosistema completo di Ultralytics , garantisce il passaggio dall'idea alla produzione in modo più rapido e con prestazioni migliori.

Per gli utenti che necessitano di una versatilità ancora maggiore per le diverse attività di visione, consigliamo vivamente di esplorare il modello YOLO11che definisce l'attuale stato dell'arte della famiglia YOLO .

Esplora altri confronti tra modelli

Per vedere come questi modelli si posizionano rispetto ad altre architetture leader, date un'occhiata a questi confronti:


Commenti