Baidu RT-DETR: un rilevatore di oggetti in tempo reale basato su un trasformatore di visione
Panoramica
Real-Time Detection Transformer (RT-DETR), sviluppato da Baidu, è un rilevatore di oggetti end-to-end all'avanguardia che fornisce prestazioni in tempo reale mantenendo un'elevata precisione. Si basa sull'idea di DETR (il framework privo di NMS), introducendo nel contempo una struttura portante basata su conv e un efficiente codificatore ibrido per ottenere velocità in tempo reale. RT-DETR elabora in modo efficiente caratteristiche multiscala disaccoppiando l'interazione intrascala e la fusione interscala. Il modello è altamente adattabile e supporta una regolazione flessibile della velocità di inferenza utilizzando diversi livelli di decodifica senza riqualificazione. RT-DETR eccelle su backend accelerati come CUDA con TensorRT, superando molti altri rilevatori di oggetti in tempo reale.
Guarda: Trasformatore di rilevamento in tempo reale (RT-DETR)
Panoramica di Baidu RT-DETR. Il diagramma dell'architettura del modello RT-DETR mostra gli ultimi tre stadi del backbone {S3, S4, S5} come ingresso al codificatore. L'efficiente codificatore ibrido trasforma le caratteristiche multiscala in una sequenza di caratteristiche dell'immagine attraverso l'interazione delle caratteristiche intrascala (AIFI) e il modulo di fusione delle caratteristiche interscala (CCFM). La selezione di query IoU-aware viene impiegata per selezionare un numero fisso di caratteristiche dell'immagine da utilizzare come query iniziali dell'oggetto per il decodificatore. Infine, il decodificatore con teste di predizione ausiliarie ottimizza iterativamente le query degli oggetti per generare box e punteggi di confidenza (fonte).
Caratteristiche principali
- Codificatore ibrido efficiente: RT-DETR di Baidu utilizza un efficiente codificatore ibrido che elabora caratteristiche multiscala disaccoppiando l'interazione intrascala e la fusione interscala. Questo esclusivo design basato su Vision Transformers riduce i costi di calcolo e consente di rilevare gli oggetti in tempo reale.
- Selezione delle query consapevole dell'IoU: RT-DETR di Baidu migliora l'inizializzazione delle query sugli oggetti utilizzando una selezione delle query consapevole dell'IoU. Ciò consente al modello di concentrarsi sugli oggetti più rilevanti della scena, migliorando l'accuratezza del rilevamento.
- Velocità di inferenza adattabile: RT-DETR di Baidu supporta regolazioni flessibili della velocità di inferenza utilizzando diversi livelli di decodifica senza necessità di riqualificazione. Questa adattabilità facilita l'applicazione pratica in vari scenari di rilevamento di oggetti in tempo reale.
Modelli pre-addestrati
L'API Ultralytics Python fornisce modelli preaddestrati PaddlePaddle RT-DETR con diverse scale:
- RT-DETR-L: 53,0% AP su COCO val2017, 114 FPS su T4 GPU
- RT-DETR-X: 54,8% AP su COCO val2017, 74 FPS su T4 GPU
Esempi di utilizzo
Questo esempio fornisce semplici esempi di addestramento e inferenza su RT-DETR . Per una documentazione completa su queste e altre modalità, consultare le pagine dei documenti Predict, Train, Val ed Export.
Esempio
from ultralytics import RTDETR
# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the RT-DETR-l model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Attività e modalità supportate
Questa tabella presenta i tipi di modello, i pesi specifici pre-addestrati, i compiti supportati da ciascun modello e le varie modalità(Train, Val, Predict, Export) supportate, indicate da ✅ emoji.
Tipo di modello | Pesi pre-addestrati | Attività supportate | Inferenza | Convalida | Formazione | Esportazione |
---|---|---|---|---|---|---|
RT-DETR Grande | rtdetr-l.pt | Rilevamento degli oggetti | ✅ | ✅ | ✅ | ✅ |
RT-DETR Extra-Large | rtdetr-x.pt | Rilevamento degli oggetti | ✅ | ✅ | ✅ | ✅ |
Citazioni e ringraziamenti
Se utilizzate il sito RT-DETR di Baidu nel vostro lavoro di ricerca o sviluppo, siete pregati di citare il documento originale:
Desideriamo ringraziare Baidu e il suo team per aver creato e mantenuto questa preziosa risorsa per la comunità della computer vision. PaddlePaddle per aver creato e mantenuto questa preziosa risorsa per la comunità della computer vision. Il loro contributo al campo con lo sviluppo del rilevatore di oggetti in tempo reale basato su Vision Transformers, RT-DETR, è molto apprezzato.
FAQ
Che cos'è e come funziona il modello RT-DETR di Baidu?
RT-DETR (Real-Time Detection Transformer) di Baidu è un avanzato rilevatore di oggetti in tempo reale basato sull'architettura Vision Transformer. Elabora in modo efficiente le caratteristiche multiscala disaccoppiando l'interazione intrascala e la fusione interscala grazie al suo efficiente codificatore ibrido. Utilizzando una selezione delle query consapevole dell'IoU, il modello si concentra sugli oggetti più rilevanti, migliorando l'accuratezza del rilevamento. La velocità di inferenza adattabile, ottenuta regolando gli strati del decodificatore senza riqualificarlo, rende RT-DETR adatto a vari scenari di rilevamento di oggetti in tempo reale. Ulteriori informazioni sulle caratteristiche di RT-DETR sono disponibili qui.
Come posso utilizzare i modelli preaddestrati di RT-DETR forniti da Ultralytics?
È possibile sfruttare l'API Ultralytics Python per utilizzare i modelli preaddestrati PaddlePaddle RT-DETR . Ad esempio, per caricare un modello RT-DETR-l pre-addestrato su COCO val2017 e ottenere alti FPS su T4 GPU, si può utilizzare il seguente esempio:
Esempio
from ultralytics import RTDETR
# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the RT-DETR-l model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Perché scegliere RT-DETR di Baidu rispetto ad altri rilevatori di oggetti in tempo reale?
RT-DETR di Baidu si distingue per l'efficiente codificatore ibrido e la selezione delle query consapevole dell'IoU, che riducono drasticamente i costi computazionali mantenendo un'elevata precisione. La sua capacità unica di regolare la velocità di inferenza utilizzando diversi livelli di decodifica senza riqualificazione aggiunge una notevole flessibilità. Ciò lo rende particolarmente vantaggioso per le applicazioni che richiedono prestazioni in tempo reale su backend accelerati, come CUDA con TensorRT, surclassando molti altri rilevatori di oggetti in tempo reale.
In che modo RT-DETR supporta la velocità di inferenza adattabile per diverse applicazioni in tempo reale?
Il sito RT-DETR di Baidu consente di regolare in modo flessibile la velocità di inferenza, utilizzando diversi livelli di decodifica senza richiedere una riqualificazione. Questa adattabilità è fondamentale per scalare le prestazioni tra le varie attività di rilevamento di oggetti in tempo reale. Sia che abbiate bisogno di un'elaborazione più veloce per esigenze di precisione inferiori, sia che abbiate bisogno di rilevamenti più lenti e accurati, RT-DETR può essere adattato per soddisfare le vostre esigenze specifiche.
È possibile utilizzare i modelli di RT-DETR con altre modalità di Ultralytics , come l'addestramento, la convalida e l'esportazione?
Sì, i modelli di RT-DETR sono compatibili con varie modalità di Ultralytics , tra cui formazione, convalida, previsione ed esportazione. Per istruzioni dettagliate su come utilizzare queste modalità, si può fare riferimento alla rispettiva documentazione: Train, Val, Predict ed Export. Ciò garantisce un flusso di lavoro completo per lo sviluppo e la distribuzione delle soluzioni di rilevamento degli oggetti.