Vai al contenuto

YOLOv7 vs. YOLOX: un confronto tecnico dettagliato

Nel panorama in rapida evoluzione della computer vision, la famiglia di modelli YOLO (You Only Look Once) ha sempre definito lo standard per il rilevamento degli oggetti in tempo reale. Due tappe significative di questa storia sono YOLOv7 e YOLOX. Sebbene entrambi i modelli mirino a bilanciare velocità e precisione, divergono in modo significativo nelle loro filosofie architettoniche, in particolare per quanto riguarda le metodologie basate sugli ancoraggi rispetto a quelle prive di ancoraggi.

Questa guida fornisce un confronto tecnico approfondito per aiutare ricercatori e ingegneri a scegliere lo strumento giusto per le loro specifiche applicazioni di computer vision. Analizzeremo le loro architetture, i benchmark delle prestazioni ed esploreremo il motivo per cui alternative moderne come Ultralytics YOLO11 offrono spesso un'esperienza di sviluppo superiore.

Metriche di prestazione: Velocità e precisione

Nella valutazione dei rilevatori di oggetti, il compromesso tra latenza di inferenza e precisione mediamAP) è fondamentale. La tabella seguente presenta un confronto diretto tra le varianti YOLOv7 e YOLOX sul set di datiCOCO .

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Analisi dei risultati

I dati evidenziano vantaggi distinti per ogni famiglia di modelli a seconda dei vincoli di impiego. YOLOv7 dimostra un'efficienza eccezionale nella fascia ad alte prestazioni. Ad esempio, YOLOv7l raggiunge un mAP del 51,4% con solo 36,9 milioni di parametri, superando YOLOXx (51,1% mAP, 99,1 milioni di parametri) pur utilizzando un numero significativamente inferiore di risorse computazionali. Ciò rende YOLOv7 un candidato forte per gli scenari in cui l'efficienzaGPU è fondamentale ma la memoria è limitata.

Al contrario, YOLOX brilla nella categoria dei dispositivi leggeri. Il modello YOLOX-Nano (0,91M parametri) offre una soluzione valida per i dispositivi edge a bassissimo consumo, dove anche i modelli YOLO standard più piccoli potrebbero essere troppo pesanti. I suoi moltiplicatori scalabili di profondità e larghezza consentono una regolazione fine su un'ampia gamma di profili hardware.

YOLOv7: Borsa degli omaggi ottimizzata

Rilasciato nel luglio 2022, YOLOv7 ha introdotto diverse innovazioni architettoniche volte a ottimizzare il processo di formazione senza incorrere in costi di inferenza.

  • Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
  • Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
  • Data: 2022-07-06
  • Documento:Collegamento Arxiv
  • GitHub:RepositoryYOLOv7

Per saperne di più su YOLOv7

Punti salienti dell'architettura

YOLOv7 si concentra sui metodi di ottimizzazione "trainable bag-of-freebies", che migliorano l'accuratezza durante l'addestramento ma vengono rimossi o uniti durante l'inferenza. Le caratteristiche principali includono:

  1. E-ELAN (Extended Efficient Layer Aggregation Network): Una struttura dorsale migliorata che aumenta la capacità del modello di apprendere diverse caratteristiche controllando i percorsi di gradiente più brevi e più lunghi.
  2. Scalatura del modello: Invece di scalare semplicemente la profondità o la larghezza, YOLOv7 utilizza un metodo di scalatura composto per i modelli basati sulla concatenazione, mantenendo la struttura ottimale durante l'upscaling.
  3. Testa ausiliaria da grossolana a fine: durante l'addestramento viene utilizzata una testa di perdita ausiliaria per aiutare la supervisione, che viene poi riparametrizzata nella testa principale per l'inferenza.

Riparametrizzazione

YOLOv7 utilizza una ri-parametrizzazione pianificata, in cui moduli di addestramento distinti sono matematicamente uniti in un unico strato convoluzionale per l'inferenza. Questo riduce in modo significativo la latenza di inferenza senza sacrificare la capacità di apprendimento delle caratteristiche acquisita durante l'addestramento.

YOLOX: l'evoluzione senza ancoraggio

YOLOX, rilasciato nel 2021, ha rappresentato un cambiamento nel paradigma YOLO , abbandonando le caselle di ancoraggio per passare a un meccanismo privo di ancoraggi, simile agli approcci di segmentazione semantica.

Per saperne di più sul confronto YOLOX

Punti salienti dell'architettura

YOLOX ha semplificato la pipeline di rilevamento eliminando la necessità di regolare manualmente le caselle di ancoraggio, che era un punto dolente comune nelle versioni precedenti come YOLOv4 e YOLOv5.

  1. Meccanismo senza ancore: Prevedendo direttamente il centro degli oggetti, YOLOX elimina i complessi iperparametri associati alle ancore, migliorando la generalizzazione su diversi set di dati.
  2. Testa disaccoppiata: a differenza delle versioni precedenti di YOLO che accoppiavano classificazione e localizzazione in un'unica testa, YOLOX le separa. Ciò consente una convergenza più rapida e una migliore precisione.
  3. SimOTA: una strategia avanzata di assegnazione delle etichette che assegna dinamicamente i campioni positivi alla verità a terra con il costo più basso, bilanciando efficacemente le perdite di classificazione e regressione.

Perché i modelli Ultralytics sono la scelta preferita

Sebbene YOLOv7 e YOLOX differiscano nell'architettura, entrambi sono superati in usabilità e supporto dell'ecosistema dai moderni modelliYOLO diUltralytics . Per gli sviluppatori che cercano una soluzione robusta e a prova di futuro, il passaggio a YOLO11 offre vantaggi distinti.

1. Ecosistema unificato e facilità d'uso

YOLOv7 e YOLOX richiedono spesso la clonazione di repository GitHub specifici, la gestione di requisiti di dipendenza complessi e l'utilizzo di formati diversi per i dati. Ultralytics offre invece un pacchetto installabile con pip che unifica tutte le attività.

from ultralytics import YOLO

# Load a model (YOLO11n recommended for speed)
model = YOLO("yolo11n.pt")

# Train on a custom dataset with a single line
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

2. Equilibrio delle prestazioni superiore

Come illustrato nei benchmark, i moderni modelli Ultralytics raggiungono un miglior compromesso tra velocità e precisione. YOLO11 utilizza un'architettura ottimizzata anchor-free che sfrutta i progressi di YOLOX (progettazione anchor-free) e YOLOv7 (ottimizzazione del percorso del gradiente). Il risultato è che i modelli non solo sono più veloci nell'inferenzaCPU , ma richiedono anche meno memoria CUDA durante l'addestramento, rendendoli accessibili su una gamma più ampia di hardware.

3. Versatilità tra i compiti

YOLOv7 e YOLOX sono progettati principalmente per il rilevamento di oggetti. I modelli Ultralytics estendono questa capacità in modo nativo a una serie di compiti di computer vision senza modificare l'API:

4. Distribuzione senza soluzione di continuità e MLOps

Portare un modello dalla ricerca alla produzione è difficile con i vecchi framework. L'ecosistema Ultralytics include modalità di esportazione integrate per ONNX, TensorRT, CoreML e OpenVINO, semplificando la distribuzione dei modelli. Inoltre, le integrazioni con Ultralytics HUB consentono la gestione dei set di dati basata sul web, la formazione remota e la distribuzione con un solo clic sui dispositivi edge.

Scopri di più su YOLO11

Conclusione

Sia YOLOv7 che YOLOX hanno apportato contributi significativi al campo della computer vision. YOLOv7 ha ottimizzato l'architettura per ottenere le massime prestazioni sui dispositivi GPU , massimizzando l'efficienza dell'approccio "bag-of-freebies". YOLOX ha dimostrato con successo la fattibilità del rilevamento anchor-free, semplificando la pipeline e migliorando la generalizzazione.

Tuttavia, per i moderni flussi di lavoro di sviluppo, Ultralytics YOLO11 è la scelta migliore. Combina i punti di forza architettonici dei suoi predecessori con un'APIPython senza pari, requisiti di memoria ridotti e supporto per una gamma completa di attività di visione. Sia che si tratti di una distribuzione su un dispositivo edge o su un server cloud, la comunità attiva e l'ampia documentazione dell'ecosistema Ultralytics garantiscono un percorso più agevole verso la produzione.

Esplora altri modelli

Se siete interessati a ulteriori confronti tecnici, esplorate queste risorse:


Commenti