YOLOv7 frente a YOLOv5#
Al crear pipelines modernos de visión por ordenador, seleccionar la arquitectura de detección de objetos adecuada es fundamental para equilibrar la precisión, la velocidad de inferencia y el uso de recursos. Esta comparación exhaustiva analiza dos modelos muy influyentes en el ámbito de la visión por ordenador: YOLOv7 y Ultralytics YOLOv5.
Al analizar sus diferencias arquitectónicas, métricas de rendimiento y escenarios de implementación ideales, nuestro objetivo es ayudar a desarrolladores e investigadores a elegir el mejor modelo para sus requisitos específicos.
Antecedentes y orígenes de los modelos#
Comprender los orígenes de estos modelos aporta contexto sobre sus filosofías de diseño y casos de uso previstos.
YOLOv5#
Publicado por Glenn Jocher y el equipo de Ultralytics el 26 de junio de 2020, YOLOv5 revolucionó el sector al ofrecer una implementación nativa en PyTorch que priorizaba la facilidad de uso sin sacrificar el rendimiento. Rápidamente se convirtió en un estándar del sector gracias a su ecosistema extraordinariamente optimizado y a unas dinámicas de entrenamiento fiables. Puedes explorar el código fuente en el repositorio de YOLOv5 en GitHub o acceder directamente al modelo a través de la Ultralytics Platform.
YOLOv7#
Presentado por Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao del Instituto de Ciencia de la Información de Academia Sinica, Taiwán, el 6 de julio de 2022, YOLOv7 se centró intensamente en innovaciones arquitectónicas como las Redes de Agregación de Capas Eficientes Extendidas (E-ELAN) y un "conjunto de herramientas gratuitas" entrenable para impulsar el estado del arte en precisión. Puedes encontrar los detalles en su documento oficial de Arxiv y en el repositorio de GitHub de YOLOv7. Para una integración sin inconvenientes, consulta la documentación de YOLOv7 de Ultralytics.
Ambos modelos están totalmente integrados en el paquete Python de Ultralytics, lo que te permite alternar entre ellos simplemente cambiando la cadena del modelo en tu código.
Innovaciones arquitectónicas#
Diseño de Ultralytics YOLOv5#
YOLOv5 utiliza un backbone CSPDarknet53 modificado junto con un cuello de red de agregación de rutas (PANet). Este diseño está altamente optimizado para la extracción de características rápida y la eficiencia de memoria. A diferencia de las arquitecturas más antiguas o de los pesados modelos Transformer, YOLOv5 requiere mucha menos memoria CUDA durante el entrenamiento, lo que permite utilizar tamaños de lote mayores en GPU de consumo estándar. Además, el framework de Ultralytics admite de forma nativa una amplia variedad de tareas más allá de las bounding boxes estándar, como la segmentación de imágenes y la clasificación de imágenes.
Diseño de YOLOv7#
YOLOv7 introdujo varias reparametrizaciones 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 precisión media promedio (mAP) elevada, a menudo introducen estructuras de tensores complejas que pueden dificultar ligeramente la exportación a formatos para edge como ONNX o TensorRT en comparación con las exportaciones optimizadas nativas de los modelos de Ultralytics.
Análisis del rendimiento#
Al comparar estos modelos, los desarrolladores deben equilibrar mAPval, la velocidad de inferencia y la complejidad computacional (FLOPs). La tabla siguiente muestra el rendimiento de ambas arquitecturas evaluadas en el dataset COCO.
| 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 |
Conclusiones clave#
- Techo de precisión: YOLOv7x alcanza la mayor precisión general, con unos impresionantes 53,1 mAPval, lo que lo hace muy competitivo en escenarios en los que maximizar el rendimiento de detección es el objetivo principal.
- Velocidad y eficiencia: Ultralytics YOLOv5n es una maravilla de la eficiencia, ya que ofrece una latencia de inferencia ultrarrápida (1,12 ms en T4 TensorRT) con una huella de memoria mínima de tan solo 2,6 M de parámetros. Esto lo convierte en una opción incomparable para implementaciones edge con recursos muy limitados.
- Equilibrio de rendimiento: La serie YOLOv5 ofrece un gradiente excepcional de modelos. YOLOv5l proporciona un magnífico término medio: queda ligeramente por detrás de YOLOv7l en precisión, pero ofrece un pipeline de implementación muy maduro.
La ventaja del ecosistema de Ultralytics#
La arquitectura de un modelo es solo la mitad de la ecuación; el ecosistema que lo rodea determina su viabilidad en el mundo real. Aquí es donde los modelos de Ultralytics realmente destacan.
Facilidad de uso: Ultralytics ofrece una API Python unificada y muy intuitiva. Puedes entrenar, validar e implementar modelos con un código auxiliar mínimo, respaldado por una amplia documentación oficial. Ecosistema bien mantenido: El desarrollo activo garantiza actualizaciones constantes, correcciones de errores e integración fluida con herramientas modernas de seguimiento como Weights & Biases. Eficiencia del entrenamiento: Gracias a cargadores de datos optimizados y a la caché inteligente, YOLOv5 reduce drásticamente los tiempos de entrenamiento. Además, los pesos preentrenados listos para usar aceleran el aprendizaje por transferencia en diversos dominios.
Ejemplo de código: entrenamiento simplificado#
Con el paquete de Ultralytics, iniciar una ejecución de entrenamiento es prácticamente idéntico independientemente de la arquitectura que elijas.
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 necesiten comparar técnicas novedosas con una línea base de 2022 bien documentada.
- Procesamiento en la nube con GPU de gama alta: Al implementar en hardware de servidor potente, cuando lograr el mAP absoluto más alto en escenas densas es más importante que la sencillez de exportación.
Cuándo elegir YOLOv5#
- Implementaciones en producción: Ideal para aplicaciones comerciales que requieran una gran estabilidad, opciones sencillas de implementación de modelos y amplia compatibilidad multiplataforma.
- Dispositivos edge: Las variantes más pequeñas (YOLOv5n y YOLOv5s) funcionan excepcionalmente bien en teléfonos móviles y sistemas integrados.
- Requisitos multitarea: Si tu proyecto necesita evolucionar desde una detección sencilla hasta la estimación de poses o la segmentación mediante un framework unificado.
¿Buscas iteraciones más recientes? Considera explorar Ultralytics YOLOv8 o Ultralytics YOLO11 para descubrir nuevos avances en detección sin anchors y capacidades de aprendizaje multitarea.
La próxima generación: Ultralytics YOLO26#
Aunque YOLOv5 y YOLOv7 ocupan un lugar importante en la historia de la IA de visión, el panorama evoluciona constantemente. Publicado en enero de 2026, Ultralytics YOLO26 representa la vanguardia absoluta de la tecnología de detección de objetos y supera a las generaciones anteriores en todas las métricas.
YOLO26 introduce varias características que cambian el paradigma:
- Diseño end-to-end sin NMS: A partir de conceptos pioneros de iteraciones anteriores, YOLO26 es nativo end-to-end. Esto elimina por completo el posprocesamiento de supresión de no máximos (NMS), reduce drásticamente los cuellos de botella de latencia y simplifica considerablemente la lógica de implementación.
- Optimizador MuSGD: Inspirado en Kimi K2 de Moonshot AI, este revolucionario optimizador combina la estabilidad del SGD estándar con el impulso acelerado de Muon, trasladando innovaciones avanzadas del entrenamiento de LLM directamente a la visión por ordenador.
- Mayor velocidad en CPU: Al eliminar estratégicamente la pérdida focal de distribución (DFL), YOLO26 logra una inferencia hasta un 43 % más rápida en CPU, lo que lo convierte en el campeón indiscutible para la implementación en dispositivos edge y dispositivos IoT de bajo consumo.
- ProgLoss + STAL: Estas funciones de pérdida avanzadas mejoran enormemente el reconocimiento de objetos pequeños, algo fundamental para las imágenes aéreas y la robótica de precisión.
- Mejoras específicas por tarea: Incluye una pérdida de segmentación semántica para la generación de máscaras, una estimación residual de log-verosimilitud (RLE) para el seguimiento de poses y una pérdida angular especializada para resolver problemas complejos de límites de cajas delimitadoras orientadas (OBB).
Conclusión#
Tanto YOLOv5 como YOLOv7 ofrecen soluciones sólidas para la detección de objetos en tiempo real. YOLOv7 sigue siendo una opción potente para obtener la máxima precisión en hardware con gran capacidad de cómputo, mientras que YOLOv5 destaca como la herramienta definitiva para desarrolladores, ya que ofrece un equilibrio excepcional entre velocidad, eficiencia y un ecosistema de primer nivel.
Sin embargo, para los desarrolladores que quieran preparar sus pipelines para el futuro y lograr la combinación definitiva de velocidad, sencillez y precisión de vanguardia, recomendamos encarecidamente migrar a Ultralytics YOLO26. Este modelo encapsula la legendaria facilidad de uso de la plataforma Ultralytics y ofrece innovaciones arquitectónicas revolucionarias.