Vai al contenuto

YOLOX vs. YOLOv10: l'evoluzione dal rilevamento senza ancoraggi al rilevamento end-to-end

Il panorama del rilevamento degli oggetti ha subito un cambiamento radicale tra il 2021 e il 2024. YOLOX, rilasciato da Megvii, ha rappresentato un importante punto di svolta rispetto ai metodi basati su anchor, introducendo un design semplificato senza anchor che è diventato uno dei preferiti per le linee guida di ricerca. Tre anni dopo, i ricercatori dell'Università di Tsinghua hanno presentato YOLOv10, spingendo ulteriormente il paradigma eliminando completamente la necessità della soppressione non massima (NMS) attraverso un'architettura end-to-end.

Questo confronto esplora i progressi tecnici compiuti dalle teste disaccoppiate di YOLOX alla strategia di doppia assegnazione YOLOv10, aiutando gli sviluppatori a scegliere lo strumento giusto per la loro pipeline di visione artificiale.

Confronto Rapido

Sebbene entrambi i modelli mirino a prestazioni in tempo reale, risolvono il problema del rilevamento in modo diverso. YOLOX si concentra sulla semplificazione del processo di addestramento con l'assegnazione dinamica delle etichette, mentre YOLOv10 latenza di inferenza rimuovendo i colli di bottiglia della post-elaborazione.

YOLOX: Il Pioniere Anchor-Free

YOLOX è stato introdotto nel luglio 2021 da Zheng Ge e dal team di Megvii. Ha trasformato la YOLO in un meccanismo senza ancoraggio, riducendo il numero di parametri di progettazione (come le dimensioni delle caselle di ancoraggio) che gli ingegneri dovevano mettere a punto.

  • Innovazione chiave: testa disaccoppiata e SimOTA (assegnazione semplificata del trasporto ottimale).
  • Architettura: backbone CSPDarknet modificato con particolare attenzione al bilanciamento tra velocità e precisione.
  • Stato legacy: ampiamente utilizzato come riferimento affidabile in articoli accademici come il rapporto YOLOX Arxiv.

Scopri di più su YOLOX

YOLOv10: Rilevamento end-to-end in tempo reale

YOLOv10, rilasciato nel maggio 2024 dai ricercatori dell'Università di Tsinghua, affronta il problema dei costi di latenza NMS. Utilizzando una strategia di doppia assegnazione coerente durante l'addestramento, impara a prevedere un riquadro per ogni oggetto, consentendo un'implementazione end-to-end reale.

  • Innovazione chiave: formazione NMS tramite assegnazioni a doppia etichetta (uno-a-molti per la supervisione, uno-a-uno per l'inferenza).
  • Efficienza: introduce un modello di progettazione olistico basato sull'efficienza e sulla precisione, che include la progettazione di blocchi guidata dal rango.
  • Integrazione: supportata all'interno Ultralytics per facilitare la formazione e l'implementazione.

Scopri di più su YOLOv10

Analisi delle prestazioni

Il divario prestazionale tra queste generazioni è significativo, in particolare in termini di efficienza (FLOP) e velocità di inferenza su hardware moderno. YOLOv10 blocchi architetturali più recenti per ottenere una precisione media (mAP) più elevata con un numero inferiore di parametri.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
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

Differenze fondamentali

  1. Latenza: YOLOv10 la NMS . Sui dispositivi edge, NMS rappresentare una parte significativa del tempo totale di inferenza, rendendo YOLOv10 più veloce nelle pipeline reali.
  2. Precisione: YOLOv10x raggiunge mAP del 54,4%, notevolmente superiore al 51,1% di YOLOX-x, nonostante YOLOX-x abbia quasi il doppio dei parametri (99,1 milioni contro 56,9 milioni).
  3. Efficienza di calcolo: il numero di FLOP per YOLOv10 è generalmente inferiore a parità di precisione, riducendo il carico sulla GPU e il consumo energetico.

Analisi Approfondita dell'Architettura

YOLOX: Testa disaccoppiata e SimOTA

YOLOX si è discostato dalle precedenti YOLO utilizzando una testa disaccoppiata. Nei rilevatori tradizionali, le attività di classificazione e localizzazione condividevano caratteristiche convoluzionali. YOLOX le ha separate in due rami, migliorando la velocità di convergenza e la precisione.

Inoltre, YOLOX ha introdotto SimOTA, una strategia dinamica di assegnazione delle etichette. Anziché utilizzare regole fisse per abbinare i riquadri di ground truth agli anchor, SimOTA tratta il processo di abbinamento come un problema di trasporto ottimale, assegnando le etichette sulla base di un calcolo globale dei costi. Questo approccio rende YOLOX robusto su diversi set di dati senza richiedere una complessa regolazione degli iperparametri.

YOLOv10: Assegnazioni doppie coerenti

Il contributo principale YOLOv10 è quello di risolvere la discrepanza tra addestramento e inferenza riscontrata nei modelli NMS.

  • Formazione uno-a-molti: durante la formazione, il modello assegna più campioni positivi a un singolo oggetto per fornire segnali di supervisione ricchi.
  • Inferenza uno a uno: attraverso una metrica di corrispondenza coerente, il modello impara a selezionare la singola casella migliore durante l'inferenza, eliminando la necessità di NMS.

Inoltre, YOLOv10 moduli Large-Kernel Convolutions e Partial Self-Attention (PSA) per acquisire efficacemente il contesto globale senza il pesante costo computazionale dei trasformatori completi.

Perché NMS-Free è importante

La soppressione non massima (NMS) è un algoritmo di post-elaborazione che filtra i riquadri di delimitazione sovrapposti. Sebbene efficace, è sequenziale e difficile da accelerare su hardware come FPGA o NPU. La sua rimozione rende la pipeline di implementazione rigorosamente deterministica e più veloce.

Casi d'uso ideali

Quando scegliere YOLOX

  • Riferimenti accademici: se state scrivendo un articolo di ricerca e avete bisogno di un rilevatore pulito, standard e privo di ancore con cui effettuare un confronto.
  • Sistemi legacy: ambienti già convalidati sul codice base Megvii o sui framework OpenMMLab in cui non è possibile aggiornare l'intero motore di inferenza.

Quando scegliere YOLOv10

  • Applicazioni a bassa latenza: scenari come i sistemi di frenata autonomi o lo smistamento industriale ad alta velocità, dove ogni millisecondo di post-elaborazione è fondamentale.
  • Dispositivi edge con risorse limitate: i dispositivi con CPU limitata traggono enormi vantaggi dall'eliminazione della fase NMS .

Il vantaggio di Ultralytics

Sebbene YOLOX e YOLOv10 architetture potenti, Ultralytics funge da ponte tra il codice grezzo del modello e le applicazioni pronte per la produzione.

Integrazione semplificata

Ultralytics YOLOv10 , consentendo di passare da un modello all'altro con una sola riga di codice. Ciò elimina la necessità di apprendere diverse API o formati di dati (come la conversione delle etichette in COCO per YOLOX).

from ultralytics import YOLO

# Load YOLOv10n or the newer YOLO26n
model = YOLO("yolov10n.pt")

# Train on your data with one command
model.train(data="coco8.yaml", epochs=100, imgsz=640)

Versatilità ed ecosistema

A differenza del repository autonomo YOLOX, Ultralytics un'ampia gamma di attività oltre al rilevamento, tra cui la segmentazione delle istanze, la stima della posa e OBB. Tutte queste attività possono essere gestite tramite la Ultralytics , che offre la gestione dei set di dati basata sul web, la formazione con un solo clic e l'implementazione in formati come CoreML, ONNX e TensorRT.

Efficienza dell'addestramento

Ultralytics sono ottimizzati per l'efficienza della memoria. Mentre alcuni modelli basati su trasformatori (come RT-DETR) richiedono una notevole quantità CUDA ,YOLO Ultralytics sono progettati per essere addestrati su GPU di livello consumer, democratizzando l'accesso all'intelligenza artificiale all'avanguardia.

Il Futuro: YOLO26

Agli sviluppatori che cercano il massimo in termini di prestazioni e facilità d'uso, consigliamo di guardare oltre YOLOv10 la nuova versione YOLO26.

Rilasciato nel gennaio 2026, YOLO26 si basa sull'innovazione NMS di YOLOv10 lo perfeziona per garantire stabilità e velocità di produzione.

  • MuSGD Optimizer: ispirato alle innovazioni nella formazione LLM di Moonshot AI, questo ottimizzatore garantisce una convergenza più rapida e un funzionamento stabile della formazione.
  • Rimozione DFL: rimuovendo la perdita focale di distribuzione, YOLO26 semplifica il grafico del modello, rendendo l'esportazione sui dispositivi periferici più fluida e meno soggetta a incompatibilità dell'operatore.
  • Velocità: ottimizzata specificamente per CPU , offre velocità fino al 43% superiori rispetto alle generazioni precedenti, rendendola ideale per l'hardware IoT standard.

Scopri di più su YOLO26

Conclusione

YOLOX rimane una pietra miliare importante nella storia del rilevamento degli oggetti, dimostrando che i metodi senza ancoraggio possono raggiungere livelli di precisione eccellenti. YOLOv10 rappresenta il passo logico successivo, eliminando l'ultimo ostacolo NMS consentire una vera elaborazione end-to-end.

Tuttavia, per una soluzione solida e a lungo termine, l' Ultralytics , guidato da YOLO26, offre il pacchetto più completo. Con una documentazione di qualità superiore, un supporto attivo da parte della comunità e una piattaforma che gestisce tutto, dall'annotazione dei dati all'esportazione dei modelli, Ultralytics il successo dei vostri progetti di visione artificiale, dal prototipo alla produzione.

Letture aggiuntive


Commenti