YOLOv10 frente a DAMO-YOLO#
Al crear procesos modernos de visión artificial, elegir la arquitectura adecuada para la detección de objetos en tiempo real es fundamental. En este análisis técnico exhaustivo, exploramos las arquitecturas, las métricas de rendimiento y los casos de uso ideales de YOLOv10 y DAMO-YOLO. Ambos modelos suponen un avance significativo en las capacidades de detección de objetos, pero siguen caminos arquitectónicos distintos para alcanzar sus objetivos.
Tanto si tu proyecto requiere desplegarse en hardware de IA en el borde con recursos limitados como si necesita la máxima precisión en GPU en la nube, comprender los matices de estas arquitecturas te ayudará a tomar una decisión fundamentada.
Explora YOLOv10#
Presentado por investigadores de la Universidad de Tsinghua, YOLOv10 revolucionó la familia YOLO al introducir un enfoque integral nativo que elimina la necesidad de aplicar la supresión no máxima (NMS) durante el posprocesamiento.
Detalles de YOLOv10:
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organización: Universidad de Tsinghua
- Fecha: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Documentación: https://docs.ultralytics.com/models/yolov10
Características arquitectónicas principales#
La principal innovación de YOLOv10 es su estrategia de asignaciones duales coherentes para el entrenamiento sin NMS. Los detectores de objetos tradicionales dependen en gran medida de NMS para filtrar las cajas delimitadoras solapadas, lo que introduce una latencia impredecible: un cuello de botella importante en aplicaciones en tiempo real, como los vehículos autónomos y la robótica de alta velocidad. Al predecir directamente una única caja delimitadora óptima para cada objeto, YOLOv10 logra una inferencia predecible y de latencia ultrabaja.
Además, el modelo emplea un diseño integral basado en la eficiencia y la precisión. La arquitectura optimiza varios componentes, como un cabezal de clasificación ligero y un submuestreo con desacoplamiento espacial y de canales, lo que reduce notablemente la redundancia computacional. El resultado es una arquitectura con menos parámetros y FLOPs que mantiene una precisión media (mAP) competitiva.
Ejemplo de uso#
YOLOv10 está profundamente integrado en el ecosistema de Ultralytics, por lo que es muy fácil de usar mediante el paquete de Python de Ultralytics.
from ultralytics import YOLO
# Carga un modelo nano YOLOv10 preentrenado
model = YOLO("yolov10n.pt")
# Entrena el modelo con el conjunto de datos COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Ejecuta la inferencia en una imagen de prueba
results = model("https://ultralytics.com/images/bus.jpg")
# Exporta el modelo al formato TensorRT
model.export(format="engine", quantize=16)Explora DAMO-YOLO#
Desarrollado por Alibaba Group, DAMO-YOLO se centra en descubrir estructuras de red muy eficientes mediante la búsqueda automatizada de arquitecturas neuronales (NAS), con el objetivo de ampliar la frontera de Pareto entre velocidad y precisión.
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: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Características arquitectónicas principales#
DAMO-YOLO introduce varias tecnologías novedosas diseñadas para aplicaciones industriales. El modelo se basa en su red troncal MAE-NAS, generada mediante una búsqueda guiada por la entropía máxima. Este proceso automatizado descubre estructuras de redes troncales que se ajustan estrictamente a presupuestos computacionales predefinidos y logra un equilibrio preciso entre la precisión y la latencia de inferencia.
Además, la arquitectura utiliza un cuello Efficient RepGFPN. Esta red piramidal de características está diseñada para mejorar la fusión de características entre distintas escalas, algo esencial en tareas complejas como el análisis de imágenes aéreas, donde el tamaño de los objetos varía enormemente. Para complementarla, DAMO-YOLO implementa ZeroHead, un cabezal de detección minimalista que reduce drásticamente la complejidad de las capas de predicción finales y ahorra un valioso tiempo de cálculo durante la inferencia.
Más información sobre DAMO-YOLO
Comparativa de rendimiento#
Al evaluar arquitecturas de detección de objetos, es fundamental encontrar el equilibrio adecuado entre la velocidad de inferencia, la eficiencia de parámetros y la precisión de detección. La siguiente tabla compara el rendimiento de YOLOv10 y DAMO-YOLO en sus respectivos tamaños de modelo.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Como se observa en los puntos de referencia, YOLOv10 ofrece de forma constante una latencia excepcional con TensorRT, especialmente en su variante nano, y requiere muchos menos parámetros y FLOPs que los modelos comparables de DAMO-YOLO. Aunque DAMO-YOLO ofrece un buen mAP en su variante tiny, la eficiencia de parámetros y la latencia de inferencia de la familia YOLOv10 proporcionan una ventaja clara en entornos de despliegue con recursos limitados.
Casos de uso y recomendaciones#
La elección entre YOLOv10 y DAMO-YOLO depende de los requisitos específicos de tu proyecto, las limitaciones de despliegue y tus preferencias de ecosistema.
Cuándo elegir YOLOv10#
YOLOv10 es una buena opción 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 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.
La ventaja de Ultralytics#
Aunque ambos modelos son técnicamente impresionantes, elegir una arquitectura para producción implica mirar más allá de las métricas sin procesar. Desarrollar con modelos compatibles de forma nativa con el ecosistema Ultralytics ofrece ventajas incomparables tanto para desarrolladores como para investigadores.
Facilidad de uso y ecosistema bien mantenido#
A diferencia de los repositorios académicos independientes, que a menudo se abandonan, Ultralytics ofrece un ecosistema sólido y en constante mantenimiento. Configurar entornos complejos para modelos que dependen en gran medida de procesos NAS puede resultar abrumador. En cambio, Ultralytics proporciona una API de Python estandarizada e intuitiva y una potente CLI, con el respaldo de una amplia documentación. Esto reduce drásticamente el tiempo de comercialización de las soluciones de visión personalizadas.
Eficiencia del entrenamiento y requisitos de memoria#
Entrenar modelos grandes puede encarecer rápidamente el cálculo. Históricamente, las arquitecturas Ultralytics YOLO se han caracterizado por su bajo consumo de memoria CUDA durante el entrenamiento y la inferencia. Esta eficiencia permite a los desarrolladores entrenar modelos en hardware de consumo o instancias en la nube económicas sin sufrir errores por falta de memoria, habituales al trabajar con modelos basados en Transformer como RT-DETR.
Ultralytics se integra de forma nativa con las principales herramientas de MLOps. Puedes hacer un seguimiento sencillo del progreso del entrenamiento de tus modelos mediante las integraciones con Weights & Biases, Comet o ClearML, sin necesidad de código adicional.
Versatilidad en distintas tareas#
Una limitación importante de muchos modelos de detección especializados es su enfoque limitado. En el ecosistema Ultralytics, no estás limitado únicamente a la detección de objetos. Las herramientas se extienden sin problemas a múltiples tareas de visión artificial, como la segmentación de instancias, la clasificación de imágenes, la estimación de poses y la detección con cajas delimitadoras orientadas (OBB).
Perspectivas de futuro: la evolución de YOLO26#
Aunque YOLOv10 fue pionero en la inferencia sin NMS y DAMO-YOLO demostró el potencial de NAS, el campo de la visión artificial avanza rápidamente. Si buscas una solución de última generación, te recomendamos descubrir Ultralytics YOLO26.
Lanzado como sucesor definitivo de YOLO11, YOLO26 se basa en los cimientos sin NMS establecidos por YOLOv10, pero va mucho más allá.
Entre los avances clave de YOLO26 se incluyen:
- Hasta un 43 % más de velocidad de inferencia en CPU: Optimizado específicamente para la computación en el borde y los dispositivos de bajo consumo.
- Eliminación de DFL: Se ha eliminado la pérdida focal de distribución para simplificar las exportaciones y mejorar la compatibilidad con diversos destinos de despliegue.
- Optimizador MuSGD: Una combinación de SGD y Muon que incorpora directamente a la visión artificial la estabilidad avanzada del entrenamiento de LLM y una convergencia más rápida.
- ProgLoss + STAL: Funciones de pérdida muy mejoradas que optimizan notablemente el reconocimiento de objetos pequeños, esencial en casos de uso como la agricultura y la teledetección.
Con la renovada plataforma Ultralytics, los desarrolladores pueden anotar, entrenar y desplegar fácilmente modelos de nueva generación como YOLO26 con unos pocos clics, para que sus procesos de visión artificial estén a la vanguardia y sigan siendo relevantes en el futuro.