YOLOv8 frente a YOLOv9#
La evolución de la detección de objetos en tiempo real se ha caracterizado por la búsqueda constante de una mayor precisión, menor latencia y mejor aprovechamiento del hardware. Dos hitos importantes de esta evolución son Ultralytics YOLOv8 y YOLOv9. Aunque ambos modelos ofrecen capacidades de vanguardia en visión artificial, responden a distintas necesidades de despliegue, filosofías arquitectónicas y ecosistemas de desarrollo.
Esta guía exhaustiva desglosa las diferencias técnicas, las innovaciones arquitectónicas y los aspectos prácticos del despliegue para ayudarte a elegir el modelo adecuado para tu próximo proyecto de inteligencia artificial.
Linaje de los modelos y filosofías fundamentales#
Antes de profundizar en las métricas, es fundamental comprender los orígenes y los principales objetivos de diseño de cada modelo.
Ultralytics YOLOv8: el estándar versátil del ecosistema#
Desarrollado por el equipo de Ultralytics, YOLOv8 se diseñó no solo como detector de objetos independiente, sino también como un marco unificado y multitarea. Prioriza una experiencia de desarrollo fluida, bajos requisitos de memoria y una amplia compatibilidad de hardware.
- Autores: Glenn Jocher, Ayush Chaurasia y Jing Qiu
- Organización: Ultralytics
- Fecha: 2023-01-10
- GitHub: ultralytics/ultralytics
- Documentación: Documentación de YOLOv8
YOLOv9: información de gradiente programable#
Desarrollado de forma independiente por investigadores de Academia Sinica, YOLOv9 se centra especialmente en la teoría arquitectónica y, en concreto, aborda el fenómeno del cuello de botella de la información en las redes neuronales profundas.
- Autores: Chien-Yao Wang y Hong-Yuan Mark Liao
- Organización: Institute of Information Science, Academia Sinica, Taiwán
- Fecha: 2024-02-21
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
Si tienes previsto un despliegue comercial a gran escala, explora la Plataforma Ultralytics para simplificar el entrenamiento en la nube, la gestión de conjuntos de datos y los puntos de conexión de API con un solo clic.
Análisis en profundidad de la arquitectura#
Las decisiones arquitectónicas del aprendizaje profundo determinan la eficiencia con la que aprende un modelo y la velocidad a la que se ejecuta en hardware de destino, como una NVIDIA Jetson o una CPU Intel.
Arquitectura de YOLOv8: C2f y cabezales desacoplados#
YOLOv8 introdujo el módulo C2f (cuello de botella parcial entre etapas con dos convoluciones), que sustituyó al antiguo módulo C3. Este cambio mejora el flujo del gradiente y permite que la red aprenda representaciones de características más ricas sin exigir demasiado a la memoria de la GPU.
Además, YOLOv8 utiliza un diseño sin anclajes con un cabezal desacoplado. Al procesar la clasificación y la regresión por separado, el modelo converge más rápido durante el entrenamiento y generaliza mejor con diversos conjuntos de datos personalizados.
Arquitectura de YOLOv9: PGI y GELAN#
YOLOv9 introduce Programmable Gradient Information (PGI) y Generalized Efficient Layer Aggregation Network (GELAN). PGI garantiza que no se pierdan datos cruciales al pasar por las capas de la red y proporciona gradientes fiables para actualizar los pesos. GELAN maximiza la eficiencia de los parámetros y permite que el modelo alcance una gran precisión procurando mantener los FLOPs en niveles manejables.
Aunque resulta impresionante desde el punto de vista matemático, la dependencia de YOLOv9 de ramas auxiliares reversibles específicas durante el entrenamiento puede complicar la personalización del código de entrenamiento frente a los procesos estándar.
Métricas de rendimiento y pruebas de referencia#
La tabla siguiente compara directamente los modelos de distintos tamaños. El rendimiento se mide con el conjunto de datos MS COCO, un referente estándar para la detección de objetos.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
Nota: Los mejores valores de cada columna aparecen resaltados en negrita.
Análisis de las ventajas e inconvenientes#
YOLOv9 alcanza una precisión máxima (mAP) ligeramente superior, sobre todo con su variante e de mayor tamaño. Sin embargo, esto tiene un coste. Ultralytics YOLOv8 conserva una ventaja considerable en velocidad de inferencia, especialmente al compilarse en formatos como TensorRT o ONNX. Para aplicaciones que requieren una alta frecuencia de fotogramas por segundo (FPS) en hardware edge con recursos limitados, como una Raspberry Pi o chips móviles antiguos, las variantes n y s de YOLOv8 ofrecen un equilibrio de rendimiento mucho más práctico.
Eficiencia del entrenamiento e integración con el ecosistema#
Elegir un modelo implica mucho más que consultar tablas de precisión: la experiencia de desarrollo es primordial.
La ventaja de Ultralytics: facilidad de uso#
Entrenar YOLOv9 suele requerir clonar repositorios complejos de GitHub, gestionar con cuidado los entornos de PyTorch y configurar manualmente los pesos de las pérdidas auxiliares.
En cambio, Ultralytics YOLOv8 cuenta con una API de Python extraordinariamente optimizada. Diseñada para facilitar el uso, gestiona de forma nativa el aumento de datos, el registro (con herramientas como Weights & Biases y Comet ML) y la distribución del hardware.
from ultralytics import YOLO
# Carga un modelo YOLOv8 small preentrenado
model = YOLO("yolov8s.pt")
# Entrena el modelo de forma eficiente con datos personalizados
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Expórtalo para su despliegue en dispositivos edge
model.export(format="engine", quantize=16) # Exportación a TensorRTEsta única API reduce drásticamente el tiempo necesario para pasar del prototipo a producción. Además, YOLOv8 suele necesitar menos memoria CUDA durante el entrenamiento, lo que permite a los desarrolladores utilizar lotes de mayor tamaño en hardware de consumo.
Versatilidad en las tareas#
Aunque YOLOv9 es un excelente detector de cuadros delimitadores, la IA visual en el mundo real suele requerir más. YOLOv8 es una potente solución versátil que admite de forma nativa la segmentación de instancias, la estimación de pose, la clasificación de imágenes y los cuadros delimitadores orientados (OBB). Utilizar un único marco para varias tareas reduce drásticamente el exceso de software y la carga de mantenimiento.
Si vas a iniciar un proyecto nuevo, también puedes evaluar Ultralytics YOLO11 o el vanguardista YOLO26, que ofrece inferencia opcional integral sin NMS.
Casos de uso reales#
¿Cómo se comportan estos modelos en producción?
Drones autónomos y robótica#
Para la robótica que necesita evitar obstáculos con rapidez, YOLOv8 es la opción preferida. La latencia ultrabaja de YOLOv8n garantiza que los sistemas autónomos reaccionen en tiempo real al entorno y evita colisiones. Las funciones nativas de exportación a OpenVINO y CoreML facilitan enormemente el despliegue en los chips de bajo consumo habituales en los drones comerciales.
Detección de defectos de alta resolución#
En entornos de fabricación especializados, donde es fundamental detectar anomalías microscópicas y se acepta el procesamiento sin conexión, YOLOv9 puede resultar muy eficaz. La arquitectura PGI ayuda a la red a conservar los detalles visuales minuciosos necesarios para identificar grietas finas o errores de soldadura en PCB.
Comercio minorista inteligente y análisis de seguridad#
Para seguir a los clientes por los pasillos de una tienda o gestionar sistemas de pago automatizados, YOLOv8 ofrece el mejor equilibrio. Su capacidad para ejecutar simultáneamente la detección y el seguimiento de varios objetos mediante algoritmos estándar como BoT-SORT lo convierte en una solución robusta para despliegues comerciales con varias cámaras.
Casos de uso y recomendaciones#
La elección entre YOLOv8 y YOLOv9 depende de los requisitos específicos de tu proyecto, las limitaciones del despliegue y tus preferencias respecto al ecosistema.
Cuándo elegir YOLOv8#
YOLOv8 es una buena opción para:
- Implementaciones versátiles y multitarea: Proyectos que necesitan un modelo probado para detección, segmentación, clasificación y estimación de pose dentro del ecosistema Ultralytics.
- Sistemas de producción consolidados: Entornos de producción existentes basados en la arquitectura YOLOv8, con canalizaciones de implementación estables y bien probadas.
- Amplio respaldo de la comunidad y del ecosistema: Aplicaciones que se benefician de los numerosos tutoriales de YOLOv8, las integraciones de terceros y los recursos de una comunidad activa.
Cuándo elegir YOLOv9#
YOLOv9 se recomienda 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 gradiente: Investigaciones centradas 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: Situaciones en las que el sólido rendimiento de YOLOv9 en las pruebas de referencia de COCO sirve como referencia para comparar arquitecturas.
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 siguiente evolución: YOLO26#
Aunque YOLOv8 y YOLOv9 son potentes, el panorama de la IA evoluciona rápidamente. Para los equipos que exigen el máximo rendimiento, el recién lanzado YOLO26 se basa en los logros de estas generaciones anteriores.
YOLO26 incorpora un diseño integral opcional sin NMS (nms=False) que elimina los cuellos de botella del posprocesamiento complejo y simplifica el despliegue, además de hacer más predecible la latencia. Gracias al nuevo optimizador MuSGD y a las funciones de pérdida mejoradas ProgLoss + STAL, y con la eliminación de DFL (se elimina Distribution Focal Loss para simplificar la exportación y mejorar la compatibilidad con dispositivos edge y de bajo consumo), logra una inferencia en CPU hasta un 43 % más rápida y mejora el reconocimiento de objetos pequeños. Recomendamos encarecidamente evaluar YOLO26 a los desarrolladores que quieran llevar al límite la computación edge.
En resumen, aunque YOLOv9 ofrece una investigación arquitectónica fascinante y una precisión máxima excelente, Ultralytics YOLOv8 sigue siendo la opción más práctica, versátil y mejor respaldada para la gran mayoría de los ingenieros de visión artificial que quieren lanzar software fiable rápidamente.