YOLO11 vs YOLOX#
Negli ultimi anni, i modelli di rilevamento degli oggetti in tempo reale hanno compiuto rapidi progressi. Quando scelgono un’architettura per la produzione o la ricerca accademica, gli sviluppatori spesso valutano i traguardi consolidati rispetto ai progetti più recenti. Questo confronto analizza le differenze tra Ultralytics YOLO11 e YOLOX di Megvii, incluse le architetture, le metriche prestazionali e gli scenari di distribuzione ideali.
Panoramica dell'architettura#
Al momento del rilascio, entrambi i modelli hanno fatto progredire il rilevamento degli oggetti, ma derivano da filosofie progettuali diverse e puntano a offrire esperienze diverse agli sviluppatori.
YOLO11: il versatile motore multi-task#
Rilasciato a settembre 2024 da Glenn Jocher e Jing Qiu di Ultralytics, YOLO11 è progettato come framework unificato che bilancia elevata accuratezza ed efficienza.
- Autori: Glenn Jocher e Jing Qiu
- Organizzazione: Ultralytics
- Data: 2024-09-27
- GitHub: https://github.com/ultralytics/ultralytics
- Documentazione: https://docs.ultralytics.com/models/yolo11
YOLO11 va oltre i normali riquadri di delimitazione e supporta anche la segmentazione delle istanze, la classificazione delle immagini, la stima della posa e il rilevamento di riquadri di delimitazione orientati (OBB). La sua architettura perfezionata migliora l’estrazione e la conservazione delle caratteristiche in gerarchie spaziali complesse.
YOLOX: il pioniere senza anchor#
Sviluppato dai ricercatori di Megvii, YOLOX ha attirato molta attenzione nel 2021, colmando il divario tra ricerca e applicazioni industriali con un approccio interamente senza ancoraggi.
- Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organizzazione: Megvii
- Data: 2021-07-18
- arXiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Documentazione: https://github.com/Megvii-BaseDetection/YOLOX/tree/main/docs
YOLOX ha introdotto una testa disaccoppiata e un paradigma senza ancoraggi, riducendo il numero di parametri di progettazione e migliorando le prestazioni sui benchmark accademici dell’epoca.
Il design senza ancoraggi reso popolare da YOLOX ha ispirato molte architetture successive. Ultralytics ha adottato e perfezionato questi concetti nelle iterazioni successive, come YOLOv8 e YOLO11, per migliorare l’accuratezza e la flessibilità di distribuzione.
Prestazioni e metriche#
Quando si valutano modelli di rilevamento, esaminare l’equilibrio tra parametri, costo computazionale (FLOPs) e mean Average Precision (mAP) è essenziale per la distribuzione dei modelli nel mondo reale.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
| 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 |
YOLO11x supera YOLOXx in accuratezza (54,7 mAP contro 51,1 mAP), pur richiedendo circa la metà dei parametri (56,9M contro 99,1M) e risultando più veloce su TensorRT con T4 (11,3 ms contro 16,1 ms). Questa efficienza riduce i requisiti di memoria durante l’addestramento e l’inferenza, un chiaro vantaggio negli ambienti di produzione.
Ecosistema ed esperienza di sviluppo#
I vantaggi di Ultralytics#
Una delle maggiori differenze tra YOLO11 e YOLOX riguarda la facilità d’uso. YOLOX è principalmente un codebase di ricerca e richiede configurazioni complesse dell’ambiente, la compilazione di operatori C++ e argomenti da riga di comando verbosi per avviare l’addestramento su dataset personalizzati.
YOLO11 è completamente integrato nel pacchetto Python Ultralytics e offre un flusso di lavoro semplificato, dall’installazione alla distribuzione. Ultralytics Platform mette a disposizione strumenti per l’annotazione dei dati, il tracciamento degli esperimenti e l’addestramento sul cloud, eliminando il codice boilerplate affinché gli ingegneri possano concentrarsi sulle prestazioni del modello.
from ultralytics import YOLO
# Carica un modello YOLO11 preaddestrato
model = YOLO("yolo11n.pt")
# Addestra il modello con l'API Ultralytics
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Esporta in ONNX
model.export(format="onnx")Inoltre, per esportare un modello Ultralytics in formati come TensorRT, CoreML o OpenVINO basta un solo comando, mentre i repository più datati richiedono spesso strumenti di terze parti complessi o modifiche manuali al grafo.
Casi d’uso nel mondo reale#
Quando prendere in considerazione YOLOX#
YOLOX resta un’opzione valida per distribuzioni specializzate o legacy in cui gli sviluppatori hanno già creato pipeline di inferenza C++ personalizzate basate sugli output tensoriali della sua testa disaccoppiata. Anche i ricercatori che conducono studi comparativi sulle architetture del 2021 possono ancora usare YOLOX come baseline.
Dove YOLO11 dà il meglio#
Per la maggior parte degli scenari di produzione moderni, YOLO11 offre un’esperienza migliore:
- Città intelligenti e vendita al dettaglio: grazie al suo ottimo rapporto tra velocità e accuratezza, YOLO11 gestisce bene le scene affollate e alimenta l’analisi automatizzata per il commercio al dettaglio e i sistemi di gestione del traffico senza richiedere grandi cluster GPU.
- Edge computing: l’efficienza della memoria e l’ampia scelta di opzioni di esportazione rendono YOLO11 adatto alle distribuzioni di IA edge su dispositivi come Raspberry Pi e piattaforme NVIDIA Jetson.
- Pipeline complesse: se un progetto richiede di combinare il rilevamento degli oggetti con i keypoint della posa (ad es. analisi sportiva) o la segmentazione precisa delle istanze (ad es. imaging medico), YOLO11 gestisce nativamente tutte le attività tramite un’unica API unificata.
Casi d'uso e consigli#
La scelta tra YOLO11 e YOLOX dipende dai requisiti specifici del progetto, dai vincoli di implementazione e dalle preferenze relative all'ecosistema.
Quando scegliere YOLO11#
YOLO11 è un'ottima scelta per:
- Deployment edge in produzione: applicazioni commerciali su dispositivi come Raspberry Pi o NVIDIA Jetson, per cui affidabilità e manutenzione attiva sono fondamentali.
- Applicazioni di visione multi-task: progetti che richiedono rilevamento, segmentazione, classificazione, stima della posa e OBB all’interno di un unico framework unificato.
- Prototipazione e deployment rapidi: team che devono passare rapidamente dalla raccolta dei dati alla produzione usando la API Python di Ultralytics, semplice e intuitiva.
Quando scegliere YOLOX#
YOLOX è consigliato per:
- Ricerca sul rilevamento senza anchor: Ricerca accademica che usa l'architettura pulita e senza anchor di YOLOX come riferimento per sperimentare nuove head di rilevamento o funzioni di perdita.
- Dispositivi edge ultraleggeri: distribuzione su hardware mobile molto limitato o legacy, dove le dimensioni ridotte della variante YOLOX-Nano (0,91M parametri) sono fondamentali.
- Studi sull'assegnazione delle etichette SimOTA: Progetti di ricerca che analizzano le strategie di assegnazione delle etichette basate sul trasporto ottimale e il loro impatto sulla convergenza dell'addestramento.
Quando scegliere Ultralytics (YOLO26)#
Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la combinazione migliore di prestazioni ed esperienza per gli sviluppatori:
- Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
- Ambienti senza GPU: Dispositivi privi di accelerazione GPU dedicata, sui quali l’inferenza CPU di YOLO26n, fino al 43% più veloce di YOLO11n, offre un vantaggio decisivo.
- Rilevamento di oggetti piccoli: Scenari complessi come le immagini aeree riprese da droni o l’analisi dei sensori IoT, in cui ProgLoss e STAL migliorano la precisione sugli oggetti piccoli.
Uno sguardo al futuro: la potenza di YOLO26#
YOLO11 resta un’ottima scelta, ma YOLO26 (rilasciato a gennaio 2026) è il modello consigliato per i nuovi progetti di computer vision che richiedono la massima efficienza e stabilità di addestramento.
YOLO26 implementa una testa end-to-end senza NMS opzionale (nms=False). Eliminando la fase di post-elaborazione della soppressione dei non massimi (NMS), riduce la variabilità della latenza e semplifica la logica di distribuzione: un concetto introdotto nei modelli YOLO da YOLOv10.
YOLO26 include anche la rimozione di DFL (Distribution Focal Loss), che aiuta YOLO26n a raggiungere un’inferenza su CPU fino al 43% più veloce rispetto a YOLO11n, rendendolo adatto ai dispositivi edge e a basso consumo. L’ottimizzatore MuSGD, un ibrido di SGD e Muon ispirato all’addestramento dei modelli linguistici di grandi dimensioni (LLM), migliora la stabilità dell’addestramento e accelera la convergenza. Insieme a ProgLoss + STAL (Progressive Loss e assegnazione di etichette consapevole dei piccoli oggetti), YOLO26 eccelle nel rilevamento di oggetti piccoli in contesti difficili, come le immagini riprese dai droni e i sensori edge IoT.
Vuoi approfondire le architetture per il rilevamento degli oggetti? Scopri le capacità a vocabolario aperto di YOLO-World o il modello basato su Transformer RT-DETR, documentato nell’ecosistema Ultralytics.
In conclusione, YOLOX ha introdotto importanti concetti architetturali nel 2021, ma oggi gli strumenti, l’efficienza della memoria e l’accuratezza di YOLO11, e soprattutto del più recente YOLO26, rendono l’ecosistema Ultralytics la scelta migliore per ricercatori e sviluppatori aziendali.