Vai al contenuto

YOLOv7 RTDETRv2: bilanciare la velocità tradizionale con la precisione del trasformatore

Il panorama del rilevamento degli oggetti ha subito una notevole evoluzione negli ultimi anni, passando dalle reti neurali convoluzionali (CNN) pure a sofisticate architetture ibride. Due modelli fondamentali in questo contesto sono YOLOv7, un celebre e potente CNN "bag-of-freebies" del 2022, e RTDETRv2, un Real-Time Detection Transformer rilasciato da Baidu nel 2023/2024 per sfidare il YOLO .

Mentre YOLOv7 al massimo l'approccio classico basato sugli anchor, RTDETRv2 ha sfruttato la potenza dei vision transformer (ViT) per eliminare le fasi di post-elaborazione come la Non-Maximum Suppression (NMS). Questa guida confronta le loro architetture, le prestazioni e l'idoneità per i moderni progetti di visione artificiale, esplorando al contempo i motivi per cui i modelli di nuova generazione come Ultralytics stanno diventando sempre più lo standard per l'implementazione in produzione.

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
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

YOLOv7: il massimo del rilevamento basato su anchor

Rilasciato nel luglio 2022, YOLOv7 ha rappresentato un importante passo avanti nella YOLO , concentrandosi sull'efficienza architettonica senza fare affidamento sul ImageNet . Ha introdotto il concetto di "trainable bag-of-freebies", metodi di ottimizzazione che migliorano la precisione durante l'addestramento senza aumentare la latenza di inferenza.

Principali Dettagli Tecnici:

L'innovazione principale di YOLOv7 la rete Extended Efficient Layer Aggregation Network (E-ELAN). Questa architettura consente alla rete di apprendere caratteristiche più diversificate controllando le lunghezze dei percorsi dei gradienti, garantendo un apprendimento efficace nelle reti più profonde. Sebbene altamente efficace, YOLOv7 un rilevatore basato su anchor, il che significa che si affida a riquadri anchor predefiniti per prevedere la posizione degli oggetti. Questa dipendenza richiede spesso un'attenta regolazione degli iperparametri per i set di dati personalizzati, una complessità eliminata nei moderni rilevatori senza ancoraggio come YOLO11.

Scopri di più su YOLOv7

RTDETRv2: Trasformatori per velocità in tempo reale

RTDETRv2 (Real-Time Detection Transformer v2) si basa sul successo dell'originale RT-DETR e mira a risolvere l'elevato costo computazionale associato ai tradizionali rilevatori basati su trasformatori come DETR. Sviluppato da Baidu, dimostra che le architetture dei trasformatori possono raggiungere velocità in tempo reale su GPU .

Principali Dettagli Tecnici:

RTDETRv2 utilizza un codificatore ibrido che elabora in modo efficiente le caratteristiche multiscala. La sua caratteristica distintiva è la selezione delle queryIoU, che aiuta il modello a concentrarsi sulle parti più rilevanti di un'immagine. Fondamentalmente, RTDETRv2 è un rilevatore end-to-end. Non richiede la post-elaborazione Non-Maximum Suppression (NMS), il che semplifica le pipeline di implementazione e riduce la varianza di latenza in scene affollate. Tuttavia, ciò comporta un maggiore consumo di memoria durante l'addestramento rispetto ai modelli basati su CNN.

Scopri di più su RT-DETR

Confronto tecnico: architettura e casi d'uso

Comprendere le differenze fondamentali tra queste architetture aiuta a selezionare lo strumento giusto per specifiche applicazioni di visione artificiale.

1. Architettura: CNN vs. Trasformatore ibrido

YOLOv7 esclusivamente sulle convoluzioni. Ciò lo rende estremamente efficiente sui dispositivi edge con memoria limitata ma potenza di calcolo discreta, poiché le CNN sono naturalmente invarianti rispetto alla traslazione. RTDETRv2 combina backbone CNN con codificatori Transformer. Sebbene ciò consenta di catturare meglio il contesto globale (migliorando la precisione in scene complesse), aumenta significativamente i requisiti CUDA . Ad esempio, l'addestramento di un modello Transformer richiede spesso GPU di fascia alta (ad esempio A100 o H100) per gestire dimensioni di batch ragionevoli, mentre YOLOv7 spesso essere addestrato su hardware consumer.

2. Inferenza: il NMS

YOLOv7 migliaia di riquadri di delimitazione candidati che devono essere filtrati utilizzando NMS. In scenari con oggetti densi (come il conteggio delle scorte di magazzino), NMS diventare un collo di bottiglia in termini di velocità. RTDETRv2 elimina completamente questo passaggio, producendo esattamente il numero di riquadri richiesto.

Il meglio dei due mondi

Ultralytics moderni Ultralytics come YOLO26 presentano ora un design end-to-end NMS simile a RTDETRv2, ma basato su un'architettura CNN altamente ottimizzata. Ciò garantisce la semplicità di implementazione dei trasformatori con l'efficienza e la velocità di addestramento di YOLO.

3. Implementazione ed ecosistema

Sebbene entrambi i modelli siano supportati da solide ricerche, Ultralytics offre un netto vantaggio in termini di manutenibilità. Il repository ufficiale YOLOv7 è in gran parte statico, mentre Ultralytics ricevono aggiornamenti frequenti, garantendo la compatibilità con le ultime versioni di PyTorch, ONNX e TensorRT.

L'alternativa moderna: Ultralytics

Per gli sviluppatori che cercano la precisione dei trasformatori con la velocità delle CNN, Ultralytics si distingue come la scelta migliore. Rilasciato nel 2026, incorpora i vantaggi "end-to-end" di RTDETRv2, affrontando al contempo i suoi punti deboli nell'utilizzo delle risorse.

Perché scegliere YOLO26?

  1. End-to-end nativo: come RTDETRv2, YOLO26 elimina NMS, semplificando l'esportazione in TensorRT e CoreML.
  2. MuSGD Optimizer: ispirato all'addestramento LLM, questo ottimizzatore garantisce una convergenza stabile, riducendo il "tentativo ed errore" spesso necessario quando si addestrano modelli più vecchi come YOLOv7.
  3. Ottimizzazione edge: YOLO26 rimuove la Distribution Focal Loss (DFL), rendendolo significativamente più leggero. Offre CPU fino al 43% più veloce, un parametro fondamentale per i dispositivi edge in cui RTDETRv2 spesso incontra difficoltà a causa dei complessi calcoli del trasformatore.
  4. Versatilità: a differenza di YOLOv7 RTDETRv2, che si concentrano principalmente sul rilevamento, YOLO26 supporta nativamente la segmentazione, la stima della posa e i bounding box orientati (OBB).

Bilanciamento delle prestazioni

YOLO26 sfrutta ProgLoss e STAL (Soft-Target Anchor Loss) per migliorare il rilevamento di oggetti di piccole dimensioni, un'area in cui YOLO precedenti YOLO erano storicamente in ritardo rispetto ai trasformatori. Ciò lo rende ideale per applicazioni come l'analisi di immagini aeree o il conteggio delle cellule in ambito medico.

Esempio di codice: integrazione perfetta

Il passaggio dai modelli precedenti all'ultima versione Ultralytics è semplicissimo. Python Ultralytics elimina la complessità delle differenze architetturali.

from ultralytics import YOLO

# Load the latest YOLO26 model (recommended)
model = YOLO("yolo26n.pt")

# Alternatively, load RT-DETR or YOLOv7 within the same ecosystem
# model = YOLO("rtdetr-l.pt")
# model = YOLO("yolov7.pt")

# Train on a dataset like COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with NMS-free speed (native in YOLO26)
results = model("https://ultralytics.com/images/bus.jpg")

Scopri di più su YOLO26

Riepilogo

  • Utilizza YOLOv7 se stai gestendo sistemi legacy e hai bisogno di un rilevatore collaudato, basato esclusivamente su CNN, e hai il tempo di ottimizzare gli anchor.
  • Utilizza RTDETRv2 se hai bisogno di un'inferenza end-to-end su GPU di fascia alta e puoi sostenere il costo più elevato della VRAM durante l'addestramento.
  • Utilizza Ultralytics per ottenere il miglior equilibrio. Offre i vantaggi end-to-end NMS di RTDETR, la velocità e il basso impatto sulla memoria di YOLO e il solido supporto della Ultralytics .

Per la maggior parte dei nuovi progetti nel 2026, la facilità d'uso, la documentazione e il rapporto prestazioni/efficienza di YOLO26 lo rendono il punto di partenza consigliato.


Commenti