YOLOv7 frente a DAMO-YOLO#
El panorama de la detección de objetos en tiempo real evoluciona continuamente, mientras investigadores e ingenieros buscan el equilibrio óptimo entre velocidad y precisión. En esta comparación técnica, analizaremos en profundidad dos arquitecturas destacadas de 2022: YOLOv7 y DAMO-YOLO. Ambos modelos introdujeron conceptos novedosos en la comunidad de visión artificial y abordaron distintos retos relacionados con el entrenamiento de modelos, el diseño arquitectónico y la implementación.
Antecedentes y detalles técnicos de los modelos#
Antes de profundizar en sus arquitecturas, es fundamental entender el origen de estos dos modelos. Ambos fueron desarrollados por grupos de investigación destacados e introdujeron metodologías avanzadas para ampliar los límites de la detección de objetos en tiempo real.
Detalles de YOLOv7#
Desarrollado como continuación de la familia YOLO, YOLOv7 introdujo el concepto de «bag-of-freebies» entrenable para mejorar considerablemente la precisión sin aumentar el coste de inferencia.
- Autores: Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao
- Organización: Institute of Information Science, Academia Sinica, Taiwán
- Fecha: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Documentación: https://docs.ultralytics.com/models/yolov7
Detalles de DAMO-YOLO#
Desarrollado por investigadores de Alibaba Group, DAMO-YOLO se centró especialmente en la búsqueda de arquitecturas neuronales (NAS) y la destilación avanzada de conocimiento para crear modelos muy eficientes en distintos tipos de hardware.
- 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
Más información sobre DAMO-YOLO
Innovaciones arquitectónicas#
YOLOv7: análisis de las rutas del gradiente y reparametrización#
YOLOv7 se centra especialmente en las redes de agregación de capas eficientes extendidas (E-ELAN). Sus autores diseñaron E-ELAN analizando las rutas del gradiente de la red para garantizar que esta pueda seguir aprendiendo sin degradar la ruta original del gradiente. Además, YOLOv7 utiliza eficazmente la reparametrización del modelo durante la inferencia y fusiona capas sin complicaciones para reducir los FLOPs y acelerar la ejecución. Esto le permite realizar inferencias en tiempo real con gran solvencia en GPU modernas.
DAMO-YOLO: búsqueda de arquitecturas neuronales y RepGFPN#
DAMO-YOLO se distingue por aprovechar ampliamente la búsqueda de arquitecturas neuronales (NAS) teniendo en cuenta las restricciones de latencia. Utiliza un framework llamado MAE-NAS para descubrir backbones óptimos adaptados a hardware específico, como dispositivos móviles o aceleradores edge concretos. Para su cuello de botella, introduce RepGFPN (red piramidal de características generalizada reparametrizada), una solución eficiente, y emplea un diseño ZeroHead para minimizar la carga computacional de los cabezales de predicción.
Mientras que YOLOv7 se basa en optimizaciones arquitectónicas propias, DAMO-YOLO depende en gran medida de un complejo proceso de destilación de conocimiento en varias etapas. Para transferir conocimiento a un modelo estudiante más pequeño, es necesario entrenar un modelo profesor grande, lo que puede resultar costoso desde el punto de vista computacional durante el entrenamiento.
Comparativa de rendimiento y métricas#
Al comparar estos modelos, es fundamental tener en cuenta el mAP (precisión media promedio), la velocidad de inferencia y la complejidad del modelo.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
La tabla anterior muestra que YOLOv7 escala bien en ámbitos que requieren una gran precisión (YOLOv7x), mientras que DAMO-YOLO ofrece modelos minúsculos muy optimizados para entornos con recursos limitados.
Eficiencia del entrenamiento y requisitos de memoria#
Una diferencia importante entre ambas arquitecturas está en sus métodos de entrenamiento. La dependencia de DAMO-YOLO de la destilación implica que entrenar un modelo desde cero o ajustarlo con un conjunto de datos personalizado de visión artificial suele requerir mucha más VRAM y más tiempo de cálculo en GPU.
En cambio, los modelos compatibles de forma nativa con el ecosistema de Ultralytics, como YOLOv8 y las versiones posteriores, están muy optimizados en cuanto a los requisitos de memoria. Permiten a los desarrolladores utilizar tamaños de lote mayores en hardware de consumo sin errores por falta de memoria, lo que simplifica el seguimiento de experimentos y el proceso de iteración.
La ventaja de Ultralytics#
Aunque YOLOv7 y DAMO-YOLO ofrecen prestaciones interesantes, implementar modelos dentro del ecosistema de Ultralytics proporciona una experiencia de desarrollo incomparable.
- Facilidad de uso: El paquete Python de Ultralytics ofrece una API unificada y sencilla. Puedes cambiar rápidamente de arquitectura de modelo, iniciar bucles de entrenamiento o ejecutar inferencias con unas pocas líneas de código.
- Ecosistema bien mantenido: Ultralytics ofrece actualizaciones frecuentes que garantizan la compatibilidad nativa con las últimas versiones de PyTorch y los controladores CUDA. También simplifica la exportación de modelos a formatos como ONNX, TensorRT y OpenVINO.
- Versatilidad: A diferencia de DAMO-YOLO, que se limita a la detección de objetos, el ecosistema de Ultralytics admite de forma nativa diversas tareas. Los modelos de la familia Ultralytics pueden realizar detección estándar con cuadros delimitadores, estimación de poses, segmentación de instancias y cuadros delimitadores orientados (OBB).
Ejemplo de código: primeros pasos rápidos#
Así de fácil es cargar, entrenar y ejecutar inferencias con modelos de Ultralytics:
from ultralytics import YOLO
# # Carga un modelo YOLO26 preentrenado (Ultralytics no admite los pesos nativos de YOLOv7)
model = YOLO("yolo26n.pt")
# # Entrena el modelo con el conjunto de datos COCO8 y gestión automatizada de hiperparámetros
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Ejecuta la inferencia en una imagen
predictions = model("https://ultralytics.com/images/bus.jpg")
# Exporta al formato ONNX para la implementación
model.export(format="onnx")Con Ultralytics, exportar los pesos de tu modelo entrenado a distintos formatos acelerados por hardware (como TensorRT o CoreML) se hace con un único argumento en el comando de exportación, lo que ahorra horas de configuración compleja de scripts.
La próxima generación: YOLO26#
Aunque YOLOv7 sigue siendo una arquitectura heredada sólida, el sector ha avanzado rápidamente. Para nuevas implementaciones, se recomienda Ultralytics YOLO26, publicado en enero de 2026, como nuevo estándar: supera a las generaciones anteriores en casi todas las métricas.
- Diseño integral sin NMS: YOLO26, una innovación cuyo precursor fue YOLOv10, elimina el posprocesamiento de supresión no máxima (NMS) mediante su cabezal opcional uno a uno (
nms=False). Esto garantiza una inferencia determinista y de latencia ultrabaja, esencial para la robótica y la conducción autónoma. - Optimizador MuSGD: Inspirado en técnicas avanzadas de entrenamiento de LLM, como Kimi K2 de Moonshot AI, este optimizador híbrido combina SGD y Muon para ofrecer un entrenamiento muy estable y una convergencia más rápida en distintos conjuntos de datos.
- Inferencia en CPU hasta un 43 % más rápida: Al eliminar de forma estratégica Distribution Focal Loss (DFL), YOLO26 mejora considerablemente el rendimiento en plataformas de computación edge y CPU.
- ProgLoss + STAL: Estas funciones de pérdida avanzadas mejoran considerablemente la detección de objetos pequeños, lo que hace que YOLO26 sea especialmente adecuado para las imágenes aéreas y la vigilancia detallada.
Casos de uso ideales#
Cuándo elegir DAMO-YOLO#
- Investigación académica en NAS: Si tu organización dedica muchos recursos al estudio de metodologías de búsqueda de arquitecturas neuronales.
- Latencia extremadamente limitada en hardware específico: Si dispones de recursos para realizar búsquedas NAS exhaustivas y encontrar un backbone adaptado a un chip acelerador de IA personalizado.
Cuándo elegir YOLOv7#
- Pipelines de GPU existentes: Para equipos que mantienen pipelines de producción heredados, optimizados en profundidad para la arquitectura E-ELAN específica de YOLOv7 en hardware NVIDIA de gama alta.
Por qué migrar a los modelos modernos de Ultralytics (YOLO11 / YOLO26)#
Para la gran mayoría de las aplicaciones empresariales —desde el análisis del comercio minorista y la fabricación inteligente hasta la atención sanitaria—, los modelos modernos de Ultralytics son inigualables. La integración con la plataforma Ultralytics ofrece un pipeline de ML completo, con facilidad de uso, documentación superior, un sólido respaldo de la comunidad y versatilidad para múltiples tareas. Tanto si haces un seguimiento del inventario con una Raspberry Pi como si ejecutas análisis complejos en la nube, modelos como YOLO26 ofrecen el equilibrio de rendimiento ideal para el futuro de la visión artificial.