DAMO-YOLO frente a YOLOv10#
El campo de la visión artificial ha sido testigo de una rápida evolución en 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: la búsqueda de arquitectura automatizada frente a la optimización de extremo a extremo sin NMS. Si bien ambas superan los límites de la precisión y la velocidad, sus estructuras subyacentes y casos de uso ideales difieren significativamente.
DAMO-YOLO: Búsqueda de arquitectura neuronal a escala#
Desarrollado por el 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, por sus siglas en inglés) para equilibrar el rendimiento y la latencia. Su backbone, denominado MAE-NAS, utiliza una búsqueda evolutiva multiobjetivo bajo estrictos presupuestos computacionales para encontrar la profundidad y anchura de capa óptimas.
Para gestionar la fusión de características a distintas escalas, el modelo emplea una eficiente RepGFPN (Reparameterized Generalized Feature Pyramid Network). Este diseño de cuello pesado es especialmente hábil en la extracción de 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 en gran medida la complejidad de las capas de predicción final, basándose en un sólido proceso de mejora por destilación durante el entrenamiento.
DAMO-YOLO utiliza a menudo un proceso de destilación de conocimientos multietapa. Requiere entrenar un modelo «profesor» más pesado para guiar al modelo «estudiante» más pequeño, lo que extrae una mAP (mean Average Precision) superior, pero aumenta significativamente el tiempo de cómputo en GPU requerido.
Más información sobre DAMO-YOLO
YOLOv10: Pioneros en 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 supresión de no máximos (NMS) durante la inferencia.
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organización: Tsinghua University
- Fecha: 23 de mayo de 2024
- Arxiv: 2405.14458
- Documentación: Ultralytics YOLOv10
Aspectos destacados de la arquitectura#
La característica destacada de YOLOv10 son sus asignaciones duales consistentes para el entrenamiento sin NMS. Los detectores tradicionales predicen múltiples cuadros delimitadores superpuestos para un solo objeto, lo que requiere NMS para filtrar duplicados. Este paso de posprocesamiento crea un cuello de botella, especialmente en dispositivos de borde (edge). YOLOv10 resuelve esto 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 holístico impulsado por la eficiencia y la precisión. Mediante un análisis cuidadoso de la redundancia computacional en 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 cuando se exporta a formatos como TensorRT o OpenVINO.
Rendimiento y benchmarks#
La siguiente tabla muestra las métricas de rendimiento bruto en el conjunto de datos COCO. Los mejores valores globales de cada columna se destacan en negrita.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | params (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 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Aunque DAMO-YOLO se defiende bien en términos de precisión, YOLOv10 ofrece sistemáticamente una menor latencia y pesos de modelo significativamente más pequeños. Por ejemplo, YOLOv10s logra una mAP ligeramente superior (46.7 %) que DAMO-YOLOs (46.0 %) utilizando menos de la mitad de parámetros (7.2M frente a 16.3M). Los menores requisitos de memoria hacen de YOLOv10 una opción excepcionalmente versátil para sistemas embebidos.
Eficiencia de entrenamiento y usabilidad#
Al realizar la transición de la investigación académica a la producción, la facilidad de uso es primordial. El proceso de destilación de varias etapas de DAMO-YOLO y las complejas configuraciones de NAS pueden plantear curvas de aprendizaje pronunciadas para los equipos de ingeniería.
Por el contrario, YOLOv10 se beneficia enormemente de estar plenamente integrado en el SDK de Python de Ultralytics. El entrenamiento de un modelo personalizado implica un código repetitivo mínimo. Ultralytics gestiona la aumentación de datos, el ajuste de hiperparámetros y el seguimiento de experimentos de forma automática.
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()El uso del ecosistema de Ultralytics permite a los desarrolladores pasar de un prototipo a un modelo ONNX exportado en tan solo unas pocas líneas de código, evitando las complejas configuraciones de entorno que exigen los frameworks más antiguos.
Casos de uso en el mundo real#
- Smart Retail (DAMO-YOLO): La precisión de DAMO-YOLO se adapta bien a entornos de servidores de alta densidad que analizan el comportamiento del cliente, 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, lo cual es fundamental para los sistemas de seguridad en la conducción autónoma.
- Automatización industrial (YOLOv10): Detectar defectos en líneas de montaje de rápido movimiento requiere modelos que maximicen las velocidades de inferencia en tiempo real sin consumir grandes cantidades de VRAM, lo que convierte a YOLOv10 en un candidato principal para el despliegue en el extremo.
Casos de uso y recomendaciones#
Elegir entre DAMO-YOLO y YOLOv10 depende de los requisitos específicos de tu proyecto, las limitaciones de implementación y las 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 de altos FPS en infraestructura de GPU NVIDIA fija, donde el rendimiento por lote (batch-1) es la métrica principal.
- Líneas de fabricación industrial: Escenarios con restricciones estrictas de latencia de GPU en hardware dedicado, como la inspección de calidad en tiempo real en líneas de montaje.
- Investigación en búsqueda de arquitectura neuronal: Estudio de los efectos de la búsqueda automatizada de arquitectura (MAE-NAS) y backbones reparametrizados eficientes en el rendimiento de detección.
Cuándo elegir YOLOv10#
YOLOv10 está recomendado para:
- Detección en tiempo real sin NMS: Aplicaciones que se benefician de una detección integral (end-to-end) sin NMS, lo que reduce la complejidad de la implementación.
- Equilibrio entre velocidad y precisión: Proyectos que requieren un buen equilibrio entre la velocidad de inferencia y la precisión de detección en varias escalas de modelo.
- Aplicaciones de latencia consistente: Escenarios de despliegue donde los tiempos de inferencia predecibles son críticos, como en robotics o 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 de desarrollo:
- Implementación en el borde sin NMS: Aplicaciones que requieren una inferencia consistente y de baja latencia sin la complejidad del posprocesamiento de supresión de no máximos.
- Entornos solo de CPU: Dispositivos sin aceleración de GPU dedicada, donde la inferencia en CPU hasta un 43% más rápida de YOLO26 proporciona una ventaja decisiva.
- Detección de objetos pequeños: Escenarios desafiantes como la aerial drone imagery o el análisis con sensores IoT donde ProgLoss y STAL mejoran significativamente la precisión en objetos diminutos.
La próxima generación: Llega Ultralytics YOLO26#
Aunque YOLOv10 sentó las bases para 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 inigualables, tomando lo mejor de las generaciones anteriores y perfeccionándolo para la producción.
YOLO26 presenta un diseño estrictamente nativo de extremo a extremo, eliminando el postprocesamiento NMS para lograr pipelines de despliegue más sencillos en dispositivos de borde. Además, la eliminación de la pérdida Distribution Focal Loss (DFL) ha mejorado drásticamente la compatibilidad con el hardware de IA en el borde de bajo consumo.
En cuanto al entrenamiento, YOLO26 introduce el optimizador MuSGD, un híbrido inspirado en las técnicas de entrenamiento de grandes modelos de lenguaje (LLM). Esto garantiza un entrenamiento más estable y una convergencia más rápida. Combinado con las funciones de pérdida ProgLoss + STAL, YOLO26 muestra mejoras notables en el reconocimiento de objetos pequeños, una característica crucial para la conservación de la vida silvestre y las operaciones con drones.
De forma crucial, YOLO26 no es solo un detector de objetos. Ofrece mejoras específicas para cada tarea en todos los ámbitos, y es compatible de forma nativa con la segmentación de instancias, la estimación de poses mediante la estimación de log-verosimilitud residual (RLE) y pérdidas de ángulo especializadas para cajas delimitadoras orientadas (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 los modelos de YOLO26, la plataforma de Ultralytics proporciona una interfaz intuitiva que simplifica 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 distintas.