Ir al contenido

YOLOv5 vs. RTDETRv2: Equilibrio entre la velocidad en tiempo real y la precisión del transformador

En el panorama de la visión artificial, que evoluciona rápidamente, seleccionar el modelo de detección de objetos adecuado es fundamental para el éxito del proyecto. Esta exhaustiva comparación técnica examina dos enfoques distintos: YOLOv5, el legendario detector basado en CNN conocido por su versatilidad y velocidad, y RTDETRv2, un modelo moderno basado en transformadores que se centra en la alta precisión.

Si bien RTDETRv2 aprovecha los Vision Transformers (ViT) para capturar el contexto global, Ultralytics YOLOv5 sigue siendo la mejor opción para los desarrolladores que requieren una solución robusta, lista para la implementación y con bajos gastos generales de recursos.

Especificaciones y orígenes del modelo

Antes de profundizar en las métricas de rendimiento, es esencial comprender los antecedentes y la filosofía arquitectónica de cada modelo.

CaracterísticaUltralytics YOLOv5RTDETRv2
ArquitecturaBasado en CNN (basado en anclajes)Híbrido (Backbone CNN + Transformer)
Foco principalVelocidad en Tiempo Real, Versatilidad, Facilidad de UsoAlta precisión, contexto global
AutoresGlenn JocherWenyu Lv, Yian Zhao, et al.
OrganizaciónUltralyticsBaidu
Fecha de lanzamiento2020-06-262023-04-17
TareasDetectar, Segmentar, ClassifyDetección

Más información sobre YOLOv5

Arquitectura y filosofía de diseño

La diferencia fundamental entre estos modelos radica en cómo procesan los datos visuales.

Ultralytics YOLOv5

YOLOv5 emplea una arquitectura de red neuronal convolucional (CNN) altamente optimizada. Utiliza una estructura troncal CSPDarknet modificada y un cuello de botella de red de agregación de rutas (PANet) para extraer mapas de características.

  • Basado en anclajes: Se basa en cajas de anclaje predefinidas para predecir las ubicaciones de los objetos, lo que simplifica el proceso de aprendizaje para las formas de objeto comunes.
  • Eficiencia: Diseñado para una velocidad de inferencia máxima en una amplia variedad de hardware, desde dispositivos periféricos como la NVIDIA Jetson hasta CPUs estándar.
  • Versatilidad: Admite múltiples tareas, incluyendo la segmentación de instancias y la clasificación de imágenes dentro de un único framework unificado.

RTDETRv2

RTDETRv2 (Real-Time Detection Transformer v2) representa un cambio hacia las arquitecturas transformer.

  • Diseño Híbrido: Combina una red CNN con un codificador-decodificador Transformer, utilizando mecanismos de autoatención para procesar las relaciones entre objetos.
  • Contexto global: El componente transformer permite que el modelo "vea" la imagen completa de una vez, mejorando el rendimiento en escenas complejas con oclusión.
  • Coste Computacional: Esta sofisticada arquitectura normalmente exige mucha más memoria de la GPU y potencia computacional (FLOPs) en comparación con las soluciones basadas puramente en CNN.

Análisis de rendimiento

La siguiente tabla proporciona una comparación directa de las métricas clave de rendimiento. Si bien RTDETRv2 muestra una precisión impresionante (mAP) en el conjunto de datos COCO, YOLOv5 demuestra velocidades de inferencia superiores, particularmente en hardware de CPU, donde los transformadores a menudo tienen dificultades.

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

Interpretación de los datos

Si bien RTDETRv2 logra números de mAP más altos, observe las columnas de Velocidad y FLOPs. YOLOv5n se ejecuta a 73.6 ms en una CPU, lo que lo hace factible para aplicaciones en tiempo real en hardware no acelerado. Los modelos RTDETRv2 son significativamente más pesados y requieren GPU potentes para mantener velocidades de fotogramas en tiempo real.

Eficiencia del entrenamiento y uso de la memoria

Una ventaja crucial de YOLOv5 es su eficiencia de entrenamiento. Los modelos basados en transformadores como RTDETRv2 son conocidos por su alto consumo de VRAM y sus lentas tasas de convergencia.

  • Menor consumo de memoria: YOLOv5 puede entrenarse en GPU de consumo con memoria CUDA modesta, democratizando el acceso al desarrollo de la IA.
  • Convergencia más rápida: Los usuarios suelen obtener resultados utilizables en menos épocas, lo que ahorra tiempo valioso y costes de computación en la nube.

Puntos fuertes clave de Ultralytics YOLOv5

Para la mayoría de los desarrolladores y aplicaciones comerciales, YOLOv5 ofrece un conjunto de ventajas más equilibrado y práctico:

  1. Facilidad de uso inigualable: La API de python de Ultralytics es el estándar de la industria por su simplicidad. Cargar un modelo, ejecutar la inferencia y entrenar con datos personalizados se puede hacer con solo unas pocas líneas de código.
  2. Ecosistema enriquecido: Respaldado por una enorme comunidad de código abierto, YOLOv5 se integra perfectamente con Ultralytics HUB para el entrenamiento sin código, herramientas de MLOps para el track y diversos formatos de exportación como ONNX y TensorRT.
  3. Flexibilidad de Implementación: Desde aplicaciones móviles iOS y Android hasta Raspberry Pi y servidores en la nube, la arquitectura ligera de YOLOv5 le permite ejecutarse donde los modelos Transformer más pesados no pueden.
  4. Versatilidad de Tareas: A diferencia de RTDETRv2, que es principalmente un detector de objetos, YOLOv5 admite la clasificación y la segmentación, lo que reduce la necesidad de mantener múltiples bases de código para diferentes tareas de visión.

Ruta de Actualización

Si necesita una precisión aún mayor que YOLOv5 manteniendo estos beneficios del ecosistema, considere el nuevo YOLO11. Incorpora mejoras arquitectónicas modernas para rivalizar o superar la precisión de los transformers con la eficiencia que espera de YOLO.

Comparación de código: facilidad de uso

El siguiente ejemplo demuestra la simplicidad de usar YOLOv5 con el paquete Ultralytics.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model
model = YOLO("yolov5s.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Display results
for result in results:
    result.show()  # show to screen
    result.save(filename="result.jpg")  # save to disk

Casos de Uso Ideales

Cuándo elegir Ultralytics YOLOv5

  • Edge Computing: Implementación en dispositivos alimentados por batería o con recursos limitados (drones, teléfonos móviles, IoT).
  • Análisis de vídeo en tiempo real: Procesamiento simultáneo de múltiples flujos de vídeo para la gestión del tráfico o la seguridad.
  • Prototipado rápido: Cuando necesitas pasar del conjunto de datos al modelo implementado en horas, no en días.
  • Requisitos Multi-Tarea: Proyectos que necesitan tanto object detection como segmentación de imágenes.

Cuándo elegir RTDETRv2

  • Investigación académica: Evaluación comparativa con el estado del arte absoluto en conjuntos de datos estáticos donde la velocidad es secundaria.
  • Disponibilidad de GPU de gama alta: Entornos donde las GPU dedicadas de nivel de servidor (como las NVIDIA A100) están disponibles tanto para el entrenamiento como para la inferencia.
  • Escenas estáticas complejas: Escenarios con oclusión densa donde el mecanismo de autoatención proporciona una ventaja crítica en la precisión.

Conclusión

Si bien RTDETRv2 muestra el potencial de los transformadores en la visión artificial con impresionantes cifras de precisión, conlleva costes significativos en términos de recursos de hardware y complejidad de entrenamiento. Para la gran mayoría de las aplicaciones del mundo real, Ultralytics YOLOv5 sigue siendo la mejor opción. Su combinación perfecta de velocidad, precisión y bajo uso de memoria, junto con un ecosistema de apoyo y una extensa documentación, garantiza que los desarrolladores puedan crear soluciones de IA escalables, eficientes y eficaces.

Para aquellos que buscan lo último en rendimiento sin sacrificar la usabilidad del framework de Ultralytics, recomendamos encarecidamente explorar YOLO11, que cierra la brecha entre la eficiencia de las CNN y la precisión a nivel de transformador.

Explorar Otros Modelos


Comentarios