YOLOv9 frente a YOLOv5#
El campo de la visión artificial ha experimentado un crecimiento extraordinario, y la detección de objetos actúa como base para innumerables aplicaciones industriales y de investigación. Elegir la arquitectura adecuada suele requerir una evaluación minuciosa de la precisión media promedio (mAP), la velocidad de inferencia y la sobrecarga de memoria. En esta comparación, analizamos dos modelos muy influyentes: YOLOv9, conocido por sus avances arquitectónicos en la retención de información de gradiente, y Ultralytics YOLOv5, el estándar del sector ampliamente probado, conocido por su increíble facilidad de uso y su inigualable versatilidad de despliegue.
Innovaciones arquitectónicas y orígenes técnicos#
Comprender los mecanismos subyacentes de estos dos modelos proporciona un contexto fundamental para sus respectivos perfiles de rendimiento.
YOLOv9: Información de gradiente programable#
Desarrollado por los investigadores Chien-Yao Wang y Hong-Yuan Mark Liao en el Institute of Information Science de la Academia Sinica, en Taiwán, YOLOv9 se publicó el 21 de febrero de 2024. El modelo introduce dos conceptos revolucionarios para abordar el cuello de botella de información habitual en las redes neuronales profundas: la información de gradiente programable (PGI) y la red generalizada de agregación eficiente de capas (GELAN).
Al utilizar PGI, YOLOv9 garantiza que la información esencial se conserve durante todo el proceso de propagación hacia delante, lo que produce actualizaciones de gradiente muy precisas. Mientras tanto, la arquitectura GELAN maximiza la eficiencia de los parámetros, permitiendo al modelo alcanzar una precisión puntera con una sobrecarga computacional sorprendentemente baja. Puedes consultar los detalles técnicos en el artículo oficial de YOLOv9 en Arxiv o visitar el repositorio de YOLOv9 en GitHub.
Ultralytics YOLOv5: el estándar para producción#
Creado por Glenn Jocher y publicado por Ultralytics el 26 de junio de 2020, YOLOv5 revolucionó la accesibilidad de la visión artificial. Como uno de los primeros modelos de detección de objetos desarrollados originalmente sobre el framework PyTorch, evitó las complejidades del antiguo framework C Darknet. YOLOv5 aprovecha una red troncal CSPNet altamente optimizada y un cuello PANet, priorizando un equilibrio fluido entre velocidad y precisión.
Sin embargo, su mayor logro es su integración en el ecosistema más amplio de Ultralytics. YOLOv5 está muy optimizado para una eficiencia de entrenamiento rápida y para entornos con poca memoria, lo que lo hace extraordinariamente estable en despliegues en el edge.
Al evaluar modelos para dispositivos edge, recuerda que los modelos YOLO de Ultralytics suelen requerir mucha menos memoria GPU durante el entrenamiento y la inferencia que las arquitecturas pesadas basadas en Transformer.
Análisis del rendimiento: velocidad frente a precisión#
Al diseñar una canalización de visión artificial, los desarrolladores deben sopesar las compensaciones entre precisión y latencia. La siguiente tabla muestra las diferencias de rendimiento en el conjunto de datos COCO estándar.
| 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.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Análisis de las compensaciones#
YOLOv9 establece un dominio absoluto en precisión bruta. YOLOv9e lleva los límites de mAP hasta el 55,6 %, utilizando sus capas GELAN para conservar los detalles más precisos. Esto lo convierte en una opción excepcional para la imagen médica o para situaciones que exigen una precisión rigurosa en objetos pequeños.
Por el contrario, YOLOv5 destaca por su velocidad de despliegue bruta y su flexibilidad de hardware. El YOLOv5n (Nano) es famoso por su ligereza y ejecuta inferencias en solo 1,12 ms en una GPU T4 mediante TensorRT. Si vas a desplegarlo en dispositivos IoT con recursos limitados, teléfonos móviles o Raspberry Pi, la huella de memoria de YOLOv5 lo hace extraordinariamente fiable.
La ventaja del ecosistema de Ultralytics#
Un aspecto importante al seleccionar un modelo es el ecosistema de software que lo rodea. Aunque YOLOv9 ofrece benchmarks de investigación de primer nivel, utilizar ambos modelos mediante la moderna API de Python de Ultralytics cierra la brecha y proporciona a los desarrolladores una experiencia unificada y optimizada.
Facilidad de uso y exportación#
Ultralytics abstrae los obstáculos de ingeniería complejos. Funciones como el aumento de datos automático y el ajuste de hiperparámetros se gestionan de forma integrada. Pasar los modelos a producción es igual de sencillo, gracias a los comandos de exportación integrados que los convierten a formatos ONNX, OpenVINO o TFLite.
Versatilidad de tareas#
Aunque ambos modelos destacan en la detección de objetos, los modelos modernos de Ultralytics están diseñados para abordar una gran variedad de desafíos de visión artificial. El framework más amplio ofrece compatibilidad nativa con la clasificación de imágenes, la segmentación de instancias, la estimación de poses y las cajas delimitadoras orientadas (OBB), lo que permite a los desarrolladores resolver múltiples problemas de visión sin cambiar de base de código.
Casos de uso y recomendaciones#
Elegir entre YOLOv9 y YOLOv5 depende de los requisitos específicos de tu proyecto, las limitaciones del despliegue y tus preferencias de ecosistema.
Cuándo elegir YOLOv9#
YOLOv9 es una buena opción para:
- Investigación sobre cuellos de botella de información: Proyectos académicos que estudian las arquitecturas de información de gradiente programable (PGI) y de red de agregación de capas eficiente generalizada (GELAN).
- Estudios de optimización del flujo de gradientes: Investigación centrada en comprender y mitigar la pérdida de información en las capas profundas de la red durante el entrenamiento.
- Evaluación comparativa de detección de alta precisión: Escenarios en los que se necesita el sólido rendimiento de YOLOv9 en las pruebas de referencia de COCO como punto de referencia para comparar arquitecturas.
Cuándo elegir YOLOv5#
YOLOv5 se recomienda para:
- Sistemas de producción probados: Implementaciones existentes en las que se valoran la larga trayectoria de estabilidad de YOLOv5, su amplia documentación y el enorme apoyo de la comunidad.
- Entrenamiento con recursos limitados: Entornos con recursos de GPU limitados en los que resultan ventajosos el eficiente flujo de entrenamiento de YOLOv5 y sus menores requisitos de memoria.
- Amplia compatibilidad con formatos de exportación: Proyectos que requieren implementarse en muchos formatos, incluidos ONNX, TensorRT, CoreML y TFLite.
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:
- Despliegue edge sin NMS: Aplicaciones que requieren una inferencia constante y de baja latencia sin la complejidad del posprocesamiento de supresión no máxima.
- Entornos exclusivamente con CPU: Dispositivos sin aceleración dedicada mediante GPU, donde la inferencia en CPU hasta un 43 % más rápida de YOLO26 ofrece una ventaja decisiva.
- Detección de objetos pequeños: Escenarios exigentes, como las imágenes aéreas captadas por drones o el análisis de sensores del IoT, en los que ProgLoss y STAL mejoran significativamente la precisión en objetos diminutos.
Ejemplo de implementación#
La ventaja del ecosistema de Ultralytics es que puedes cambiar entre un modelo YOLOv5 y un modelo YOLOv9 simplemente modificando la cadena de pesos.
from ultralytics import YOLO
# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")
# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")
# Export to ONNX for seamless deployment
model.export(format="onnx")Exploración de arquitecturas más recientes#
Aunque YOLOv5 y YOLOv9 son modelos excelentes con ventajas diferenciadas, el campo sigue avanzando. Quienes exploren nuevos proyectos también pueden evaluar las últimas iteraciones de Ultralytics.
- YOLO11: Una evolución potente y refinada de la línea de YOLOv8 que ofrece un equilibrio excelente entre velocidad y precisión en todas las tareas de visión.
- YOLO26: Publicado en 2026, YOLO26 es la recomendación definitiva para las canalizaciones modernas. Introduce un diseño de extremo a extremo sin NMS, que elimina por completo los cuellos de botella del posprocesamiento. Con la eliminación de DFL (pérdida focal de distribución eliminada para simplificar la exportación y mejorar la compatibilidad con dispositivos edge y de bajo consumo), alcanza hasta un 43 % más de velocidad de inferencia en CPU. La estabilidad del entrenamiento mejora enormemente gracias al nuevo optimizador MuSGD, y ProgLoss + STAL ofrece funciones de pérdida mejoradas, con avances notables en el reconocimiento de objetos pequeños, algo fundamental para IoT, la robótica y las imágenes aéreas, lo que lo convierte en la arquitectura más robusta tanto para despliegues en edge como en la nube.
Para los equipos que gestionan grandes conjuntos de datos y canalizaciones de despliegue complejas, utilizar la Ultralytics Platform ofrece una solución sin código para entrenar, realizar el seguimiento y desplegar estos modelos de vanguardia sin esfuerzo.