YOLOv9 frente a YOLO11#
La rápida evolución de la visión artificial ha ampliado continuamente las posibilidades de la detección de objetos en tiempo real. Al comparar las principales arquitecturas, YOLOv9 y Ultralytics YOLO11 destacan como avances importantes, cada uno orientado a necesidades técnicas distintas. YOLOv9 introdujo nuevas formas de preservar el flujo del gradiente durante el entrenamiento de redes profundas, mientras que YOLO11 perfeccionó el framework Ultralytics de propósito general para mejorar la eficiencia, la versatilidad y la facilidad de uso.
Esta comparación técnica analiza sus arquitecturas, métricas de rendimiento, requisitos de memoria y escenarios de implementación ideales para ayudarte a elegir el modelo adecuado para tu próximo proyecto de IA.
Aunque YOLOv9 y YOLO11 son modelos capaces, YOLO26 es el modelo Ultralytics recomendado actualmente. Incorpora un diseño integral sin NMS que simplifica la implementación, ofrece una inferencia en CPU hasta un 43 % más rápida (YOLO26n frente a YOLO11n) y utiliza el optimizador MuSGD para acelerar la convergencia, por lo que es el mejor punto de partida para nuevos proyectos de producción.
Especificaciones técnicas y autoría#
Conocer el linaje de estos modelos aporta un contexto esencial para entender sus decisiones arquitectónicas y dependencias de framework.
YOLOv9#
YOLOv9 puso un fuerte énfasis académico en los cuellos de botella de información del aprendizaje profundo y priorizó la fidelidad de las características mediante bloques de red personalizados.
- 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
- arXiv: https://arxiv.org/abs/2402.13616
- GitHub: https://github.com/WongKinYiu/yolov9
Ultralytics YOLO11#
YOLO11 se diseñó desde cero para entornos de producción, con énfasis en equilibrar una gran precisión, velocidades de implementación en condiciones reales y versatilidad multitarea.
- Autores: Glenn Jocher y Jing Qiu
- Organización: Ultralytics
- Fecha: 27 de septiembre de 2024
- GitHub: https://github.com/ultralytics/ultralytics
Innovaciones arquitectónicas#
Información de gradiente programable en YOLOv9#
YOLOv9 introduce el concepto de información de gradiente programable (PGI) junto con la red de agregación de capas eficiente generalizada (GELAN). A medida que las redes neuronales se hacen más profundas, suelen sufrir cuellos de botella de información, en los que se pierden detalles importantes durante la propagación hacia delante. PGI aborda este problema al proporcionar actualizaciones de gradiente fiables que conservan la información espacial detallada, mientras que GELAN maximiza la eficiencia de los parámetros. Esto hace que YOLOv9 sea especialmente adecuado para tareas que requieren una gran fidelidad de las características, aunque depende de la supresión no máxima (NMS) estándar durante el posprocesamiento, lo que puede introducir latencia en dispositivos edge.
Eficiencia optimizada en YOLO11#
YOLO11 se basa en años de investigación sobre YOLO para ofrecer una arquitectura eficiente. Mejora las iteraciones anteriores al reducir la carga computacional y mejorar la extracción de características. YOLO11 sigue dependiendo del posprocesamiento NMS estándar, pero sus cabezas de detección refinadas logran un buen equilibrio entre latencia y precisión. YOLO11 también utiliza menos memoria durante el entrenamiento del modelo y la inferencia que los modelos Transformer pesados, cuyo entrenamiento suele ser más lento y que requieren grandes cantidades de memoria CUDA.
Comparativa de métricas de rendimiento#
Al comparar estos modelos en el conjunto de datos estándar COCO, ambos ofrecen un buen rendimiento, pero surgen diferencias entre el número de parámetros y la velocidad operativa.
La tabla siguiente compara las principales métricas de rendimiento de YOLO.
| 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
Análisis de los resultados#
- Velocidad y eficiencia del hardware: YOLO11 es más rápido que YOLOv9 en todos los tamaños de esta tabla. Por ejemplo, YOLO11n tarda 1,5 ms en una GPU NVIDIA T4 con TensorRT, por lo que es muy adecuado para canalizaciones con requisitos estrictos de tiempo real.
- Requisitos de cálculo: los modelos YOLO11 suelen requerir menos FLOPs (por ejemplo, 68,1B para YOLO11m frente a 76,8B para YOLOv9m), lo que se traduce en un menor consumo energético en dispositivos edge alimentados por batería, como Raspberry Pi, o en dispositivos móviles.
- Precisión comparable: aunque YOLOv9e supera ligeramente a YOLO11x en mAP absoluto (55,6 frente a 54,7), YOLO11 alcanza su máxima precisión con una latencia sustancialmente menor (11,3 ms frente a 16,77 ms), lo que demuestra un equilibrio de rendimiento más favorable para las implementaciones reales.
Ecosistema y facilidad de uso#
Aunque las métricas brutas son importantes, el ecosistema del framework suele determinar el éxito de un proyecto, y es aquí donde destaca Ultralytics.
El repositorio original de YOLOv9 está muy especializado y ofrece una implementación para investigación. Sin embargo, la plataforma Ultralytics y su paquete de código abierto correspondiente ofrecen una experiencia de usuario optimizada, una API sencilla y documentación exhaustiva que reducen el tiempo de comercialización.
Versatilidad multitarea#
YOLOv9 se centra principalmente en la detección de cajas delimitadoras. En cambio, YOLO11 es un modelo multitarea unificado que admite de forma nativa:
- Segmentación de instancias
- Clasificación de imágenes
- Estimación de pose
- Cajas delimitadoras orientadas (OBB)
Despliegue#
El ecosistema Ultralytics permite a los desarrolladores exportar modelos a distintos formatos con una sola línea de código Python. Tanto si el objetivo es ONNX, OpenVINO, LiteRT o CoreML, pasar del entrenamiento a producción es sencillo.
from ultralytics import YOLO
# Carga un modelo YOLO11 de gran eficiencia
model = YOLO("yolo11n.pt")
# Entrena rápidamente con un conjunto de datos personalizado y un uso mínimo de memoria
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Exporta el modelo entrenado a OpenVINO para acelerar la CPU Intel
model.export(format="openvino")Casos de uso ideales#
Cuándo usar YOLOv9#
YOLOv9 es una herramienta útil en entornos centrados en la investigación o en escenarios que priorizan una gran fidelidad de las características y en los que la latencia del hardware no es la principal limitación. Su arquitectura GELAN puede ser útil en el análisis de imágenes médicas, donde es crucial detectar las variaciones de píxel más pequeñas.
Por qué elegir YOLO11#
Para los desarrolladores, ingenieros y equipos de producción que tengan que elegir entre estos dos modelos, YOLO11 es la opción recomendada. Destaca en entornos que exigen una implementación escalable y de alta velocidad:
- Analítica para comercios inteligentes: seguimiento de productos y clientes mediante procesadores Intel estándar.
- Drones autónomos: las arquitecturas con pocos FLOPs alargan la duración de la batería sin renunciar a una detección sólida de objetos pequeños.
- Proyectos dinámicos: flujos de trabajo que pueden empezar con la detección y evolucionar más adelante para requerir estimación de pose o segmentación.
De cara al futuro: la siguiente evolución#
YOLO11 fue el modelo más avanzado de su generación, pero el panorama de la visión artificial sigue evolucionando. Para proyectos nuevos, considera YOLO26, el modelo Ultralytics recomendado actualmente.
A partir del diseño integral sin NMS explorado por primera vez en YOLOv10, YOLO26 incorpora el optimizador MuSGD (una combinación de SGD y Muon) para lograr un entrenamiento más estable. Al eliminar Distribution Focal Loss (DFL) para simplificar la exportación y mejorar la detección de objetos pequeños con ProgLoss y STAL (Progressive Loss y asignación de etiquetas consciente de los objetos pequeños), YOLO26n logra una inferencia en CPU hasta un 43 % más rápida que YOLO11n. Gracias a la API unificada de Ultralytics, los equipos que actualicen modelos antiguos como Ultralytics YOLOv8 pueden pasar a YOLO26 o YOLO11 con cambios mínimos en el código.