RT-DETR da Baidu: um detetor de objectos em tempo real baseado no transformador de visão
Visão geral
O Real-Time Detection TransformerRT-DETR), desenvolvido pela Baidu, é um detetor de objectos de ponta a ponta que proporciona um desempenho em tempo real, mantendo uma elevada precisão. Baseia-se na ideia do DETR (a estrutura sem NMS), introduzindo entretanto um backbone baseado em conv e um codificador híbrido eficiente para ganhar velocidade em tempo real. RT-DETR processa eficazmente caraterísticas multiescala, dissociando a interação intra-escala e a fusão inter-escala. O modelo é altamente adaptável, suportando um ajuste flexível da velocidade de inferência utilizando diferentes camadas de descodificadores sem necessidade de reciclagem. RT-DETR destaca-se em backends acelerados como CUDA com TensorRT, superando muitos outros detectores de objectos em tempo real.
Ver: 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 três últimas fases da espinha dorsal {S3, S4, S5} como entrada para o codificador. O codificador híbrido eficiente transforma as caraterísticas multiescala numa sequência de caraterísticas de imagem através da interação de caraterísticas intra-escala (AIFI) e do módulo de fusão de caraterísticas inter-escala (CCFM). A seleção de consulta consciente de IoU é utilizada para selecionar um número fixo de caraterísticas de imagem para servir como consultas de objeto 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).
Caraterísticas principais
- Codificador híbrido eficiente: O RT-DETR da Baidu utiliza um codificador híbrido eficiente que processa caraterí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 na 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.
- Estrutura sem NMS: Baseado no DETR, RT-DETR elimina a necessidade de pós-processamento de supressão não máxima, simplificando o pipeline de deteção e melhorando potencialmente a eficiência.
- Deteção sem âncoras: Como detetor sem âncoras, RT-DETR simplifica o processo de deteção e pode melhorar a generalização em diferentes conjuntos de dados.
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
Além disso, a Baidu lançou o RTDETRv2 em julho de 2024, que melhora ainda mais a arquitetura original com métricas de desempenho melhoradas.
Exemplos de utilização
Este exemplo fornece exemplos simples de treinamento e inferência em RT-DETR . Para obter documentação completa sobre estes e outros modos, consulte as páginas de documentação Prever, Treinar, Val e Exportar.
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) 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 | ✅ | ✅ | ✅ | ✅ |
Casos de utilização ideais
RT-DETR é particularmente adequado para aplicações que requerem uma elevada precisão e desempenho em tempo real:
- Condução autónoma: Para uma perceção ambiental fiável em sistemas de condução autónoma em que tanto a velocidade como a precisão são críticas. Saiba mais sobre a IA em carros autónomos.
- Robótica avançada: Permitir que os robôs realizem tarefas complexas que exijam o reconhecimento preciso de objectos e a interação em ambientes dinâmicos. Explorar o papel da IA na robótica.
- Imagiologia médica: Para aplicações nos cuidados de saúde em que a precisão na deteção de objectos pode ser crucial para o diagnóstico. Descubra a IA nos cuidados de saúde.
- Sistemas de vigilância: Para aplicações de segurança que requerem monitorização em tempo real com elevada precisão de deteção. Saiba mais sobre sistemas de alarme de segurança.
- Análise de imagens de satélite: Para uma análise detalhada de imagens de alta resolução em que a compreensão do contexto global é importante. Leia sobre visão computacional em imagens de satélite.
Citações e agradecimentos
Se utilizar o RT-DETR da Baidu no seu trabalho de investigação ou desenvolvimento, cite o artigo original:
Para o RTDETRv2, pode citar o documento de 2024:
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 Vision Transformers, RT-DETR, é muito apreciada.
FAQ
O que é o modelo RT-DETR do 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 caraterí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 RT-DETR adequado para vários cenários de deteção de objectos em tempo real. Saiba mais sobre as caraterísticas RT-DETR no artigoRT-DETR Arxiv.
Como posso utilizar os modelos RT-DETR pré-treinados fornecidos por Ultralytics?
Pode 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, pode 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 consciência 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. A arquitetura do transformador também proporciona uma melhor compreensão do contexto global em comparação com os detectores tradicionais baseados em CNN.
Como é que o RT-DETR suporta uma velocidade de inferência adaptável para diferentes aplicações em tempo real?
O RT-DETR da Baidu permite ajustes flexíveis da velocidade de inferência, utilizando diferentes camadas de descodificadores sem necessidade de reciclagem. Esta adaptabilidade é crucial para escalar o desempenho em várias tarefas de deteção de objectos em tempo real. Quer necessite de um processamento mais rápido para necessidades de menor precisão ou de detecções mais lentas e precisas, RT-DETR pode ser adaptado para satisfazer os seus requisitos específicos. Esta caraterística é particularmente valiosa quando se implementam modelos em dispositivos com diferentes capacidades computacionais.
Posso utilizar os modelos RT-DETR com outros modos Ultralytics , tais como formação, validação e exportação?
Sim, os modelos RT-DETR são compatíveis com vários modos Ultralytics , incluindo formação, validação, previsão e exportação. Pode consultar a respectiva documentação para obter instruções detalhadas sobre como utilizar estes modos: Treinar, Validar, Prever e Exportar. Isto assegura um fluxo de trabalho abrangente para o desenvolvimento e implementação das suas soluções de deteção de objectos. A estrutura Ultralytics fornece uma API consistente em diferentes arquitecturas de modelos, facilitando o trabalho com modelos RT-DETR .