Baidu's RT-DETR: A Vision Transformer-Based Real-Time Object Detector
Visão geral
Real-Time Detection Transformer (RT-DETR), developed by Baidu, is a cutting-edge end-to-end object detector that provides real-time performance while maintaining high accuracy. It is based on the idea of DETR (the NMS-free framework), meanwhile introducing conv-based backbone and an efficient hybrid encoder to gain real-time speed. RT-DETR efficiently processes multiscale features by decoupling intra-scale interaction and cross-scale fusion. The model is highly adaptable, supporting flexible adjustment of inference speed using different decoder layers without retraining. RT-DETR excels on accelerated backends like CUDA with TensorRT, outperforming many other real-time object detectors.
Observa: Transformador de deteção em tempo real (RT-DETR)
Visão geral da Baidu RT-DETR. O diagrama de arquitetura do modelo RT-DETR mostra as últimas três fases do backbone {S3, S4, S5} como entrada para o codificador. O codificador híbrido eficiente transforma as características multiescala numa sequência de características de imagem através da interação de características intra-escala (AIFI) e do módulo de fusão de características inter-escala (CCFM). A seleção de consultas com reconhecimento de IoU é utilizada para selecionar um número fixo de características de imagem para servir de consultas de objectos iniciais para o descodificador. Finalmente, o descodificador com cabeças de previsão auxiliares optimiza iterativamente as consultas de objectos para gerar caixas e pontuações de confiança (fonte).
Características principais
- Efficient Hybrid Encoder: Baidu's RT-DETR uses an efficient hybrid encoder that processes multiscale features by decoupling intra-scale interaction and cross-scale fusion. This unique Vision Transformers-based design reduces computational costs and allows for real-time object detection.
- Seleção de consultas com conhecimento da IoU: O RT-DETR da Baidu melhora a inicialização da consulta de objectos utilizando a seleção de consultas com conhecimento da IoU. Isto permite que o modelo se concentre nos objectos mais relevantes da cena, melhorando a precisão da deteção.
- Velocidade de inferência adaptável: O RT-DETR da Baidu suporta ajustes flexíveis da velocidade de inferência, utilizando diferentes camadas de descodificadores sem necessidade de reciclagem. Esta adaptabilidade facilita a aplicação prática em vários cenários de deteção de objectos em tempo real.
Modelos pré-treinados
A API Ultralytics Python fornece modelos pré-treinados PaddlePaddle RT-DETR com diferentes escalas:
- RT-DETR-L: 53.0% de PA no COCO val2017, 114 FPS no T4 GPU
- RT-DETR-X: 54,8% de PA no COCO val2017, 74 FPS no T4 GPU
Exemplos de utilização
Este exemplo fornece exemplos simples de treinamento e inferência em RT-DETR . Para obter a documentação completa sobre estes e outros modos, consulta as páginas de documentação Predict, Train, Val e Export.
Exemplo
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")
Tarefas e modos suportados
Esta tabela apresenta os tipos de modelos, os pesos pré-treinados específicos, as tarefas suportadas por cada modelo e os vários modos(Train, Val, Predict, Export) que são suportados, indicados por emojis ✅.
Tipo de modelo | Pesos pré-treinados | Tarefas suportadas | Inferência | Validação | Formação | Exportação |
---|---|---|---|---|---|---|
RT-DETR Grande | rtdetr-l.pt | Deteção de objectos | ✅ | ✅ | ✅ | ✅ |
RT-DETR Extra-grande | rtdetr-x.pt | Deteção de objectos | ✅ | ✅ | ✅ | ✅ |
Citações e agradecimentos
Se utilizares o RT-DETR da Baidu no teu trabalho de investigação ou desenvolvimento, por favor cita o artigo original:
We would like to acknowledge Baidu and the PaddlePaddle team for creating and maintaining this valuable resource for the computer vision community. Their contribution to the field with the development of the Vision Transformers-based real-time object detector, RT-DETR, is greatly appreciated.
FAQ
O que é o modelo RT-DETR da Baidu e como funciona?
O RT-DETR (Real-Time Detection Transformer) da Baidu é um detetor avançado de objectos em tempo real, construído com base na arquitetura do Vision Transformer. Processa eficazmente características multiescala, dissociando a interação intra-escala e a fusão inter-escala através do seu eficiente codificador híbrido. Ao empregar a seleção de consulta consciente da IoU, o modelo concentra-se nos objectos mais relevantes, melhorando a precisão da deteção. A sua velocidade de inferência adaptável, conseguida através do ajuste das camadas do descodificador sem reciclagem, torna o RT-DETR adequado para vários cenários de deteção de objectos em tempo real. Sabe mais sobre as funcionalidades do RT-DETR aqui.
Como posso utilizar os modelos RT-DETR pré-treinados fornecidos por Ultralytics?
Podes tirar partido da API Ultralytics Python para utilizar modelos pré-treinados PaddlePaddle RT-DETR . Por exemplo, para carregar um modelo RT-DETR-l pré-treinado no COCO val2017 e obter um FPS elevado no T4 GPU, podes utilizar o seguinte exemplo:
Exemplo
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")
Por que razão devo escolher o RT-DETR da Baidu em vez de outros detectores de objectos em tempo real?
O RT-DETR da Baidu destaca-se pelo seu eficiente codificador híbrido e pela seleção de consultas com conhecimento da IoU, que reduzem drasticamente os custos computacionais, mantendo uma elevada precisão. A sua capacidade única de ajustar a velocidade de inferência através da utilização de diferentes camadas de descodificadores sem reciclagem acrescenta uma flexibilidade significativa. Isto torna-o particularmente vantajoso para aplicações que requerem desempenho em tempo real em backends acelerados como CUDA com TensorRT, superando muitos outros detectores de objectos em tempo real.
Como é que o RT-DETR suporta uma velocidade de inferência adaptável para diferentes aplicações em tempo real?
Baidu's RT-DETR allows flexible adjustments of inference speed by using different decoder layers without requiring retraining. This adaptability is crucial for scaling performance across various real-time object detection tasks. Whether you need faster processing for lower precision needs or slower, more accurate detections, RT-DETR can be tailored to meet your specific requirements.
Posso utilizar os modelos de RT-DETR com outros modos de Ultralytics , tais como formação, validação e exportação?
Sim, os modelos do RT-DETR são compatíveis com vários modos do Ultralytics , incluindo treinamento, validação, previsão e exportação. Podes consultar a respectiva documentação para obteres instruções detalhadas sobre como utilizar estes modos: Treina, valida, prevê e exporta. Isto assegura um fluxo de trabalho abrangente para desenvolver e implementar as tuas soluções de deteção de objectos.