Ir al contenido

YOLOv7 vs YOLOv5: Una Comparación Técnica de Detectores en Tiempo Real

Al construir pipelines de visión artificial modernas, seleccionar la arquitectura de detección de objetos adecuada es fundamental para equilibrar la precisión, la velocidad de inferencia y la utilización de recursos. Esta comparación exhaustiva examina dos modelos altamente influyentes en el ámbito de la visión artificial: YOLOv7 y Ultralytics YOLOv5.

Al analizar sus diferencias arquitectónicas, métricas de rendimiento y escenarios de despliegue ideales, nuestro objetivo es ayudar a desarrolladores e investigadores a elegir el mejor modelo para sus requisitos específicos.

Contexto y Orígenes del Modelo

Comprender los orígenes de estos modelos proporciona contexto para sus filosofías de diseño y casos de uso específicos.

YOLOv5

Lanzado por Glenn Jocher y el equipo de Ultralytics el 26 de junio de 2020, YOLOv5 revolucionó el campo al proporcionar una implementación nativa de PyTorch que priorizaba la usabilidad sin sacrificar el rendimiento. Rápidamente se convirtió en un estándar de la industria debido a su ecosistema increíblemente optimizado y dinámicas de entrenamiento fiables. Puede explorar el código fuente en el repositorio de GitHub de YOLOv5 o acceder al modelo directamente a través de la Ultralytics Platform.

Más información sobre YOLOv5

YOLOv7

Presentado por Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao del Instituto de Ciencias de la Información, Academia Sinica, Taiwán, el 6 de julio de 2022. YOLOv7 se centró en gran medida en innovaciones arquitectónicas como las Redes de Agregación de Capas Eficientes Extendidas (E-ELAN) y un "bag-of-freebies" entrenable para impulsar el estado del arte en precisión. Los detalles se pueden encontrar en su artículo oficial de Arxiv y en el repositorio de GitHub de YOLOv7. Para una integración perfecta, consulte la documentación de Ultralytics YOLOv7.

Más información sobre YOLOv7

Experimentación Fluida

Ambos modelos están totalmente integrados en el paquete Python de Ultralytics, lo que le permite intercambiar entre ellos simplemente cambiando la cadena del modelo en su código.

Innovaciones Arquitectónicas

Diseño de Ultralytics YOLOv5

YOLOv5 utiliza un backbone CSPDarknet53 modificado emparejado con un cuello de red de agregación de rutas (PANet). Este diseño está altamente optimizado para la extracción rápida de características y la eficiencia de la memoria. A diferencia de arquitecturas más antiguas o modelos de transformadores pesados, YOLOv5 requiere significativamente menos memoria CUDA durante el entrenamiento, lo que permite tamaños de lote más grandes en GPUs de consumo estándar. Además, el framework Ultralytics soporta inherentemente una amplia variedad de tareas más allá de las cajas delimitadoras estándar, incluyendo la segmentación de imágenes y la clasificación de imágenes.

Diseño de YOLOv7

YOLOv7 introdujo varias re-parametrizaciones estructurales y la arquitectura E-ELAN, que permite a la red aprender características más diversas sin destruir la ruta de gradiente original. También implementa una cabeza auxiliar para la supervisión intermedia durante el entrenamiento. Aunque estos avances producen una alta precisión media (mAP), a menudo introducen estructuras de tensor complejas que pueden hacer que la exportación a formatos de borde como ONNX o TensorRT sea ligeramente más desafiante en comparación con las exportaciones optimizadas nativas de los modelos Ultralytics.

Análisis de rendimiento

Al comparar estos modelos, los desarrolladores deben equilibrar mAPval, la velocidad de inferencia y la complejidad computacional (FLOPs). La siguiente tabla demuestra el rendimiento de ambas arquitecturas evaluadas en el conjunto de datos COCO.

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Puntos clave

  • Techo de Precisión: YOLOv7x logra la mayor precisión general con un impresionante 53.1 mAPval, lo que lo hace altamente competitivo para escenarios donde maximizar el rendimiento de detección es el objetivo principal.
  • Velocidad y Eficiencia: Ultralytics YOLOv5n es una maravilla de eficiencia, ofreciendo una latencia de inferencia ultrarrápida (1.12 ms en T4 TensorRT) con una huella de memoria minúscula de solo 2.6M parámetros. Esto lo convierte en una opción inigualable para implementaciones en el borde altamente restringidas.
  • Equilibrio de Rendimiento: La serie YOLOv5 ofrece un gradiente excepcional de modelos. YOLOv5l ofrece un excelente punto intermedio, superado por YOLOv7l por un pequeño margen de precisión pero ofreciendo una pipeline de despliegue altamente madura.

La ventaja del ecosistema de Ultralytics

La arquitectura de un modelo es solo la mitad de la ecuación; el ecosistema que lo rodea dicta su viabilidad en el mundo real. Aquí es donde los modelos Ultralytics realmente destacan.

Facilidad de Uso: Ultralytics proporciona una API de python unificada y altamente intuitiva. Puede entrenar, validar y desplegar modelos con un código repetitivo mínimo, respaldado por una extensa documentación oficial. Ecosistema Bien Mantenido: El desarrollo activo garantiza actualizaciones constantes, correcciones de errores e integración perfecta con herramientas de seguimiento modernas como Weights & Biases. Eficiencia de Entrenamiento: La utilización de cargadores de datos optimizados y caching inteligente, YOLOv5 reduce drásticamente los tiempos de entrenamiento. Además, los pesos pre-entrenados listos para usar aceleran el aprendizaje por transferencia en varios dominios.

Ejemplo de Código: Entrenamiento Optimizado

Con el paquete Ultralytics, iniciar una ejecución de entrenamiento es prácticamente idéntico independientemente de la arquitectura que elija.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Export the trained model to ONNX format for deployment
success = model.export(format="onnx")

Casos de Uso Ideales

Cuándo elegir YOLOv7

  • Evaluación Comparativa Académica: Perfecto para investigadores que necesitan comparar técnicas novedosas con una base bien documentada de 2022.
  • Procesamiento en la nube con GPU de alta gama: Al desplegar en hardware de servidor potente donde lograr el mAP más alto absoluto en escenas densas supera la simplicidad de exportación.

Cuándo elegir YOLOv5

  • Despliegues en Producción: Ideal para aplicaciones comerciales que requieren alta estabilidad, opciones de despliegue de modelos sencillas y amplia compatibilidad multiplataforma.
  • Dispositivos de Borde: Las variantes más pequeñas (YOLOv5n y YOLOv5s) funcionan excepcionalmente bien en teléfonos móviles y sistemas embebidos.
  • Requisitos Multitarea: Si su proyecto necesita evolucionar de una detección simple a la estimación de pose o la segmentación utilizando un marco unificado.

Explorando Otras Arquitecturas

¿Busca iteraciones más recientes? Considere explorar Ultralytics YOLOv8 o Ultralytics YOLO11 para mayores avances en detección sin anclajes y capacidades de aprendizaje multitarea.

La Siguiente Generación: Ultralytics YOLO26

Aunque YOLOv5 y YOLOv7 ocupan lugares vitales en la historia de la IA de visión, el panorama está en constante evolución. Lanzado en enero de 2026, Ultralytics YOLO26 representa la vanguardia absoluta de la tecnología de detección de objetos, superando a las generaciones anteriores en todas las métricas.

Más información sobre YOLO26

YOLO26 introduce varias características que cambian el paradigma:

  • Diseño de extremo a extremo sin NMS: Basándose en conceptos pioneros en iteraciones anteriores, YOLO26 es nativamente de extremo a extremo. Esto elimina por completo el postprocesamiento de Supresión No Máxima (NMS), eliminando los cuellos de botella de latencia y simplificando drásticamente la lógica de despliegue.
  • Optimizador MuSGD: Inspirado en Kimi K2 de Moonshot AI, este optimizador revolucionario fusiona la estabilidad del SGD estándar con el momento acelerado de Muon, introduciendo innovaciones avanzadas de entrenamiento de LLM directamente en la visión por computadora.
  • Velocidad de CPU mejorada: Al eliminar estratégicamente la función de pérdida focal de distribución (DFL), YOLO26 logra una inferencia en CPU hasta un 43% más rápida, convirtiéndolo en el campeón indiscutible para el despliegue en dispositivos de borde y IoT de baja potencia.
  • ProgLoss + STAL: Estas funciones de pérdida avanzadas proporcionan mejoras masivas en el reconocimiento de objetos pequeños, lo cual es fundamental para las imágenes aéreas y la robótica de precisión.
  • Mejoras Específicas por Tarea: Con pérdida de segmentación semántica para la generación de máscaras, Estimación de Verosimilitud Logarítmica Residual (RLE) para el seguimiento de pose, y pérdida de ángulo especializada para resolver problemas de límites complejos de Oriented Bounding Box (OBB).

Conclusión

Tanto YOLOv5 como YOLOv7 ofrecen soluciones robustas para la detección de objetos en tiempo real. YOLOv7 sigue siendo una opción sólida para la precisión bruta en hardware de alto rendimiento, mientras que YOLOv5 se destaca como la herramienta definitiva para desarrolladores, ofreciendo un equilibrio excepcional entre velocidad, eficiencia y un ecosistema de clase mundial.

Sin embargo, para desarrolladores que buscan preparar sus pipelines para el futuro y lograr la combinación definitiva de velocidad, simplicidad y precisión de vanguardia, recomendamos encarecidamente migrar a Ultralytics YOLO26. Encapsula la legendaria facilidad de uso de la plataforma Ultralytics mientras ofrece innovaciones arquitectónicas revolucionarias.


Comentarios