YOLOv7 vs YOLOv5: Una Comparación Técnica Detallada
Al elegir un modelo de detección de objetos, los desarrolladores a menudo sopesan las ventajas y desventajas entre velocidad, precisión y facilidad de uso. Ultralytics YOLOv5 y YOLOv7 son dos modelos fundamentales en el panorama de la visión artificial, cada uno con distintas fortalezas. Esta página proporciona una comparación técnica detallada para ayudarle a decidir qué modelo se adapta mejor a las necesidades de su proyecto, destacando sus diferencias arquitectónicas, puntos de referencia de rendimiento y aplicaciones ideales.
Si bien YOLOv7 superó los límites de la precisión tras su lanzamiento, Ultralytics YOLOv5 se estableció como un punto de referencia para la eficiencia, la implementación rápida y la accesibilidad, respaldado por un ecosistema robusto y bien mantenido.
YOLOv7: Enfoque en la Alta Precisión
YOLOv7, creado por Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao, se lanzó el 6 de julio de 2022. Introdujo varias optimizaciones arquitectónicas y estrategias de entrenamiento, conocidas como "trainable bag-of-freebies", con el objetivo de establecer un nuevo estado del arte en precisión para los detectores de objetos en tiempo real, manteniendo una alta velocidad.
Autores: Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao
Organización: Instituto de Ciencias de la Información, Academia Sinica, Taiwán
Fecha: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Documentación: https://docs.ultralytics.com/models/yolov7/
Arquitectura y Características Clave de YOLOv7
La arquitectura de YOLOv7 se basa en varias innovaciones clave diseñadas para mejorar el aprendizaje de características y optimizar el modelo para una inferencia más rápida después del entrenamiento.
- Red de Agregación de Capas Eficiente Extendida (E-ELAN): Este módulo en el *backbone* mejora la capacidad de aprendizaje de la red gestionando las rutas de gradiente de manera más eficiente, lo que le permite aprender características más diversas.
- Escalado de modelos: Implementa un método de escalado compuesto para modelos basados en concatenación, ajustando la profundidad y el ancho del modelo para adaptarse a diferentes presupuestos computacionales.
- Bag-of-Freebies entrenable: Aprovecha técnicas de entrenamiento avanzadas, como los cabezales auxiliares y la asignación optimizada de etiquetas, para aumentar la precisión sin incrementar el coste de la inferencia. Estos cabezales auxiliares se utilizan solo durante el entrenamiento para fortalecer el aprendizaje de características y se eliminan para la inferencia.
Ventajas de YOLOv7
- Alta precisión: Alcanza altas puntuaciones de mAP en benchmarks como COCO, a menudo superando a los modelos contemporáneos en precisión.
- Técnicas de Entrenamiento Eficientes: Incorpora nuevas estrategias de entrenamiento que maximizan el rendimiento sin añadir sobrecarga computacional durante la inferencia.
Debilidades de YOLOv7
- Complejidad: La arquitectura y el proceso de entrenamiento, con características como los encabezados auxiliares, pueden ser más complejos de entender y modificar en comparación con el enfoque simplificado de Ultralytics YOLOv5.
- Ecosistema y soporte: Carece de la extensa documentación, los tutoriales y el ecosistema integrado que proporciona Ultralytics. Esto puede hacer que la implementación y la resolución de problemas sean más difíciles para los desarrolladores.
- Uso intensivo de recursos: Los modelos YOLOv7 más grandes exigen importantes recursos computacionales para el entrenamiento, lo que podría limitar su accesibilidad para los usuarios con hardware limitado.
Casos de uso para YOLOv7
- Detección de alto rendimiento: Adecuado para aplicaciones donde lograr la máxima precisión absoluta es fundamental, como la vigilancia avanzada o los vehículos autónomos.
- Investigación y evaluación comparativa: Se utiliza a menudo en la investigación académica para explorar técnicas de detección de objetos de última generación e impulsar los límites de rendimiento.
Ultralytics YOLOv5: Velocidad y Simplicidad
Ultralytics YOLOv5, creado por Glenn Jocher, se lanzó el 26 de junio de 2020. Rápidamente se convirtió en uno de los modelos de detección de objetos más populares debido a su excepcional equilibrio entre velocidad, precisión y, lo que es más importante, facilidad de uso. Está construido sobre PyTorch y diseñado para un entrenamiento rápido, una implementación robusta y accesibilidad.
Autores: Glenn Jocher
Organización: Ultralytics
Fecha: 2020-06-26
Arxiv: Ninguno
GitHub: https://github.com/ultralytics/yolov5
Documentación: https://docs.ultralytics.com/models/yolov5/
Arquitectura y Características Clave de YOLOv5
YOLOv5 presenta una arquitectura simple pero potente que está altamente optimizada tanto para el entrenamiento como para la inferencia.
- Arquitectura basada en CSP: Utiliza una red parcial de etapa cruzada (CSP) tanto en su backbone como en su cuello (PANet) para optimizar el flujo de características y reducir los cuellos de botella computacionales.
- Familia de Modelos Escalables: Ofrece una gama de modelos desde Nano (YOLOv5n) hasta Extra-Large (YOLOv5x), lo que permite a los usuarios elegir el equilibrio perfecto entre velocidad y precisión para sus necesidades específicas, desde dispositivos edge ligeros hasta servidores en la nube de alto rendimiento.
- Developer-First Experience: Diseñado desde cero para la simplicidad. Cuenta con generación automática de anclas, seguimiento de experimentos integrado y una canalización de entrenamiento optimizada que es fácil de usar tanto para principiantes como para expertos.
Fortalezas de Ultralytics YOLOv5
- Facilidad de uso: YOLOv5 es reconocido por su experiencia de usuario sencilla. Con un simple
pip install ultralytics
command, un CLI, y extensas documentación, empezar es increíblemente rápido. - Ecosistema bien mantenido: Se beneficia del desarrollo continuo por parte de Ultralytics, una sólida comunidad de código abierto y una integración perfecta con herramientas como Ultralytics HUB para el entrenamiento y la implementación sin código.
- Equilibrio de rendimiento: Logra una excelente compensación entre velocidad y precisión. Sus modelos más pequeños, como YOLOv5n, son increíblemente rápidos e ideales para la inferencia en tiempo real en CPU y dispositivos periféricos.
- Eficiencia en el entrenamiento: El proceso de entrenamiento es altamente eficiente, con tiempos de convergencia más rápidos y menores requisitos de memoria en comparación con muchos otros modelos. Los pesos pre-entrenados están disponibles y el entrenamiento personalizado es sencillo.
- Versatilidad: Soporta nativamente múltiples tareas, incluyendo detección de objetos, segmentación de instancias y clasificación de imágenes.
Debilidades de Ultralytics YOLOv5
- Precisión máxima: Si bien son altamente competitivos, los modelos YOLOv5 más grandes pueden no igualar el mAP máximo de las variantes YOLOv7 más grandes en ciertos benchmarks, ya que YOLOv7 fue diseñado específicamente para maximizar esta métrica.
Casos de uso de Ultralytics YOLOv5
- Aplicaciones en Tiempo Real: Ideal para aplicaciones que requieren una inferencia rápida, como la robótica, la visión de drones y el análisis de video en vivo.
- Edge Deployment: Muy adecuado para la implementación en dispositivos edge con recursos limitados como la NVIDIA Jetson debido a su diseño eficiente y a los tamaños de modelo pequeños.
- Prototipado Rápido: Una excelente opción para desarrollar e implementar rápidamente soluciones de detección de objetos, gracias a su facilidad de uso y amplio soporte.
Rendimiento y benchmarks: YOLOv7 vs. YOLOv5
La principal diferencia de rendimiento radica en sus prioridades de diseño. YOLOv7 tiene como objetivo la máxima precisión, mientras que YOLOv5 ofrece una gama de opciones más equilibrada y práctica.
Modelo | tamaño (píxeles) |
mAPval 50-95 |
Velocidad CPU ONNX (ms) |
Velocidad T4 TensorRT10 (ms) |
parámetros (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
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 |
Como muestra la tabla, los modelos YOLOv7 alcanzan puntuaciones mAP impresionantes con velocidades de GPU competitivas. Sin embargo, Ultralytics YOLOv5 ofrece una gama superior de opciones para diferentes escenarios de implementación. Los modelos YOLOv5n e YOLOv5s son significativamente más rápidos tanto en CPU como en GPU, lo que los convierte en la opción clara para aplicaciones de baja latencia y en el borde.
Conclusión: ¿Qué modelo debería elegir?
La elección entre YOLOv7 y YOLOv5 depende en gran medida de las prioridades de tu proyecto.
-
Elija YOLOv7 si su objetivo principal es lograr la mayor precisión de detección posible y tiene los recursos computacionales y la experiencia técnica para gestionar su arquitectura y canalización de entrenamiento más complejas. Es un modelo excelente para la investigación y aplicaciones especializadas donde el rendimiento es primordial.
-
Elija Ultralytics YOLOv5 si valora el desarrollo rápido, la facilidad de uso y la flexibilidad de implementación. Su flujo de trabajo optimizado, su extensa documentación y su sólido equilibrio de rendimiento la convierten en la opción ideal para la mayoría de las aplicaciones comerciales y prácticas. Tanto si es un principiante como un profesional experimentado, el robusto ecosistema de YOLOv5 acelera el viaje desde el concepto hasta la producción.
Para la mayoría de los desarrolladores, las ventajas prácticas y el soporte integral de Ultralytics YOLOv5 lo convierten en una opción más atractiva. Sus sucesores, como Ultralytics YOLOv8, continúan este legado ofreciendo un rendimiento aún mejor y más características dentro del mismo marco de trabajo fácil de usar.
Explorar Otros Modelos
Para aquellos interesados en los últimos avances, vale la pena explorar los modelos más nuevos en el ecosistema de Ultralytics.
- Ultralytics YOLOv8: El sucesor de YOLOv5, que ofrece mayor precisión, velocidad y una API unificada para detección, segmentación, estimación de pose y seguimiento. Vea una comparación directa entre YOLOv8 y YOLOv7.
- Ultralytics YOLOv10: Un modelo de última generación centrado en la detección end-to-end sin NMS para reducir la latencia y mejorar la eficiencia.
- Ultralytics YOLO11: El último modelo de vanguardia de Ultralytics, que enfatiza la velocidad, la eficiencia y la facilidad de uso con un diseño sin anclajes.