YOLOv8 frente a DAMO-YOLO#
El panorama de la visión por ordenador evoluciona constantemente, con nuevas arquitecturas que amplían los límites de lo posible en dispositivos periféricos y enormes clústeres en la nube. En este análisis técnico detallado, comparamos dos destacados modelos de detección de objetos en tiempo real: YOLOv8 y DAMO-YOLO. Al examinar sus arquitecturas, métricas de rendimiento y metodologías de entrenamiento, los ingenieros de ML pueden tomar decisiones fundamentadas para sus flujos de despliegue.
Antecedentes y orígenes de los modelos#
Ambos modelos se presentaron aproximadamente al mismo tiempo, pero parten de distintas filosofías de diseño y objetivos de investigación.
Detalles de YOLOv8#
- Autores: Glenn Jocher, Ayush Chaurasia y Jing Qiu
- Organización: Ultralytics
- Fecha: 2023-01-10
- GitHub: Repositorio de Ultralytics en GitHub
- Documentación: Documentación oficial de YOLOv8
Detalles de DAMO-YOLO#
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang y Xiuyu Sun
- Organización: Alibaba Group
- Fecha: 2022-11-23
- Arxiv: Artículo de investigación de DAMO-YOLO
- GitHub: Repositorio de GitHub de DAMO-YOLO
Más información sobre DAMO-YOLO
Innovaciones arquitectónicas#
YOLOv8: diseño versátil sin anchors#
Ultralytics YOLOv8 introdujo mejoras significativas respecto a sus predecesores, consolidándose como un modelo de vanguardia muy fiable. Incorpora una cabeza de detección sin anchors, lo que reduce el número de predicciones de cajas y acelera la inferencia. La arquitectura utiliza una cabeza desacoplada que separa las tareas de objetualidad, clasificación y regresión, lo que da lugar a predicciones más precisas de las cajas delimitadoras.
Además, YOLOv8 implementa Distribution Focal Loss (DFL) junto con la pérdida CIoU, lo que mejora la capacidad del modelo para localizar con precisión los límites de los objetos, especialmente en objetivos pequeños u ocluidos. Su backbone optimizado y simplificado ofrece un rendimiento excelente tanto en GPU como en CPU.
DAMO-YOLO: impulsado por la búsqueda de arquitecturas#
DAMO-YOLO adopta un enfoque diferente y se basa en gran medida en la búsqueda de arquitecturas neuronales (NAS) para diseñar automáticamente su backbone. El equipo de Alibaba introdujo "MAE-NAS" para encontrar estructuras que ofrecieran un equilibrio óptimo entre latencia y precisión, específicamente con la aceleración de TensorRT.
El modelo incorpora una RepGFPN (red piramidal de características generalizada reparametrizada) para fusionar características de forma eficiente y un diseño "ZeroHead" para minimizar la carga computacional de la cabeza de detección. Durante el entrenamiento, utiliza AlignedOTA para asignar etiquetas y depende en gran medida de un complejo proceso de destilación de conocimiento, que requiere un modelo profesor más grande para supervisar al modelo alumno objetivo.
Aunque DAMO-YOLO logra métricas de latencia impresionantes mediante NAS y la destilación, esto requiere bastante más memoria CUDA y tiempo de cómputo durante el entrenamiento que el flujo de entrenamiento optimizado y de una sola etapa de YOLOv8.
Rendimiento y métricas#
Al desplegar modelos de visión por ordenador en producción, es fundamental equilibrar la precisión (mAP) con la velocidad de inferencia. La tabla siguiente muestra el rendimiento de ambos modelos con distintos tamaños.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
YOLOv8 demuestra un equilibrio excepcional entre rendimiento. El modelo YOLOv8n (nano) solo requiere 3,2 millones de parámetros, frente a los 8,5 millones de DAMO-YOLOt, por lo que es muy superior para dispositivos móviles o entornos con requisitos estrictos de memoria. Además, YOLOv8 ofrece una gama más amplia de tamaños, que llega hasta YOLOv8x, muy preciso para cargas de trabajo basadas en la nube.
Experiencia del desarrollador y ecosistema#
Facilidad de uso y eficiencia del entrenamiento#
Uno de los mayores factores diferenciales es la experiencia de usuario. El ecosistema de Ultralytics está diseñado para aumentar la velocidad de desarrollo. Entrenar un modelo YOLOv8 personalizado requiere muy poca memoria y puede realizarse mediante una API unificada de Python o una interfaz de línea de comandos.
En cambio, reproducir el entrenamiento de DAMO-YOLO mejorado mediante destilación suele requerir trabajar con archivos de configuración complejos y gestionar el seguimiento de experimentos profesor-alumno en varias etapas.
Este es un ejemplo de lo sencillo que resulta entrenar, validar y exportar YOLOv8 utilizando Python:
from ultralytics import YOLO
# Load a pre-trained YOLOv8 nano model
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")
# Export the trained model to ONNX format
path = model.export(format="onnx")Versatilidad en tareas de visión#
DAMO-YOLO está diseñado estrictamente para la detección de objetos mediante cajas delimitadoras. En cambio, la arquitectura de YOLOv8 admite de forma nativa varias tareas. Basta con cambiar los pesos del modelo para realizar segmentación de instancias, clasificación de imágenes y estimación de poses sin modificar el código base de despliegue. Esta versatilidad hace que los modelos de Ultralytics sean mucho más prácticos para aplicaciones complejas.
Casos de uso reales#
Cuándo utilizar YOLOv8#
La combinación de velocidad, precisión y facilidad de despliegue de YOLOv8 lo hace ideal para:
- Análisis inteligente del comercio minorista: Realizar el seguimiento de objetos para supervisar el comportamiento de los clientes o automatizar las comprobaciones de inventario.
- Robótica agrícola: Aprovechar su sólido rendimiento en distintos tipos de hardware para identificar cultivos o plagas en tiempo real.
- Diagnóstico sanitario: Utilizar la segmentación de instancias para localizar anomalías en imágenes médicas de forma rápida y precisa.
- Despliegues en el edge: La integración fluida con formatos de exportación como OpenVINO y CoreML permite que YOLOv8 destaque en dispositivos con recursos limitados.
Cuándo utilizar DAMO-YOLO#
DAMO-YOLO puede ser útil en escenarios específicos, especialmente:
- Investigación académica de NAS: Para equipos que estudian metodologías de reparametrización o diseño de arquitecturas automatizadas.
- Flujos limitados estrictamente por la GPU: Aplicaciones que se ejecutan exclusivamente en hardware NVIDIA específico, en las que las estructuras NAS se han optimizado ampliamente para los límites de ejecución de TensorRT.
Casos de uso y recomendaciones#
La elección entre YOLOv8 y DAMO-YOLO depende de los requisitos específicos de tu proyecto, las limitaciones del despliegue y tus preferencias de ecosistema.
Cuándo elegir YOLOv8#
YOLOv8 es una buena opción para:
- Implementación multitarea versátil: Proyectos que requieren un modelo probado para detección, segmentación, clasificación y estimación de pose dentro del ecosistema de Ultralytics.
- Sistemas de producción consolidados: Entornos de producción existentes ya creados sobre la arquitectura YOLOv8, con canalizaciones de implementación estables y bien probadas.
- Amplio respaldo de la comunidad y el ecosistema: Aplicaciones que se benefician de los numerosos tutoriales de YOLOv8, integraciones de terceros y recursos activos de la comunidad.
Cuándo elegir DAMO-YOLO#
DAMO-YOLO se recomienda 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 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: modelos más recientes de Ultralytics#
Aunque YOLOv8 sigue siendo un modelo de trabajo muy fiable, el campo de la visión por ordenador avanza rápidamente. También deberías considerar explorar generaciones más recientes:
YOLO26: La última generación, Ultralytics YOLO26, representa un cambio de paradigma. Introduce un diseño nativo de extremo a extremo sin NMS, que elimina por completo los cuellos de botella de latencia asociados al posprocesamiento de la supresión no máxima. Impulsado por el nuevo optimizador MuSGD (un híbrido de SGD y Muon) y por las funciones de pérdida especializadas ProgLoss + STAL, YOLO26 logra un entrenamiento extraordinariamente estable y mejora enormemente el reconocimiento de objetos pequeños. Con la eliminación de DFL (se elimina Distribution Focal Loss para simplificar la exportación y mejorar la compatibilidad con dispositivos edge y de bajo consumo), los ajustes arquitectónicos proporcionan hasta un 43 % más de velocidad de inferencia en CPU en comparación con las generaciones anteriores, lo que lo convierte en la opción definitiva para la computación edge moderna.
YOLO11: Otra excelente alternativa, Ultralytics YOLO11 ofrece mejoras arquitectónicas incrementales respecto a YOLOv8 y sigue siendo un modelo sólido y ampliamente adoptado por la comunidad.
¿Listo para llevar tus modelos del prototipo a producción? Utiliza Ultralytics Platform para anotar automáticamente conjuntos de datos, realizar el seguimiento de experimentos y desplegar modelos sin complicaciones en la nube o en dispositivos edge.
En conclusión, aunque DAMO-YOLO ofrece interesantes aportaciones académicas sobre la búsqueda de arquitecturas, los modelos de Ultralytics proporcionan un ecosistema mucho más maduro, versátil y adaptado a los desarrolladores. Tanto si mantienes la estabilidad demostrada de YOLOv8 como si actualizas a la arquitectura ultrarrápida y sin NMS de YOLO26, la suite de Ultralytics sigue siendo la opción de referencia para la IA de visión en tiempo real.