Ir al contenido

YOLOv6-3.0 vs YOLOv5: Una comparación técnica para la detección de objetos

Seleccionar la arquitectura adecuada para su proyecto de visión artificial es una decisión fundamental que afecta el rendimiento, la facilidad de implementación y el mantenimiento a largo plazo. Dos contendientes destacados en el campo del object detection en tiempo real son YOLOv6-3.0 de Meituan y YOLOv5 de Ultralytics. Esta guía proporciona una comparación técnica detallada para ayudar a los desarrolladores e investigadores a elegir el modelo que mejor se alinee con sus requisitos específicos, ya sea priorizando el rendimiento bruto de la GPU o un ecosistema versátil y fácil de usar.

Análisis de las métricas de rendimiento

La siguiente tabla presenta una comparación directa de las métricas de rendimiento en el conjunto de datos COCO. Si bien YOLOv6-3.0 supera los límites de la precisión máxima en dispositivos GPU, Ultralytics YOLOv5 mantiene una reputación de eficiencia excepcional, particularmente en CPU, y una complejidad de modelo significativamente menor (parámetros y FLOPs) para sus variantes ligeras.

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
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
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

Análisis: Los datos destacan que el modelo YOLOv5n (Nano) es sobresaliente para entornos con recursos limitados, ya que cuenta con el menor número de parámetros (2.6M) y FLOPs (7.7B), lo que se traduce en velocidades de inferencia de la CPU superiores. Esto lo hace muy adecuado para aplicaciones de edge AI donde la memoria y la energía son escasas. Por el contrario, YOLOv6-3.0 se dirige a un mAPval más alto a costa de un mayor tamaño del modelo, lo que lo convierte en un fuerte candidato para configuraciones industriales con hardware de GPU dedicado.

Meituan YOLOv6-3.0: Precisión Industrial

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/

Desarrollado por Meituan, YOLOv6-3.0 es un framework de detección de objetos diseñado para aplicaciones industriales. Se centra en lograr un equilibrio favorable entre la velocidad de inferencia y la precisión, optimizando específicamente para el rendimiento consciente del hardware en las GPU.

Arquitectura y Características Clave

YOLOv6 incorpora un diseño de backbone eficiente y una estructura reparametrizable (estilo RepVGG) que simplifica el modelo durante la inferencia, al tiempo que mantiene complejas capacidades de extracción de características durante el entrenamiento. La versión 3.0 introdujo técnicas como la auto-destilación y una estrategia de entrenamiento asistida por anclaje para mejorar aún más el rendimiento.

Fortalezas y Debilidades

  • Alta precisión en GPU: Ofrece puntuaciones mAP competitivas en el conjunto de datos COCO, lo que lo hace adecuado para tareas de control de calidad en la fabricación.
  • Soporte para la Cuantización: Ofrece soporte específico para la cuantización de modelos para acelerar la implementación.
  • Versatilidad limitada: Diseñado principalmente para la detección de objetos, carece de soporte nativo para tareas más amplias como la segmentación de instancias o la estimación de la pose que se encuentran en otros frameworks.
  • Mayor sobrecarga de recursos: Las variantes más grandes requieren más memoria y potencia computacional en comparación con los modelos YOLOv5 ligeros equivalentes.

Más información sobre YOLOv6

Ultralytics YOLOv5: El Estándar del Ecosistema

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

Ultralytics YOLOv5 es un modelo legendario en el espacio de la visión artificial, celebrado por su diseño centrado en el usuario, su fiabilidad y el completo ecosistema que lo rodea. Sigue siendo uno de los modelos más implementados a nivel mundial debido a su equilibrio entre velocidad, precisión y facilidad de uso.

Arquitectura y Características Clave

YOLOv5 utiliza un backbone CSPDarknet junto con un neck PANet para una fusión de características robusta. Emplea un mecanismo de detección basado en anclajes, que ha demostrado ser muy estable en diversos conjuntos de datos. La arquitectura es altamente modular, ofreciendo cinco escalas (n, s, m, l, x) para adaptarse a todo, desde dispositivos integrados hasta servidores en la nube.

¿Por qué elegir YOLOv5?

  • Facilidad de uso: Ultralytics prioriza la experiencia del desarrollador con una API de python simple, configuración automática del entorno y documentación extensa.
  • Versatilidad: A diferencia de muchos competidores, YOLOv5 admite clasificación de imágenes y segmentación de instancias de fábrica.
  • Eficiencia del Entrenamiento: Conocido por su rápida convergencia y su bajo uso de memoria durante el entrenamiento, lo que ahorra costos en recursos informáticos.
  • Flexibilidad de Implementación: Se exporta perfectamente a formatos como ONNX, TensorRT, CoreML y TFLite para una diversa integración de hardware.

Ecosistema Integrado

Una de las mayores ventajas de usar YOLOv5 es el ecosistema de Ultralytics. La integración con herramientas como Ultralytics HUB permite el entrenamiento y la vista previa de modelos sin código, mientras que el soporte integrado para el seguimiento de experimentos a través de Comet y MLflow agiliza el flujo de trabajo de MLOps.

Más información sobre YOLOv5

Comparación detallada

Arquitectura y filosofía de diseño

YOLOv6-3.0 se apoya fuertemente en la búsqueda de arquitectura neuronal consciente del hardware y la reparametrización para maximizar el rendimiento en arquitecturas de GPU específicas (como Tesla T4). En contraste, YOLOv5 se centra en un diseño universal que funciona de manera fiable en CPUs, GPUs y NPUs. El detector basado en anclajes de YOLOv5 suele ser más fácil de ajustar para conjuntos de datos personalizados con objetos pequeños en comparación con algunos enfoques sin anclajes.

Usabilidad y Metodología de Entrenamiento

Los modelos de Ultralytics están diseñados para estar "listos para entrenar". Con YOLOv5, funciones como AutoAnchor ajustan automáticamente los anchor boxes a las etiquetas de tu conjunto de datos, y la evolución inteligente de los hiperparámetros ayuda a encontrar la configuración de entrenamiento óptima. YOLOv6 requiere una configuración más manual, característica de los repositorios de investigación tradicionales, lo que puede presentar una curva de aprendizaje más pronunciada para los nuevos usuarios.

Casos de uso en el mundo real

  • Ultralytics YOLOv5: ideal para el prototipado rápido y diversas implementaciones. Su modelo 'Nano' ligero es perfecto para la monitorización basada en drones o aplicaciones móviles que requieren inferencia en tiempo real en la CPU. Su soporte para la segmentación también lo hace valioso para tareas de imagen médica como la segmentación celular.
  • YOLOv6-3.0: El más adecuado para entornos industriales fijos donde se dispone de GPUs de gama alta y la métrica principal es el mAP. Los ejemplos incluyen la inspección óptica automatizada (AOI) en la fabricación de productos electrónicos.

Ejemplo de código: Ejecución de YOLOv5

La simplicidad de YOLOv5 se demuestra mejor por su capacidad para ejecutar inferencias con solo unas pocas líneas de código usando PyTorch Hub. Esto elimina los pasos de instalación complejos y permite a los desarrolladores probar el modelo de inmediato.

import torch

# Load the YOLOv5s model from the official Ultralytics Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image URL (or local path)
img = "https://ultralytics.com/images/zidane.jpg"

# Perform inference
results = model(img)

# Display results
results.show()

# Print detailed results regarding detected objects
results.print()

Esta facilidad de acceso es un sello distintivo de la filosofía de Ultralytics, que permite a los profesionales de la visión artificial centrarse en la resolución de problemas en lugar de depurar problemas del entorno.

Conclusión

Ambas arquitecturas desempeñan funciones importantes en el panorama de la visión moderno. Meituan YOLOv6-3.0 ofrece una opción convincente para los usuarios que se centran estrictamente en maximizar la precisión de la detección en hardware GPU.

Sin embargo, Ultralytics YOLOv5 sigue siendo la mejor opción para la mayoría de los desarrolladores debido a su versatilidad inigualable, eficiencia de entrenamiento y ecosistema robusto. La capacidad de implementarse fácilmente en dispositivos periféricos, junto con el soporte para la segmentación y la clasificación, convierte a YOLOv5 en una solución integral para los desafíos de la IA en el mundo real.

Para aquellos que buscan lo último en rendimiento de vanguardia, recomendamos explorar Ultralytics YOLO11. YOLO11 se basa en el legado de YOLOv5 con aún mayor precisión, velocidad y capacidades ricas en funciones, lo que representa el futuro de la IA de visión. Otros modelos especializados como RT-DETR también están disponibles para aplicaciones basadas en transformadores.

Explore la gama completa de herramientas y modelos en la Documentación de Modelos de Ultralytics.


Comentarios