YOLOv9 frente a PP-YOLOE+#
El panorama de la detección de objetos en tiempo real sigue avanzando rápidamente y ofrece a los ingenieros de visión artificial una amplia variedad de opciones para desplegar modelos muy precisos en infraestructuras edge y en la nube. Dos modelos destacados en este ámbito son YOLOv9 y PP-YOLOE+. Aunque ambos ofrecen una gran precisión y velocidad, proceden de tradiciones de investigación y ecosistemas de software diferentes.
Esta comparación técnica analiza sus arquitecturas, metodologías de entrenamiento, métricas de rendimiento y aplicaciones reales ideales. También explica cómo el ecosistema de Ultralytics ayuda a los desarrolladores que priorizan la facilidad de uso, la eficiencia de memoria y la versatilidad del despliegue.
Orígenes y especificaciones técnicas de los modelos#
Conocer los antecedentes de estos modelos ayuda a contextualizar sus decisiones arquitectónicas y dependencias de marcos de trabajo.
YOLOv9: resolver el cuello de botella de información#
Presentado a principios de 2024, YOLOv9 aborda la pérdida de datos que se produce cuando la información fluye por redes neuronales profundas. Es una red neuronal convolucional eficiente diseñada para maximizar la eficiencia de los parámetros.
- Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
- Organización: Institute of Information Science, Academia Sinica, Taiwán
- Fecha: 21 de febrero de 2024
- arXiv: 2402.13616
- GitHub: WongKinYiu/yolov9
- Documentación: Documentación de Ultralytics YOLOv9
PP-YOLOE+: avances en el ecosistema Paddle#
Lanzado por Baidu en 2022, PP-YOLOE+ es una mejora iterativa de PP-YOLOv2. Utiliza un diseño sin anchors e introduce una estrategia dinámica de asignación de etiquetas para mejorar la convergencia y la precisión dentro del framework PaddlePaddle.
- Autores: Autores de PaddlePaddle
- Organización: Baidu
- Fecha: 2 de abril de 2022
- arXiv: 2203.16250
- GitHub: PaddleDetection
- Documentación: Configuración de PP-YOLOE+
Más información sobre PP-YOLOE+
Comparativa arquitectónica#
Información de gradiente programable frente a CSPRepResStage#
La innovación principal de YOLOv9 es la información de gradiente programable (PGI). PGI actúa como marco de supervisión auxiliar y garantiza que la información de gradiente esencial se conserve y se propague con precisión a las capas superficiales durante el entrenamiento. Se combina con la red generalizada de agregación eficiente de capas (GELAN), que combina las ventajas de CSPNet y ELAN para ofrecer una gran precisión y reducir el coste computacional (FLOPs).
PP-YOLOE+ se basa en un backbone especializado denominado CSPRepResStage. Aprovecha técnicas de reparametrización (similares a las de RepVGG) para acelerar la inferencia mediante la fusión de capas convolucionales durante la implementación. Además, utiliza el cabezal Efficient Task-aligned (ET-head) para equilibrar las tareas de clasificación y regresión.
Aunque PP-YOLOE+ es robusto, la arquitectura GELAN de YOLOv9 utiliza menos parámetros en todos los tamaños, lo que reduce su huella de memoria durante la inferencia y lo hace muy adecuado para dispositivos de IA edge.
Comparativa de rendimiento#
Al evaluar modelos para producción, es crucial encontrar el equilibrio entre mAP (precisión media promedio), velocidad de inferencia y tamaño del modelo.
| Modelo | tamaño (píxeles) | mAPval50-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 |
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
Análisis#
- Eficiencia de parámetros: YOLOv9 es más eficiente en cuanto a parámetros. Por ejemplo, YOLOv9c alcanza un mAP del 53,0 % con solo 25,5 M de parámetros, mientras que PP-YOLOE+l necesita más del doble de parámetros (52,2 M) para lograr un mAP ligeramente inferior del 52,9 %, lo que reduce las necesidades de memoria de YOLOv9. PP-YOLOE+ sí utiliza menos FLOPs en los tamaños s y m.
- Velocidad de inferencia: YOLOv9 ofrece velocidades competitivas con TensorRT en GPU NVIDIA T4; YOLOv9t es el modelo más rápido de esta comparación, mientras que PP-YOLOE+ es más rápido en los tamaños s, m y x. Ambas familias son adecuadas para la inferencia en tiempo real.
Metodologías de entrenamiento y ecosistema#
La elección entre estos modelos suele depender del ecosistema de software.
PP-YOLOE+ y PaddlePaddle#
PP-YOLOE+ está estrechamente vinculado al conjunto de herramientas PaddleDetection. Aunque es potente, obliga a los usuarios a desenvolverse en un entorno con gran dependencia de archivos de configuración y de la línea de comandos. Para los equipos que trabajan principalmente con los ecosistemas PyTorch o TensorFlow, migrar a PaddlePaddle genera importantes dificultades y exige una curva de aprendizaje más pronunciada.
La ventaja de Ultralytics: flujos de trabajo simplificados#
En cambio, YOLOv9 cuenta con el respaldo del ecosistema de Ultralytics, diseñado para desarrolladores e investigadores y centrado en la facilidad de uso. La API de Python elimina la mayor parte del código repetitivo.
from ultralytics import YOLO
# Cargar un modelo YOLOv9 preentrenado
model = YOLO("yolov9c.pt")
# Entrena con un conjunto de datos personalizado
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Ejecutar la inferencia y visualizar los resultados
results = model("https://ultralytics.com/images/bus.jpg")
# Exportar a ONNX para el despliegue en producción
model.export(format="onnx")Este flujo de trabajo destaca la eficiencia de entrenamiento de los modelos de Ultralytics. Incluye de serie compatibilidad nativa con el aumento de datos, el entrenamiento distribuido y el registro automático en plataformas como Weights & Biases o MLflow.
Aunque YOLOv9 ofrece buenos resultados, Ultralytics recomienda Ultralytics YOLO26 para los nuevos proyectos. YOLO26 incorpora un diseño nativo de extremo a extremo sin NMS (opcional mediante nms=False) que elimina el posprocesamiento de supresión no máxima (NMS) y simplifica el despliegue. Gracias a la eliminación de DFL (Distribution Focal Loss), que simplifica la exportación y mejora la compatibilidad con dispositivos edge y de bajo consumo, YOLO26n ofrece una inferencia en CPU hasta un 43 % más rápida que YOLO11n para la computación edge. El optimizador MuSGD proporciona un entrenamiento estable y una convergencia rápida, mientras que ProgLoss + STAL (pérdida progresiva y asignación de etiquetas con conocimiento de objetivos pequeños) mejoran la detección de objetos pequeños, algo fundamental para el IoT, la robótica y las imágenes aéreas.
Versatilidad y compatibilidad con tareas#
Los proyectos modernos de visión por computador rara vez se limitan a los cuadros delimitadores.
PP-YOLOE+ está diseñado principalmente para la detección de objetos estándar. Adaptar su arquitectura a otras tareas requiere un amplio trabajo de ingeniería personalizado.
En cambio, el framework de Ultralytics admite varias tareas. Con una API unificada, los desarrolladores pueden pasar de la detección de objetos estándar a la segmentación de instancias, la clasificación de imágenes, la estimación de pose y la detección de cajas delimitadoras orientadas (OBB) en imágenes aéreas. Esta versatilidad es una de las razones principales por las que los equipos eligen modelos compatibles con Ultralytics, como YOLOv9, YOLO11 y YOLO26.
Casos de uso y aplicaciones ideales#
- Análisis de ciudades inteligentes y gestión del tráfico: La gran eficiencia de parámetros y la baja latencia de YOLOv9 (y del posterior YOLO26) los hacen muy adecuados para desplegarlos en hardware edge limitado, como los dispositivos NVIDIA Jetson, y supervisar el flujo de tráfico y la seguridad urbana.
- Sistemas de inventario para comercios: Para detectar configuraciones densas de artículos pequeños en estanterías, PGI de YOLOv9 ayuda a conservar los detalles espaciales precisos, lo que favorece la detección de objetos pequeños.
- Despliegues heredados: PP-YOLOE+ sigue siendo una opción práctica para los equipos que deben utilizar la pila de software Baidu/PaddlePaddle en la infraestructura existente.
Para los investigadores que exploran arquitecturas basadas en Transformer, Ultralytics también ofrece compatibilidad nativa con RT-DETR en la misma API, para que puedas elegir el modelo que mejor se adapte a tus requisitos de despliegue.