YOLOv8 frente a DAMO-YOLO#
El panorama de la visión artificial evoluciona constantemente, con nuevas arquitecturas que amplían los límites de lo posible en dispositivos periféricos y grandes clústeres en la nube. En este análisis técnico en profundidad, 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 métodos de entrenamiento, los ingenieros de aprendizaje automático pueden tomar decisiones fundamentadas para sus flujos de implementación.
Antecedentes y orígenes de los modelos#
Ambos modelos se presentaron en fechas similares, 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 sobre DAMO-YOLO
- GitHub: Repositorio de DAMO-YOLO en GitHub
Más información sobre DAMO-YOLO
Innovaciones arquitectónicas#
YOLOv8: diseño versátil sin anclajes#
Ultralytics YOLOv8 introdujo mejoras significativas respecto a sus predecesores y consolidó su posición como modelo de vanguardia altamente fiable. Incorpora un cabezal de detección sin anclajes, que reduce el número de predicciones de cuadros y acelera la inferencia. La arquitectura utiliza un cabezal desacoplado que separa las tareas de clasificación y regresión, lo que permite predecir cuadros delimitadores con mayor precisión.
Además, YOLOv8 implementa la pérdida focal de distribución (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, sobre todo en objetivos pequeños u ocluidos. Su red troncal optimizada ofrece un gran rendimiento tanto en GPU como en CPU.
DAMO-YOLO: impulsado por la búsqueda de arquitecturas#
DAMO-YOLO adopta un enfoque distinto y se basa en gran medida en la búsqueda de arquitecturas neuronales (NAS) para diseñar automáticamente su red troncal. El equipo de Alibaba presentó «MAE-NAS» para encontrar estructuras que ofrezcan 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 reducir al mínimo la carga computacional del cabezal 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 de mayor tamaño para supervisar al modelo alumno objetivo.
Aunque DAMO-YOLO logra métricas de latencia impresionantes gracias a NAS y a la destilación, requiere mucha más memoria CUDA y tiempo de cálculo durante el entrenamiento que el flujo de entrenamiento optimizado de una sola etapa de YOLOv8.
Rendimiento y métricas#
Al implementar modelos de visión artificial en producción, es fundamental equilibrar la precisión (mAP) y la velocidad de inferencia. La tabla siguiente muestra el rendimiento de ambos modelos en 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.1 |
| 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 ofrece un equilibrio de rendimiento excepcional. El modelo YOLOv8n (nano) solo necesita 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, con variantes que llegan hasta YOLOv8x, muy precisa y adecuada para cargas de trabajo en la nube.
Experiencia para desarrolladores y ecosistema#
Facilidad de uso y eficiencia del entrenamiento#
Uno de los principales factores diferenciadores es la experiencia de usuario. El ecosistema de Ultralytics está diseñado para acelerar el trabajo de los desarrolladores. Entrenar un modelo YOLOv8 personalizado requiere muy poca memoria y puede hacerse mediante una API unificada de Python o una interfaz de línea de comandos.
En cambio, reproducir el entrenamiento con destilación de DAMO-YOLO suele requerir navegar por complejos archivos de configuración y gestionar el seguimiento de experimentos del proceso profesor-alumno en varias etapas.
Este es un ejemplo de lo sencillo que resulta entrenar, validar y exportar YOLOv8 con Python:
from ultralytics import YOLO
# Carga un modelo YOLOv8 nano preentrenado
model = YOLO("yolov8n.pt")
# Entrena el modelo con el conjunto de datos COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")
# Exporta el modelo entrenado al formato ONNX
path = model.export(format="onnx")Versatilidad en distintas tareas de visión#
DAMO-YOLO está diseñado exclusivamente para detectar objetos mediante cuadros delimitadores. En cambio, la arquitectura YOLOv8 admite varias tareas de forma nativa. Con solo cambiar los pesos del modelo, los desarrolladores pueden realizar segmentación de instancias, clasificación de imágenes y estimación de pose sin modificar el código base de implementación. Esta versatilidad hace que los modelos de Ultralytics sean mucho más prácticos para aplicaciones complejas.
Casos de uso reales#
Cuándo usar YOLOv8#
La combinación de velocidad, precisión y facilidad de implementación de YOLOv8 lo convierte en la opción ideal para:
- Analítica para el comercio minorista inteligente: Realizar seguimiento de objetos para supervisar el comportamiento de los clientes o automatizar el control del 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.
- Implementaciones en dispositivos periféricos: La integración sencilla con formatos de exportación como OpenVINO y CoreML permite que YOLOv8 destaque en dispositivos con recursos limitados.
Cuándo usar DAMO-YOLO#
DAMO-YOLO puede resultar útil en casos específicos, sobre todo:
- Investigación académica sobre NAS: Para equipos que estudian la reparametrización o los métodos de diseño automatizado de arquitecturas.
- Flujos de trabajo limitados estrictamente a GPU: Aplicaciones que se ejecutan exclusivamente en hardware NVIDIA específico, donde las estructuras NAS se optimizaron a fondo 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 concretos de tu proyecto, las limitaciones de implementación y tus preferencias de ecosistema.
Cuándo elegir YOLOv8#
YOLOv8 es una buena opción para:
- Implementaciones versátiles y multitarea: Proyectos que necesitan un modelo probado para detección, segmentación, clasificación y estimación de pose dentro del ecosistema Ultralytics.
- Sistemas de producción consolidados: Entornos de producción existentes basados en la arquitectura YOLOv8, con canalizaciones de implementación estables y bien probadas.
- Amplio respaldo de la comunidad y del ecosistema: Aplicaciones que se benefician de los numerosos tutoriales de YOLOv8, las integraciones de terceros y los recursos de una comunidad activa.
Cuándo elegir DAMO-YOLO#
DAMO-YOLO se recomienda para:
- Analítica de vídeo de alto rendimiento: Procesamiento de flujos de vídeo con FPS elevados en una infraestructura fija de GPU NVIDIA, donde el rendimiento con lotes de tamaño 1 es la métrica principal.
- Líneas de fabricación industrial: Escenarios con estrictas limitaciones de latencia de GPU en hardware dedicado, como la inspección de calidad en tiempo real en líneas de montaje.
- Investigación sobre búsqueda de arquitecturas neuronales: Estudio de los efectos de la búsqueda automatizada de arquitecturas (MAE-NAS) y de las redes troncales reparametrizadas eficientes en el rendimiento de 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:
- Implementación edge sin NMS: Aplicaciones que necesitan inferencias uniformes y de baja latencia sin la complejidad del posprocesamiento con supresión no máxima.
- Entornos que solo usan CPU: Dispositivos sin aceleración GPU dedicada, en los que la inferencia con CPU hasta un 43 % más rápida de YOLO26 supone una ventaja decisiva.
- Detección de objetos pequeños: Casos exigentes, como las imágenes aéreas tomadas con drones o el análisis de sensores IoT, donde ProgLoss y STAL mejoran notablemente la precisión al detectar objetos diminutos.
Perspectivas: modelos más recientes de Ultralytics#
Aunque YOLOv8 sigue siendo un modelo de trabajo muy fiable, el campo de la visión artificial evoluciona rápidamente. También conviene explorar generaciones más recientes:
YOLO26: La última generación, Ultralytics YOLO26, supone un cambio de paradigma. Introduce un diseño integral sin NMS nativo (nms=False) que elimina los cuellos de botella de latencia asociados al posprocesamiento de supresión de máximos no locales. Gracias al nuevo optimizador MuSGD (una combinación de SGD y Muon) y a las funciones de pérdida especializadas ProgLoss + STAL, YOLO26 logra un entrenamiento extraordinariamente estable y mejora ampliamente el reconocimiento de objetos pequeños. Al eliminar DFL (se elimina la pérdida focal de distribución para simplificar la exportación y mejorar la compatibilidad con dispositivos periféricos y de bajo consumo), los ajustes arquitectónicos ofrecen una inferencia con CPU hasta un 43 % más rápida que la de generaciones anteriores, lo que lo convierte en la opción definitiva para la computación periférica moderna.
YOLO11: Otra excelente alternativa, Ultralytics YOLO11 ofrece mejoras arquitectónicas graduales respecto a YOLOv8 y sigue siendo un modelo sólido y muy adoptado por la comunidad.
¿Listo para llevar tus modelos del prototipo a producción? Utiliza la plataforma de Ultralytics para anotar conjuntos de datos automáticamente, hacer un seguimiento de los experimentos e implementar modelos sin complicaciones en la nube o en dispositivos periféricos.
En conclusión, aunque DAMO-YOLO ofrece interesantes perspectivas académicas sobre la búsqueda de arquitecturas, los modelos de Ultralytics proporcionan un ecosistema mucho más maduro, versátil y fácil de usar para desarrolladores. Tanto si te quedas con la estabilidad probada de YOLOv8 como si te pasas a la rapidísima arquitectura sin NMS de YOLO26, la suite de Ultralytics sigue siendo la mejor opción para la IA de visión en tiempo real.