Salta para o conteúdo

RT-DETR da Baidu: um detetor de objectos em tempo real baseado no transformador de visão

Visão geral

O Real-Time Detection Transformer (RT-DETR), desenvolvido pela Baidu, é um detetor de objectos de ponta a ponta que proporciona um desempenho em tempo real, mantendo uma elevada precisão. Aproveita o poder dos Transformadores de Visão (ViT) para processar eficazmente características multiescala, dissociando a interação intra-escala e a fusão inter-escala. RT-DETR é altamente adaptável, suportando o ajuste flexível da velocidade de inferência utilizando diferentes camadas de descodificadores sem reciclagem. O modelo destaca-se em backends acelerados como CUDA com TensorRT, superando muitos outros detectores de objectos em tempo real.



Observa: Transformador de deteção em tempo real (RT-DETR)

Imagem de exemplo de modelo 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

  • Codificador híbrido eficiente: O RT-DETR da Baidu utiliza um codificador híbrido eficiente que processa características de várias escalas, dissociando a interação intra-escala e a fusão entre escalas. Este design único baseado em Transformadores de Visão reduz os custos computacionais e permite a deteção de objectos em tempo real.
  • 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 AP no COCO val2017, 114 FPS no GPU T4
  • RT-DETR-X: 54,8% de AP no COCO val2017, 74 FPS no GPU T4

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')
# Load a COCO-pretrained RT-DETR-l model and train it on the COCO8 example dataset for 100 epochs
yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained RT-DETR-l model and run inference on the 'bus.jpg' image
yolo predict model=rtdetr-l.pt source=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:

@misc{lv2023detrs,
      title={DETRs Beat YOLOs on Real-time Object Detection},
      author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu},
      year={2023},
      eprint={2304.08069},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Gostaríamos de agradecer à Baidu e à equipa PaddlePaddle pela criação e manutenção deste valioso recurso para a comunidade da visão computacional. A sua contribuição para o campo com o desenvolvimento do detetor de objectos em tempo real baseado em Transformadores de Visão, RT-DETR, é muito apreciada.

Palavras-chave: RT-DETR, Transformer, ViT, Vision Transformers, Baidu RT-DETR, PaddlePaddle, Paddle Paddle RT-DETR, deteção de objectos em tempo real, deteção de objectos baseada em Vision Transformers, modelos pré-treinados PaddlePaddle RT-DETR , utilização de RT-DETR da Baidu, Ultralytics Python API



Criado em 2023-11-12, Atualizado em 2024-04-17
Autores: glenn-jocher (9), RizwanMunawar (1)

Comentários