Vai al contenuto

YOLOX vs. YOLOv7: alla scoperta dell'evoluzione del rilevamento di oggetti in tempo reale

Il campo della visione artificiale ha assistito a una rapida evoluzione, con architetture di rilevamento degli oggetti sempre più sofisticate ed efficienti. Due pietre miliari degne di nota in questo percorso sono YOLOX e YOLOv7. Entrambi i modelli hanno rappresentato un significativo passo avanti al momento del loro rilascio, offrendo agli sviluppatori approcci distinti alla risoluzione dei problemi di rilevamento. Questo confronto approfondisce le loro specifiche tecniche, le differenze architetturali e le metriche di prestazione per aiutarti a prendere decisioni informate per le tue applicazioni.

Analisi comparativa delle prestazioni

Quando si valutano i modelli di rilevamento, è fondamentale trovare un compromesso tra velocità e precisione. La tabella seguente illustra le prestazioni dei YOLOv7 standard YOLOX e YOLOv7 sul COCO .

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

YOLOX: l'innovatore senza ancore

Rilasciato nel 2021 dai ricercatori di Megvii, YOLOX ha segnato un cambiamento rispetto ai paradigmi basati su anchor che dominavano YOLO precedenti YOLO . Adottando un meccanismo senza anchor e una testa disaccoppiata, mirava a semplificare il processo di rilevamento e a migliorare la generalizzazione su diversi set di dati.

  • Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
  • Organizzazione:Megvii
  • Data: 2021-07-18
  • Link:Arxiv, GitHub, Docs

Scopri di più su YOLOX

Punti Salienti Architetturali

YOLOX si distingue per diverse scelte progettuali fondamentali:

  1. Meccanismo senza ancoraggi: a differenza dei suoi predecessori (come YOLOv4 o YOLOv5) che si basavano su riquadri di ancoraggio predefiniti, YOLOX prevede direttamente i riquadri di delimitazione. Ciò riduce il numero di parametri di progettazione ed elimina la necessità di una complessa regolazione degli ancoraggi, rendendolo particolarmente robusto per oggetti di forme diverse.
  2. Testa disaccoppiata: le attività di classificazione e regressione sono separate in diversi rami della testa della rete. Questa separazione aiuta a risolvere il conflitto tra affidabilità della classificazione e accuratezza della localizzazione, portando a una convergenza più rapida durante l'addestramento.
  3. SimOTA: una strategia avanzata di assegnazione delle etichette denominata Simplified Optimal Transport Assignment (SimOTA) assegna dinamicamente campioni positivi alla verità di base, ottimizzando il processo di addestramento a livello globale anziché locale.

Casi d'uso ideali

YOLOX rimane un forte concorrente per scenari specifici:

  • Ricerca accademica: la sua architettura pulita lo rende un'ottima base di riferimento per la ricerca e la verifica di nuove teorie nel campo del rilevamento senza ancoraggio.
  • Dispositivi mobili legacy: le varianti Nano e Tiny sono estremamente leggere, adatte ai chipset mobili più datati in cui ogni milliwatt di consumo energetico è importante.
  • Rilevamento generico: per attività che coinvolgono oggetti con proporzioni estreme, il design senza ancoraggi spesso offre una generalizzazione migliore rispetto ai sistemi rigidi basati su ancoraggi.

YOLOv7: La Potenza del Bag-of-Freebies

Arrivato un anno dopo, nel 2022, YOLOv7 ulteriormente i confini della velocità e della precisione. Sviluppato dagli stessi autori di YOLOv4 e Scaled-YOLOv4, si è concentrato sull'ottimizzazione del processo di addestramento e dell'architettura senza aumentare i costi di inferenza.

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

Scopri di più su YOLOv7

Innovazioni Architetturali Chiave

YOLOv7 diverse tecniche sofisticate per massimizzare le prestazioni:

  1. E-ELAN (Extended Efficient Layer Aggregation Network): questa architettura migliora la capacità di apprendimento della rete controllando il percorso del gradiente. Consente al modello di apprendere caratteristiche più diversificate senza distruggere il flusso del gradiente originale, portando a una migliore convergenza.
  2. Ridimensionamento del modello: YOLOv7 un metodo di ridimensionamento composto che modifica contemporaneamente la profondità e la larghezza della rete, garantendo un'efficienza ottimale su modelli di diverse dimensioni (da Tiny a E6E).
  3. Trainable Bag-of-Freebies: il modello incorpora tecniche di riparametrizzazione pianificate e strategie di assegnazione dinamica delle etichette che migliorano la precisione durante l'addestramento, ma vengono eliminate durante l'inferenza, senza comportare alcuna penalizzazione in termini di latenza.

Casi d'uso ideali

YOLOv7 spesso preferito per applicazioni industriali ad alte prestazioni:

  • Sorveglianza in tempo reale: grazie all'elevato FPS GPU , eccelle nei sistemi di allarme di sicurezza e nel monitoraggio del traffico, dove la latenza è fondamentale.
  • Robotica: l'equilibrio tra velocità e precisione supporta la navigazione autonoma e le attività di manipolazione robotica.
  • Ispezione dettagliata: le varianti più grandi (YOLOv7, YOLOv7) offrono una precisione superiore per il rilevamento di piccoli difetti nelle linee di produzione.

Il vantaggio di Ultralytics

Sebbene YOLOX e YOLOv7 architetture impressionanti, il panorama dello sviluppo dell'IA si è spostato verso ecosistemi integrati che danno priorità all'esperienza degli sviluppatori oltre che alle metriche grezze. È qui che entrano in gioco Ultralytics come YOLOv8, YOLO11e l'innovativo YOLO26 .

Esperienza di sviluppo semplificata

Uno dei maggiori ostacoli dei repository orientati alla ricerca (come le YOLOv7 originali YOLOX o YOLOv7 ) è la complessità della configurazione e dell'utilizzo. Ultralytics questo problema unificando tutti i modelli in un'unica Python coerente.

Esempio di API unificata

Il passaggio da un'architettura all'altra richiede la modifica di una sola stringa, garantendo che la tua pipeline sia a prova di futuro.

from ultralytics import YOLO

# Load YOLOX, YOLOv7, or the new YOLO26
model_yolox = YOLO("yolox_s.pt")
model_v7 = YOLO("yolov7.pt")
model_26 = YOLO("yolo26n.pt")  # Recommended for new projects

# Train with a standard command
results = model_26.train(data="coco8.yaml", epochs=100)

Efficienza e gestione delle risorse

Ultralytics moderni sono progettati per garantire efficienza. A differenza dei modelli basati su trasformatori (come RT-DETR) che possono richiedere molta memoria,YOLO Ultralytics YOLO richiedono in genere GPU significativamente inferiore GPU durante l'addestramento. Questa democratizzazione consente agli sviluppatori di addestrare modelli all'avanguardia su hardware di livello consumer o di utilizzare batch di dimensioni maggiori per una convergenza più stabile.

Oltre la rilevazione: vera versatilità

Sebbene YOLOX sia principalmente un rilevatore di oggetti, Ultralytics supporta una vasta gamma di attività di visione artificiale all'interno dello stesso framework.

Prestazioni di Nuova Generazione: YOLO26

Per gli sviluppatori che inizieranno nuovi progetti nel 2026, YOLO26 rappresenta l'apice di questa evoluzione. Risolve i limiti sia di YOLOX che di YOLOv7 miglioramenti architetturali radicali:

  • DesignNMS: YOLO26 è nativamente end-to-end, eliminando la necessità della soppressione non massima (NMS). Ciò rimuove un importante collo di bottiglia nell'implementazione, riducendo la variabilità della latenza e semplificando l'esportazione verso i dispositivi periferici.
  • Velocità e precisione: con CPU fino al 43% più veloce rispetto alle generazioni precedenti, è specificamente ottimizzato per l'edge computing.
  • Formazione avanzata: utilizza MuSGD Optimizer, introducendo innovazioni in termini di stabilità dalla formazione dei modelli linguistici di grandi dimensioni alla visione artificiale.
  • Padronanza degli oggetti di piccole dimensioni: le funzioni di perdita migliorate (ProgLoss + STAL) offrono notevoli vantaggi nel rilevamento di oggetti di piccole dimensioni, un punto debole tradizionale per molti rilevatori.

Scopri di più su YOLO26

Conclusione

La scelta tra YOLOX e YOLOv7 dipende YOLOv7 dai vincoli specifici esistenti o dagli obiettivi di ricerca. YOLOX offre un design più semplice e senza ancoraggi, ideale per le linee di base della ricerca e nicchie mobili specifiche. YOLOv7 offre potenza e velocità pure per GPU di fascia alta in contesti industriali.

Tuttavia, per la maggior parte delle applicazioni moderne, sfruttare Ultralytics rappresenta la soluzione migliore. Che scegliate il collaudato YOLOv8, il versatile YOLO11 o il rivoluzionario YOLO26, potrete beneficiare di una piattaforma ben mantenuta, opzioni di implementazione senza soluzione di continuità e una comunità che garantisce che le vostre soluzioni di IA rimangano all'avanguardia.

Per ulteriori informazioni su modelli simili, consulta i nostri confronti su YOLOv6 e YOLOv9, oppure esplora la Ultralytics per iniziare ad addestrare i tuoi modelli oggi stesso.


Commenti