YOLOv10 . YOLOX: un'analisi approfondita delle architetture di rilevamento degli oggetti in tempo reale
Nel panorama in rapida evoluzione della visione artificiale, il passaggio ad architetture senza ancoraggi ha segnato una svolta significativa. YOLOv10 e YOLOX rappresentano due momenti cruciali in questa evoluzione. YOLOX, rilasciato nel 2021, ha reso popolare il paradigma senza ancoraggi separando le teste di rilevamento e introducendo strategie avanzate di assegnazione delle etichette. Tre anni dopo, YOLOv10 ulteriormente YOLOv10 i confini introducendo un design nativamente NMS, eliminando completamente la necessità di post-elaborazione con soppressione non massima.
Questo confronto esplora le differenze architetturali, i parametri prestazionali e gli scenari di implementazione ideali per entrambi i modelli, evidenziando al contempo come soluzioni moderne come YOLO26 integrino questi progressi in un ecosistema AI completo.
Confronto delle metriche di performance
Quando si seleziona un modello per la produzione, è fondamentale comprendere il compromesso tra velocità di inferenza e accuratezza di rilevamento. La tabella seguente fornisce una panoramica dettagliata del confronto tra queste due famiglie in varie scale di modelli.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Come mostrato, YOLOv10 raggiunge generalmente una precisione media (mAP) più elevata per latenze di inferenza simili su GPU . Ad esempio, il modello YOLOv10m raggiunge il 51,3% mAP rispetto al 46,9% di YOLOX-m, mantenendo un profilo di latenza simile. Questo aumento di efficienza è in gran parte attribuibile alla rimozione di NMS, che riduce il sovraccarico computazionale durante la fase di post-elaborazione.
YOLOv10: l'innovatore end-to-end
YOLOv10 un importante cambiamento architettonico in quanto affronta uno dei colli di bottiglia più annosi nel rilevamento in tempo reale: la soppressione non massima (NMS). I rilevatori tradizionali prevedono più riquadri di delimitazione per lo stesso oggetto e si affidano alla NMS filtrare i duplicati. YOLOv10 questo passaggio attraverso una strategia di doppia assegnazione coerente durante l'addestramento.
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione:Tsinghua University
- Data: 23 maggio 2024
- Articolo:arXiv:2405.14458
- Fonte:Repository GitHub
Caratteristiche architettoniche chiave
YOLOv10 il "Holistic Efficiency-Accuracy Driven Model Design" (Progettazione di modelli basata sull'efficienza e l'accuratezza olistiche). Ciò comporta l'ottimizzazione dei singoli componenti, come i livelli di downsampling e la testa di previsione, per ridurre al minimo la ridondanza computazionale. Il modello utilizza doppie assegnazioni di etichette: un'assegnazione uno-a-molti per una supervisione ricca durante l'addestramento e un'assegnazione uno-a-uno per l'inferenza, che consente al modello di prevedere un unico box ottimale per ogni oggetto, rendendo di fatto NMS .
Questa architettura è particolarmente vantaggiosa per l'implementazione edge, dove la variabilità della latenza causata NMS che dipende dal numero di oggetti rilevati) può essere problematica.
YOLOX: Il Pioniere Anchor-Free
YOLOX è stato uno dei primi modelli ad alte prestazioni a introdurre con successo il rilevamento senza ancoraggi nella YOLO , discostandosi dall'approccio basato sugli ancoraggi di YOLOv3 e YOLOv4. Eliminando i riquadri di ancoraggio predefiniti, YOLOX ha semplificato il processo di addestramento e migliorato la generalizzazione su oggetti di forme diverse.
- Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organizzazione:Megvii
- Data: 18 luglio 2021
- Articolo:arXiv:2107.08430
- Fonte:Repository GitHub
Caratteristiche architettoniche chiave
YOLOX è dotato di una testa disaccoppiata, che separa i compiti di classificazione e regressione in rami diversi. Questo design ha dimostrato di convergere più rapidamente e di ottenere una maggiore precisione. Ha inoltre introdotto SimOTA, una strategia avanzata di assegnazione delle etichette che assegna dinamicamente campioni positivi sulla base di una funzione di costo, garantendo un equilibrio tra la qualità della classificazione e quella della regressione.
Sebbene altamente efficace, YOLOX si basa ancora sulla NMS , il che significa che il suo tempo di inferenza può variare in scene con un'alta densità di oggetti, a differenza della latenza costante di YOLOv10.
Il vantaggio di Ultralytics
Sebbene entrambi i modelli abbiano i loro vantaggi, Ultralytics offre un'interfaccia unificata che semplifica notevolmente il ciclo di vita dello sviluppo rispetto ai repository autonomi. Che utilizziate YOLOv10 l'ultimo YOLO26, l'esperienza è ottimizzata.
Facilità d'uso e versatilità
Gli sviluppatori possono passare da un modello all'altro con una sola riga di codice. A differenza del codice YOLOX, che richiede file di configurazione specifici e passaggi di impostazione, Ultralytics sono "plug-and-play". Inoltre, Ultralytics una gamma più ampia di attività di visione artificiale, tra cui la segmentazione delle istanze, la stima della posa e il rilevamento di oggetti orientati (OBB), offrendo una versatilità che YOLOX non ha.
from ultralytics import YOLO
# Load a pretrained YOLOv10 model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Efficienza dell'addestramento e memoria
Ultralytics sono progettati per un utilizzo ottimale delle risorse. In genere richiedono meno CUDA durante l'addestramento rispetto alle architetture che fanno un uso intensivo di trasformatori come RT-DETR o codici più vecchi. Questo permette ai ricercatori di addestrare le reti su GPU di livello consumer, democratizzando l'accesso allo sviluppo di IA di fascia alta. La Ultralytics migliora ulteriormente questo aspetto fornendo addestramento basato su cloud, gestione dei set di dati ed esportazione dei modelli con un solo clic.
Aggiornamenti senza interruzioni
Il passaggio da un'architettura precedente a una moderna come YOLO26 spesso comporta un immediato miglioramento delle prestazioni senza necessità di rifattorizzazione del codice. Ultralytics un'API coerente tra le diverse generazioni, garantendo la conservazione del vostro investimento nell'integrazione del codice.
Perché scegliere YOLO26?
Per gli sviluppatori che cercano il miglior equilibrio possibile tra velocità, precisione e funzionalità moderne, YOLO26 è la scelta consigliata. Rilasciato all'inizio del 2026, si basa sulle innovazioni NMS di YOLOv10 le perfeziona per garantire stabilità e velocità superiori.
- End-to-end nativo: come YOLOv10, YOLO26 è NMS, garantendo una latenza deterministica.
- MuSGD Optimizer: ispirato all'addestramento LLM (in particolare Kimi K2 di Moonshot AI), questo ottimizzatore ibrido garantisce una convergenza più rapida e la stabilità dell'addestramento.
- Ottimizzazione dei bordi: con la rimozione della Distribution Focal Loss (DFL) e le funzioni di perdita ottimizzate (ProgLoss + STAL), YOLO26 offre CPU fino al 43% più veloce, rendendolo ideale per dispositivi senza GPU dedicate.
Applicazioni nel mondo reale
La scelta tra questi modelli spesso dipende dai vincoli specifici del tuo progetto.
Conteggio di folle ad alta densità
In scenari come la sorveglianza delle città intelligenti, è normale rilevare centinaia di persone in un fotogramma.
- YOLOX: Può subire picchi di latenza perché il tempo NMS aumenta in modo lineare con il numero di box rilevati.
- YOLOv10 YOLO26: Il loro design NMS garantisce che il tempo di inferenza rimanga stabile indipendentemente dalla densità della folla, fondamentale per i feed video in tempo reale.
Robotica mobile e integrata
Per i robot che navigano in ambienti dinamici, ogni millisecondo è importante.
- YOLOX-Nano: un concorrente leggero e potente, ma con un'architettura ormai obsoleta.
- YOLO26n: offre una precisione superiore con un numero di parametri simile o inferiore e beneficia della rimozione del DFL, rendendolo significativamente più veloce sulle CPU presenti in dispositivi come Raspberry Pi o Jetson Nano.
Ispezione industriale
Il rilevamento dei difetti sulle linee di assemblaggio richiede un'elevata precisione.
- YOLOX: La sua testa disaccoppiata offre un'eccellente precisione di localizzazione, rendendolo una base affidabile per la ricerca.
- Ultralytics : la possibilità di passare facilmente alle attività di segmentazione consente allo stesso sistema non solo di detect difetto, ma anche di misurarne l'area esatta, fornendo dati più ricchi per il controllo qualità.
Conclusione
YOLOX rimane un punto di riferimento rispettabile nella comunità accademica, celebrato per aver reso popolare il rilevamento senza ancoraggi. YOLOv10 ha portato avanti con successo questa eredità rimuovendo NMS, offrendo uno sguardo sul futuro dei sistemi end-to-end in tempo reale.
Tuttavia, per le implementazioni di produzione odierne, Ultralytics offre un vantaggio senza pari. Standardizzando i flussi di lavoro di formazione, convalida e implementazione, consente agli sviluppatori di sfruttare le prestazioni all'avanguardia di YOLO26, che combina i vantaggi NMS di YOLOv10 CPU e una stabilità di formazione superiori, senza la complessità della gestione di codici base disparati.
Per ulteriori approfondimenti, si consiglia di consultare la documentazione relativa a YOLO11 o approfondisci le metriche di prestazione per comprendere meglio come eseguire il benchmarking di questi modelli sul tuo hardware.