Ultralytics YOLO27:

RTDETRv2 vs YOLOv9#

Il campo della visione artificiale ha assistito a una divergenza affascinante tra filosofie architetturali, principalmente tra le reti neurali convoluzionali (CNN) e i modelli basati su Transformer. Nel confrontare RTDETRv2 e YOLOv9, gli sviluppatori stanno essenzialmente valutando i compromessi tra i meccanismi di attenzione globale e le informazioni programmabili sul gradiente. Entrambi i modelli rappresentano l'apice dei rispettivi paradigmi e ampliano i limiti del rilevamento degli oggetti in tempo reale.

Introduzione ai modelli#

RTDETRv2: Transformer per il rilevamento in tempo reale#

Sviluppato da ricercatori di Baidu, RTDETRv2 si basa sul RT-DETR originale introducendo una "Bag-of-Freebies" per migliorare il Transformer di base per il rilevamento in tempo reale. Affronta il tradizionale collo di bottiglia dei Transformer, ovvero la velocità di inferenza, rendendoli adatti alle 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 è il suo design nativamente end-to-end senza NMS. Rimuovendo completamente la soppressione dei massimi non massimi (NMS) durante il post-processing, 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 numerose, poiché valuta simultaneamente il contesto dell'intera immagine.

Scopri di più su RTDETRv2

YOLOv9: informazioni programmabili sul gradiente#

YOLOv9, un'architettura altamente efficiente basata su CNN, affronta il problema del collo di bottiglia informativo intrinseco nelle reti neurali profonde. Introduce le informazioni programmabili sul gradiente (PGI) e la rete di aggregazione dei livelli generalizzata ed efficiente (GELAN).

YOLOv9 si basa sui collaudati fondamenti delle reti neurali convoluzionali, ma massimizza l'efficienza dei parametri. Conservando le informazioni cruciali durante il processo feed-forward, garantisce aggiornamenti affidabili dei pesi, risultando in un modello incredibilmente leggero e al contempo altamente accurato. Tuttavia, a differenza di RTDETRv2, YOLOv9 si basa ancora sul post-processing NMS standard.

Scopri di più su YOLOv9

Prestazioni ed efficienza delle risorse#

Quando si valutano questi modelli per la produzione, è fondamentale bilanciare la precisione media (mAP) con il costo computazionale. La tabella seguente illustra le loro 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.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Requisiti di memoria ed efficienza di addestramento#

I Transformer come RTDETRv2 sono notoriamente intensivi in termini di memoria durante l'addestramento e spesso richiedono una quantità considerevole di memoria CUDA e cicli di addestramento più lunghi per convergere completamente. Al contrario, le architetture CNN come YOLOv9 e altri modelli Ultralytics YOLO offrono un utilizzo della memoria eccezionalmente ridotto, consentendo agli sviluppatori di addestrare con batch di dimensioni maggiori su hardware di livello consumer.

Addestramento efficiente

Per massimizzare l'utilizzo dell'hardware, valuta l'utilizzo della Ultralytics Platform per semplificare l'addestramento nel cloud. Gestisce automaticamente la configurazione dell'ambiente e il dimensionamento ottimale dei batch.

Il vantaggio di Ultralytics: ecosistema e facilità d'uso#

Sebbene studiare repository indipendenti come le pagine GitHub ufficiali di RTDETRv2 o YOLOv9 possa essere molto istruttivo, gli ambienti di produzione richiedono stabilità, facilità d'uso e un ecosistema ben mantenuto. L'integrazione di questi modelli tramite l'API Python di Ultralytics offre un'esperienza di sviluppo 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 è strettamente focalizzato sul rilevamento, l'ecosistema Ultralytics consente agli utenti di passare facilmente dal Rilevamento degli oggetti alla Segmentazione delle istanze e alla Stima della posa.

from ultralytics import RTDETR, YOLO

# Train a YOLOv9 model on custom data
model_yolo = YOLO("yolov9c.pt")
model_yolo.train(data="coco8.yaml", epochs=50, imgsz=640)

# Easily switch to RT-DETR for complex scene evaluation
model_rtdetr = RTDETR("rtdetr-l.pt")
results = model_rtdetr.predict("https://ultralytics.com/images/bus.jpg")

# Export to production-ready formats like TensorRT
model_yolo.export(format="engine")

Grazie a una documentazione completa, al tracciamento automatico degli esperimenti e a funzionalità di esportazione fluide verso formati come ONNX, TensorRT e OpenVINO, Ultralytics riduce drasticamente il tempo necessario per passare dal prototipo alla produzione.

Casi d'uso ideali#

Dove RTDETRv2 eccelle#

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: identificazione di anomalie sottili in cui il contesto circostante è fondamentale.
  • Sorveglianza aerea: individuazione di oggetti di piccole dimensioni in filmati ad alta risoluzione acquisiti da droni, senza i bias spaziali delle convoluzioni CNN tradizionali.
  • Analisi di folle numerose: tracciamento degli individui quando un'occlusione grave normalmente confonde i modelli basati su anchor.

Dove YOLOv9 eccelle#

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

  • Robotica: navigazione in tempo reale ed evitamento degli ostacoli quando è richiesta una latenza minima.
  • IoT per smart city: deployment 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 numero elevato di fotogrammi al secondo (FPS).

Il futuro: arriva Ultralytics YOLO26#

Sebbene YOLOv9 e RTDETRv2 rappresentino enormi passi avanti, il panorama si è evoluto rapidamente. Per i deployment moderni, il nuovo Ultralytics YOLO26 rappresenta la sinergia definitiva tra entrambe le filosofie architetturali.

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

  • Design end-to-end senza NMS: come RTDETRv2, YOLO26 è nativamente end-to-end ed elimina completamente il post-processing NMS, per pipeline di deployment 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 una combinazione di SGD e Muon. Questo offre una stabilità di addestramento senza precedenti e una convergenza rapida nella visione artificiale.
  • Inferenza su CPU fino al 43% più veloce: a differenza dei Transformer pesanti, YOLO26 è fortemente ottimizzato per l'edge computing e per i dispositivi privi di GPU.
  • Rimozione di DFL: la rimozione della Distribution Focal Loss semplifica notevolmente il grafo del modello, garantendo un'esportazione impeccabile verso dispositivi edge a basso consumo e unità di elaborazione neurale (NPU) integrate.
  • ProgLoss + STAL: queste funzioni di perdita migliorate potenziano notevolmente il riconoscimento degli oggetti di piccole dimensioni, una caratteristica fondamentale per i dataset IoT e aerei.

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

La scelta tra RTDETRv2 e YOLOv9 dipende in gran parte dall'hardware di deployment e dai requisiti specifici di accuratezza. RTDETRv2 offre accuratezza all'avanguardia e consapevolezza del contesto per le applicazioni supportate da server, mentre YOLOv9 garantisce un'efficienza eccezionale sui dispositivi edge.

Tuttavia, sfruttando il maturo ecosistema Ultralytics, gli sviluppatori possono sperimentare facilmente con entrambi. Inoltre, con l'introduzione di modelli più recenti come YOLO11 e YOLO26 nativamente end-to-end, trovare il compromesso ideale tra inferenza ad alta velocità, supporto versatile alle attività e basso consumo di memoria non è mai stato così semplice.

Commenti