YOLOv9 frente a YOLOv7#
La evolución de la detección de objetos en tiempo real ha estado impulsada por la búsqueda continua de un equilibrio entre la eficiencia computacional y una gran precisión. Dos arquitecturas emblemáticas de esta evolución son YOLOv9 y YOLOv7, desarrolladas por investigadores del Instituto de Ciencias de la Información de la Academia Sinica de Taiwán. Mientras que YOLOv7 introdujo innovadoras técnicas gratuitas entrenables, YOLOv9 aborda directamente los cuellos de botella de información del aprendizaje profundo.
Esta comparativa técnica exhaustiva analiza las diferencias arquitectónicas, las métricas de rendimiento y los escenarios de despliegue ideales de ambos modelos para ayudar a los ingenieros de ML y a los investigadores a elegir la herramienta adecuada para sus flujos de trabajo de visión artificial.
Comparativa de rendimiento y métricas#
Al comparar estos modelos, el rendimiento bruto y la eficiencia son factores esenciales. La siguiente tabla detalla la precisión media promedio (mAP) y los requisitos computacionales de las evaluaciones de referencia estándar del conjunto de datos COCO.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Fíjate en que YOLOv9c alcanza prácticamente la misma precisión (53,0 de mAP) que YOLOv7x (53,1 de mAP), aunque utiliza muchos menos parámetros (25,5 millones frente a 71,3 millones) y FLOPs. Esto demuestra las mejoras en el equilibrio del rendimiento de las arquitecturas modernas.
YOLOv9: resolver el cuello de botella de información#
Presentado a principios de 2024, YOLOv9 cambió radicalmente la forma en que las redes neuronales profundas conservan los datos en sus distintas capas.
- Autores: Chien-Yao Wang y Hong-Yuan Mark Liao
- Organización: Instituto de Ciencias de la Información, Academia Sinica
- Fecha: 21 de febrero de 2024
- Recursos: artículo de arXiv | repositorio de GitHub
Innovaciones arquitectónicas#
YOLOv9 introduce la red de agregación de capas eficiente generalizada (GELAN) y la información de gradiente programable (PGI). GELAN combina las ventajas de CSPNet y ELAN para optimizar la eficiencia de los parámetros y el coste computacional, y garantiza una gran precisión con menos parámetros. PGI es un marco de supervisión auxiliar diseñado para evitar la pérdida de datos en redes profundas y generar gradientes fiables para actualizar los pesos durante el entrenamiento.
Puntos fuertes y limitaciones#
El principal punto fuerte de YOLOv9 es su capacidad para extraer características sutiles sin una carga computacional excesiva, lo que lo hace muy eficaz en tareas que requieren una gran fidelidad de las características, como el análisis de imágenes médicas. Sin embargo, la compleja estructura PGI durante el entrenamiento puede dificultar las modificaciones arquitectónicas personalizadas a los principiantes, en comparación con marcos de trabajo más unificados.
YOLOv7: pionero en técnicas gratuitas#
Lanzado en 2022, YOLOv7 estableció un nuevo referente de lo que era posible en hardware de consumo e introdujo innovaciones estructurales que aumentaron notablemente la velocidad de inferencia en tiempo real.
- Autores: Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao
- Organización: Instituto de Ciencias de la Información, Academia Sinica
- Fecha: 6 de julio de 2022
- Recursos: artículo de arXiv | repositorio de GitHub
Innovaciones arquitectónicas#
La principal aportación de YOLOv7 es la red de agregación de capas eficiente extendida (E-ELAN). Esta arquitectura permite que el modelo aprenda de forma continua características más diversas. Además, YOLOv7 emplea «técnicas gratuitas entrenables», como convoluciones reparametrizadas planificadas y asignación dinámica de etiquetas. Estos métodos mejoran la precisión del modelo durante el entrenamiento sin añadir costes de inferencia durante el despliegue.
Puntos fuertes y limitaciones#
YOLOv7 está muy optimizado para el procesamiento en tiempo real en dispositivos de borde y sigue siendo habitual en sistemas heredados y entornos CUDA antiguos. Hoy en día, su principal limitación es su mayor número de parámetros frente a los modelos más recientes. Como se muestra en la tabla de rendimiento, para alcanzar una precisión de primer nivel se necesita el pesado modelo YOLOv7x, que requiere mucha más memoria de la GPU que las arquitecturas modernas equivalentes.
La ventaja de Ultralytics: despliegue simplificado#
Aunque los repositorios de investigación originales de YOLOv9 y YOLOv7 ofrecen excelentes bases académicas, desplegar estos modelos en entornos de producción puede ser complejo. Integrar YOLOv9 mediante el paquete ultralytics (YOLOv7 solo es compatible mediante modelos exportados a ONNX o TensorRT) ofrece una facilidad de uso inigualable.
Al utilizar la plataforma de Ultralytics, los desarrolladores se benefician de un ecosistema bien mantenido que incluye una API intuitiva de Python, asistencia activa de la comunidad y un sólido seguimiento de experimentos.
Prepararse para el futuro con YOLO26#
Si vas a iniciar un nuevo proyecto de visión artificial, te recomendamos encarecidamente que explores el recién lanzado YOLO26 en lugar de YOLOv9 o YOLOv7. Lanzado como el nuevo estándar de vanguardia, YOLO26 incorpora avances revolucionarios:
- Diseño integral sin NMS: Una cabeza opcional uno a uno (
nms=False) omite el posprocesamiento de supresión no máxima y reduce drásticamente la complejidad y la latencia del despliegue. - Inferencia en CPU hasta un 43 % más rápida: Optimizado para entornos de computación en el borde, garantiza que tu aplicación funcione con fluidez incluso sin GPU dedicada.
- Optimizador MuSGD: Optimizador híbrido inspirado en el entrenamiento de LLM, que ofrece una convergencia muy estable y reduce el tiempo de entrenamiento.
- Eliminación de DFL: Simplifica la exportación del modelo al eliminar Distribution Focal Loss, lo que mejora la compatibilidad con dispositivos móviles de bajo consumo.
- ProgLoss + STAL: Mejora drásticamente el rendimiento en la detección de objetos pequeños, lo que lo convierte en la mejor opción para las imágenes aéreas y la vigilancia.
Otras alternativas populares del ecosistema son Ultralytics YOLOv8 y YOLO11, que ofrecen una gran versatilidad en tareas como la segmentación de instancias y la estimación de pose.
Ejemplo de implementación#
Entrenar y exportar YOLOv9 o YOLO26 es muy sencillo con la API unificada. El código siguiente muestra la eficiencia del entrenamiento optimizada característica de las herramientas de Ultralytics.
from ultralytics import YOLO
# Inicializa YOLOv9 o el modelo YOLO26 recomendado
model = YOLO("yolov9c.pt") # Cámbialo por "yolo26n.pt" para obtener un mayor rendimiento en dispositivos edge
# Entrena con un conjunto de datos personalizado y la ampliación de datos integrada
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Exporta el modelo entrenado al formato ONNX para implementarlo
model.export(format="onnx")Al entrenar con hardware de consumo, la eficiencia de memoria es fundamental. Las implementaciones de YOLOv9 y YOLO26 de Ultralytics están muy optimizadas para reducir los picos de uso de VRAM, a diferencia de los modelos basados en Transformer (como RT-DETR), que suelen sufrir un consumo excesivo de memoria durante el entrenamiento.
Aplicaciones reales y casos de uso ideales#
La elección entre estas arquitecturas suele depender de las limitaciones específicas de tu entorno de producción.
Cuándo usar YOLOv9: YOLOv9 destaca en entornos donde es necesario conservar hasta el más mínimo detalle. Su sólida extracción de características lo hace ideal para el análisis del comercio minorista, ya sea para contar productos muy juntos en los estantes o para aplicaciones agrícolas en las que es fundamental identificar enfermedades de los cultivos en sus primeras fases en hojas pequeñas.
Cuándo usar YOLOv7: YOLOv7 sigue siendo una buena opción para las cadenas de despliegue heredadas. Si vas a integrarlo en sistemas de hardware antiguos (como algunas generaciones de Google Coral Edge TPU), la arquitectura CNN sencilla de YOLOv7 puede ser más fácil de compilar que los modelos más recientes.
Cuándo usar YOLO26 (recomendado): Para cualquier despliegue moderno, desde drones autónomos hasta la gestión del tráfico en ciudades inteligentes, YOLO26 es la mejor opción. Su arquitectura sin NMS garantiza tiempos de inferencia deterministas, algo esencial para la robótica crítica para la seguridad, y su alta precisión supera a YOLOv9 y YOLOv7 en todos los aspectos.