¡Bienvenidos lectores, la clase CV está de vuelta en sesión! Anteriormente hemos estudiado más de 30 modelos diferentes de visión por computadora hasta ahora en mi blog anterior, cada uno trayendo sus propias fortalezas únicas a la mesa desde las rápidas habilidades de detección de Yolo hasta el poder transformador de los transformadores de visión (VIT). Hoy estamos presentando un nuevo estudiante a nuestro salón de clases: RF-Detr. Siga leyendo para saber todo sobre RF-Detr de RoboFlow y cómo está cerrando la velocidad y la precisión en la detección de objetos.
¿Cuál es el RF-Detr de RoboFlow?
RF-DETR es un modelo de detección de objetos basado en transformadores en tiempo real que logra más de 60 mapas en el conjunto de datos de Coco, que muestra un logro impresionante. Naturalmente, tenemos curiosidad: ¿RF-Detr podrá igualar la velocidad de Yolo? ¿Puede adaptarse a diversas tareas que encontramos en el mundo real?
Eso es lo que estamos aquí para explorar. En este artículo, desglosaremos las características centrales de RF-Detr, sus capacidades en tiempo real, una fuerte adaptabilidad de dominio y disponibilidad de código abierto y veremos cómo funciona junto con otros modelos. ¡Veamos y veamos si este recién llegado tiene lo que se necesita para sobresalir en aplicaciones del mundo real!
¿Por qué RF-Detr es un cambio de juego?
- Rendimiento sobresaliente tanto en los puntos de referencia de Coco y RF100-VL.
- Diseñado para manejar dominios novedosos y entornos de alta velocidad, lo que lo hace perfecto para aplicaciones de borde y baja latencia.
- Top 2 en todas las categorías en comparación con los modelos de transformadores Coco Sota en tiempo real (como D-Fine y LW-Detr) y los modelos SOTA YOLO CNN (como Yolov11 y Yolov8).
Rendimiento del modelo y nuevos puntos de referencia
Los modelos de detección de objetos se desafían cada vez más a demostrar su valor más allá de Coco, un conjunto de datos que, aunque históricamente crítico, no se ha actualizado desde que 2017. Como resultado, muchos modelos muestran solo mejoras marginales en Coco y recurren a otros conjuntos de datos (por ejemplo, LVIS, Objects365) para demostrar la generalización.
RF100-VL: El nuevo punto de referencia de RoboFlow que recopila alrededor de 100 conjuntos de datos diversos (imágenes aéreas, inspecciones industriales, etc.) de más de 500,000 en el universo RoboFlow. Este punto de referencia enfatiza adaptabilidad del dominioun factor crítico para los casos de uso del mundo real en los que los datos pueden parecer drásticamente diferentes de los objetos comunes de Coco.
¿Por qué necesitamos RF100-VL?
- Diversidad del mundo real: RF100-VL incluye conjuntos de datos que cubren escenarios como imágenes de laboratorio, inspección industrial y fotografía aérea para probar qué tan bien funcionan los modelos fuera de los puntos de referencia tradicionales.
- Diversos puntos de referencia: Al estandarizar el proceso de evaluación, RF100-VL permite comparaciones directas entre diferentes arquitecturas, incluidos los modelos basados en transformadores y las variantes YOLO basadas en CNN.
- Adaptabilidad sobre ganancias incrementales: Con la saturación de coco, la adaptabilidad del dominio se convierte en una consideración de primer nivel junto con la latencia y la precisión cruda.
En la tabla anterior, podemos ver cómo RF-Detr se compara con otros modelos de detección de objetos en tiempo real:
- PALMA DE COCO: La variante base de RF-Detr logra el mapa 53.3, colocándolo a la par con otros modelos en tiempo real.
- RF100-VL: RF-DETR supera a otros modelos (86.7 MAP), que muestra su excepcional adaptabilidad de dominio.
- Velocidad: A 6.0 ms/IMG en una GPU T4, RF-Detr coincide o supera a los modelos competitivos al tener en cuenta en el procesamiento posterior.
Nota: A partir de ahora, el código y el punto de control para RF-Detr-Large y RF-Detr-Base están disponibles.
La latencia total también es importante
- Nms en yolo: Los modelos YOLO usan supresión no máxima (NMS) para refinar los cuadros delimitadores. Este paso puede ralentizar ligeramente la inferencia, especialmente si hay muchos objetos en el marco.
- No hay un paso adicional en DETRS: RF-DETR sigue el enfoque de la familia DETR, evitando la necesidad de un paso adicional de NMS para el refinamiento del cuadro delimitador.
Latencia versus precisión en Coco
- Eje horizontal (latencia): Medido en milisegundos (MS) por imagen en una GPU NVIDIA T4 usando Tensorrt10 FP16. Latencia más baja significa una inferencia más rápida aquí
- Eje vertical (mapa @0.50: 0.95): La precisión promedio media en el punto de referencia de Microsoft Coco, una medida estándar de precisión de detección. El mapa más alto indica un mejor rendimiento.
En este cuadro, RF-Detr demuestra una precisión competitiva con modelos de yolo mientras mantiene la latencia en el mismo rango. RF-DETR supera el umbral del mapa de 60 que lo convierte en el Primero documentado Modelo en tiempo real para lograr este nivel de rendimiento en Coco.
Adaptabilidad del dominio en RF100-VL
Aquí, Retratón Se destaca al lograr el mapa más alto en RF100-VL, lo que indica una fuerte adaptabilidad en los dominios variados. Esto sugiere que RF-DETR no solo es competitivo en el Coco, sino que también se destaca en el manejo de conjuntos de datos del mundo real donde los objetos y condiciones específicos del dominio pueden diferir significativamente de los objetos comunes en Coco.
Clasificación potencial de retratación de RF
Según las métricas de rendimiento de la tabla de clasificación de RoboFlow, RF-Detr demuestra resultados competitivos en precisión y eficiencia.
- RF-Detr-Large (128m Params) quería rango primerosuperando a todos los modelos existentes con un mapa estimado 50:95 arriba 60.5convirtiéndolo en el modelo más preciso en la clasificación.
- RF-DETR-BASE (29M Params) quería Clasificar alrededor del 4to lugarcompitiendo de cerca con modelos como Deim-d-Fine-x (61.7m params, 0.548 mapa 50:95) y D-Fine-x (61.6M Params, 0.541 Mapa 50:95). A pesar de su menor recuento de parámetros, mantiene una fuerte ventaja de precisión.
Esta clasificación destaca aún más la eficiencia de RF-DETR, ofreciendo un alto rendimiento con una latencia optimizada al tiempo que mantiene un tamaño de modelo más pequeño en comparación con algunos competidores.
Descripción general de la arquitectura de RF-Detr
Históricamente, Modelos YOLO basados en CNN han liderado el paquete en la detección de objetos en tiempo real. Sin embargo, los CNN por sí solos no siempre se benefician del pretrabenamiento a gran escala, que es cada vez más fundamental en el aprendizaje automático.
Transformadores Excelente con pretraben a gran escala, pero a menudo ha sido demasiado voluminoso (pesado) o lento para aplicaciones en tiempo real. El trabajo reciente, sin embargo, muestra que los modelos basados en DEPR pueden coincidir con la velocidad de Yolo cuando consideramos que requiere el sobreprocesamiento de Yolo.
Ventaja híbrida de RF-Detr
- Columna de dinov2 pre-entrenada: Esto ayuda al modelo a transferir el conocimiento del pre-entrenamiento de la imagen a gran escala, aumentando el rendimiento en dominios novedosos o variados. Combinando el DETR LW con una red troncal de Dinov2 previamente capacitada, RF-DETR ofrece una adaptabilidad de dominio excepcional y beneficios significativos del pre-entrenamiento.
- Extracción de características de una sola escala: Si bien el DETR deformable aprovecha la atención a múltiples escala, el retrato de RF simplifica la extracción de características a una sola escala, lo que pone en equilibrio entre la velocidad y el rendimiento.
- Capacitación de resolución múltiple: RF-DETR puede ser entrenado en múltiples resoluciones, lo que le permite elegir la mejor compensación entre la velocidad y la precisión a la inferencia sin volver a capacitar el modelo.
Lea esto para obtener más información, lea esto Documento de investigación.
¿Cómo usar RF-Detr?
Tarea 1: Usarlo para la detección de objetos en una imagen
Instale RF-Detr a través de:
!pip install rfdetr
Luego puede cargar un punto de control previamente capacitado (entrenado en Coco) para uso inmediato en su aplicación:
import io
import requests
import supervision as sv
from PIL import Image
from rfdetr import RFDETRBase
model = RFDETRBase()
url = "https://media.roboflow.com/notebooks/examples/dog-2.jpeg"
image = Image.open(io.BytesIO(requests.get(url).content))
detections = model.predict(image, threshold=0.5)
annotated_image = image.copy()
annotated_image = sv.BoxAnnotator().annotate(annotated_image, detections)
annotated_image = sv.LabelAnnotator().annotate(annotated_image, detections)
sv.plot_image(annotated_image)
Tarea 2: usarlo para la detección de objetos en un video
Le proporcionaré mi enlace de repositorio de GitHub para que implementará libremente el modelo mismo . Simplemente siga las instrucciones ReadMe.md para ejecutar el código.
Código:
import cv2
import numpy as np
import json
from rfdetr import RFDETRBase
# Load the model
model = RFDETRBase()
# Read the classes.json file and store class names in a dictionary
with open('classes.json', 'r', encoding='utf-8') as file:
class_names = json.load(file)
# Open the video file
cap = cv2.VideoCapture('walking.mp4') # https://www.pexels.com/video/video-of-people-walking-855564/
# Create the output video
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.mp4', fourcc, 20.0, (960, 540))
# For live video streaming:
# cap = cv2.VideoCapture(0) # 0 refers to the default camera
while True:
# Read a frame
ret, frame = cap.read()
if not ret:
break # Exit the loop when the video ends
# Perform object detection
detections = model.predict(frame, threshold=0.5)
# Mark the detected objects
for i, box in enumerate(detections.xyxy):
x1, y1, x2, y2 = map(int, box)
class_id = int(detections.class_id(i))
# Get the class name using class_id
label = class_names.get(str(class_id), "Unknown")
confidence = detections.confidence(i)
# Draw the bounding box (colored and thick)
color = (255, 255, 255) # White color
thickness = 7 # Thickness
cv2.rectangle(frame, (x1, y1), (x2, y2), color, thickness)
# Display the label and confidence score (in white color and readable font)
text = f"{label} ({confidence:.2f})"
font = cv2.FONT_HERSHEY_SIMPLEX
font_scale = 2
font_thickness = 7
text_size = cv2.getTextSize(text, font, font_scale, font_thickness)(0)
text_x = x1
text_y = y1 - 10
cv2.putText(frame, text, (text_x, text_y), font, font_scale, (0, 0, 255), font_thickness, cv2.LINE_AA)
# Display the results
resized_frame = cv2.resize(frame, (960, 540))
cv2.imshow('Labeled Video', resized_frame)
# Save the output
out.write(resized_frame)
# Exit when 'q' key is pressed
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Release resources
cap.release()
out.release() # Release the output video
cv2.destroyAllWindows()
Producción:
Ajuste fino para conjuntos de datos personalizados
El ajuste fino es donde RF-Detr realmente brilla, especialmente si está trabajando con nicho o conjuntos de datos más pequeños:
- Use formato de coco: Organice su conjunto de datos en trenes/, válidos/y pruebas/directorios, cada uno con sus propios _annotations.coco.json.
- Aproveche el colab: El equipo de RoboFlow proporciona un detallado<a target="_blank" href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-finetune-rf-detr-on-detection-dataset.ipynb” target=”_blank” rel=”noreferrer noopener nofollow”> Cuaderno de colab (proporcionado por el equipo de RoboFlow) para guiarlo a través de la capacitación en su propio conjunto de datos.
from rfdetr import RFDETRBase
model = RFDETRBase()
model.train(
dataset_dir="",
epochs=10,
batch_size=4,
grad_accum_steps=4,
lr=1e-4
)
Durante el entrenamiento, RF-Detr producirá:
- Pesas regulares: Puntos de control de modelo estándar.
- Pesos de EMA: Una versión de promedio móvil exponencial del modelo, a menudo produciendo un rendimiento más estable.
¿Cómo capacitar a RF-Detr en un conjunto de datos personalizado?
Como ejemplo, el equipo de RoboFlow ha utilizado un conjunto de datos de reconocimiento de mosaicos Mahjong, una parte del punto de referencia RF100-VL que contiene más de 2,000 imágenes. Esta guía demuestra cómo descargar el conjunto de datos, instalar las herramientas necesarias y ajustar el modelo en sus datos personalizados.
Consulte esto blog saber más.
La pantalla resultante debe mostrar la verdad del suelo en un lado y las detecciones del modelo en el otro. En nuestro ejemplo, RF-DETR identifica correctamente la mayoría de los mosaicos de Mahjong, con solo escasez de escasez menores que pueden mejorarse con un mayor entrenamiento.
Nota importante:
- Segmentación de instancia: RF-DETR actualmente no admite la segmentación de instancias, como lo señaló el líder de código abierto de RoboFlow, Piotr skalski.
- Pose Estimación: El soporte de estimación de pose también está en el horizonte y llegará pronto.
Veredicto final y borde potencial sobre otros modelos CV
RF-DETR es uno de los mejores modelos basados en TEDR en tiempo real, que ofrece un fuerte equilibrio entre precisión, velocidad y adaptabilidad de dominio. Si necesita un detector basado en transformadores en tiempo real que evite la sobrecarga posterior al procesamiento y se generalice más allá de Coco, este es un contendiente principal. Sin embargo, Yolov8 todavía tiene una ventaja en velocidad bruta para algunas aplicaciones.
Donde RF-Detr podría superar a otros modelos CV:
- Dominios especializados y conjuntos de datos personalizados: RF-Detr se destaca en la adaptación del dominio (86.7 Mapa en RF100-VL), haciéndolo ideal para Imágenes médicas, detección de defectos industriales y navegación autónoma donde los modelos entrenados en coco luchan.
- Aplicaciones de baja latencia: Ya que no requiere nmspuede ser más rápido que yolo En escenarios donde el postprocesamiento agrega sobrecarga, como Detección basada en drones, análisis de video o robótica.

- A prueba de futuro basado en transformadores: A diferencia de los detectores basados en CNN (YOLO, R-CNN más rápido), los beneficios de RF de RF de Autoatación y pretrenesa a gran escala (columna vertebral de Dinov2)haciéndolo más adecuado para razonamiento múltiple, manejo de oclusión y generalización a entornos invisibles.
- Edge ai y dispositivos incrustados: RF-Detr's Tiempo de inferencia de 6.0 ms/IMG en una GPU T4 sugiere que podría ser un candidato fuerte para despliegue de borde en tiempo real Donde los modelos de DETR tradicionales son demasiado lentos.
Una ronda de aplausos al equipo de RoboFlow ML: Peter Robicheaux, James Gallagher, Joseph Nelson, Isaac Robinson.
Peter Robichouise, James Gallagher, Joseph Nelson, Isaac Robinson. (20 de marzo de 2025). RF-Detr: un modelo de detección de objetos en tiempo real SOTA. Blog RoboFlow: https://blog.roboflow.com/rf-detr/
Conclusión
RF-Detr de RoboFlow representa una nueva generación de detección de objetos en tiempo real, equilibrando la alta precisión, la adaptabilidad del dominio y la baja latencia en un solo modelo. Ya sea que esté construyendo un sistema de robótica de vanguardia o implementando en dispositivos de borde limitado por recursos, RF-Detr ofrece una solución versátil y a prueba de futuro.
¿Cuáles son tus pensamientos? Déjame saber en la sección de comentarios.
Inicie sesión para continuar leyendo y disfrutando de contenido curado por expertos.