Ultralytics YOLO27:
Get Started

RTDETRv2 vs YOLOv9#

Il campo della visione artificiale ha visto una divergenza interessante tra diverse filosofie architetturali, soprattutto tra reti neurali convoluzionali (CNN) e modelli basati su Transformer. Confrontando RTDETRv2 e YOLOv9, gli sviluppatori valutano sostanzialmente i compromessi tra i meccanismi di attenzione globale e le informazioni di gradiente programmabili. Entrambi i modelli rappresentano il massimo dei rispettivi paradigmi e ampliano i limiti del rilevamento di oggetti in tempo reale.

Introduzione ai modelli#

RTDETRv2: Real-Time Detection Transformer#

Sviluppato dai ricercatori di Baidu, RTDETRv2 si basa sull'originale RT-DETR introducendo un insieme di accorgimenti, il cosiddetto "Bag-of-Freebies", per migliorare il Real-Time Detection Transformer di base. Affronta il tradizionale collo di bottiglia dei Transformer, ossia la velocità di inferenza, rendendoli utilizzabili nelle applicazioni in tempo reale.

  • Autori: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
  • Organizzazione: Baidu
  • Data: 2024-07-24
  • Link: Arxiv, GitHub

Una caratteristica distintiva di RTDETRv2 è la sua architettura end-to-end nativamente senza NMS. Eliminando completamente la soppressione dei non massimi (NMS) durante la post-elaborazione, il modello stabilizza la latenza di inferenza e semplifica la pipeline di deployment. Il meccanismo di attenzione globale consente al modello di eccellere nella comprensione di scene complesse e folle dense, poiché valuta simultaneamente il contesto dell'intera immagine.

Scopri di più su RTDETRv2

YOLOv9: informazioni di gradiente programmabili#

YOLOv9, un'architettura basata su CNN altamente efficiente, affronta il problema del collo di bottiglia delle informazioni tipico delle reti neurali profonde. Introduce Programmable Gradient Information (PGI) e la Generalized Efficient Layer Aggregation Network (GELAN).

YOLOv9 si basa sui comprovati fondamenti delle reti neurali convoluzionali, ma massimizza l'efficienza dei parametri. Conservando le informazioni cruciali durante il processo di feed-forward, garantisce aggiornamenti affidabili dei pesi e ottiene un modello estremamente leggero e al tempo stesso molto preciso. Tuttavia, a differenza di RTDETRv2, YOLOv9 continua a utilizzare la normale post-elaborazione NMS.

Scopri di più su YOLOv9

Prestazioni ed efficienza delle risorse#

Nella valutazione di questi modelli per la produzione, è fondamentale bilanciare la precisione media (mAP) e il costo computazionale. La tabella seguente illustra le prestazioni sul dataset MS 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
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5

Requisiti di memoria ed efficienza di addestramento#

I Transformer come RTDETRv2 richiedono notoriamente molta memoria durante l'addestramento e spesso necessitano di notevoli quantità di memoria CUDA e cicli di addestramento più lunghi per convergere completamente. Al contrario, le architetture CNN come YOLOv9 e altri modelli YOLO di Ultralytics consumano molta meno memoria, consentendo agli sviluppatori di addestrare modelli con batch di dimensioni maggiori su hardware consumer.

Addestramento efficiente

Per sfruttare al massimo l'hardware, valuta l'uso della piattaforma Ultralytics per semplificare l'addestramento nel cloud. La piattaforma gestisce automaticamente la configurazione dell'ambiente e la scelta ottimale della dimensione del batch.

I vantaggi di Ultralytics: ecosistema e facilità d'uso#

Esaminare repository autonomi come le pagine GitHub ufficiali di RTDETRv2 o YOLOv9 può essere molto utile a livello formativo, ma gli ambienti di produzione richiedono stabilità, facilità d'uso e un ecosistema ben mantenuto. Integrare questi modelli tramite l'API Python di Ultralytics offre un'esperienza di sviluppo semplice e fluida.

API unificata e versatilità#

Il framework Ultralytics astrae le complessità del caricamento dei dati, degli aumenti dei dati e dell'addestramento distribuito. Inoltre, mentre RTDETRv2 originale è incentrato esclusivamente sul rilevamento, l'ecosistema Ultralytics consente agli utenti di passare facilmente tra il rilevamento degli oggetti, la segmentazione di istanze e la stima della posa.

from ultralytics import RTDETR, YOLO

# Addestra un modello YOLOv9 su dati personalizzati
model_yolo = YOLO("yolov9c.pt")
model_yolo.train(data="coco8.yaml", epochs=50, imgsz=640)

# Passa facilmente a RT-DETR per valutare scene complesse
model_rtdetr = RTDETR("rtdetr-l.pt")
results = model_rtdetr.predict("https://ultralytics.com/images/bus.jpg")

# Esporta in formati pronti per la produzione, come TensorRT
model_yolo.export(format="engine")

Grazie alla documentazione completa, al tracciamento automatico degli esperimenti e alle funzionalità di esportazione senza interruzioni in formati come ONNX, TensorRT e OpenVINO, Ultralytics riduce drasticamente il tempo che intercorre tra prototipo e produzione.

Casi d'uso ideali#

Dove RTDETRv2 dà il meglio#

Grazie al suo meccanismo di attenzione globale, RTDETRv2 è una soluzione potente per l'elaborazione lato server e gli ambienti in cui il contesto globale è fondamentale. Eccelle in:

  • Imaging medico: individuazione di anomalie impercettibili, per le quali il contesto circostante è fondamentale.
  • Sorveglianza aerea: individuazione di oggetti di piccole dimensioni in filmati di droni ad alta risoluzione, senza le distorsioni spaziali delle convoluzioni CNN tradizionali.
  • Analisi di folle dense: tracciamento delle persone, in situazioni in cui le occlusioni gravi confondono normalmente i modelli basati su anchor.

Dove YOLOv9 dà il meglio#

YOLOv9 è un campione per le implementazioni edge con risorse limitate. La sua efficienza computazionale lo rende ideale per:

  • Robotica: navigazione in tempo reale ed evitamento degli ostacoli, quando è necessaria una latenza minima.
  • IoT per le smart city: implementazione su dispositivi edge come NVIDIA Jetson per il monitoraggio del traffico.
  • Ispezione industriale: controllo qualità ad alta velocità sulle linee di assemblaggio, che richiede un elevato numero di fotogrammi al secondo (FPS).

Il futuro: arriva Ultralytics YOLO26#

Sebbene YOLOv9 e RTDETRv2 rappresentino enormi passi avanti, il panorama si è evoluto rapidamente. Per le implementazioni moderne, il nuovo Ultralytics YOLO26 rappresenta la sintesi ottimale di entrambe le filosofie architetturali.

Combinando gli aspetti migliori dei Transformer e delle CNN, YOLO26 stabilisce un nuovo standard:

  • Design end-to-end senza NMS: come RTDETRv2, YOLO26 supporta l'inferenza nativa end-to-end e salta la post-elaborazione NMS con nms=False, per pipeline di implementazione più rapide, semplici e altamente prevedibili.
  • Ottimizzatore MuSGD: ispirato alle tecniche di addestramento dei modelli linguistici di grandi dimensioni (LLM), come Kimi K2 di Moonshot AI, YOLO26 utilizza un ibrido di SGD e Muon. Questo garantisce una stabilità di addestramento senza pari e una convergenza rapida nella computer vision.
  • Inferenza su CPU fino al 43% più veloce: a differenza dei Transformer più pesanti, YOLO26 è ottimizzato per il calcolo edge e per i dispositivi senza GPU.
  • Rimozione di DFL: l'eliminazione della Distribution Focal Loss semplifica notevolmente il grafo del modello, garantendo un'esportazione senza problemi su dispositivi edge a basso consumo e unità di elaborazione neurale integrate (NPUs).
  • ProgLoss + STAL: queste funzioni di loss migliorate potenziano notevolmente il riconoscimento degli oggetti di piccole dimensioni, una caratteristica fondamentale per l'IoT e i dataset aerei.

Per i team che vogliono avviare un nuovo progetto di computer vision, consigliamo vivamente di valutare YOLO26. Offre l'eleganza opzionale senza NMS di un Transformer, insieme alla velocità eccezionale e all'efficienza di addestramento di un'architettura YOLO altamente ottimizzata.

Riepilogo#

La scelta tra RTDETRv2 e YOLOv9 dipende soprattutto dall'hardware di implementazione e dalle specifiche esigenze di precisione. RTDETRv2 offre una precisione all'avanguardia e consapevolezza del contesto per le applicazioni supportate da server, mentre YOLOv9 garantisce un'efficienza eccezionale sui dispositivi edge.

Tuttavia, sfruttando l'ecosistema maturo di Ultralytics, gli sviluppatori possono sperimentare facilmente sia con YOLOv9 sia con RT-DETR originale. Inoltre, con l'arrivo di modelli più recenti come YOLO11 e del modello YOLO26 nativamente end-to-end, trovare il giusto equilibrio tra inferenza ad alta velocità, supporto versatile per le attività e basso consumo di memoria non è mai stato così semplice.

Commenti