YOLOv5 vs. DAMO-YOLO: Un análisis técnico comparativo detallado
En el panorama en rápida evolución de la visión por ordenador, la selección de la arquitectura de detección de objetos adecuada es fundamental para el éxito del proyecto. Esta comparativa explora dos modelos significativos: Ultralytics YOLOv5un estándar industrial adoptado en todo el mundo y conocido por su fiabilidad y velocidad, y YOLO, un modelo centrado en la investigación del grupo Alibaba que introduce novedosas técnicas de búsqueda de arquitecturas.
Aunque ambos modelos pretenden resolver tareas de detección de objetos, responden a necesidades diferentes. YOLOv5 da prioridad a la facilidad de uso, la versatilidad de despliegue y el equilibrio de rendimiento en el mundo real, mientras que YOLO se centra en superar los límites académicos con la búsqueda de arquitectura neuronal (NAS) y mecanismos de fusión de características pesadas.
Métricas de rendimiento y puntos de referencia
A la hora de elegir un modelo de producción, es esencial comprender las ventajas y desventajas de la velocidad de inferencia y la precisión de la detección. Los siguientes datos muestran el rendimiento de estos modelos en el conjunto de datosCOCO , una referencia estándar para la detección de objetos.
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
Análisis de los resultados
Los datos revelan una clara dicotomía en la filosofía de diseño. YOLOv5n (Nano) es el campeón indiscutible en velocidad y eficiencia, ya que ofrece un increíble tiempo de inferencia de 1,12 ms en GPU y un rendimiento de CPU ampliamente accesible. Esto la convierte en la solución ideal para aplicaciones de inteligencia artificial en las que la baja latencia no es negociable.
Los modelos YOLO , como el DAMO-YOLOl, logran marginalmente mayores Precisión mediamAP)con un máximo de 50.8pero a costa de la opacidad en las métricas de rendimiento CPU . La falta de información sobre las velocidades de CPU de YOLO sugiere que está optimizado principalmente para entornos de GPU de gama alta, lo que limita su flexibilidad para escenarios de despliegue más amplios, como aplicaciones móviles o sistemas integrados.
Ultralytics YOLOv5: el estándar versátil del sector
Autor: Glenn Jocher
Organización:Ultralytics
Fecha: 2020-06-26
GitHubyolov5
Documentaciónyolov5
Desde su lanzamiento, YOLOv5 se ha consolidado como una piedra angular en la comunidad de visión por ordenador. Construido de forma nativa en PyTorchequilibra la complejidad con la facilidad de uso, proporcionando una experiencia "pilas incluidas". Su arquitectura utiliza una red troncal CSPDarknet y un cuello PANet, que agrega eficientemente características a diferentes escalas para detect objetos de varios tamaños.
Puntos fuertes
- Facilidad de uso: Ultralytics prioriza la experiencia del desarrollador (DX). Con una sencilla API Python y comandosCLI intuitivos, los usuarios pueden entrenar e implementar modelos en cuestión de minutos.
- Ecosistema bien mantenido: Respaldado por una comunidad activa y actualizaciones frecuentes, YOLOv5 garantiza la compatibilidad con las herramientas más recientes, incluido Ultralytics HUB para una gestión de modelos perfecta.
- Versatilidad: Más allá de la detección estándar, YOLOv5 admite la segmentación de instancias y la clasificación de imágenes, lo que permite a los desarrolladores abordar múltiples tareas de visión con un único marco.
- Flexibilidad de despliegue: Desde la exportación a ONNX y TensorRT hasta la ejecución en iOS y Android, YOLOv5 está diseñado para ejecutarse en cualquier lugar.
Flujo de trabajo optimizado
YOLOv5 se integra perfectamente con las herramientas MLOps más populares. Puede track de sus experimentos utilizando Weights & Biases o Comet con un solo comando, garantizando que sus ejecuciones de entrenamiento sean reproducibles y fáciles de analizar.
YOLO: precisión basada en la investigación
Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang y Xiuyu Sun
Organización: Alibaba Group
Fecha: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHubYOLO
YOLO es un método desarrollado por la Academia DAMO de Alibaba. Introduce un conjunto de tecnologías avanzadas que incluyen la búsqueda de arquitectura neuronal (NAS) para diseñar automáticamente columnas vertebrales eficientes (MAE-NAS), una estructura de cuello pesado conocida como RepGFPN (Reparameterized Generalized Feature Pyramid Network) y una cabeza ligera llamada ZeroHead.
Características principales
- Red troncal MAE-NAS: Utiliza un método llamado MAE-NAS para encontrar una estructura de red óptima bajo restricciones de latencia específicas, aunque esto puede hacer que la arquitectura sea más compleja de modificar manualmente.
- Asignación de etiquetas AlignedOTA: Emplea una estrategia dinámica de asignación de etiquetas denominada AlignedOTA para resolver los desajustes entre las tareas de clasificación y regresión.
- Precisión: El objetivo principal de YOLO es maximizar mAP en el conjunto de datos COCO , lo que lo convierte en un fuerte competidor para concursos o investigaciones académicas en las que cada fracción de porcentaje cuenta.
Más información sobre DAMO-YOLO
Diferencias arquitectónicas y operativas
La divergencia entre YOLOv5 y YOLO va más allá de las simples métricas y se centra en sus filosofías de diseño y requisitos operativos.
Arquitectura: Simplicidad frente a complejidad
YOLOv5 emplea una arquitectura artesanal e intuitiva. Su enfoque basado en anclas se entiende bien y es fácil de depurar. Por el contrario, YOLO se basa en una fuerte re-parametrización y búsqueda automatizada (NAS). Aunque NAS puede producir estructuras eficientes, a menudo da lugar a modelos de "caja negra" que son difíciles de personalizar o interpretar para los desarrolladores. Además, el cuello pesado (RepGFPN) en YOLO aumenta la carga computacional durante el entrenamiento, requiriendo más memoria deGPU en comparación con el eficiente diseño CSP de YOLOv5.
Eficacia del entrenamiento y memoria
Los modelos Ultralytics son famosos por su eficiencia de entrenamiento. YOLOv5 suele requerir menos memoria CUDA , lo que permite entrenarlo en GPU de consumo. YOLO, con sus complejos procesos de reparametrización y destilación, suele requerir hardware de gama alta para entrenarse con eficacia. Además, Ultralytics proporciona una amplia biblioteca de pesos preentrenados y un ajuste automático de hiperparámetros para acelerar el camino hacia la convergencia.
Ecosistema y facilidad de uso
Quizá la diferencia más significativa radique en el ecosistema. YOLOv5 no es solo un modelo; forma parte de un conjunto completo de herramientas.
- Documentación: Ultralytics mantiene una extensa documentación multilingüe que guía a los usuarios desde la recogida de datos hasta su implantación.
- Comunidad: Una comunidad global masiva garantiza la rápida resolución de problemas y la disponibilidad de tutoriales.
- Integraciones: Compatibilidad nativa con Roboflow y objetivos de despliegue como NVIDIA Jetson simplifica todo el proceso.
YOLO, principalmente un repositorio de investigación, carece de este nivel de soporte pulido, lo que dificulta considerablemente la integración en productos comerciales.
Casos de uso en el mundo real
La elección entre estos modelos suele depender del entorno de implantación específico.
En qué destaca YOLOv5
- Agricultura inteligente: Sus bajos requisitos de recursos la hacen perfecta para funcionar en drones o tractores autónomos para la detección de enfermedades en los cultivos.
- Fabricación: En la automatización industrial, la alta velocidad de YOLOv5 permite la detección de defectos en tiempo real en cintas transportadoras de movimiento rápido.
- Análisis de comercios: Para el recuento de objetos y la gestión de colas, el rendimiento de CPU de YOLOv5 permite una implantación rentable en el hardware de tienda existente.
Dónde destaca YOLO
- Investigación académica: Los investigadores que estudien la eficacia de las técnicas RepGFPN o NAS encontrarán en YOLO una valiosa base de referencia.
- Vigilancia de alto nivel: En escenarios con GPU de nivel de servidor dedicadas en los que se prioriza la precisión sobre la latencia, YOLO puede proporcionar una detección precisa en escenas complejas.
Ejemplo de código: Primeros pasos con YOLOv5
Ejecutar YOLOv5 es sencillo gracias al paquete Ultralytics Python . El siguiente ejemplo muestra cómo cargar un modelo preentrenado y ejecutar la inferencia en una imagen.
import torch
# Load a pre-trained YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image URL or local path
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results to the console
results.print()
# Show the image with bounding boxes
results.show()
Conclusión
Tanto YOLOv5 como YOLO contribuyen significativamente al campo de la detección de objetos. YOLO muestra el potencial de la búsqueda de arquitecturas neuronales y la fusión avanzada de características para lograr parámetros de referencia de gran precisión.
Sin embargo, para la gran mayoría de desarrolladores, ingenieros y empresas, Ultralytics YOLOv5 sigue siendo la mejor opción. Su incomparable facilidad de uso, su sólido equilibrio de rendimiento y la seguridad de un ecosistema bien mantenido garantizan que los proyectos pasen del prototipo a la producción con una fricción mínima. La capacidad de despliegue eficiente en CPU y GPU, combinada con los menores requisitos de memoria para el entrenamiento, hacen de YOLOv5 una solución muy práctica para las aplicaciones del mundo real.
Para aquellos que buscan aprovechar lo último en tecnología de visión por ordenador, Ultralytics ha seguido innovando con YOLOv8 y la tecnología punta YOLO11. Estos nuevos modelos se basan en los sólidos cimientos de YOLOv5 y ofrecen una velocidad, precisión y versatilidad de tareas aún mayores.
Explorar otras comparaciones
Para comprender mejor cómo encajan estos modelos en el ecosistema general, explore estas comparaciones detalladas: