YOLOv5 vs PP-YOLOE+: Una comparación técnica detallada
Elegir el modelo de detección de objetos adecuado es una decisión crítica que equilibra la precisión, la velocidad y la facilidad de implementación. Esta página proporciona una comparación técnica en profundidad entre dos modelos destacados: Ultralytics YOLOv5, un estándar industrial ampliamente adoptado conocido por su versatilidad y rendimiento, y PP-YOLOE+, un modelo de alta precisión del ecosistema PaddlePaddle de Baidu. Exploraremos sus diferencias arquitectónicas, puntos de referencia de rendimiento y casos de uso ideales para ayudarle a tomar una decisión informada para sus proyectos de visión artificial.
Ultralytics YOLOv5: El Estándar Industrial Establecido
Ultralytics YOLOv5 se ha convertido en un punto de referencia en la comunidad de visión artificial desde su lanzamiento. Se celebra por su excepcional equilibrio entre velocidad y precisión, lo que la convierte en una opción muy práctica para una amplia gama de aplicaciones del mundo real. Su desarrollo en PyTorch y el ecosistema integral que lo rodea la han convertido en una de las favoritas entre desarrolladores e investigadores.
Autor: Glenn Jocher
Organización: Ultralytics
Fecha: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Documentación: https://docs.ultralytics.com/models/yolov5/
Arquitectura y Características Clave
La arquitectura de YOLOv5 es un testamento del diseño eficiente, construido completamente en PyTorch para una máxima flexibilidad y facilidad de uso.
- Backbone: Utiliza un backbone CSPDarknet53, una variante de Darknet que incorpora módulos Cross Stage Partial (CSP) para reducir la computación manteniendo altas capacidades de extracción de características.
- Cuello (Neck): Se emplea una Red de Agregación de Rutas (PANet) para la agregación de características, combinando eficazmente características de diferentes niveles del backbone para mejorar la detección en varias escalas.
- Head: YOLOv5 utiliza un head de detección basado en anclajes, que predice bounding boxes basándose en un conjunto de anchor boxes predefinidos. Este enfoque está altamente optimizado para la velocidad.
- Escalabilidad: Está disponible en varios tamaños (n, s, m, l, x), lo que permite a los usuarios seleccionar un modelo que se ajuste a sus necesidades específicas, desde modelos ligeros para dispositivos en el borde hasta modelos más grandes para obtener la máxima precisión.
Fortalezas y Debilidades
Ventajas:
- Balance Excepcional de Rendimiento: YOLOv5 ofrece un equilibrio fantástico entre la velocidad de inferencia y la precisión de la detección, lo que lo hace adecuado para muchos escenarios de inferencia en tiempo real.
- Facilidad de uso: Famoso por su experiencia de usuario optimizada, sus interfaces sencillas de Python y CLI, y su extensa documentación.
- Ecosistema bien mantenido: Se beneficia del ecosistema integrado de Ultralytics, que incluye desarrollo activo, una comunidad grande y de apoyo, actualizaciones frecuentes y herramientas como Ultralytics HUB para la formación sin código.
- Eficiencia en el entrenamiento: Ofrece procesos de entrenamiento eficientes, pesos pre-entrenados disponibles y, por lo general, menores requisitos de memoria en comparación con muchas alternativas.
- Versatilidad: Admite múltiples tareas, incluyendo detección de objetos, segmentación de instancias y clasificación de imágenes.
Debilidades:
- Si bien es muy preciso, los modelos más nuevos pueden superar sus puntuaciones mAP en evaluaciones comparativas como COCO.
- Su dependencia de los cuadros delimitadores (anchor boxes) puede requerir más ajuste de hiperparámetros para conjuntos de datos con formas de objetos no convencionales en comparación con los métodos sin cuadros delimitadores.
Casos de uso
La velocidad y versatilidad de YOLOv5 lo hacen ideal para:
- Seguimiento de Objetos en Tiempo Real: Perfecto para la vigilancia, la robótica y los sistemas autónomos, como se detalla en nuestra guía de segmentación y seguimiento de instancias.
- Implementación en Dispositivos Edge: Los modelos eficientes (YOLOv5n, YOLOv5s) se ejecutan eficazmente en dispositivos con recursos limitados como Raspberry Pi y NVIDIA Jetson.
- Automatización industrial: Se utiliza en el control de calidad, la detección de defectos y la automatización del reciclaje.
PP-YOLOE+: Alta Precisión en el Ecosistema PaddlePaddle
PP-YOLOE+, desarrollado por Baidu, es un detector de objetos de una sola etapa y anchor-free construido dentro del framework de aprendizaje profundo PaddlePaddle. Se basa en el modelo PP-YOLOE, introduciendo mejoras destinadas a superar los límites de la precisión manteniendo la eficiencia.
Autores: Autores de PaddlePaddle
Organización: Baidu
Fecha: 2022-04-02
Arxiv: https://arxiv.org/abs/2203.16250
GitHub: https://github.com/PaddlePaddle/PaddleDetection/
Documentación: https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Arquitectura y Características Clave
PP-YOLOE+ incorpora varias opciones de diseño modernas para maximizar el rendimiento.
- Diseño sin anclajes: Elimina la necesidad de cuadros de anclaje predefinidos, lo que puede simplificar el proceso y reducir el ajuste de hiperparámetros. Puede descubrir más sobre los detectores sin anclajes en nuestro glosario.
- Backbone: Utiliza un backbone eficiente como CSPRepResNet, diseñado para una representación de características potente.
- Cuello (Neck): Emplea una Red de Agregación de Rutas (PAN) similar en principio a YOLOv5 para una fusión robusta de características.
- Head: Presenta un head desacoplado (ET-Head) que separa las tareas de clasificación y regresión, lo que a menudo conduce a una mayor precisión.
- Función de pérdida: Utiliza técnicas avanzadas como Task Alignment Learning (TAL) y VariFocal Loss para mejorar la alineación entre las puntuaciones de clasificación y la precisión de la localización.
Fortalezas y Debilidades
Ventajas:
- Alto potencial de precisión, especialmente con variantes de modelos más grandes que a menudo encabezan las tablas de clasificación.
- El enfoque sin anclajes puede simplificar el ajuste de hiperparámetros en algunos casos.
- Velocidades de inferencia eficientes, especialmente cuando se optimiza con TensorRT.
- Bien integrado dentro del ecosistema de PaddlePaddle.
Debilidades:
- Principalmente optimizado para el framework PaddlePaddle, lo que puede limitar la usabilidad para la mayoría de los desarrolladores que prefieren PyTorch.
- La comunidad y los recursos disponibles son más pequeños en comparación con el extenso ecosistema que rodea a los modelos Ultralytics YOLO.
- Se hace menos hincapié en la facilidad de uso y la simplicidad de la implementación, lo que a menudo requiere más código boilerplate y conocimientos específicos del framework.
Casos de uso
PP-YOLOE+ es adecuado para:
- Inspección de calidad industrial: La alta precisión es beneficiosa para detectar defectos sutiles en la IA en la fabricación.
- Comercio minorista inteligente: Las aplicaciones como la gestión de inventario y el análisis de clientes pueden beneficiarse de su precisión.
- Proyectos centrados en PaddlePaddle: Es la opción ideal para los desarrolladores que ya han invertido o estandarizado en el framework PaddlePaddle.
Más información sobre PP-YOLOE+
Rendimiento y benchmarks: YOLOv5 vs. PP-YOLOE+
Al comparar el rendimiento, la elección depende en gran medida del hardware objetivo y el objetivo principal (velocidad vs. precisión).
- Precisión (mAP): Los modelos PP-YOLOE+ generalmente alcanzan puntuaciones mAPval más altas en el conjunto de datos COCO en comparación con sus contrapartes YOLOv5 de tamaño similar. Para las aplicaciones en las que cada fracción de punto porcentual en precisión importa, PP-YOLOE+ es un fuerte contendiente.
- Velocidad de Inferencia: Ultralytics YOLOv5 demuestra una velocidad superior, especialmente en las CPUs. El modelo YOLOv5n es excepcionalmente rápido, lo que lo hace perfecto para aplicaciones en tiempo real en una amplia gama de hardware. Si bien PP-YOLOE+ es rápido en las GPUs con TensorRT, YOLOv5 mantiene una fuerte ventaja de rendimiento por vatio, particularmente en dispositivos edge.
- Eficiencia (Parámetros y FLOPs): Los modelos YOLOv5 están diseñados para ser ligeros. Por ejemplo, YOLOv5n tiene significativamente menos parámetros y FLOPs que PP-YOLOE+s, lo que facilita su implementación en entornos con recursos limitados.
Modelo | tamaño (píxeles) |
mAPval 50-95 |
Velocidad CPU ONNX (ms) |
Velocidad T4 TensorRT10 (ms) |
parámetros (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
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 |
Entrenamiento, usabilidad y ecosistema
Más allá del rendimiento bruto, la experiencia del desarrollador es un factor crítico. Aquí es donde Ultralytics YOLOv5 realmente brilla.
-
YOLOv5: El ecosistema de Ultralytics está diseñado para la productividad del desarrollador. Al ser nativo de PyTorch, se integra a la perfección en el flujo de trabajo de aprendizaje profundo más popular. La Facilidad de Uso es inigualable, con una API sencilla y bien documentada que permite el entrenamiento, la validación y la inferencia con tan solo unas líneas de código. El Ecosistema Bien Mantenido proporciona una enorme ventaja, con actualizaciones constantes, una gran comunidad de apoyo e integraciones con herramientas como Weights & Biases y ClearML. Además, la Eficiencia del Entrenamiento es un objetivo central, con modelos que se entrenan rápidamente y requieren menos memoria.
-
PP-YOLOE+: El entrenamiento se limita al framework PaddlePaddle. Aunque potente, esto crea una barrera para los desarrolladores no familiarizados con su ecosistema. La documentación y el soporte de la comunidad, aunque buenos, no son tan extensos o accesibles como los de YOLOv5. Integrarlo en un pipeline basado en PyTorch requiere pasos adicionales y posibles conversiones, lo que añade complejidad al ciclo de vida de MLOps.
Conclusión: ¿Qué modelo debería elegir?
Tanto YOLOv5 como PP-YOLOE+ son modelos excelentes, pero satisfacen diferentes necesidades.
Ultralytics YOLOv5 es la opción recomendada para la gran mayoría de los proyectos. Su excelente equilibrio entre velocidad y precisión, combinado con un ecosistema amigable para el desarrollador sin igual, lo convierte en la opción más práctica y eficiente. Tanto si eres un principiante que crea un prototipo de una nueva idea como si eres un experto que despliega un sistema robusto en hardware perimetral, la facilidad de uso, la versatilidad y el sólido soporte comunitario de YOLOv5 acelerarán tu ciclo de desarrollo y garantizarán el éxito.
PP-YOLOE+ es una herramienta especializada que destaca en escenarios donde lograr el mAP absoluto más alto es el objetivo principal, y el equipo de desarrollo ya domina el framework PaddlePaddle. Es un modelo potente para la investigación y para aplicaciones donde la precisión no puede verse comprometida, siempre que esté dispuesto a trabajar dentro de su ecosistema específico.
Explorar Otros Modelos
Ultralytics continúa superando los límites de lo que es posible en la detección de objetos. Para aquellos que buscan un rendimiento y características aún mayores, recomendamos explorar modelos más nuevos como YOLOv8 y el YOLO11 de última generación. Estos modelos se basan en la base de YOLOv5, ofreciendo una precisión mejorada, más tareas soportadas e incluso una mayor eficiencia. Puede encontrar más comparaciones en nuestra página de comparación principal.