Ultralytics YOLO27:
Get Started

YOLOX vs YOLOv7#

L'evoluzione del rilevamento di oggetti in tempo reale è stata guidata da continui progressi architetturali. Due tappe importanti di questo percorso sono YOLOX e YOLOv7. Rilasciati a meno di un anno di distanza, entrambi i modelli hanno introdotto approcci innovativi al paradigma standard del rilevamento di oggetti, migliorando significativamente il compromesso tra velocità e accuratezza.

Questa pagina presenta un'analisi tecnica approfondita di YOLOX e YOLOv7, confrontandone le architetture, le metriche prestazionali e i casi d'uso ideali per aiutare gli sviluppatori a scegliere lo strumento giusto per le distribuzioni di computer vision.

YOLOX: pioniere del rilevamento anchor-free#

Presentato dai ricercatori di Megvii nel luglio 2021, YOLOX ha segnato un cambiamento importante, abbandonando i tradizionali design basati su anchor. Colmando il divario tra ricerca accademica e applicazioni industriali, YOLOX ha semplificato la head di rilevamento e migliorato le prestazioni complessive.

Dettagli principali del modello:

Innovazioni architetturali#

YOLOX ha introdotto un approccio anchor-free, riducendo drasticamente il numero di parametri di progettazione e le regolazioni euristiche necessarie per i dataset personalizzati. Ha implementato una head disaccoppiata, separando le attività di classificazione e regressione, e migliorando così la velocità di convergenza e l'accuratezza. Inoltre, YOLOX ha utilizzato strategie avanzate di aumento dei dati, come MixUp e Mosaic, per migliorare la robustezza del modello.

Scopri di più su YOLOX

Il vantaggio dell’approccio anchor-free

Eliminando le anchor box, YOLOX riduce il carico computazionale del calcolo dell'Intersection over Union (IoU) tra previsioni e annotazioni reali durante l'addestramento, riducendo i requisiti di memoria CUDA e i tempi di addestramento.

YOLOv7: Bag-of-Freebies addestrabile#

Rilasciato nel luglio 2022 dai ricercatori dell'Institute of Information Science dell'Academia Sinica di Taiwan, YOLOv7 ha spinto ancora oltre i limiti del rilevamento di oggetti in tempo reale. Ha introdotto il concetto di «bag of freebies addestrabile», stabilendo al momento del rilascio nuovi benchmark all'avanguardia sul dataset MS COCO.

Dettagli principali del modello:

Innovazioni architetturali#

L'architettura di YOLOv7 si basa sull'Extended Efficient Layer Aggregation Network (E-ELAN), che consente al modello di apprendere continuamente caratteristiche più diversificate senza degradare il percorso del gradiente. Inoltre, YOLOv7 ha utilizzato tecniche di riparametrizzazione del modello, che consentono di semplificare durante l'inferenza reti di addestramento complesse e multi-ramo trasformandole in reti più veloci a percorso singolo.

Scopri di più su YOLOv7

Confronto delle prestazioni#

Per valutare questi modelli in applicazioni reali, è fondamentale comprenderne le prestazioni alle diverse scale. La tabella seguente confronta le metriche standard per le varie dimensioni di YOLOX e YOLOv7.

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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Analisi#

  • Accuratezza: YOLOv7 generalmente raggiunge un mAP più alto rispetto ai modelli YOLOX equivalenti. Ad esempio, YOLOv7x raggiunge 53.1 mAP rispetto ai 51.1 di YOLOXx.
  • Velocità: Sebbene entrambi i modelli siano altamente ottimizzati per l'esecuzione su GPU con TensorRT, l'architettura E-ELAN di YOLOv7 offre un throughput leggermente migliore per le applicazioni di fascia alta, mentre YOLOX mantiene un'eccellente latenza sui dispositivi edge più piccoli.
  • Versatilità: YOLOv7 ha ampliato le proprie funzionalità oltre i riquadri di delimitazione, fornendo nativamente pesi per la segmentazione di istanze e la stima della posa, risultando più versatile del repository YOLOX di base.

Applicazioni nel mondo reale#

La scelta tra questi modelli dipende spesso dall'ambiente di distribuzione specifico.

Edge computing e IoT#

Per dispositivi edge con risorse limitate, come Raspberry Pi o processori mobili meno recenti, YOLOX-Nano e YOLOX-Tiny sono molto interessanti. Il numero minimo di parametri e la natura anchor-free li rendono più facili da distribuire in ambienti a basso consumo per attività come il semplice tracciamento del movimento o le applicazioni per campanelli intelligenti.

Analisi video ad alta fedeltà#

Per elaborare flussi ad alta risoluzione nel rilevamento di difetti industriali o nel monitoraggio del traffico intenso, YOLOv7 è superiore. La sua solida aggregazione delle caratteristiche gli permette di mantenere un'elevata accuratezza anche quando gli oggetti sono parzialmente occlusi o variano molto di dimensioni.

Casi d'uso e consigli#

La scelta tra YOLOX e YOLOv7 dipende dai requisiti specifici del progetto, dai vincoli di distribuzione e dalle preferenze relative all'ecosistema.

Quando scegliere YOLOX#

YOLOX è una scelta valida 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: Implementazione su microcontrollori o hardware mobile legacy, dove le dimensioni estremamente ridotte della variante YOLOX-Nano (0,91 M di 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 YOLOv7#

YOLOv7 è consigliato per:

  • Benchmark accademici: riprodurre i risultati dello stato dell'arte del 2022 o studiare gli effetti di E-ELAN e delle tecniche del bagaglio di tecniche gratuite addestrabile.
  • Ricerca sulla riparametrizzazione: esaminare convoluzioni riparametrizzate pianificate e strategie di scalabilità composta dei modelli.
  • Pipeline personalizzate esistenti: progetti con pipeline ampiamente personalizzate e basate sull'architettura specifica di YOLOv7, difficili da ristrutturare.

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 con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
  • Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.

I vantaggi di Ultralytics#

Sebbene YOLOX e YOLOv7 siano entrambe potenti implementazioni di ricerca, passare da un repository di ricerca a un ambiente di produzione scalabile può essere impegnativo. È qui che la Ultralytics Platform dà il meglio di sé.

I modelli Ultralytics offrono un'API unificata di Python, che gestisce l'addestramento, la convalida e la distribuzione dei modelli come attività semplificate e standardizzate. Così eviti le difficoltà di gestire dipendenze di terze parti complesse o operatori C++ personalizzati, comuni nelle architetture meno recenti.

Inoltre, i modelli Ultralytics YOLO richiedono molta meno memoria CUDA durante l'addestramento rispetto ai rilevatori basati su Transformer come RT-DETR. Questo consente ai professionisti di utilizzare dimensioni dei batch maggiori, stabilizzando l'addestramento e accelerando la convergenza sui dataset personalizzati.

Integrazioni supportate

Ultralytics supporta nativamente l'esportazione dei modelli in formati standard del settore come ONNX, OpenVINO e CoreML con un unico argomento format, semplificando notevolmente il processo di distribuzione del modello.

Esempio di codice: addestramento con Ultralytics#

Il pacchetto Python Ultralytics non addestra né esegue nativamente i checkpoint .pt di YOLOv7 (la documentazione di YOLOv7 spiega come eseguire i modelli ONNX o TensorRT esportati), ma le architetture più recenti, come YOLO26, possono essere caricate, addestrate ed eseguite con poche righe di codice.

from ultralytics import YOLO

# Carica un modello YOLO26 preaddestrato
model = YOLO("yolo26n.pt")

# Addestra il modello su un dataset personalizzato (ad es., COCO8)
# L'API gestisce automaticamente il caricamento dei dati, l'aumento dei dati e la gestione della memoria
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Esegui l'inferenza su un'immagine di test
predictions = model("path/to/image.jpg")
predictions[0].show()

Il futuro: Ultralytics YOLO26#

YOLOv7 e YOLOX rappresentano tappe storiche importanti, ma lo stato dell'arte evolve rapidamente. Rilasciato a gennaio 2026, Ultralytics YOLO26 introduce paradigmi rivoluzionari che superano i modelli precedenti.

  • Design end-to-end senza NMS: la head opzionale one-to-one di YOLO26 (nms=False) salta il post-processing di soppressione non massima (NMS). Questo riduce drasticamente i colli di bottiglia della latenza e garantisce tempi di esecuzione deterministici su configurazioni hardware diverse.
  • Inferenza su CPU fino al 43% più veloce: rimuovendo Distribution Focal Loss (DFL) e ottimizzando la profondità della rete, YOLO26 è progettato appositamente per i dispositivi edge privi di hardware GPU dedicato.
  • Ottimizzatore MuSGD: ispirato alle tecniche avanzate di addestramento dei LLM, l'ottimizzatore MuSGD (un ibrido di SGD e Muon) offre un'eccezionale stabilità di addestramento e una convergenza più rapida.
  • Rilevamento migliorato degli oggetti piccoli: l'integrazione delle funzioni di loss ProgLoss + STAL migliora significativamente il riconoscimento di oggetti piccoli e lontani, un aspetto fondamentale per la mappatura con droni e la videosorveglianza di sicurezza.
  • Supporto nativo delle attività: YOLO26 supporta pienamente nativamente i riquadri di delimitazione orientati (OBB), la segmentazione di istanze e la stima della posa, tutto nella stessa API semplificata.

Per chiunque sviluppi oggi un nuovo progetto di computer vision, valutare Ultralytics YOLO26 sulla Platform è il percorso consigliato per ottenere il miglior equilibrio tra velocità, accuratezza e semplicità di distribuzione. Per chi passa da generazioni precedenti come YOLO11 o YOLOv8, è sufficiente cambiare il nome del modello per sbloccare immediatamente funzionalità superiori.

Collaboratori

Commenti