YOLOv6.0 frente a YOLOv5: comparación técnica para la detección de objetos
Seleccionar la arquitectura adecuada para su proyecto de visión por ordenador es una decisión fundamental que influye en el rendimiento, la facilidad de implantación y el mantenimiento a largo plazo. Dos contendientes destacados en el campo de la detección de objetos en tiempo real son YOLOv6.0, de Meituan, y YOLOv5. Esta guía proporciona una comparación técnica detallada para ayudar a desarrolladores e investigadores a elegir el modelo que mejor se adapte a sus requisitos específicos, ya sea priorizar el rendimiento bruto de GPU o un ecosistema versátil y fácil de usar.
Análisis de métricas de rendimiento
La tabla siguiente presenta una comparación directa de las métricas de rendimiento en el conjunto de datosCOCO . Mientras que YOLOv6.0 supera los límites de la máxima precisión en dispositivos GPU , Ultralytics YOLOv5 de Ultralytics mantiene su reputación de eficiencia excepcional, especialmente en CPU, y de complejidad del modelo significativamente menor (parámetros y FLOPs) para sus variantes ligeras.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6,0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
| 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 |
Análisis: Los datos ponen de relieve que el modelo YOLOv5n (Nano) destaca en entornos con recursos limitados, ya que presenta el menor número de parámetros (2,6 millones) y FLOPs (7,7B), lo que se traduce en velocidades de inferencia de CPU superiores. Esto lo hace muy adecuado para aplicaciones de inteligencia artificial en entornos con escasez de memoria y energía. Por el contrario, YOLOv6.0 tiene como objetivo un mayor mAPval a costa de aumentar el tamaño del modelo, lo que lo convierte en un firme candidato para configuraciones industriales con hardware de GPU dedicado.
Meituan YOLOv6.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: YOLOv6
Docs: https:ultralytics
Desarrollado por Meituan, YOLOv6.0 es un marco 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 el rendimiento de las GPU en función del hardware.
Arquitectura y Características Clave
YOLOv6 incorpora un diseño de columna vertebral eficiente y una estructura reparametrizable (al estilo RepVGG) que simplifica el modelo durante la inferencia al tiempo que mantiene las capacidades de extracción de características complejas durante el entrenamiento. La versión 3.0 introdujo técnicas como la autodestilación y una estrategia de entrenamiento asistida por anclas para aumentar aún más el rendimiento.
Fortalezas y Debilidades
- Alta precisión GPU : Ofrece puntuaciones mAP competitivas en el conjunto de datosCOCO , lo que lo hace adecuado para tareas de control de calidad en la fabricación.
- Soporte de cuantificación: Ofrece compatibilidad específica con la cuantificación de modelos para acelerar la implantació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 poses que se encuentran en otros marcos.
- Mayor sobrecarga de recursos: Las variantes de mayor tamaño requieren más memoria y potencia de cálculo que los modelos ligeros equivalentes YOLOv5 .
Ultralytics YOLOv5: el estándar del ecosistema
Autores: Glenn Jocher
Organización: Ultralytics
Fecha: 2020-06-26
GitHub: yolov5
Docs: https:yolov5
Ultralytics YOLOv5 es un modelo legendario en el ámbito de la visión por ordenador, célebre por su diseño centrado en el usuario, su fiabilidad y el amplio ecosistema que lo rodea. Sigue siendo uno de los modelos más utilizados en todo el mundo por su equilibrio entre velocidad, precisión y facilidad de uso.
Arquitectura y Características Clave
YOLOv5 utiliza una red troncal CSPDarknet junto con un cuello 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 distintos conjuntos de datos. La arquitectura es muy modular y ofrece cinco escalas (n, s, m, l, x) para adaptarse a todo tipo de dispositivos, desde dispositivos integrados hasta servidores en la nube.
¿Por qué elegir YOLOv5?
- Facilidad de uso: Ultralytics prioriza la experiencia del desarrollador con una API Python sencilla, configuración automática del entorno y una amplia documentación.
- Versatilidad: A diferencia de muchos competidores, YOLOv5 admite la clasificación de imágenes y la segmentación de instancias desde el primer momento.
- Eficacia de entrenamiento: Conocida por su rápida convergencia y su bajo uso de memoria durante el entrenamiento, lo que ahorra costes en recursos informáticos.
- Flexibilidad de despliegue: Exporta sin problemas a formatos como ONNX, TensorRTCoreML y TFLite para la integración de hardware diverso.
Ecosistema integrado
Una de las mayores ventajas de utilizar YOLOv5 es el ecosistema Ultralytics . La integración con herramientas como Ultralytics HUB permite la formación y previsualización de modelos sin código, mientras que la compatibilidad integrada con el seguimiento de experimentos a través de Comet y MLflow agiliza el flujo de trabajo de MLOps.
Comparación detallada
Arquitectura y filosofía del diseño
YOLOv6.0 se basa en gran medida en la búsqueda de arquitecturas neuronales adaptadas al hardware y en la reparametrización para maximizar el rendimiento en arquitecturas de GPU específicas (como Tesla T4). Por el contrario, YOLOv5 se centra en un diseño universal que ofrece un rendimiento fiable en CPU, GPU y NPU. El detector basado en anclas 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 anclas.
Usabilidad y metodología de la formación
Los modelos Ultralytics están diseñados para estar "listos para el entrenamiento". Con YOLOv5, funciones como AutoAnchor ajustan automáticamente los cuadros de anclaje a las etiquetas de los conjuntos de datos, y la evolución inteligente de los hiperparámetros ayuda a encontrar la configuración óptima para el entrenamiento. YOLOv6 requiere una configuración más manual, característica de los repositorios de investigación tradicionales, lo que puede suponer una curva de aprendizaje más pronunciada para los nuevos usuarios.
Casos de uso en el mundo real
- Ultralytics YOLOv5: ideal para la creación rápida de prototipos y despliegues diversos. Su ligero modelo "Nano" es perfecto para la monitorización basada en drones o aplicaciones móviles que requieren inferencia en tiempo real en CPU. Su compatibilidad con la segmentación también lo hace valioso para tareas de imagen médica como la segmentación celular.
- YOLOv6.0: Más adecuado para entornos industriales fijos en los que se dispone de GPU de gama alta y la métrica principal es mAP. Algunos ejemplos son 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 queda patente en su capacidad para ejecutar la inferencia con unas pocas líneas de código utilizando PyTorch Hub. Esto elimina los complejos pasos de instalación y permite a los desarrolladores probar el modelo inmediatamente.
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 por ordenador centrarse en resolver problemas en lugar de depurar cuestiones del entorno.
Conclusión
Ambas arquitecturas desempeñan funciones importantes en el panorama de la visión moderna. Meituan YOLOv6.0 ofrece una opción atractiva para los usuarios que se centran estrictamente en maximizar la precisión de detección en hardware de GPU .
Sin embargo, Ultralytics YOLOv5 sigue siendo la mejor opción para la mayoría de los desarrolladores debido a su inigualable versatilidad, eficiencia de formación y sólido ecosistema. La capacidad de implementarse fácilmente en dispositivos periféricos, junto con la compatibilidad con la segmentación y la clasificación, convierten YOLOv5 en una solución integral para los retos de IA del mundo real.
Para aquellos que buscan lo último en rendimiento de última generación, recomendamos explorar Ultralytics YOLO11. YOLO11 se basa en el legado de YOLOv5 con una precisión, velocidad y funciones aún mayores, y representa el futuro de la IA de visión. Otros modelos especializados como RT-DETR para aplicaciones basadas en transformadores.
Explore toda la gama de herramientas y modelos en la Documentación de modelos deUltralytics .