Saltar al contenido

Baidu's RT-DETR: Un Detector de Objetos en Tiempo Real Basado en Transformadores de Visi贸n

Visi贸n general

El Transformador de Detecci贸n en Tiempo Real (RT-DETR), desarrollado por Baidu, es un detector de objetos de 煤ltima generaci贸n que proporciona rendimiento en tiempo real manteniendo una gran precisi贸n. Se basa en la idea de DETR (el marco sin NMS), introduciendo al mismo tiempo una columna vertebral basada en conv y un codificador h铆brido eficiente para ganar velocidad en tiempo real. RT-DETR procesa eficazmente las caracter铆sticas multiescala desacoplando la interacci贸n intraescala y la fusi贸n entre escalas. El modelo es muy adaptable y admite el ajuste flexible de la velocidad de inferencia mediante distintas capas de decodificaci贸n sin necesidad de reentrenamiento. RT-DETR destaca en backends acelerados como CUDA con TensorRT, superando a muchos otros detectores de objetos en tiempo real.



Observa: Transformador de Detecci贸n en Tiempo Real (RT-DETR)

Modelo de imagen de ejemplo Visi贸n general de Baidu RT-DETR. El diagrama de arquitectura del modelo RT-DETR muestra las tres 煤ltimas etapas de la columna vertebral {S3, S4, S5} como entrada al codificador. El codificador h铆brido eficiente transforma las caracter铆sticas multiescala en una secuencia de caracter铆sticas de imagen mediante la interacci贸n de caracter铆sticas intraescala (AIFI) y el m贸dulo de fusi贸n de caracter铆sticas de escala cruzada (CCFM). La selecci贸n de consultas consciente de la IoU se emplea para seleccionar un n煤mero fijo de caracter铆sticas de imagen que sirvan como consultas de objeto iniciales para el descodificador. Por 煤ltimo, el descodificador con cabezas de predicci贸n auxiliares optimiza iterativamente las consultas de objetos para generar casillas y puntuaciones de confianza (fuente).

Caracter铆sticas principales

  • Codificador h铆brido eficiente: RT-DETR de Baidu utiliza un codificador h铆brido eficiente que procesa caracter铆sticas multiescala desacoplando la interacci贸n intraescala y la fusi贸n entre escalas. Este dise帽o 煤nico basado en Transformadores de Visi贸n reduce los costes computacionales y permite la detecci贸n de objetos en tiempo real.
  • Selecci贸n de consulta consciente de IoU: RT-DETR de Baidu mejora la inicializaci贸n de la consulta de objetos utilizando la selecci贸n de consulta consciente de IoU. Esto permite que el modelo se centre en los objetos m谩s relevantes de la escena, mejorando la precisi贸n de la detecci贸n.
  • Velocidad de inferencia adaptable: RT-DETR de Baidu admite ajustes flexibles de la velocidad de inferencia mediante el uso de distintas capas de descodificaci贸n sin necesidad de reentrenamiento. Esta adaptabilidad facilita la aplicaci贸n pr谩ctica en diversos escenarios de detecci贸n de objetos en tiempo real.

Modelos preentrenados

La API Ultralytics Python proporciona modelos preentrenados PaddlePaddle RT-DETR con diferentes escalas:

  • RT-DETR-L: 53,0% AP en COCO val2017, 114 FPS en T4 GPU
  • RT-DETR-X: 54,8% AP en COCO val2017, 74 FPS en T4 GPU

Ejemplos de uso

Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia de RT-DETR . Para obtener documentaci贸n completa sobre estos y otros modos, consulta las p谩ginas de documentaci贸n Predecir, Entrenar, Val y Exportar.

Ejemplo

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

Tareas y modos admitidos

Esta tabla presenta los tipos de modelos, los pesos espec铆ficos preentrenados, las tareas que admite cada modelo y los distintos modos(Entrenar, Val, Predecir, Exportar) que admite, indicados con 鉁 emojis.

Tipo de modelo Pesos preentrenados Tareas admitidas Inferencia Validaci贸n Formaci贸n Exportar
RT-DETR Grande rtdetr-l.pt Detecci贸n de objetos
RT-DETR Extragrande rtdetr-x.pt Detecci贸n de objetos

Citas y agradecimientos

Si utilizas RT-DETR de Baidu en tu trabajo de investigaci贸n o desarrollo, por favor, cita el documento 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}
}

Nos gustar铆a agradecer a Baidu y al equipo de PaddlePaddle equipo por crear y mantener este valioso recurso para la comunidad de visi贸n por ordenador. Su contribuci贸n al campo con el desarrollo del detector de objetos en tiempo real basado en Transformadores de Visi贸n, RT-DETR, es muy apreciada.

PREGUNTAS FRECUENTES

驴Qu茅 es el modelo RT-DETR de Baidu y c贸mo funciona?

RT-DETR (Transformador de Detecci贸n en Tiempo Real) de Baidu es un detector avanzado de objetos en tiempo real basado en la arquitectura del Transformador de Visi贸n. Procesa eficazmente las caracter铆sticas multiescala desacoplando la interacci贸n intraescala y la fusi贸n multiescala mediante su eficaz codificador h铆brido. Al emplear una selecci贸n de consultas consciente de la IoU, el modelo se centra en los objetos m谩s relevantes, mejorando la precisi贸n de la detecci贸n. Su velocidad de inferencia adaptable, conseguida ajustando las capas del decodificador sin reentrenamiento, hace que RT-DETR sea adecuado para diversos escenarios de detecci贸n de objetos en tiempo real. M谩s informaci贸n sobre las caracter铆sticas de RT-DETR aqu铆.

驴C贸mo puedo utilizar los modelos RT-DETR preentrenados que proporciona Ultralytics?

Puedes aprovechar la API Ultralytics Python para utilizar modelos PaddlePaddle RT-DETR preentrenados. Por ejemplo, para cargar un modelo RT-DETR-l preentrenado en COCO val2017 y conseguir altos FPS en T4 GPU, puedes utilizar el siguiente ejemplo:

Ejemplo

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

驴Por qu茅 deber铆a elegir RT-DETR de Baidu en lugar de otros detectores de objetos en tiempo real?

El sitio RT-DETR de Baidu destaca por su eficaz codificador h铆brido y su selecci贸n de consultas consciente del IoU, que reducen dr谩sticamente los costes computacionales manteniendo una gran precisi贸n. Su capacidad 煤nica para ajustar la velocidad de inferencia mediante el uso de diferentes capas de decodificaci贸n sin reentrenamiento a帽ade una flexibilidad significativa. Esto lo hace especialmente ventajoso para aplicaciones que requieren rendimiento en tiempo real en backends acelerados como CUDA con TensorRT, superando a muchos otros detectores de objetos en tiempo real.

驴C贸mo soporta RT-DETR la velocidad de inferencia adaptable a las distintas aplicaciones en tiempo real?

El sitio RT-DETR de Baidu permite realizar ajustes flexibles de la velocidad de inferencia utilizando distintas capas de descodificaci贸n sin necesidad de reentrenamiento. Esta adaptabilidad es crucial para escalar el rendimiento en diversas tareas de detecci贸n de objetos en tiempo real. Tanto si necesitas un procesamiento m谩s r谩pido para necesidades de menor precisi贸n como detecciones m谩s lentas y precisas, RT-DETR puede adaptarse para satisfacer tus requisitos espec铆ficos.

驴Puedo utilizar los modelos de RT-DETR con otros modos de Ultralytics , como entrenamiento, validaci贸n y exportaci贸n?

S铆, los modelos de RT-DETR son compatibles con varios modos de Ultralytics , incluyendo entrenamiento, validaci贸n, predicci贸n y exportaci贸n. Puedes consultar la documentaci贸n correspondiente para obtener instrucciones detalladas sobre c贸mo utilizar estos modos: Entrenar, Val, Predecir y Exportar. Esto garantiza un flujo de trabajo completo para desarrollar y desplegar tus soluciones de detecci贸n de objetos.



Creado 2023-11-12, Actualizado 2024-07-04
Autores: glenn-jocher (15), RizwanMunawar (1)

Comentarios