Ultralytics YOLO27:

DAMO-YOLO frente a YOLOv10#

El campo de la visión artificial ha experimentado una rápida evolución de las arquitecturas de detección de objetos en tiempo real. Al comparar DAMO-YOLO y YOLOv10, observamos dos filosofías distintas en el diseño de modelos: búsqueda automatizada de arquitecturas frente a optimización de extremo a extremo sin NMS. Aunque ambos amplían los límites de la precisión y la velocidad, sus estructuras subyacentes y casos de uso ideales difieren considerablemente.

DAMO-YOLO: búsqueda de arquitectura neuronal a gran escala#

Desarrollado por Alibaba Group, DAMO-YOLO surgió como un potente detector centrado en aprovechar el descubrimiento automatizado para lograr eficiencia estructural.

  • Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang y Xiuyu Sun
  • Fecha: 23 de noviembre de 2022
  • Arxiv: 2211.15444v2
  • GitHub: tinyvision/DAMO-YOLO

Aspectos destacados de la arquitectura#

DAMO-YOLO depende en gran medida de la búsqueda de arquitectura neuronal (NAS) para equilibrar el rendimiento y la latencia. Su columna vertebral, denominada MAE-NAS, utiliza una búsqueda guiada por entropía máxima bajo estrictos presupuestos computacionales para encontrar la profundidad y el ancho óptimos de las capas.

Para gestionar la fusión de características entre escalas, el modelo emplea una RepGFPN (red piramidal de características generalizada reparametrizada) eficiente. Este diseño de neck de gran capacidad es especialmente eficaz para extraer jerarquías espaciales complejas, lo que lo hace útil en escenarios como el análisis de imágenes aéreas. Además, DAMO-YOLO introduce ZeroHead, una cabeza de detección optimizada que reduce considerablemente la complejidad de las capas de predicción finales y se apoya en un sólido proceso de mejora mediante destilación durante el entrenamiento.

Entrenamiento mediante destilación

DAMO-YOLO suele utilizar un proceso de destilación de conocimiento en varias etapas. Requiere entrenar un modelo "teacher" más pesado para guiar al modelo "student" más pequeño, que extrae un mAP (precisión media promedio) superior, pero aumenta considerablemente el tiempo de cómputo en GPU necesario.

Más información sobre DAMO-YOLO

YOLOv10: pionero en la detección de objetos de extremo a extremo#

Lanzado un año y medio después, YOLOv10 introdujo un cambio de paradigma al eliminar por completo la necesidad de la supresión de no máximos (NMS) durante la inferencia.

Aspectos destacados de la arquitectura#

La característica más destacada de YOLOv10 son sus asignaciones duales coherentes para el entrenamiento sin NMS. Los detectores tradicionales predicen varios cuadros delimitadores superpuestos para un mismo objeto, por lo que necesitan NMS para filtrar los duplicados. Este paso de posprocesamiento crea un cuello de botella, especialmente en dispositivos edge. YOLOv10 lo resuelve permitiendo que el modelo prediga de forma natural un único cuadro delimitador preciso por objeto.

Los autores también se centraron en un diseño de modelo integral orientado a la eficiencia y la precisión. Mediante un análisis minucioso de la redundancia computacional de las arquitecturas existentes, optimizaron el backbone y la cabeza para reducir el número de FLOPs y parámetros. Este diseño ligero garantiza que YOLOv10 ofrezca una latencia de inferencia excepcional al exportarse a formatos como TensorRT u OpenVINO.

Más información sobre YOLOv10

Rendimiento y benchmarks#

La tabla siguiente muestra las métricas de rendimiento sin procesar en el conjunto de datos COCO. Los mejores valores generales de cada columna aparecen resaltados en negrita.

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Aunque DAMO-YOLO ofrece un rendimiento sólido en términos de precisión, YOLOv10 proporciona sistemáticamente una latencia menor y pesos del modelo considerablemente más pequeños. Por ejemplo, YOLOv10s logra un mAP ligeramente superior (46,7 %) al de DAMO-YOLOs (46,0 %), usando menos de la mitad de los parámetros (7,2 M frente a 16,3 M). Sus menores requisitos de memoria hacen de YOLOv10 una opción excepcionalmente versátil para sistemas embebidos.

Eficiencia y facilidad de uso del entrenamiento#

Al pasar de la investigación académica a la producción, la facilidad de uso es primordial. El proceso de destilación en varias etapas de DAMO-YOLO y sus complejas configuraciones de NAS pueden suponer una curva de aprendizaje pronunciada para los equipos de ingeniería.

Por el contrario, YOLOv10 se beneficia enormemente de estar totalmente integrado en el SDK de Python de Ultralytics. Entrenar un modelo personalizado requiere muy poco código repetitivo. Ultralytics gestiona automáticamente el aumento de datos, el ajuste de hiperparámetros y el seguimiento de experimentos.

from ultralytics import YOLO

# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")

# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()
Prototipado rápido

El uso del ecosistema Ultralytics permite a los desarrolladores pasar de un prototipo a un modelo ONNX exportado completamente funcional con solo unas pocas líneas de código, evitando las complejas configuraciones de entorno que requerían los frameworks anteriores.

Casos de uso reales#

  • Venta minorista inteligente (DAMO-YOLO): La precisión de DAMO-YOLO se adapta bien a entornos de servidor de alta densidad que analizan el comportamiento de los clientes, donde las GPU son abundantes y los cuellos de botella del NMS en tiempo real son gestionables.
  • Vehículos autónomos (YOLOv10): La arquitectura sin NMS garantiza una latencia determinista y predecible, algo fundamental para los sistemas de seguridad en la conducción autónoma.
  • Automatización industrial (YOLOv10): Detectar defectos en líneas de montaje de movimiento rápido requiere modelos que maximicen la velocidad de la inferencia en tiempo real sin consumir una cantidad excesiva de VRAM, lo que convierte a YOLOv10 en un candidato ideal para el despliegue en dispositivos edge.

Casos de uso y recomendaciones#

La elección entre DAMO-YOLO y YOLOv10 depende de los requisitos específicos de tu proyecto, las limitaciones del despliegue y tus preferencias de 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 YOLOv10#

YOLOv10 se recomienda para:

  • Detección en tiempo real sin NMS: Aplicaciones que se benefician de la detección integral sin supresión de no máximos, reduciendo la complejidad del despliegue.
  • Equilibrios entre velocidad y precisión: Proyectos que requieren un equilibrio sólido entre la velocidad de inferencia y la precisión de detección en distintas escalas de modelo.
  • Aplicaciones con latencia coherente: Situaciones de despliegue en las que los tiempos de inferencia predecibles son fundamentales, como la robótica o los sistemas autónomos.

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.

La próxima generación: llega Ultralytics YOLO26#

Aunque YOLOv10 sentó las bases de la detección sin NMS, la tecnología ha evolucionado rápidamente. Para las aplicaciones modernas, el modelo Ultralytics YOLO26 ofrece un rendimiento y una facilidad de uso sin precedentes, aprovechando lo mejor de las generaciones anteriores y perfeccionándolo para producción.

YOLO26 presenta un diseño nativamente de extremo a extremo, lo que elimina el postprocesamiento de NMS para lograr canalizaciones de implementación más simples en dispositivos perimetrales. Además, la eliminación de la pérdida focal de distribución (DFL) ha mejorado drásticamente la compatibilidad con el hardware de edge AI de bajo consumo.

En el ámbito del entrenamiento, YOLO26 introduce el optimizador MuSGD, un método híbrido inspirado en las técnicas de entrenamiento de los modelos de lenguaje grandes (LLM). Esto garantiza un entrenamiento más estable y una convergencia más rápida. Junto con las funciones de pérdida ProgLoss + STAL, YOLO26 muestra mejoras notables en el reconocimiento de objetos pequeños, una característica esencial para la conservación de la fauna y las operaciones con drones.

Y lo que es crucial: YOLO26 no es solo un detector de objetos. Ofrece mejoras específicas para cada tarea, con compatibilidad nativa con la segmentación de instancias, la estimación de poses mediante la estimación de log-verosimilitud residual (RLE) y funciones de pérdida de ángulo especializadas para cuadros delimitadores orientados (OBB). Con una inferencia en CPU hasta un 43 % más rápida que la de sus predecesores, es la opción definitiva para equipos de ingeniería ágiles.

Para la gestión centralizada, la anotación y el entrenamiento en la nube de modelos YOLO26, Ultralytics Platform proporciona una interfaz intuitiva que agiliza todo el ciclo de vida de la visión artificial.

Los desarrolladores interesados en explorar otros avances recientes también pueden evaluar Ultralytics YOLO11 o el framework RT-DETR basado en Transformer para escenarios que requieran soluciones arquitectónicas diferenciadas.

Comentarios