Ir al contenido

YOLOv8 vs DAMO-YOLO: Una comparación técnica

Elegir el modelo de detección de objetos adecuado implica una compensación entre precisión, velocidad y facilidad de uso. Esta página proporciona una comparación técnica detallada entre dos modelos potentes: Ultralytics YOLOv8, un modelo de última generación de Ultralytics, y DAMO-YOLO, un modelo de alto rendimiento del Grupo Alibaba. Si bien ambos modelos ofrecen un rendimiento excelente, se basan en diferentes filosofías de diseño y se adaptan a distintas necesidades de desarrollo. Exploraremos sus arquitecturas, métricas de rendimiento y casos de uso ideales para ayudarle a tomar una decisión informada.

Ultralytics YOLOv8

Autores: Glenn Jocher, Ayush Chaurasia y Jing Qiu
Organización: Ultralytics
Fecha: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Documentación: https://docs.ultralytics.com/models/yolov8/

Ultralytics YOLOv8 es un modelo de última generación que se basa en el éxito de las versiones anteriores de YOLO. Está diseñado para ser rápido, preciso y fácil de usar, lo que lo convierte en una opción ideal para una amplia gama de tareas de detección de objetos e IA de visión. YOLOv8 no es solo un modelo, sino un framework integral que admite el ciclo de vida completo del desarrollo de modelos de IA, desde el entrenamiento y la validación hasta la implementación en aplicaciones del mundo real.

Características Clave y Puntos Fuertes

  • Arquitectura Avanzada: YOLOv8 introduce un diseño de head desacoplado y sin anclajes, lo que mejora la precisión y acelera el post-procesamiento al eliminar la necesidad de Supresión No Máxima (NMS) en algunos casos. Utiliza un backbone CSPDarknet refinado y un nuevo módulo de cuello C2f para una mejor fusión de características.

  • Versatilidad excepcional: Una ventaja clave de YOLOv8 es su soporte nativo para múltiples tareas de visión dentro de un único marco de trabajo unificado. Maneja a la perfección la detección de objetos, la segmentación de instancias, la clasificación de imágenes, la estimación de poses y la detección de objetos orientados (OBB). Esta versatilidad la convierte en una solución integral para proyectos complejos de visión artificial.

  • Facilidad de uso: Ultralytics prioriza la experiencia del desarrollador. YOLOv8 incluye una API de Python sencilla e intuitiva y una CLI potente, respaldadas por una extensa documentación y tutoriales. Esto hace que sea increíblemente fácil para principiantes y expertos entrenar, validar e implementar modelos.

  • Ecosistema bien mantenido: YOLOv8 forma parte de un próspero ecosistema de código abierto con desarrollo activo, actualizaciones frecuentes y un sólido apoyo de la comunidad. Se integra con herramientas como Ultralytics HUB para la formación y el despliegue sin código, y numerosas plataformas de MLOps como Weights & Biases y Comet.

  • Rendimiento y eficiencia: YOLOv8 ofrece un excelente equilibrio entre velocidad y precisión en una variedad de tamaños de modelo (desde Nano hasta Extra-Large). Está altamente optimizado tanto para la inferencia en CPU como en GPU, lo que garantiza una implementación eficiente en diversos hardware, desde dispositivos edge hasta servidores en la nube. Además, está diseñado para la eficiencia de la memoria, requiriendo menos memoria CUDA para el entrenamiento en comparación con muchas otras arquitecturas.

Debilidades

  • Como detector de una sola etapa, puede enfrentar desafíos al detectar objetos extremadamente pequeños o muy ocluidos en comparación con algunos detectores especializados de dos etapas, aunque se desempeña excepcionalmente bien en la mayoría de los escenarios de propósito general.

Más información sobre YOLOv8

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: https://arxiv.org/abs/2211.15444v2
GitHub: https://github.com/tinyvision/DAMO-YOLO

DAMO-YOLO es un modelo de detección de objetos rápido y preciso desarrollado por Alibaba Group. Introduce varias técnicas novedosas para impulsar el rendimiento de los detectores estilo YOLO. El nombre "DAMO" significa "Discovery, Adventure, Momentum, and Outlook" (Descubrimiento, Aventura, Impulso y Perspectiva), lo que refleja la naturaleza del proyecto impulsada por la investigación.

Características Clave y Puntos Fuertes

  • Búsqueda de Arquitectura Neuronal (NAS): DAMO-YOLO aprovecha NAS para encontrar una arquitectura de backbone óptima (MAE-NAS), lo que ayuda a lograr un mejor equilibrio entre precisión y latencia.
  • Diseño de Cuello Avanzado: Incorpora un cuello RepGFPN (Generalized Feature Pyramid Network) eficiente, que está diseñado para mejorar la fusión de características de diferentes niveles del backbone.
  • ZeroHead: DAMO-YOLO propone un enfoque de "ZeroHead", que utiliza un encabezado acoplado y ligero para reducir la sobrecarga computacional manteniendo un alto rendimiento.
  • Asignación de etiquetas AlignedOTA: Utiliza una estrategia de asignación dinámica de etiquetas llamada AlignedOTA, que ayuda al modelo a aprender mejor al alinear las tareas de clasificación y regresión durante el entrenamiento.
  • Alto rendimiento en GPU: El modelo está altamente optimizado para la inferencia en GPU, ofreciendo una latencia muy baja en hardware de gama alta, como se muestra en sus benchmarks oficiales.

Debilidades

  • Complejidad: El uso de técnicas avanzadas como NAS y módulos personalizados (RepGFPN, ZeroHead) hace que la arquitectura sea más compleja y menos intuitiva para los desarrolladores que necesitan personalizar o comprender el funcionamiento interno del modelo.
  • Versatilidad limitada: DAMO-YOLO está diseñado principalmente para la detección de objetos. Carece del soporte integrado y multi-tarea para segmentación, clasificación y estimación de poses que es estándar en el framework de Ultralytics YOLOv8.
  • Ecosistema y soporte: Si bien es un proyecto de código abierto, su ecosistema no es tan completo ni está tan bien mantenido como el de Ultralytics. La documentación puede ser escasa y el soporte de la comunidad es menos extenso, lo que dificulta que los desarrolladores lo adopten y solucionen problemas.
  • Rendimiento de la CPU: El modelo está muy optimizado para la GPU. La información y los puntos de referencia sobre el rendimiento de la CPU son menos accesibles, lo que puede ser una limitación para las implementaciones en hardware que no es GPU.

Más información sobre DAMO-YOLO

Análisis de rendimiento: YOLOv8 vs. DAMO-YOLO

Al comparar el rendimiento, es crucial observar tanto la precisión (mAP) como la velocidad de inferencia en diferentes hardware.

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

De la tabla, podemos extraer varias conclusiones:

  • Precisión: Los modelos YOLOv8 superan consistentemente a sus contrapartes DAMO-YOLO en escalas similares. Por ejemplo, YOLOv8m alcanza un 50.2 mAP, superando el 49.2 mAP de DAMO-YOLOm. Los modelos más grandes YOLOv8l y YOLOv8x extienden esta ventaja significativamente.
  • Velocidad: Si bien DAMO-YOLO muestra velocidades muy competitivas en GPU, YOLOv8n es el modelo más rápido en GPU en general. Es crucial destacar que Ultralytics proporciona benchmarks transparentes de CPU, que son vitales para muchas aplicaciones del mundo real donde los recursos de GPU no están disponibles. YOLOv8 demuestra un rendimiento excelente y bien documentado en CPUs.
  • Eficiencia: Los modelos YOLOv8 generalmente ofrecen un mejor equilibrio de parámetros y FLOPs para su precisión dada. Por ejemplo, YOLOv8s alcanza un mAP de 44.9 con solo 11.2M de parámetros, mientras que DAMO-YOLOs requiere 16.3M de parámetros para alcanzar un mAP similar de 46.0.

Conclusión

DAMO-YOLO es un modelo impresionante que muestra el poder de las técnicas de investigación avanzadas como NAS para lograr un alto rendimiento en hardware GPU. Es un fuerte contendiente para aplicaciones donde la velocidad bruta de la GPU es la métrica principal y el equipo de desarrollo tiene la experiencia para administrar una arquitectura más compleja.

Sin embargo, para la gran mayoría de los desarrolladores, investigadores y empresas, Ultralytics YOLOv8 es la opción clara y superior. Ofrece un paquete global mejor: mayor precisión, excelente rendimiento tanto en CPU como en GPU y una versatilidad sin igual con su soporte multitarea.

Las ventajas clave del ecosistema Ultralytics (incluida la facilidad de uso, la amplia documentación, el soporte activo de la comunidad y las integraciones perfectas) hacen de YOLOv8 no solo un modelo potente, sino también una herramienta práctica y productiva para construir soluciones robustas de visión artificial en el mundo real. Tanto si eres un principiante que empieza su primer proyecto como un experto que implementa sistemas complejos, YOLOv8 proporciona un camino más fiable, eficiente y fácil de usar hacia el éxito.

Explorar Otros Modelos

Si te interesan otras comparaciones de modelos, consulta las siguientes páginas para ver cómo se compara YOLOv8 con otras arquitecturas de última generación:



📅 Creado hace 1 año ✏️ Actualizado hace 1 mes

Comentarios