Ir al contenido

YOLOv5 vs YOLOv6-3.0: Equilibrio entre la madurez del ecosistema y la precisión industrial

En el panorama de la visión artificial, que evoluciona rápidamente, seleccionar la arquitectura de detección de objetos adecuada es una decisión fundamental para desarrolladores e investigadores. Esta comparación profundiza en las diferencias técnicas entre Ultralytics YOLOv5, un modelo legendario reconocido por su accesibilidad y su robusto ecosistema, y Meituan YOLOv6-3.0, un marco diseñado específicamente para aplicaciones industriales. Si bien ambos modelos destacan en la detección de objetos, se adaptan a diferentes necesidades de implementación y preferencias de flujo de trabajo.

Ultralytics YOLOv5

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

Desde su lanzamiento en 2020, YOLOv5 se ha consolidado como uno de los modelos de IA más populares y fiables del mundo. Construido sobre el framework de PyTorch, priorizó la usabilidad, la capacidad de exportación y el rendimiento "listo para usar", democratizando el acceso a la IA de visión de última generación.

Arquitectura y ecosistema

YOLOv5 emplea una estructura troncal CSPDarknet combinada con un cuello de botella PANet y un encabezado al estilo YOLOv3. Su arquitectura está basada en anclajes, utilizando cajas de anclaje para predecir las ubicaciones de los objetos. Un diferenciador clave es su integración en un ecosistema maduro. A diferencia de muchas bases de código de investigación, YOLOv5 fue diseñado como un producto para ingenieros, que ofrece una exportación perfecta a formatos como ONNX, CoreML y TFLite, lo que lo hace excepcionalmente versátil para la implementación móvil y en el borde.

Puntos fuertes clave

  • Facilidad de uso: La "experiencia YOLOv5" se define por su simplicidad. Desde el entrenamiento de conjuntos de datos personalizados hasta la ejecución de la inferencia, los flujos de trabajo están optimizados y bien documentados.
  • Ecosistema bien mantenido: Los usuarios se benefician del mantenimiento activo, las actualizaciones frecuentes y una comunidad masiva. Las integraciones con herramientas de MLOps como Weights & Biases y Comet son nativas.
  • Versatilidad: Más allá de la detección estándar, el repositorio admite la segmentación de instancias y la clasificación de imágenes, proporcionando una solución multi-tarea en un único código base.
  • Eficiencia de memoria: YOLOv5 es conocido por su huella de memoria relativamente baja durante el entrenamiento en comparación con los modelos basados en transformadores, lo que lo hace accesible en las GPU de nivel de consumidor.

Implementación Perfecta

El enfoque de YOLOv5 en la exportabilidad permite a los desarrolladores implementar modelos sin esfuerzo en diversos entornos, desde servidores en la nube hasta dispositivos de borde como Raspberry Pi o NVIDIA Jetson.

Más información sobre YOLOv5

Meituan YOLOv6-3.0

Autores: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu y Xiangxiang Chu
Organización: Meituan
Fecha: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: https://github.com/meituan/YOLOv6
Docs: https://docs.ultralytics.com/models/YOLOv6/

YOLOv6.0, desarrollado por el equipo de IA de visión de Meituan, se posiciona como un competidor industrial centrado en equilibrar velocidad y precisión, específicamente para aplicaciones conscientes del hardware. Se ha diseñado para maximizar el rendimiento de las GPU utilizando TensorRT de TensorRT.

Arquitectura y enfoque industrial

YOLOv6 utiliza un backbone EfficientRep y un cuello Rep-PAN, aprovechando las técnicas de reparametrización (estilo RepVGG) para mejorar la velocidad de inferencia sin sacrificar la precisión. Durante el entrenamiento, el modelo utiliza una estructura de múltiples ramas, que se colapsa en una estructura de una sola rama durante la inferencia. La versión 3.0 introdujo estrategias como la auto-destilación para impulsar aún más la Precisión Media (mAP).

Fortalezas y Debilidades

  • Optimización de la GPU: La arquitectura está muy optimizada para la inferencia estándar de la GPU, y a menudo alcanza puntos de referencia de FPS altos en tarjetas NVIDIA T4 cuando se utiliza TensorRT.
  • Apto para la cuantificación: Meituan proporciona soporte específico para la cuantificación posterior al entrenamiento (PTQ) y el entrenamiento con reconocimiento de cuantificación (QAT), lo cual es crucial para ciertos escenarios de implementación industrial.
  • Versatilidad limitada: Si bien YOLOv6 es excelente en la detección, carece del amplio soporte nativo multi-tarea (como la estimación de la pose o OBB) que se encuentra en el conjunto completo de Ultralytics.
  • Complejidad: Los pasos de reparametrización y los pipelines de entrenamiento específicos pueden introducir complejidad en comparación con la naturaleza plug-and-play de los modelos Ultralytics.

Más información sobre YOLOv6

Cara a cara de rendimiento

La siguiente comparación destaca las ventajas y desventajas de rendimiento. YOLOv6-3.0 tiene como objetivo la máxima precisión en hardware potente, a menudo sacrificando la eficiencia de los parámetros. En contraste, Ultralytics YOLOv5 mantiene un equilibrio notable, ofreciendo modelos ligeros que sobresalen en entornos basados en la CPU y la inferencia en tiempo real en dispositivos periféricos.

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
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

Análisis

YOLOv5n destaca como una solución extremadamente eficiente para aplicaciones móviles, requiriendo significativamente menos parámetros (2.6M) en comparación con la variante más pequeña de YOLOv6 (4.7M). Si bien YOLOv6-3.0 alcanza un mAP máximo más alto en tamaños más grandes, lo hace a costa de un mayor tamaño del modelo (FLOPs y parámetros). Para los desarrolladores que se dirigen a la implementación en CPU (común en robótica o monitorización de baja potencia), las velocidades de CPU de YOLOv5 se evalúan y optimizan explícitamente, mientras que YOLOv6 se centra en gran medida en la aceleración de la GPU.

Metodologías de entrenamiento y experiencia

La experiencia de entrenamiento difiere significativamente entre los dos ecosistemas. Ultralytics prioriza un enfoque de bajo código y alta flexibilidad.

Flujo de trabajo de Ultralytics

YOLOv5 puede integrarse directamente a través de PyTorch Hub, lo que permite a los usuarios cargar y ejecutar modelos con un código estándar mínimo. El script de entrenamiento gestiona todo, desde el aumento de datos hasta el registro, de forma automática.

import torch

# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Perform inference
img = "https://ultralytics.com/images/zidane.jpg"
results = model(img)
results.print()

Flujo de Trabajo Industrial

YOLOv6 generalmente requiere una configuración más manual que implica clonar el repositorio, configurar archivos de configuración específicos para el backbone de reparametrización y ejecutar scripts que están menos integrados con las herramientas MLOps externas listas para usar. Si bien es potente, exige una comprensión más profunda de las restricciones arquitectónicas específicas (como los parámetros de auto-destilación) para lograr los benchmarks informados.

Casos de Uso Ideales

La elección entre estos modelos depende de sus limitaciones específicas con respecto al hardware, la precisión y la velocidad de desarrollo.

  • Ultralytics YOLOv5: La opción ideal para el prototipado rápido, la implementación en el borde y el soporte de la comunidad. Si necesita implementar en una Raspberry Pi, un teléfono móvil o un servidor de CPU, la naturaleza ligera de YOLOv5 y el soporte de exportación son inigualables. También es ideal para los investigadores que necesitan una base de código versátil que admita la segmentación y la clasificación junto con la detección.
  • Meituan YOLOv6-3.0: Más adecuado para entornos industriales fijos donde se disponga de GPUs de gama alta y la maximización del mAP sea la única prioridad. Si está construyendo un sistema de control de calidad de fábrica que se ejecute en servidores NVIDIA T4/A10 y dispone de los recursos de ingeniería necesarios para ajustar los modelos reparametrizados, YOLOv6 es un buen candidato.

Conclusión

Ultralytics YOLOv5 sigue siendo una piedra angular de la comunidad de visión artificial, celebrado por su equilibrio de rendimiento, facilidad de uso y próspero ecosistema. Su capacidad para ofrecer resultados fiables en una amplia gama de hardware, desde el borde hasta la nube, lo convierte en una opción superior para la mayoría de los desarrolladores que priorizan la versatilidad y el tiempo de comercialización.

Si bien YOLOv6-3.0 introduce innovaciones arquitectónicas impresionantes para la inferencia de GPU industrial, carece del ecosistema integral y la adaptabilidad multiplataforma de los modelos Ultralytics. Para aquellos que buscan lo último en rendimiento y eficiencia, recomendamos explorar Ultralytics YOLO11, que supera tanto a YOLOv5 como a YOLOv6 en precisión y velocidad, al tiempo que conserva la API Ultralytics fácil de usar.

Para tareas especializadas, los desarrolladores también podrían considerar otros modelos en la documentación de Ultralytics, como YOLOv8, YOLOv9, YOLOv10 o el RT-DETR basado en transformadores.

Explore todo el potencial de la IA de visión en la Documentación de Modelos de Ultralytics.


Comentarios