DAMO-YOLO frente a YOLOv10#
El campo de la visión artificial ha sido testigo de 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 de diseño de modelos distintas: búsqueda automatizada de arquitecturas frente a optimización integral 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 arquitecturas neuronales a gran escala#
Desarrollado por el Grupo Alibaba, 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 arquitectónicos destacados#
DAMO-YOLO depende en gran medida de la búsqueda de arquitecturas neuronales (NAS) para equilibrar el rendimiento y la latencia. Su red troncal, denominada MAE-NAS, utiliza una búsqueda guiada por la entropía máxima, dentro de presupuestos computacionales estrictos, para encontrar la profundidad y la anchura óptimas de las capas.
Para fusionar características de distintas escalas, el modelo emplea una RepGFPN (red piramidal de características generalizada reparametrizada) eficiente. Este diseño con un cuello pesado es especialmente eficaz para extraer jerarquías espaciales complejas, por lo que resulta ú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.
DAMO-YOLO suele utilizar un proceso de destilación de conocimiento en varias etapas. Requiere entrenar un modelo «profesor» más grande para guiar al modelo «alumno» más pequeño, que obtiene un mAP (precisión media promedio) más alto, pero aumenta considerablemente el tiempo de cómputo en GPU necesario.
Más información sobre DAMO-YOLO
YOLOv10: pionero en la detección integral de objetos#
Lanzado un año y medio después, YOLOv10 introdujo un cambio de paradigma al eliminar por completo la necesidad de supresión no máxima (NMS) durante la inferencia.
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organización: Universidad de Tsinghua
- Fecha: 23 de mayo de 2024
- Arxiv: 2405.14458
- Documentación: Ultralytics YOLOv10
Aspectos arquitectónicos destacados#
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, sobre todo en dispositivos periféricos. 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 basado en la eficiencia y la precisión. Tras analizar detenidamente la redundancia computacional de las arquitecturas existentes, optimizaron la red troncal y la cabeza para reducir los FLOPs y el número de parámetros. Este diseño ligero permite a YOLOv10 ofrecer una latencia de inferencia excepcional al exportarlo a formatos como TensorRT u OpenVINO.
Rendimiento y pruebas de referencia#
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 en negrita.
| 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 |
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
Aunque DAMO-YOLO ofrece un buen nivel de precisión, YOLOv10 alcanza una precisión superior a escalas comparables y utiliza muchos menos pesos del modelo. Por ejemplo, YOLOv10s logra un mAP ligeramente superior (46,3 %) al de DAMO-YOLOs (46,0 %) y utiliza menos de la mitad de 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 integrados.
Eficiencia y facilidad de uso del entrenamiento#
Al pasar de la investigación académica a la producción, la facilidad de uso es fundamental. 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.
En cambio, YOLOv10 se beneficia enormemente de su integración completa 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
# Carga un modelo nano YOLOv10 preentrenado
model = YOLO("yolov10n.pt")
# Entrena con un conjunto de datos personalizado y validación integrada
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Ejecuta inferencias en una imagen sin complicaciones
prediction = model("path/to/image.jpg")
prediction[0].show()Con el ecosistema Ultralytics, los desarrolladores pueden pasar de un prototipo a un modelo ONNX exportado completo con solo unas líneas de código, sin las complejas configuraciones de entorno que requieren los marcos más antiguos.
Casos de uso reales#
- Comercio minorista inteligente (DAMO-YOLO): la precisión de DAMO-YOLO resulta adecuada para entornos de servidor de alta densidad que analizan el comportamiento de los clientes, donde abundan las GPU y los cuellos de botella de NMS en tiempo real son manejables.
- 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 inferencia en tiempo real sin consumir grandes cantidades de VRAM, por lo que YOLOv10 es una opción excelente para la implementación en dispositivos periféricos.
Casos de uso y recomendaciones#
La elección entre DAMO-YOLO y YOLOv10 depende de los requisitos específicos de tu proyecto, las limitaciones de implementación y tus preferencias de ecosistema.
Cuándo elegir DAMO-YOLO#
DAMO-YOLO es una buena opción 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 YOLOv10#
YOLOv10 se recomienda para:
- Detección en tiempo real sin NMS: Aplicaciones que se benefician de la detección de extremo a extremo sin supresión no máxima, lo que reduce la complejidad de la implementación.
- Equilibrio entre velocidad y precisión: Proyectos que necesitan un buen equilibrio entre la velocidad de inferencia y la precisión de detección en distintas escalas de modelo.
- Aplicaciones con latencia constante: Escenarios de implementación en los 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:
- 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.
La nueva 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 actuales, el modelo Ultralytics YOLO26 ofrece un rendimiento y una facilidad de uso incomparables: recoge lo mejor de las generaciones anteriores y lo perfecciona para la producción.
YOLO26 incorpora un modo integral nativo (nms=False) que omite el posprocesamiento de NMS y simplifica los procesos de implementación en dispositivos periféricos. Además, eliminar Distribution Focal Loss (DFL) ha mejorado drásticamente la compatibilidad con hardware de IA periférica de bajo consumo.
En cuanto al 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 ofrece 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 fundamental, YOLO26 no es solo un detector de objetos. Ofrece mejoras específicas para cada tarea y admite de forma nativa la segmentación de instancias, la estimación de poses mediante estimación de máxima verosimilitud residual (RLE) y funciones de pérdida angular especializadas para los 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, el etiquetado y el entrenamiento en la nube de modelos YOLO26, la Ultralytics Platform ofrece una interfaz intuitiva que optimiza 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 marco basado en Transformer RT-DETR para situaciones que requieran soluciones arquitectónicas distintas.