YOLOX vs YOLOv5#
La scelta del modello di rilevamento degli oggetti più adatto è una decisione cruciale, che determina il successo di qualsiasi progetto di computer vision. Questa guida offre un confronto tecnico approfondito tra due modelli fondamentali nel panorama dell'IA: YOLOX di Megvii e Ultralytics YOLOv5. Analizzandone le architetture, le metriche di prestazione e gli ecosistemi di addestramento, puntiamo ad aiutare sviluppatori e ricercatori a fare una scelta consapevole per i rispettivi ambienti di deployment.
Introduzione ai modelli#
Entrambi i modelli sono nati in un periodo di rapidi progressi nel rilevamento degli oggetti in tempo reale, ma hanno seguito filosofie architetturali diverse per raggiungere le proprie prestazioni.
YOLOX: un approccio senza anchor#
Pubblicato dai ricercatori Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun di Megvii il 18 luglio 2021, YOLOX ha introdotto un cambiamento significativo abbandonando le tradizionali anchor box. Descritto nel loro rapporto tecnico su Arxiv, YOLOX combina un design senza anchor con una head disaccoppiata e la strategia di assegnazione delle etichette SimOTA. Questo design mirava a colmare il divario tra ricerca accademica e applicazioni industriali, offrendo prestazioni elevate sui dataset standard.
YOLOv5: lo standard per la computer vision in produzione#
Sviluppato da Glenn Jocher e rilasciato da Ultralytics il 26 giugno 2020, YOLOv5 è diventato rapidamente lo standard del settore per la computer vision in produzione. Realizzato nativamente sul framework PyTorch, ha reso accessibile a tutti l'IA all'avanguardia grazie a una facilità d'uso senza pari, a un addestramento estremamente rapido e a un repository altamente rifinito. L'architettura di YOLOv5 punta al perfetto equilibrio tra velocità, accuratezza e facilità di deployment, rendendolo una scelta privilegiata per ogni scenario, dai dispositivi edge ai deployment cloud su larga scala.
Differenze architetturali#
Comprendere le differenze strutturali fondamentali tra queste reti chiarisce perché si comportano in modo diverso nelle varie attività.
Senza anchor vs. basato su anchor#
La differenza più evidente è il meccanismo senza anchor di YOLOX. I modelli tradizionali come YOLOv5 si affidano a anchor box predefinite per prevedere i riquadri di delimitazione; per determinare le dimensioni ottimali delle anchor è quindi necessario analizzare i cluster nel dataset di addestramento. YOLOX elimina questo passaggio e prevede direttamente le coordinate del riquadro di delimitazione in ogni posizione spaziale. L'approccio senza anchor riduce il numero di parametri di progettazione e la messa a punto euristica, mentre l'approccio basato su anchor di YOLOv5, perfezionato e supportato dalla funzionalità auto-anchor, assicura una convergenza dell'addestramento estremamente stabile e prevedibile fin da subito.
Head disaccoppiata vs. head accoppiata#
YOLOX utilizza una head disaccoppiata, cioè separa le attività di classificazione e regressione in rami distinti della rete neurale. Secondo gli autori, questo risolve i conflitti tra l'apprendimento delle caratteristiche spaziali e quello delle caratteristiche semantiche. YOLOv5, al contrario, utilizzava una head accoppiata altamente ottimizzata (nelle versioni precedenti), che massimizzava l'efficienza computazionale e riduceva la latenza di inferenza, un aspetto fondamentale per il calcolo edge in tempo reale.
Strategia di assegnazione delle etichette#
YOLOX utilizza SimOTA per assegnare le etichette, formulando l'abbinamento tra oggetti di riferimento e previsioni come un problema di trasporto ottimale. Questa assegnazione dinamica migliora la gestione delle scene affollate. YOLOv5 adotta un robusto metodo di assegnazione basato su regole di forma, che garantisce l'invio costante di campioni positivi di alta qualità alla funzione di perdita, contribuendo alla sua leggendaria stabilità di addestramento.
Prestazioni e benchmark#
Il compromesso tra velocità e accuratezza è la prova definitiva per queste architetture. La tabella seguente illustra le prestazioni di modelli di varie dimensioni su benchmark standard.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
YOLOX ottiene punteggi mAP competitivi, soprattutto nelle varianti più grandi, ma YOLOv5 mantiene un notevole vantaggio nella velocità di inferenza con TensorRT in tutte le configurazioni. Il modello YOLOv5s, per esempio, offre un rapporto velocità-accuratezza eccezionale, rendendolo particolarmente adatto alle applicazioni in tempo reale in cui ogni millisecondo conta.
I vantaggi di Ultralytics: addestramento e usabilità#
Nel passaggio dalla ricerca alla produzione, l'ecosistema che circonda un modello è spesso importante quanto il modello stesso. È qui che i vantaggi dell'ecosistema Ultralytics emergono chiaramente.
Esperienza utente semplificata#
YOLOv5 è apprezzato ovunque per l'esperienza di sviluppo che porta «da zero a esperto». L'API Python di Ultralytics e la CLI ti permettono di caricare, addestrare e distribuire modelli con una sola riga di codice. Al contrario, eseguire YOLOX dal repository GitHub di Megvii richiede una configurazione più manuale delle variabili d'ambiente, impostazioni complesse dei percorsi Python e una curva di apprendimento più ripida, tipica delle basi di codice di ricerca accademica.
Efficienza dell'addestramento e requisiti di memoria#
I modelli Ultralytics sono progettati con cura per ridurre al minimo l'uso di memoria durante l'addestramento. YOLOv5 richiede molta meno memoria CUDA rispetto ai modelli Transformer con numerosi parametri, come RT-DETR, o ai modelli di ricerca non ottimizzati. Questo consente agli sviluppatori di addestrare batch più grandi su hardware di fascia consumer, accelerando il ciclo di sviluppo iterativo.
Versatilità in diverse attività#
YOLOX è un framework dedicato esclusivamente al rilevamento degli oggetti, mentre l'ecosistema Ultralytics ha esteso YOLOv5 per supportare più attività di computer vision. Puoi eseguire, fin da subito, classificazione di immagini, segmentazione di istanze e rilevamento degli oggetti usando la stessa sintassi API.
Se ti servono attività ancora più avanzate, come la stima della posa o il rilevamento di riquadri di delimitazione orientati (OBB), ti consigliamo vivamente di passare all'architettura più recente Ultralytics YOLO26, che le supporta tutte nativamente con un'accuratezza all'avanguardia.
Confronto del codice#
Le differenze di usabilità si vedono meglio con il codice.
Addestramento con YOLOv5:
from ultralytics import YOLO
# Carica un modello YOLOv5s preaddestrato
model = YOLO("yolov5su.pt") # YOLOv5u: pesi YOLOv5 anchor-free per il pacchetto ultralytics
# Addestra il modello sul dataset di esempio COCO8
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Esegui l'inferenza su un'immagine
results = model("https://ultralytics.com/images/zidane.jpg")
# Visualizza i risultati
results[0].show()Addestramento con YOLOX: (Richiede la clonazione manuale del repository, l'installazione con setup.py e argomenti CLI complessi)
# Example YOLOX training command
python tools/train.py -f exps/default/yolox_s.py -d 1 -b 64 --fp16 -oL'approccio Ultralytics elimina gli ostacoli e ti permette di concentrarti sul dataset e sulla logica dell'applicazione, invece di eseguire il debug dei file di configurazione. Inoltre, puoi monitorare i tuoi esperimenti senza difficoltà grazie alle integrazioni integrate con Weights & Biases e Comet ML.
Casi d'uso ideali e applicazioni nel mondo reale#
La scelta tra questi modelli dipende dall'ambiente operativo del tuo progetto.
Dove eccelle YOLOX#
YOLOX resta un'ottima scelta in ambito accademico, dove i ricercatori studiano esplicitamente i paradigmi senza anchor o le strategie di assegnazione delle etichette. È utile anche negli scenari in cui il rilevamento di scene affollate è la priorità assoluta e la velocità di deployment edge è secondaria.
Dove YOLOv5 eccelle#
YOLOv5 è il campione indiscusso del deployment pratico.
- Produzione ad alta velocità: per il rilevamento dei difetti sulle linee di assemblaggio, la latenza di inferenza minima di YOLOv5 sulle GPU edge consente di ispezionare i prodotti senza rallentare il nastro trasportatore.
- Droni e immagini aeree: grazie all'ingombro ridotto in memoria, può funzionare sui computer ausiliari leggeri dei droni per attività come il monitoraggio agricolo e il tracciamento della fauna selvatica.
- Commercio al dettaglio intelligente: dalla cassa automatizzata alla gestione dell'inventario, YOLOv5 si esporta facilmente in TensorRT e ONNX per il deployment su larga scala nelle telecamere di migliaia di negozi.
Uno sguardo al futuro: i vantaggi di YOLO26#
YOLOv5 è un modello leggendario, ma il settore dell'IA avanza rapidamente. Se oggi stai avviando un nuovo progetto, ti consigliamo vivamente di valutare l'ultima generazione di modelli Ultralytics.
Rilasciato nel 2026, Ultralytics YOLO26 rappresenta un enorme passo avanti. Offre un design end-to-end opzionale senza NMS (nms=False), che elimina la necessità della post-elaborazione con Non-Maximum Suppression e semplifica notevolmente la logica di deployment. Eliminando Distribution Focal Loss (DFL) e utilizzando il nuovo ottimizzatore MuSGD, YOLO26 raggiunge un'inferenza su CPU fino al 43% più veloce rispetto alle generazioni precedenti, mantenendo un'accuratezza superiore, soprattutto sugli oggetti piccoli grazie al nuovo ProgLoss + STAL (perdita progressiva e assegnazione delle etichette attenta agli oggetti piccoli).
Che tu scelga l'affidabilità collaudata di YOLOv5 o le prestazioni all'avanguardia di YOLO26, la piattaforma Ultralytics ti offre gli strumenti migliori per portare con facilità le tue soluzioni di computer vision dall'idea alla produzione. Consulta la documentazione completa di Ultralytics per sfruttare tutto il potenziale della tua pipeline IA.