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 .
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
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
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:
- 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.
- 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.
- 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.
- Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organizzazione: Megvii
- Data: 2021-07-18
- Documento:Collegamento Arxiv
- GitHub:Repository YOLOX
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.
- 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.
- 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.
- 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:
- Segmentazione delle istanze: Comprensione degli oggetti a livello di pixel.
- Stima della posa: Rilevamento di punti chiave su corpi umani.
- Rilevamento di oggetti orientati (OBB): Rilevamento di oggetti ruotati (ad esempio, immagini aeree).
- Classificazione: Assegnazione di un'etichetta di classe a un'intera immagine.
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.
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:
- YOLOv7 vs. YOLOv8: uno sguardo al salto generazionale nelle prestazioni.
- RT-DETR vs. YOLOv7: confronto tra trasformatori e CNN.
- YOLO11 vs. YOLOv10: gli ultimi progressi nel rilevamento in tempo reale.