DAMO-YOLO frente a YOLOv5#
La evolución de la visión por ordenador ha estado marcada por la innovación continua en la detección de objetos en tiempo real. Hoy en día, desarrolladores e investigadores se enfrentan a una gran variedad de opciones arquitectónicas al diseñar pipelines de visión. Esta comparación técnica exhaustiva explora las diferencias entre DAMO-YOLO y Ultralytics YOLOv5, destacando sus respectivas arquitecturas, metodologías de entrenamiento, métricas de rendimiento y escenarios de implementación ideales.
Introducción a DAMO-YOLO#
Lanzado por Alibaba Group, DAMO-YOLO introdujo varias técnicas novedosas destinadas a ampliar los límites de la velocidad y la precisión de detección.
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang y Xiuyu Sun
- Organización: Alibaba Group
- Fecha: 23 de noviembre de 2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
- Documentación: README.md
Más información sobre DAMO-YOLO
Innovaciones arquitectónicas#
DAMO-YOLO se basa en una estructura de Búsqueda de Arquitectura Neuronal (NAS). Los autores utilizaron MAE-NAS para diseñar automáticamente backbones que equilibran la latencia y la precisión. El modelo introduce un RepGFPN (Reparameterized Generalized Feature Pyramid Network) eficiente que mejora la fusión de características en diferentes escalas. Además, DAMO-YOLO incorpora un diseño "ZeroHead", eliminando las complejas cabezas de predicción multirrama en favor de una estructura más simple y eficiente que depende en gran medida de la reparametrización durante la inferencia.
Para mejorar el entrenamiento, el modelo utiliza AlignedOTA para la asignación de etiquetas y un proceso intensivo de mejora mediante destilación, en el que un modelo «profesor» más grande guía a un modelo «alumno» más pequeño para lograr una mayor precisión.
Introducción a Ultralytics YOLOv5#
Ultralytics YOLOv5 es una de las arquitecturas de visión más adoptadas del mundo, reconocida por su estabilidad, facilidad de uso y amplio ecosistema de implementación.
- Autores: Glenn Jocher
- Organización: Ultralytics
- Fecha: 26 de junio de 2020
- GitHub: ultralytics/yolov5
- Documentación: Documentación de YOLOv5
El estándar del ecosistema#
YOLOv5 redefinió el estándar del sector en cuanto a facilidad de uso. Desarrollado de forma nativa en PyTorch, utiliza un backbone CSPNet altamente optimizado y un neck PANet para una sólida agregación de características. Aunque precedió a la tendencia de los modelos sin anchors que se observa en modelos posteriores, su enfoque basado en anchors, altamente perfeccionado y combinado con el aprendizaje automático de anchors, garantiza un rendimiento excelente desde el primer momento.
La verdadera fortaleza de YOLOv5 reside en su ecosistema bien mantenido. Se integra perfectamente con herramientas de seguimiento como Comet y Weights & Biases, y admite exportaciones con un solo clic a formatos como ONNX, TensorRT y CoreML.
YOLOv5 es increíblemente fácil de entrenar con conjuntos de datos personalizados. Su API optimizada reduce la fricción entre el prototipo y la producción, por lo que es una opción favorita entre los equipos de ingeniería ágiles.
Comparación de rendimiento y métricas#
Al comparar estos modelos, es fundamental analizar el equilibrio entre la precisión media promedio (mAP), la velocidad de inferencia y el número de parámetros.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 de las compensaciones#
DAMO-YOLO logra puntuaciones de mAP impresionantes para su tamaño en parámetros, gracias en gran medida a su fase de entrenamiento mediante destilación. Sin embargo, esto tiene un coste en eficiencia de entrenamiento. El proceso de destilación en varias etapas requiere entrenar primero un modelo profesor grande, lo que aumenta considerablemente el tiempo de cálculo de la GPU y la VRAM necesarias.
Por el contrario, YOLOv5 ofrece unos requisitos de memoria excelentes. Los modelos YOLO de Ultralytics son conocidos por su menor uso de memoria tanto durante el entrenamiento como durante la inferencia, en comparación con los complejos pipelines de destilación o los modelos basados en Transformer, como RT-DETR. Esto permite entrenar YOLOv5 de forma eficiente en hardware de consumo o en entornos de nube accesibles, como Google Colab.
Aplicaciones en el mundo real y versatilidad#
La elección de la arquitectura adecuada suele depender del entorno de implementación.
En qué destaca DAMO-YOLO#
DAMO-YOLO es estrictamente un modelo de detección de objetos. Es una excelente opción para la investigación académica, en particular para equipos que estudian la Búsqueda de Arquitectura Neuronal o aquellos que pretenden reproducir las técnicas de reparametrización detalladas en el artículo. Si un proyecto cuenta con amplios recursos computacionales para ejecutar la fase de entrenamiento de destilación y se centra únicamente en exprimir la última fracción de precisión para 2D bboxes, DAMO-YOLO es un fuerte contendiente.
La ventaja de Ultralytics#
Para la producción en el mundo real, la facilidad de uso y la versatilidad de los modelos de Ultralytics los convierten en la opción preferida. Aunque YOLOv5 sigue siendo un referente para la detección y la clasificación de imágenes, el ecosistema más amplio de Ultralytics permite a los desarrolladores cambiar de tarea sin esfuerzo.
Por ejemplo, las iteraciones más recientes de la familia Ultralytics admiten de forma nativa la segmentación de instancias, la estimación de pose y la detección de cajas delimitadoras orientadas (OBB). Esta capacidad multitarea garantiza que los equipos puedan utilizar una única API de Python unificada para pipelines complejos, como combinar el reconocimiento automatizado de matrículas con la segmentación de vehículos.
Casos de uso y recomendaciones#
La elección entre DAMO-YOLO y YOLOv5 depende de los requisitos específicos de tu proyecto, las limitaciones de implementación y tus preferencias en cuanto al ecosistema.
Cuándo elegir DAMO-YOLO#
DAMO-YOLO es una buena opción para:
- Análisis de vídeo de alto rendimiento: Procesamiento de flujos de vídeo con un FPS elevado en una infraestructura GPU NVIDIA fija, donde el rendimiento con batch-1 es la métrica principal.
- Líneas industriales de fabricación: Situaciones con estrictas restricciones de latencia GPU en hardware dedicado, como la inspección de calidad en tiempo real en líneas de montaje.
- Investigación sobre búsqueda de arquitectura neuronal: Estudio de los efectos de la búsqueda automatizada de arquitecturas (MAE-NAS) y de los backbones reparametrizados eficientes en el rendimiento de la detección.
Cuándo elegir YOLOv5#
YOLOv5 se recomienda para:
- Sistemas de producción probados: Implementaciones existentes en las que se valoran la larga trayectoria de estabilidad de YOLOv5, su amplia documentación y el enorme apoyo de la comunidad.
- Entrenamiento con recursos limitados: Entornos con recursos de GPU limitados en los que resultan ventajosos el eficiente flujo de entrenamiento de YOLOv5 y sus menores requisitos de memoria.
- Amplia compatibilidad con formatos de exportación: Proyectos que requieren implementarse en muchos formatos, incluidos ONNX, TensorRT, CoreML y TFLite.
Cuándo elegir Ultralytics (YOLO26)#
Para la mayoría de los proyectos nuevos, Ultralytics YOLO26 ofrece la mejor combinación de rendimiento y experiencia para desarrolladores:
- Despliegue edge sin NMS: Aplicaciones que requieren una inferencia constante y de baja latencia sin la complejidad del posprocesamiento de supresión no máxima.
- Entornos exclusivamente con CPU: Dispositivos sin aceleración dedicada mediante GPU, donde la inferencia en CPU hasta un 43 % más rápida de YOLO26 ofrece una ventaja decisiva.
- Detección de objetos pequeños: Escenarios exigentes, como las imágenes aéreas captadas por drones o el análisis de sensores del IoT, en los que ProgLoss y STAL mejoran significativamente la precisión en objetos diminutos.
El futuro: pasar a YOLO26#
Aunque YOLOv5 es legendario y DAMO-YOLO aporta interesantes conocimientos académicos, el estado del arte ha evolucionado. Lanzado en enero de 2026, Ultralytics YOLO26 representa un enorme salto adelante para la comunidad de visión.
YOLO26 aborda los cuellos de botella tradicionales de la implementación en el edge y la inestabilidad del entrenamiento:
- Diseño de extremo a extremo sin NMS: YOLO26 elimina de forma nativa el posprocesamiento de supresión de no máximos. Este avance simplifica la lógica de implementación y reduce drásticamente la variabilidad de la latencia, lo que lo hace ideal para la robótica de alta velocidad y los sistemas autónomos.
- Optimizador MuSGD: Inspirado en las innovaciones del entrenamiento de LLM (como Kimi K2 de Moonshot AI), YOLO26 utiliza el optimizador MuSGD (un híbrido de SGD y Muon). Esto garantiza ejecuciones de entrenamiento muy estables y una convergencia notablemente más rápida.
- Hasta un 43 % más rápido en inferencia en CPU: Al eliminar estratégicamente la pérdida focal de distribución (DFL), YOLO26 logra velocidades muy superiores en CPU y dispositivos edge en comparación con sus predecesores, como YOLO11 y YOLOv8.
- ProgLoss + STAL: Estas funciones de pérdida avanzadas producen mejoras notables en el reconocimiento de objetos pequeños, algo fundamental para analizar imágenes aéreas capturadas por drones y flujos de datos de sensores IoT.
Ejemplo de código: la sencillez en acción#
El paquete de Ultralytics permite entrenar e implementar modelos con solo unas pocas líneas de código. Tanto si utilizas YOLOv5 como si actualizas al recomendado YOLO26, la interfaz sigue siendo coherente e intuitiva.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 small model
model = YOLO("yolo26s.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Export the model for edge deployment
model.export(format="onnx")Conclusión#
Tanto DAMO-YOLO como YOLOv5 han contribuido significativamente al panorama de la visión por ordenador. DAMO-YOLO demuestra el potencial de la Búsqueda de Arquitectura Neuronal y la destilación, por lo que resulta interesante para los investigadores. Sin embargo, YOLOv5 sigue siendo una solución práctica y potente gracias a su equilibrio de rendimiento, sus bajos requisitos de memoria y su facilidad de uso incomparable.
Para los desarrolladores que comiencen nuevos proyectos hoy, la recomendación es aprovechar la plataforma Ultralytics y adoptar YOLO26. Combina el apreciado ecosistema fácil de usar de YOLOv5 con avances arquitectónicos revolucionarios, lo que garantiza una precisión de primer nivel y una inferencia ultrarrápida tanto para aplicaciones de IA en la nube como en el edge. Los desarrolladores también pueden explorar otros modelos eficientes, como YOLOv6 o YOLOX, en función de las limitaciones específicas del hardware heredado.