YOLOv7 vs YOLOv5: Una comparación técnica detallada
Elegir la arquitectura de detección de objetos correcta es una decisión crítica que impacta la velocidad, la precisión y la viabilidad de implementación de sus proyectos de visión artificial. Esta página proporciona una comparación técnica exhaustiva entre YOLOv7 y Ultralytics YOLOv5, dos modelos influyentes en el linaje YOLO. Profundizamos en sus innovaciones arquitectónicas, evaluaciones comparativas de rendimiento y casos de uso ideales para ayudarlo a seleccionar el que mejor se adapte a su aplicación.
Si bien YOLOv7 introdujo avances académicos significativos en 2022, Ultralytics YOLOv5 sigue siendo una fuerza dominante en la industria debido a su facilidad de uso, robustez y flexibilidad de implementación sin igual. Para aquellos que buscan lo último en rendimiento, también exploramos cómo estos modelos allanan el camino para el Ultralytics YOLO11 de vanguardia.
Comparación de métricas de rendimiento
La siguiente tabla destaca las compensaciones de rendimiento entre las dos arquitecturas. Si bien YOLOv7 busca una mayor precisión media promedio (mAP), YOLOv5 ofrece distintas ventajas en la velocidad de inferencia y un menor número de parámetros para tamaños de modelo específicos.
| 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 |
YOLOv7: superando los límites de la precisión
Lanzado en julio de 2022, YOLOv7 fue diseñado para establecer un nuevo estado del arte para los detectores de objetos en tiempo real. Se centra principalmente en la optimización arquitectónica para mejorar la precisión sin aumentar significativamente el coste de inferencia.
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
Docs:https://docs.ultralytics.com/models/yolov7/
Arquitectura e Innovaciones Clave
YOLOv7 introduce varios cambios arquitectónicos complejos destinados a mejorar el aprendizaje de características:
- E-ELAN (Red de Agregación de Capas Eficiente Extendida): Una estructura backbone avanzada que mejora la capacidad de aprendizaje de la red controlando las rutas de gradiente más cortas y más largas. Esto permite que el modelo aprenda características más diversas.
- Escalado de modelos para modelos basados en concatenación: A diferencia del escalado estándar, YOLOv7 escala la profundidad y el ancho simultáneamente para arquitecturas basadas en concatenación, lo que garantiza una utilización óptima de los recursos.
- Bag-of-Freebies Entrenable: Esto incluye la convolución reparametrizada planificada (RepConv) y el entrenamiento de cabezales auxiliares. Los cabezales auxiliares generan etiquetas jerárquicas de lo general a lo específico, lo que ayuda a guiar el proceso de aprendizaje durante el entrenamiento, pero se eliminan durante la inferencia para mantener la velocidad.
¿Qué es una 'Bag of Freebies'?
"Bag of Freebies" se refiere a una colección de métodos de entrenamiento y técnicas de aumento de datos que mejoran la precisión de un modelo de detección de objetos sin aumentar el coste de la inferencia. En YOLOv7, esto incluye estrategias sofisticadas como la asignación de etiquetas guiada de lo grueso a lo fino (Coarse-to-Fine Lead Guided Label Assignment).
Casos de uso ideales para YOLOv7
Debido a su enfoque en la alta precisión, YOLOv7 es particularmente adecuado para:
- Investigación académica: Evaluación comparativa con modelos SOTA donde cada fracción de mAP importa.
- Implementación de GPU de gama alta: Aplicaciones donde el hardware potente (como las NVIDIA A100) está disponible para manejar los tamaños de modelo más grandes y los requisitos de memoria.
- Análisis estático: Escenarios donde la latencia en tiempo real es menos crítica que la precisión, como el análisis de imágenes de satélite de alta resolución o escaneos médicos.
Ultralytics YOLOv5: El estándar de la industria
Ultralytics YOLOv5 es ampliamente considerado como uno de los modelos de detección de objetos más prácticos y fáciles de usar disponibles. Desde su lanzamiento en 2020, se ha convertido en la columna vertebral de innumerables aplicaciones comerciales debido a su equilibrio de velocidad, precisión y excelencia en ingeniería.
Autores: Glenn Jocher
Organización:Ultralytics
Fecha: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Docs:https://docs.ultralytics.com/models/yolov5/
Arquitectura y beneficios del ecosistema
YOLOv5 utiliza un backbone CSP-Darknet53 con un neck PANet y un cabezal YOLOv3, optimizado para diversos objetivos de implementación. Sin embargo, su verdadera fuerza reside en el ecosistema Ultralytics:
- Facilidad de uso: Conocido por su filosofía de "instalar y ejecutar", YOLOv5 permite a los desarrolladores comenzar a entrenar en conjuntos de datos personalizados en cuestión de minutos. La API es intuitiva y la documentación es exhaustiva.
- Eficiencia de entrenamiento: YOLOv5 suele requerir menos memoria CUDA durante el entrenamiento en comparación con arquitecturas más nuevas y complejas, lo que lo hace accesible a desarrolladores con GPU de gama media.
- Flexibilidad de Implementación: Admite la exportación con un solo clic a ONNX, TensorRT, CoreML, TFLite y más, lo que facilita la implementación en todo, desde servidores en la nube hasta teléfonos móviles.
- Ecosistema bien mantenido: Con actualizaciones frecuentes, correcciones de errores y una comunidad masiva, Ultralytics garantiza que el modelo siga siendo estable y seguro para entornos de producción.
Casos de uso ideales para YOLOv5
YOLOv5 destaca en escenarios del mundo real que requieren confiabilidad y velocidad:
- IA en el borde: Ejecutando en dispositivos como el NVIDIA Jetson o Raspberry Pi debido al Nano ligero (
yolov5n) y Small (yolov5s) variantes. - Aplicaciones móviles: Integración en aplicaciones iOS y Android a través de CoreML y TFLite para la inferencia en el dispositivo.
- Prototipado Rápido: Las startups y los desarrolladores que necesitan pasar rápidamente del concepto al MVP se benefician de un flujo de trabajo optimizado.
- Automatización industrial: Detección fiable para líneas de fabricación donde la latencia y la estabilidad son primordiales.
Análisis comparativo detallado
Al decidir entre YOLOv7 y YOLOv5, entran en juego varios factores técnicos más allá de la puntuación de mAP.
1. Equilibrio entre velocidad y precisión
YOLOv7 alcanza una mayor precisión máxima en el conjunto de datos COCO. Por ejemplo, YOLOv7x alcanza un 53.1% de mAP en comparación con el 50.7% de YOLOv5x. Sin embargo, esto tiene un coste en complejidad. YOLOv5 ofrece un gradiente de modelos más suave; el modelo YOLOv5n (Nano) es increíblemente rápido (73.6ms de velocidad en la CPU) y ligero (2.6M de parámetros), creando un nicho para entornos de recursos ultra-bajos que YOLOv7 no aborda explícitamente con la misma granularidad.
2. Arquitectura y complejidad
YOLOv7 emplea una arquitectura basada en la concatenación con E-ELAN, lo que aumenta el ancho de banda de memoria requerido durante el entrenamiento. Esto puede hacer que el entrenamiento sea más lento y requiera más memoria que YOLOv5. En cambio, Ultralytics YOLOv5 utiliza una arquitectura optimizada para la eficiencia del entrenamiento, lo que permite una convergencia más rápida y un menor uso de memoria, lo que supone una ventaja significativa para los ingenieros con presupuestos computacionales limitados.
3. Usabilidad y experiencia del desarrollador
Aquí es donde Ultralytics YOLOv5 realmente brilla. El framework de Ultralytics proporciona una experiencia unificada con herramientas robustas para la aumentación de datos, la evolución de hiperparámetros y el seguimiento de experimentos.
import torch
# Example: Loading YOLOv5s from PyTorch Hub for inference
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Print results
results.print()
Si bien YOLOv7 tiene un repositorio, carece de las canalizaciones de CI/CD pulidas y listas para producción, las extensas guías de integración y el soporte de la comunidad que respaldan el ecosistema de Ultralytics.
4. Versatilidad
Si bien ambos modelos son principalmente arquitecturas de detección de objetos, el ecosistema de Ultralytics que rodea a YOLOv5 ha evolucionado para admitir segmentación de instancias y clasificación de imágenes sin problemas. YOLOv7 también admite estas tareas, pero a menudo requiere diferentes ramas o bifurcaciones del código, mientras que Ultralytics ofrece un enfoque más unificado.
Implementación simplificada
Los modelos de Ultralytics admiten una amplia gama de formatos de exportación listos para usar. Puede convertir fácilmente su modelo entrenado a TFLite para Android, CoreML para iOS o TensorRT para la inferencia de GPU optimizada utilizando un simple comando de CLI o un script de python.
Conclusión: ¿Qué modelo debería elegir?
La elección entre YOLOv7 y YOLOv5 depende de las prioridades de su proyecto:
- Elige YOLOv7 si tu principal limitación es la máxima precisión y estás operando en un entorno de investigación o en hardware de alta gama donde la velocidad de inferencia y la huella de memoria son preocupaciones secundarias.
- Elige Ultralytics YOLOv5 si necesitas una solución fiable y lista para producción. Su facilidad de uso, entrenamiento eficiente, baja latencia en dispositivos edge y su enorme ecosistema de soporte la convierten en la opción superior para la mayoría de las aplicaciones comerciales y para los desarrolladores que comienzan su viaje en la visión artificial.
Mirando hacia el futuro: YOLO11
Si bien YOLOv5 y YOLOv7 son modelos excelentes, el campo de la visión artificial avanza rápidamente. Para los desarrolladores que buscan lo mejor de ambos mundos—superando la precisión de YOLOv7 y la velocidad/usabilidad de YOLOv5—recomendamos encarecidamente explorar Ultralytics YOLO11.
YOLO11 representa la última evolución, con una arquitectura sin anclajes que simplifica el pipeline de entrenamiento y mejora el rendimiento en todas las tareas, incluyendo la detección, la segmentación, la estimación de la pose y las cajas delimitadoras orientadas (OBB).
Explorar Otros Modelos
Si está interesado en comparar otros modelos de la familia YOLO, consulte estas páginas relacionadas: