Ir al contenido

YOLOv5 vs RTDETRv2: Una comparación detallada de modelos

Elegir el modelo óptimo de detección de objetos es una decisión crítica para cualquier proyecto de visión artificial. Esta página proporciona una comparación técnica detallada entre dos modelos potentes: Ultralytics YOLOv5, un estándar industrial establecido conocido por su equilibrio entre velocidad y eficiencia, y RTDETRv2, un modelo basado en transformadores diseñado para una alta precisión. Profundizaremos en sus diferencias arquitectónicas, benchmarks de rendimiento y casos de uso ideales para ayudarle a seleccionar el mejor modelo para sus necesidades.

Ultralytics YOLOv5: El Estándar Industrial Establecido

Autor: Glenn Jocher
Organización: Ultralytics
Fecha: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Documentación: https://docs.ultralytics.com/models/yolov5/

Ultralytics YOLOv5 estableció un nuevo punto de referencia para la detección de objetos en tiempo real tras su lanzamiento, convirtiéndose rápidamente en uno de los favoritos entre desarrolladores e investigadores por su excepcional combinación de velocidad, precisión y facilidad de uso. Construido íntegramente en PyTorch, está altamente optimizado y es fácil de entrenar, validar e implementar.

Arquitectura

YOLOv5 emplea una arquitectura clásica basada en CNN que es a la vez eficiente y eficaz.

  • Backbone: Utiliza un backbone CSPDarknet53, que es una variante de Darknet optimizada con conexiones Cross Stage Partial (CSP) para mejorar el flujo de gradiente y reducir el costo computacional.
  • Cuello (Neck): Se utiliza una Red de Agregación de Rutas (PANet) para la agregación de características, combinando eficazmente características de diferentes escalas para mejorar la detección de objetos de varios tamaños.
  • Head: El modelo utiliza un head de detección basado en anclajes para predecir cuadros delimitadores, probabilidades de clase y puntuaciones de objetividad.

Fortalezas

  • Velocidad y eficiencia excepcionales: YOLOv5 está altamente optimizado para velocidades de inferencia rápidas, lo que lo convierte en la mejor opción para aplicaciones en tiempo real en una amplia gama de hardware, desde CPUs hasta dispositivos periféricos.
  • Facilidad de uso: Reconocido por su experiencia de usuario optimizada, YOLOv5 ofrece una API de Python y una CLI sencillas, respaldadas por una documentación extensa.
  • Ecosistema bien mantenido: Como modelo de Ultralytics, se beneficia de un ecosistema robusto y desarrollado activamente. Esto incluye una gran comunidad, actualizaciones frecuentes e integración perfecta con herramientas como Ultralytics HUB para el entrenamiento y la implementación sin código.
  • Equilibrio entre rendimiento: YOLOv5 logra un excelente equilibrio entre velocidad y precisión, lo que lo hace muy práctico para diversos escenarios del mundo real.
  • Eficiencia de memoria: En comparación con los modelos basados en transformadores, los modelos YOLOv5 generalmente requieren significativamente menos memoria CUDA durante el entrenamiento y son más eficientes en cuanto a memoria durante la inferencia.
  • Versatilidad: Admite múltiples tareas, incluyendo la detección de objetos, la segmentación de instancias y la clasificación de imágenes, todo dentro de un marco de trabajo unificado.
  • Eficiencia en el entrenamiento: El proceso de entrenamiento es rápido y eficiente, con pesos pre-entrenados disponibles en conjuntos de datos como COCO para acelerar el desarrollo.

Debilidades

  • Precisión en escenas complejas: Aunque es muy preciso, puede verse superado por arquitecturas más nuevas y complejas como RTDETRv2 en conjuntos de datos con muchos objetos pequeños u ocluidos.
  • Diseño Basado en Anclas: Su dependencia de cuadros de anclaje predefinidos a veces puede requerir un ajuste manual para lograr un rendimiento óptimo en conjuntos de datos con relaciones de aspecto de objeto no convencionales.

Casos de Uso Ideales

YOLOv5 destaca en aplicaciones donde la velocidad, la eficiencia de los recursos y el desarrollo rápido son críticos.

  • Videovigilancia en tiempo real: Ideal para sistemas de alarma de seguridad y la monitorización de transmisiones de video en directo.
  • Edge Computing: Sus modelos ligeros son perfectos para la implementación en dispositivos con recursos limitados como Raspberry Pi y NVIDIA Jetson.
  • Aplicaciones móviles: Adecuado para la inferencia en el dispositivo en aplicaciones móviles.
  • Automatización industrial: Potencia el control de calidad y la IA en la gestión del tráfico.

Más información sobre YOLOv5

RTDETRv2: Transformer de detección en tiempo real de alta precisión

Autores: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
Organización: Baidu
Fecha: 2023-04-17 (RT-DETR inicial), 2024-07-24 (mejoras de RT-DETRv2)
Arxiv: https://arxiv.org/abs/2304.08069, https://arxiv.org/abs/2407.17140
GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Documentación: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme

RTDETRv2 (Real-Time Detection Transformer v2) es un detector de objetos de última generación que aprovecha la potencia de los Vision Transformers (ViT) para lograr una alta precisión, manteniendo al mismo tiempo un rendimiento en tiempo real en hardware adecuado.

Arquitectura

RTDETRv2 utiliza un enfoque híbrido que combina las fortalezas de las CNN y los Transformers.

  • Backbone: Normalmente utiliza una CNN (como variantes de ResNet) para una extracción inicial de características eficiente.
  • Encoder-Decoder: Una estructura encoder-decoder basada en Transformer procesa las características de la imagen. Utiliza mecanismos de autoatención para capturar el contexto global, lo que permite que el modelo comprenda mejor las relaciones entre objetos distantes y escenas complejas.

Fortalezas

  • Alta precisión: La arquitectura Transformer permite que RTDETRv2 alcance excelentes puntuaciones mAP, particularmente en conjuntos de datos complejos con objetos densos o pequeños, como los que se encuentran en el análisis de imágenes satelitales.
  • Capacidad en tiempo real: Está optimizado para proporcionar velocidades de inferencia competitivas, especialmente cuando se acelera en GPUs potentes utilizando herramientas como NVIDIA TensorRT.
  • Extracción Robusta de Características: Al capturar el contexto global, funciona bien en escenarios desafiantes como la oclusión, lo que es beneficioso para aplicaciones como la conducción autónoma.

Debilidades

  • Alto costo computacional: RTDETRv2 generalmente tiene un mayor número de parámetros y FLOPs en comparación con YOLOv5, lo que exige recursos computacionales más significativos, como memoria de la GPU y potencia de procesamiento.
  • Complejidad del entrenamiento: El entrenamiento de modelos basados en transformadores suele consumir más recursos y es más lento que el entrenamiento de CNN. Normalmente requieren mucha más memoria CUDA, lo que los hace menos accesibles para los usuarios con hardware limitado.
  • Velocidad de inferencia en CPU/Edge: Si bien funciona en tiempo real en las GPU potentes, su rendimiento puede ser significativamente más lento que YOLOv5 en las CPU o en los dispositivos periféricos (edge devices) menos potentes.
  • Ecosistema y usabilidad: Carece del extenso y unificado ecosistema, las herramientas y el amplio soporte de la comunidad que Ultralytics proporciona para sus modelos YOLO.

Más información sobre RTDETRv2

Análisis de rendimiento: Velocidad vs. Precisión

La diferencia clave entre YOLOv5 y RTDETRv2 radica en su filosofía de diseño. YOLOv5 está diseñado para un equilibrio óptimo de velocidad y precisión en una amplia gama de hardware, lo que lo hace increíblemente versátil. En cambio, RTDETRv2 prioriza el logro de la máxima precisión, aprovechando una arquitectura de transformador computacionalmente más intensiva que funciona mejor en GPUs de gama alta.

La siguiente tabla destaca estas diferencias. Si bien los modelos RTDETRv2 alcanzan puntuaciones mAP más altas, los modelos YOLOv5, particularmente las variantes más pequeñas, ofrecen tiempos de inferencia significativamente más rápidos, especialmente en CPU. Esto convierte a YOLOv5 en una opción más práctica para aplicaciones donde la baja latencia y la implementación en hardware diverso son esenciales.

Modelo tamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv5n 640 28.0 73.6 1.12 2.6 7.7
YOLOv5s 640 37.4 120.7 1.92 9.1 24.0
YOLOv5m 640 45.4 233.9 4.03 25.1 64.2
YOLOv5l 640 49.0 408.4 6.61 53.2 135.0
YOLOv5x 640 50.7 763.2 11.89 97.2 246.4
RTDETRv2-s 640 48.1 - 5.03 20 60
RTDETRv2-m 640 51.9 - 7.51 36 100
RTDETRv2-l 640 53.4 - 9.76 42 136
RTDETRv2-x 640 54.3 - 15.03 76 259

Conclusión y recomendaciones

Tanto YOLOv5 como RTDETRv2 son modelos de detección de objetos formidables, pero satisfacen diferentes necesidades.

RTDETRv2 es una excelente opción para aplicaciones donde lograr la máxima precisión posible es el objetivo principal, y se dispone fácilmente de recursos computacionales sustanciales (es decir, GPUs de alta gama) tanto para el entrenamiento como para el despliegue. Su arquitectura basada en transformadores le da una ventaja en escenas complejas.

Sin embargo, para la gran mayoría de las aplicaciones del mundo real, Ultralytics YOLOv5 presenta una solución más atractiva y práctica. Su excepcional equilibrio entre velocidad y precisión, combinado con sus bajos requisitos de recursos, la hace adecuada para una gama más amplia de escenarios de implementación. Las principales ventajas del ecosistema Ultralytics bien mantenido—incluyendo la facilidad de uso, la documentación completa, el soporte activo de la comunidad y herramientas como Ultralytics HUB—reducen significativamente la barrera de entrada y aceleran el tiempo de desarrollo.

Para los desarrolladores que buscan un framework moderno, versátil y altamente eficiente, los modelos más nuevos de Ultralytics como YOLOv8 y YOLO11 se basan en los puntos fuertes de YOLOv5, ofreciendo un rendimiento aún mejor y más características. Estos modelos representan el estado del arte en visión artificial de alto rendimiento y fácil de usar.

Otras comparaciones de modelos

Si está interesado en explorar otros modelos, consulte estas comparaciones:



📅 Creado hace 1 año ✏️ Actualizado hace 1 mes

Comentarios