PP-YOLOE+ frente a YOLOv9: comparación técnica
Seleccionar la arquitectura óptima para proyectos de visión por ordenador requiere navegar por un panorama de modelos en rápida evolución. Esta página ofrece una comparación técnica detallada entre PP-YOLOE+ de Baidu y YOLOv9de Baidu, dos sofisticados detectores de objetos de una sola etapa. Analizamos sus innovaciones arquitectónicas, métricas de rendimiento e integración en el ecosistema para ayudarle a tomar una decisión informada. Aunque ambos modelos demuestran grandes capacidades, representan filosofías de diseño y dependencias de marcos distintos.
PP-YOLOE+: Alta precisión dentro del ecosistema PaddlePaddle
PP-YOLOE+ es una versión evolucionada de PP-YOLOE, desarrollada por Baidu como parte de la suite PaddleDetection. Se ha diseñado para ofrecer un equilibrio entre precisión y velocidad de inferencia, optimizado específicamente para la tecnología PaddlePaddle deep learning framework.
Autores: PaddlePaddle Autores
Organización:Baidu
Fecha: 2022-04-02
Arxiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
Docs:PaddleDetection PP-YOLOE+ README
Arquitectura y Características Clave
PP-YOLOE+ funciona como un detector de una sola etapa sin anclaje. Se basa en la columna vertebral de CSPRepResNet y utiliza una estrategia de aprendizaje de alineación de tareas (TAL) para mejorar la alineación entre las tareas de clasificación y localización. Una característica clave es la Cabeza Eficiente de Alineación de Tareas (ET-Head), que reduce la sobrecarga computacional manteniendo la precisión. El modelo utiliza una función de pérdida varifocal para gestionar el desequilibrio de clases durante el entrenamiento.
Fortalezas y Debilidades
La principal ventaja de PP-YOLOE+ reside en su optimización para la pila de hardware y software de Baidu. Ofrece modelos escalables (s, m, l, x) que obtienen buenos resultados en pruebas de detección de objetos estándar.
Sin embargo, su fuerte dependencia del ecosistema PaddlePaddle representa un obstáculo importante para la comunidad de IA en general, que en gran medida favorece a PyTorch. Migrar los flujos de trabajo existentes PyTorch a PaddlePaddle puede consumir muchos recursos. Además, en comparación con las arquitecturas más recientes, PP-YOLOE+ requiere más parámetros para lograr una precisión similar, lo que repercute en el almacenamiento y la memoria de los dispositivos limitados.
Más información sobre PP-YOLOE+
YOLOv9: información de gradiente programable para mejorar el aprendizaje
Ultralytics YOLOv9 introduce un cambio de paradigma en la detección de objetos en tiempo real al abordar el problema del "cuello de botella informativo" inherente a las redes neuronales profundas.
Autores: Chien-Yao Wang y Hong-Yuan Mark Liao
Organización:Instituto de Ciencias de la Información, Academia Sinica, Taiwán
Fecha: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Documentaciónultralytics
Arquitectura y Características Clave
YOLOv9 integra dos conceptos revolucionarios: La Información de Gradiente Programable (PGI) y la Red de Agregación de Capas Eficiente Generalizada (GELAN).
- PGI: A medida que las redes se hacen más profundas, la información de los datos de entrada suele perderse durante el proceso de feedforward. PGI proporciona una rama de supervisión auxiliar que garantiza una generación de gradiente fiable, lo que permite al modelo "recordar" características cruciales para las tareas de seguimiento y detección de objetos sin añadir costes de inferencia.
- GELAN: este diseño arquitectónico optimiza la eficiencia de los parámetros, lo que permite al modelo alcanzar una mayor precisión con menos recursos computacionales (FLOPs) en comparación con los backbones convencionales que utilizan la convolución en profundidad.
¿Lo sabías?
La técnica PGI de YOLOv9 resuelve el problema del cuello de botella de información que antes requería engorrosos métodos de supervisión profunda. El resultado son modelos más ligeros y precisos que mejoran considerablemente el equilibrio de rendimiento.
Fortalezas y Debilidades
YOLOv9 destaca en eficiencia de entrenamiento y utilización de parámetros. Consigue resultados de vanguardia en el conjunto de datosCOCO , superando en precisión a las iteraciones anteriores y manteniendo la velocidad en tiempo real. Su integración en el ecosistema Ultralytics significa que se beneficia de un ecosistema bien mantenido, incluyendo un despliegue sencillo a través de modos de exportación a formatos como ONNX y TensorRT.
Una posible consideración es que las variantes más grandesYOLOv9) requieren importantes recursos de GPU para el entrenamiento. Sin embargo, la huella de memoria de inferencia sigue siendo competitiva, lo que evita los elevados costes asociados a los modelos basados en transformadores.
Análisis comparativo de resultados
En una comparación directa, YOLOv9 demuestra una eficacia superior. Por ejemplo, el modelo YOLOv9 alcanza un mAP mayor (53,0%) que el PP-YOLOE+l (52,9%) utilizando aproximadamente la mitad de parámetros (25,3M frente a 52,2M). Esta drástica reducción del tamaño del modelo sin comprometer la precisión pone de manifiesto la eficacia de la arquitectura GELAN.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
La tabla ilustra que, para objetivos de precisión similares, YOLOv9 requiere sistemáticamente menos recursos computacionales. El modelo YOLOv9 va más allá y alcanza un 55,6% de mAP, una clara ventaja sobre la variante PP-YOLOE+ de mayor tamaño.
La ventaja Ultralytics
Aunque PP-YOLOE+ es un detector capaz, elegir YOLOv9 a través del marco Ultralytics ofrece claras ventajas en cuanto a facilidad de uso y versatilidad.
Experiencia de usuario optimizada
Ultralytics prioriza una experiencia fácil para el desarrollador. A diferencia de los complejos archivos de configuración que a menudo requiere PaddleDetection, los modelos de Ultralytics pueden cargarse, entrenarse y desplegarse con unas pocas líneas de código Python . Esto reduce significativamente la barrera de entrada para ingenieros e investigadores.
Versatilidad y ecosistema
Ultralytics admite una amplia gama de tareas que van más allá de la simple detección, como la segmentación de instancias, la estimación de poses y la detección de recuadros delimitadores orientados (OBB). Esta versatilidad permite a los desarrolladores afrontar diversos retos utilizando una única API unificada. Además, la comunidad activa y las actualizaciones frecuentes garantizan que los usuarios tengan acceso a las últimas optimizaciones e integraciones con herramientas como TensorBoard y MLflow.
Ejemplo de código: Uso de YOLOv9
El siguiente ejemplo demuestra la facilidad con la que se puede ejecutar la inferencia con YOLOv9 utilizando la APIPython Ultralytics . Esta simplicidad contrasta con la configuración más verbosa que suele requerir PP-YOLOE+.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display results
results[0].show()
Casos de Uso Ideales
- PP-YOLOE+: Más adecuado para equipos ya profundamente integrados en el ecosistema PaddlePaddle , o para aplicaciones industriales heredadas específicas en regiones donde el soporte de hardware PaddlePaddle es dominante.
- YOLOv9: ideal para aplicaciones que exigen la máxima relación precisión-eficacia, como vehículos autónomos, análisis de vídeo en tiempo real e implantación en los bordes, donde los requisitos de memoria y almacenamiento son limitados.
Conclusión y recomendaciones
Para la mayoría de los desarrolladores y organizaciones, YOLOv9 representa la opción superior debido a su arquitectura moderna (GELAN/PGI), la eficiencia superior de los parámetros y el sólido soporte del ecosistema Ultralytics . Ofrece una solución preparada para el futuro con pesos preentrenados fácilmente disponibles y capacidades de exportación sin fisuras.
Si busca aún más versatilidad y velocidad, también le recomendamos explorar el YOLO11la última iteración de la serie YOLO . YOLO11 perfecciona aún más el equilibrio entre rendimiento y latencia, ofreciendo capacidades de vanguardia para tareas de detección, segmentación y clasificación en un paquete compacto.
Para los interesados en un caballo de batalla probado, YOLOv8 sigue siendo una opción muy fiable con amplios recursos comunitarios e integraciones de terceros.