Vai al contenuto

RTDETRv2 vs. YOLOv7: evoluzione basata su trasformatori vs. efficienza CNN

Il panorama del rilevamento degli oggetti ha visto un'affascinante divergenza nelle filosofie architettoniche. Da un lato, abbiamo la linea delle reti neurali convoluzionali (CNN), incarnata dalle prestazioni elevate YOLOv7. Dall'altro lato, la rivoluzione Transformer ha dato vita a RTDETRv2 (Real-Time Detection Transformer), un modello che mira a portare le capacità di contesto globale dei Vision Transformer (ViT) a velocità in tempo reale.

Questa guida fornisce un'analisi tecnica di queste due architetture, valutando i loro compromessi in termini di velocità, precisione e complessità di implementazione. Sebbene entrambe rappresentassero prestazioni all'avanguardia al momento del loro lancio, lo sviluppo moderno spesso favorisce l'ecosistema unificato e le prestazioni ottimizzate per l'edge di Ultralytics , che integra in modo nativo le migliori caratteristiche di entrambi i mondi, come l'inferenza end-to-end NMS.

Confronto tra dirigenti

La tabella seguente mette a confronto le metriche di prestazione ufficiali di RTDETRv2 e YOLOv7 COCO .

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

RTDETRv2: lo sfidante Transformer

RTDETRv2 (Real-Time Detection Transformer versione 2) è l'evoluzione dell'originale RT-DETR, sviluppato dai ricercatori di Baidu. Risolve l'elevato costo computazionale tipicamente associato ai Vision Transformer introducendo un efficiente codificatore ibrido e semplificando il processo di selezione delle query.

Principali Dettagli Tecnici:

  • Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
  • Organizzazione: Baidu
  • Data: 17/04/2023 (contesto di rilascio v1)
  • Link:Articolo su ArXiv | Repository GitHub

RTDETRv2 si distingue per l'eliminazione della necessità della soppressione non massima (NMS). A differenza delle CNN che generano migliaia di riquadri di delimitazione ridondanti che richiedono un filtraggio post-elaborazione, RTDETRv2 prevede direttamente un insieme fisso di query di oggetti. Questa capacità end-to-end riduce la varianza della latenza, rendendola interessante per le applicazioni in cui è fondamentale un tempo di inferenza costante.

Tuttavia, l'affidamento ai meccanismi di attenzione significa che RTDETRv2 può richiedere molta memoria durante l'addestramento rispetto alle CNN pure. Eccelle nel catturare il contesto globale, comprendendo la relazione tra parti distanti di un'immagine, il che aiuta in scene complesse con forte occlusione.

Scopri di più su RT-DETR

YOLOv7: il massimo dell'efficienza delle CNN

Rilasciato a metà del 2022, YOLOv7 ha ampliato i confini di ciò che le architetture puramente convoluzionali potevano raggiungere. È stato progettato con particolare attenzione ai "trainable bag-of-freebies", metodi di ottimizzazione che migliorano la precisione durante l'addestramento senza aumentare il costo dell'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 efficacemente le lunghezze dei percorsi di gradiente. Pur offrendo una velocità impressionante GPU , YOLOv7 un rilevatore basato su anchor. Ciò significa che richiede un'attenta regolazione degli iperparametri degli anchor box per adattarsi alle scale specifiche degli oggetti in un set di dati personalizzato, un passaggio spesso automatizzato o eliminato nei modelli più recenti come YOLO11.

Scopri di più su YOLOv7

Analisi Approfondita dell'Architettura

Attenzione vs. Convoluzione

La differenza fondamentale risiede nel modo in cui questi modelli elaborano i dati visivi. YOLOv7 convoluzioni che scansionano l'immagine in finestre locali. Ciò lo rende incredibilmente veloce ed efficiente nel rilevare caratteristiche locali come bordi e texture, ma potenzialmente meno efficace nel comprendere le relazioni semantiche globali della scena.

RTDETRv2 utilizza meccanismi di auto-attenzione. Calcola la rilevanza di ogni pixel rispetto a tutti gli altri pixel (o all'interno di specifici punti di attenzione deformabili). Ciò consente al modello di "prestare attenzione" alle caratteristiche rilevanti indipendentemente dalla loro distanza spaziale, offrendo prestazioni superiori in scene affollate in cui gli oggetti si sovrappongono in modo significativo.

Post-elaborazione e NMS

YOLOv7, come i suoi predecessori YOLOv5 e YOLOv6, produce previsioni dense che devono essere filtrate utilizzando NMS. Questo passaggio è un processo euristico che può rappresentare un collo di bottiglia in scenari affollati e introduce iperparametri (IoU ) che influenzano la precisione e il richiamo.

RTDETRv2 è NMS. Utilizza l'abbinamento bipartito durante l'addestramento per assegnare un oggetto di verità di base a una sola previsione. Ciò semplifica la pipeline di implementazione, poiché non è necessario implementare NMS in ONNX o TensorRT .

Il meglio dei due mondi

Mentre RTDETRv2 ha aperto la strada al rilevamento NMS per i trasformatori in tempo reale, Ultralytics ha adattato con successo questo concetto alle CNN. YOLO26 utilizza un design nativamente end-to-end che elimina NMS il basso ingombro di memoria e l'elevata efficienza di addestramento delle CNN.

Il Vantaggio Ultralytics: Perché Aggiornare a YOLO26?

Sebbene l'analisi dei modelli precedenti fornisca un contesto prezioso, avviare un nuovo progetto con Ultralytics offre vantaggi significativi in termini di prestazioni, usabilità e garanzia di compatibilità futura. YOLO26 rappresenta lo stato dell'arte attuale, perfezionando le lezioni apprese sia da YOLOv7 da RTDETR.

1. End-to-end nativo (NMS)

Come RTDETRv2, YOLO26 è progettato per essere NMS, utilizzando una testa One-to-Many per l'addestramento e una testa One-to-One per l'inferenza. Ciò elimina il sovraccarico di post-elaborazione presente in YOLOv7, consentendo un'implementazione più rapida e semplice su dispositivi edge come NVIDIA o Raspberry Pi.

2. CPU superiori

I trasformatori come RTDETRv2 sono spesso pesanti in termini di operazioni matematiche che richiedono GPU . YOLO26 include ottimizzazioni specifiche per CPU , raggiungendo velocità fino al 43% più elevate suGPU rispetto alle iterazioni precedenti. Ciò lo rende molto più versatile per le app mobili o i sensori IoT a bassa potenza.

3. Formazione avanzata sulla stabilità

YOLO26 introduce MuSGD Optimizer, un ibrido tra SGD Muon Optimizer (ispirato a Kimi K2 di Moonshot AI). Questo porta le innovazioni in termini di stabilità dall'addestramento dei modelli linguistici di grandi dimensioni (LLM) alla visione artificiale, garantendo che i modelli convergano più rapidamente e con maggiore precisione rispetto allo SGD standard SGD in YOLOv7.

4. Funzioni di perdita specializzate

Con ProgLoss e STAL, YOLO26 offre funzionalità migliorate per il riconoscimento di oggetti di piccole dimensioni, un punto debole tradizionale sia per le CNN standard che per alcune architetture transformer. Ciò è fondamentale per attività quali l'analisi di immagini aeree o il controllo qualità nella produzione.

5. Ultralytics unificata

Lo sviluppo con YOLOv7 RTDETRv2 spesso comporta la gestione di repository disparati e script di installazione complessi. La Ultralytics unifica il flusso di lavoro. È possibile addestrare, convalidare e distribuire modelli per il rilevamento, la segmentazione, la classificazione, la stima della posa e l'OBB utilizzando un'unica e semplice API.

from ultralytics import YOLO

# Load the latest YOLO26 model (NMS-free, highly optimized)
model = YOLO("yolo26n.pt")

# Train on COCO dataset with the new MuSGD optimizer
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

Scopri di più su YOLO26

Raccomandazioni sui casi d'uso

  • Scegli RTDETRv2 se: hai accesso a GPU potenti (come NVIDIA o A100) e la tua applicazione prevede scene molto affollate in cui l'occlusione è un importante punto di fallimento per le CNN. L'attenzione al contesto globale può fornire un leggero vantaggio in questi scenari specifici.
  • Scegli YOLOv7 : stai gestendo sistemi legacy che si basano specificatamente sui formati YOLO più vecchi o se hai bisogno di un approccio CNN puro ma non puoi aggiornare a Python più recenti supportati da Ultralytics.
  • Scegli Ultralytics se: hai bisogno del miglior equilibrio tra velocità e precisione su tutti i tipi di hardware (CPU, GPU, NPU). La rimozione del DFL semplifica l'esportazione in CoreML o TFLite, e la sua efficienza di memoria consente l'addestramento su GPU di livello consumer. Che tu stia costruendo un sistema di allarme di sicurezza o un gestore di parcheggi intelligente, l'ampia documentazione e il supporto attivo della comunità lo rendono la scelta a minor rischio per l'implementazione aziendale.

Conclusione

Sia RTDETRv2 che YOLOv7 in modo significativo al progresso della visione artificiale. RTDETRv2 ha dimostrato che i trasformatori possono essere veloci, mentre YOLOv7 la potenza duratura delle CNN ben ottimizzate. Tuttavia, il settore è in rapida evoluzione.

Per gli sviluppatori e i ricercatori di oggi, Ultralytics offre il meglio di entrambi i mondi, integrando la praticità dei trasformatori NMS con la velocità e l'efficienza delle CNN. Supportato da un ecosistema robusto che semplifica ogni fase, dall'annotazione dei dati all'esportazione dei modelli, rimane il punto di partenza consigliato per i moderni progetti di IA.


Commenti