YOLOv7 vs RTDETRv2#
Il panorama della visione artificiale continua a evolversi rapidamente, fortemente influenzato dalla competizione tra le Reti neurali convoluzionali (CNNs) e i Transformer per la visione (ViTs). Questo confronto tecnico analizza due architetture di riferimento: YOLOv7, un rilevatore di oggetti basato su CNN altamente ottimizzato, e RTDETRv2, un Transformer per il rilevamento in tempo reale all'avanguardia.
Analizzando le differenze architetturali, le metriche delle prestazioni e gli scenari di distribuzione ideali, gli sviluppatori possono prendere decisioni informate quando integrano questi modelli di IA per la visione nelle proprie pipeline di produzione.
YOLOv7: l'architettura CNN Bag-of-Freebies#
YOLOv7 ha introdotto diverse ottimizzazioni strutturali capaci di cambiare paradigma nella famiglia YOLO tradizionale, spingendo oltre i limiti del rilevamento di oggetti in tempo reale attraverso una serie di "bag-of-freebies addestrabili".
Caratteristiche principali:
- Autori: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica
- Data: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: WongKinYiu/yolov7
Architettura e punti di forza#
YOLOv7 si basa sull'architettura Extended Efficient Layer Aggregation Network (E-ELAN). Questo design strutturale consente al modello di apprendere caratteristiche più diversificate senza compromettere il percorso originale del gradiente. Inoltre, integra convoluzioni riparametrizzate pianificate, che ottimizzano la velocità di inferenza senza ridurre la precisione. Il suo approccio basato su bag-of-freebies addestrabili gli consente di raggiungere compromessi notevoli tra velocità e precisione, rendendolo particolarmente adatto alle attività di rilevamento di oggetti in tempo reale su GPU di livello server.
YOLOv7 è anche estremamente versatile. Oltre al rilevamento standard dei riquadri delimitatori, il repository offre rami per la stima della posa e la segmentazione delle istanze, dimostrando la sua adattabilità.
Limitazioni#
Come molti modelli CNN legacy, YOLOv7 si affida alla Soppressione non massima (NMS) per il post-processing. NMS introduce una latenza variabile, soprattutto nelle scene affollate, complicando le garanzie rigorose di funzionamento in tempo reale sui dispositivi edge.
RTDETRv2: l'evoluzione dei Transformer in tempo reale#
RTDETRv2 si basa sul framework RT-DETR originale, dimostrando ulteriormente che i Transformer possono competere con le architetture YOLO in termini di latenza in tempo reale, mantenendo al contempo un'elevata precisione spaziale.
Caratteristiche principali:
- Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, Yi Liu
- Organizzazione: Baidu
- Data: 2024-07-24
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: lyuwenyu/RT-DETR
Architettura e punti di forza#
RTDETRv2 rappresenta un importante passo avanti per i Transformer per la visione. Sfrutta un processo flessibile di selezione delle query e un encoder ibrido efficiente per elaborare rapidamente caratteristiche a più scale. Introducendo un nuovo "bag-of-freebies" specificamente pensato per i Transformer di rilevamento (DETRs), porta il ragionamento spaziale ai massimi livelli. Poiché è nativamente privo di NMS, offre tempi di inferenza deterministici, una caratteristica fondamentale per applicazioni rigorose di smart city e per la guida autonoma.
Limitazioni#
Nonostante i suoi progressi, RTDETRv2 presenta i limiti tradizionali delle architetture basate su Transformer. Richiede una quantità significativamente maggiore di memoria CUDA durante l'addestramento e l'inferenza rispetto alle CNN. Inoltre, i tempi di convergenza dell'addestramento sono sensibilmente più lunghi e richiedono grandi quantità di dati annotati di alta qualità, come il dataset COCO, oltre a ingenti risorse computazionali.
Confronto delle prestazioni#
Quando si esegue il benchmarking di questi modelli, è necessario considerare un quadro completo che includa precisione, velocità di inferenza effettiva e ingombro computazionale. Di seguito è riportata una tabella di confronto diretto.
| 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 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
Sebbene RTDETRv2-x dichiari il valore mAPval assoluto più elevato, pari al 54,3%, richiede ben 259 miliardi di FLOPs. Al contrario, le architetture YOLOv7 forniscono un'eccellente baseline, ma risentono dell'overhead del NMS legacy, non completamente rilevato nelle metriche di latenza della pura rete.
Il vantaggio di Ultralytics: ecosistema ed evoluzione#
Sebbene YOLOv7 e RTDETRv2 offrano funzionalità solide, la loro distribuzione in ambienti di produzione spesso fa emergere difficoltà logistiche. È qui che l'ecosistema Ultralytics eccelle. Progettato per un'integrazione end-to-end senza soluzione di continuità, il framework Ultralytics offre agli sviluppatori un'API unificata che astrae le complessità tipiche delle pipeline di visione artificiale.
Versatilità senza pari ed efficienza della memoria#
A differenza dei rigidi modelli Transformer che consumano enormi quantità di VRAM, i modelli Ultralytics YOLO mantengono un'elevata efficienza in termini di memoria. Questo consente un rapido addestramento dei modelli su hardware accessibile. L'ecosistema supporta nativamente molteplici attività di visione artificiale da un'unica base di codice, tra cui la classificazione delle immagini e il rilevamento di riquadri delimitatori orientati (OBB), offrendo una flessibilità che attualmente RTDETRv2 non possiede.
Distribuzione senza interruzioni#
Passare dalla ricerca alla produzione richiede solide opzioni di distribuzione. L'API Ultralytics gestisce nativamente l'esportazione dei modelli con un clic nei formati standard del settore. Che tu scelga ONNX per la compatibilità multipiattaforma o TensorRT per sfruttare al massimo l'accelerazione GPU, la pipeline è completamente automatizzata e affidabile.
L'aggiornamento definitivo: Ultralytics YOLO26#
Per gli sviluppatori che devono scegliere tra YOLOv7 e RTDETRv2, la strada migliore è in realtà il nuovo standard nell'IA per la visione: Ultralytics YOLO26. Rilasciato a gennaio 2026, YOLO26 colma il divario tra la velocità delle CNN e le sofisticate capacità di ragionamento dei Transformer, eliminando completamente i rispettivi punti deboli.
YOLO26 introduce innovazioni rivoluzionarie pensate sia per le distribuzioni su server sia per quelle edge:
- Design end-to-end privo di NMS: introdotto per la prima volta in YOLOv10, YOLO26 elimina nativamente il post-processing NMS. Questo garantisce la latenza deterministica di RTDETRv2 senza l'oneroso overhead computazionale di un Transformer.
- Ottimizzatore MuSGD: ispirato alle tecniche di addestramento dei modelli linguistici di grandi dimensioni, come Kimi K2 di Moonshot AI, YOLO26 utilizza una combinazione di SGD e Muon. Questo offre una stabilità di addestramento senza precedenti e tempi di convergenza significativamente più rapidi rispetto alle implementazioni standard di AdamW utilizzate dai ViTs.
- ProgLoss + STAL: queste funzioni di perdita avanzate producono miglioramenti significativi nel riconoscimento degli oggetti piccoli, competendo direttamente con i vantaggi delle caratteristiche multi-scala di RTDETRv2, un aspetto fondamentale per l'automazione robotica.
- Ottimizzazione edge e rimozione di DFL: rimuovendo la Distribution Focal Loss (DFL), YOLO26 semplifica la testa di output, ottenendo un'inferenza su CPU fino al 43% più veloce e risultando infinitamente più adatto alla distribuzione sui dispositivi edge rispetto ai pesanti modelli Transformer.
Esempio di addestramento con Ultralytics#
La semplicità dell'API Python di Ultralytics ti consente di addestrare il modello YOLO26 all'avanguardia con solo poche righe di codice:
from ultralytics import YOLO
# Load the highly efficient YOLO26 small model
model = YOLO("yolo26s.pt")
# Train the model on the COCO8 dataset
# The framework automatically manages data augmentation and hyperparameter tuning
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="0")
# Effortlessly export to TensorRT for deployment
model.export(format="engine", dynamic=True)Casi d'uso ideali#
La scelta dell'architettura corretta dipende in larga misura dai vincoli di distribuzione e dalla disponibilità dell'hardware:
Quando prendere in considerazione YOLOv7:
- Progetti di ricerca legacy in cui YOLOv7 è una baseline consolidata.
- Ambienti in cui l'accelerazione GPU effettiva è abbondante e il jitter della latenza NMS è accettabile.
Quando prendere in considerazione RTDETRv2:
- Distribuzioni su server di fascia alta che richiedono il valore mAP massimo assoluto.
- Scenari in cui è richiesta rigorosamente una latenza di inferenza deterministica, senza NMS, a condizione di disporre della VRAM necessaria per supportare il suo backbone Transformer.
Quando scegliere Ultralytics YOLO26:
- Quasi sempre. Offre il determinismo senza NMS di RTDETRv2, supera YOLOv7 in velocità e precisione, utilizza molta meno VRAM ed è completamente integrato nella Ultralytics Platform per una gestione senza sforzo di dataset, addestramento e distribuzione.
Vuoi scoprire come si comportano le altre architetture? Approfondisci le generazioni precedenti, come YOLO11 e YOLOv8, oppure scopri come utilizzare il tuning degli iperparametri per massimizzare la precisione del tuo progetto.