YOLOv5 vs YOLOv7: Equilibrio entre ecosistema y arquitectura
Elegir el modelo de detección de objetos correcto es una decisión crítica tanto para desarrolladores como para investigadores. En la evolución de la familia YOLO (You Only Look Once), YOLOv5 y YOLOv7 destacan como arquitecturas fundamentales que han moldeado el panorama de la visión artificial. Mientras que YOLOv7 introdujo importantes innovaciones arquitectónicas para mejorar la precisión, Ultralytics YOLOv5 revolucionó la experiencia del desarrollador centrándose en la usabilidad, la implementación y un ecosistema robusto.
Esta guía proporciona una comparación técnica en profundidad de estos dos modelos, analizando sus arquitecturas, métricas de rendimiento en el conjunto de datos COCO y su idoneidad para aplicaciones del mundo real.
Ultralytics YOLOv5: El Estándar de Ingeniería
Lanzado en 2020, YOLOv5 redefinió las expectativas del software de object detection de código abierto. A diferencia de las iteraciones anteriores que existían principalmente como código de investigación, YOLOv5 fue diseñado como un marco listo para usar. Priorizó la facilidad de uso, la capacidad de exportación y la velocidad, lo que lo convirtió en la opción preferida para las empresas que construyen aplicaciones de inferencia en tiempo real.
Autores: Glenn Jocher
Organización:Ultralytics
Fecha: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Docs:https://docs.ultralytics.com/models/yolov5/
Ventajas clave de YOLOv5
- Diseño centrado en el usuario: YOLOv5 introdujo una API optimizada y un flujo de trabajo de entrenamiento perfecto que redujo la barrera de entrada para entrenar modelos personalizados de detección de objetos.
- Flexibilidad de Implementación: Con soporte nativo para modos de exportación, los modelos YOLOv5 se pueden convertir fácilmente a formatos como ONNX, CoreML, TFLite y TensorRT para la implementación en diversos hardware.
- Uso Eficiente de Recursos: La arquitectura está optimizada para un bajo consumo de memoria, lo que la hace ideal para dispositivos de IA en el borde como la NVIDIA Jetson o Raspberry Pi.
Soporte del ecosistema
YOLOv5 está respaldado por el ecosistema integral de Ultralytics. Esto incluye la integración perfecta con herramientas de seguimiento de experimentos como Comet y MLflow, así como plataformas de gestión de conjuntos de datos.
YOLOv7: el enfoque "Bag-of-Freebies"
Lanzado en 2022, YOLOv7 se centró en gran medida en superar los límites de la precisión a través de la optimización arquitectónica. Los autores introdujeron varios conceptos novedosos destinados a mejorar el aprendizaje de características sin aumentar el coste de la inferencia, una estrategia que denominaron "trainable bag-of-freebies".
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/
Innovaciones Arquitectónicas
YOLOv7 incorpora Extended Efficient Layer Aggregation Networks (E-ELAN) para mejorar la capacidad de aprendizaje de la red. También utiliza técnicas de escalado de modelos que modifican la profundidad y la anchura de la arquitectura simultáneamente. Aunque es eficaz para aumentar las puntuaciones mAP, estos complejos cambios arquitectónicos a veces pueden dificultar la modificación o el despliegue del modelo en comparación con el backbone CSP-Darknet más sencillo que se encuentra en YOLOv5.
Comparación del rendimiento técnico
Al comparar los dos modelos, la compensación generalmente se encuentra entre la precisión bruta y la velocidad de implementación práctica. Los modelos YOLOv7 (específicamente las variantes más grandes) generalmente logran una mAP más alta en el conjunto de datos COCO val2017. Sin embargo, Ultralytics YOLOv5 mantiene un dominio en la velocidad de inferencia y la eficiencia de los parámetros, particularmente con sus variantes más pequeñas (Nano y Small), que son cruciales para la implementación móvil.
La siguiente tabla destaca las métricas de rendimiento. Observe la velocidad excepcional de YOLOv5n, que sigue siendo una de las opciones más rápidas para entornos con recursos extremadamente 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Análisis de métricas
- Velocidad vs. Precisión: YOLOv7x alcanza un 53.1% de mAP más alto, lo que lo hace adecuado para análisis médicos o de seguridad de alta gama donde cada píxel cuenta. Sin embargo, para aplicaciones como el análisis de video o la navegación autónoma, el tiempo de inferencia de 1.12ms de YOLOv5n en TensorRT ofrece una capacidad de velocidad de fotogramas que los modelos más pesados no pueden igualar.
- Eficiencia en el entrenamiento: Ultralytics YOLOv5 utiliza estrategias "AutoAnchor" y evolución avanzada de hiperparámetros, lo que a menudo resulta en una convergencia más rápida durante el entrenamiento en comparación con los esquemas complejos de re-parametrización requeridos por YOLOv7.
- Huella de memoria: El entrenamiento de transformadores o arquitecturas complejas como YOLOv7 a menudo requiere GPU de gama alta (por ejemplo, A100). En contraste, el diseño eficiente de YOLOv5 permite el entrenamiento en hardware de nivel de consumidor, democratizando el acceso al desarrollo de IA.
Implementación de código
Uno de los argumentos más sólidos a favor de Ultralytics YOLOv5 es la simplicidad de su API de python. Cargar un modelo pre-entrenado y ejecutar la inferencia requiere solo unas pocas líneas de código, un testimonio de la madurez del framework.
import torch
# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image (url, local path, or numpy array)
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results and show the image with bounding boxes
results.print()
results.show()
Este nivel de abstracción permite a los desarrolladores centrarse en la creación de sus soluciones empresariales en lugar de depurar arquitecturas de modelos.
Casos de Uso Ideales
Cuándo elegir YOLOv7
YOLOv7 es una excelente opción para la investigación académica y escenarios donde las limitaciones de hardware son secundarias al rendimiento de detección bruto.
- Investigación académica: Para la evaluación comparativa de técnicas de detección de última generación.
- Inspección de alta precisión: Como el control de calidad en la fabricación, donde la detección de defectos minúsculos es crítica y la latencia es menos preocupante.
Cuándo elegir Ultralytics YOLOv5
YOLOv5 sigue siendo el estándar de la industria para el desarrollo rápido y la implementación en producción.
- Implementación en el borde: Perfecto para ejecutarse en dispositivos iOS y Android a través de exportaciones TFLite o CoreML.
- Robótica: Su baja latencia es crucial para los bucles de retroalimentación requeridos en la robótica autónoma.
- Versatilidad: Más allá de la detección, el repositorio YOLOv5 admite la segmentación de instancias y la clasificación de imágenes, proporcionando una base de código unificada para múltiples tareas de visión.
Conclusión: El camino moderno a seguir
Si bien YOLOv7 demostró el poder del ajuste arquitectónico, Ultralytics YOLOv5 sigue siendo la opción superior para los desarrolladores que necesitan una solución fiable, bien documentada y fácil de implementar. Su equilibrio entre velocidad, precisión y soporte del ecosistema garantiza que siga siendo relevante en entornos de producción en todo el mundo.
Sin embargo, el campo de la visión artificial avanza rápidamente. Para aquellos que buscan el mejor rendimiento absoluto, YOLO11 representa la última evolución de Ultralytics. YOLO11 se basa en la usabilidad de YOLOv5, pero incorpora módulos de última generación basados en transformadores y diseños sin anclaje, superando tanto a YOLOv5 como a YOLOv7 en precisión y eficiencia.
Para una solución preparada para el futuro que admita detección de objetos, estimación de pose y cajas delimitadoras orientadas (OBB), se recomienda encarecidamente migrar al framework Ultralytics YOLO11.
Descubra más comparaciones
Explore cómo se comparan otros modelos con la familia YOLO de Ultralytics: