YOLOv7 frente a YOLOv5: Una comparación técnica de detectores en tiempo real
Al crear canales de visión artificial modernos, 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 comparativa exhaustiva analiza dos modelos de gran influencia en el ámbito de la visión artificial: YOLOv7 y Ultralytics YOLOv5.
Analizando sus diferencias arquitectónicas, métricas de rendimiento y escenarios de despliegue ideales, nuestro objetivo es ayudar a los desarrolladores e investigadores a elegir el mejor modelo para sus necesidades específicas.
Antecedentes y orígenes de los modelos
Comprender los orígenes de estos modelos proporciona contexto sobre sus filosofías de diseño y casos de uso previstos.
YOLOv5
Lanzado por Glenn Jocher y el equipo de Ultralytics el 26 de junio de 2020, YOLOv5 revolucionó el campo al ofrecer 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. Puedes explorar el código fuente en el repositorio de GitHub de YOLOv5 o acceder al modelo directamente a través de la plataforma de Ultralytics.
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ó intensamente en innovaciones arquitectónicas como las Extended Efficient Layer Aggregation Networks (E-ELAN) y una "bolsa de regalos" (bag-of-freebies) entrenable para impulsar el estado del arte en precisión. Los detalles se encuentran en su artículo oficial de Arxiv y en el repositorio de GitHub de YOLOv7. Para una integración sin problemas, consulta la documentación de YOLOv7 de Ultralytics.
Ambos modelos están totalmente integrados en el paquete de Python de Ultralytics, lo que te permite cambiar entre ellos simplemente modificando 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 Path Aggregation Network (PANet). Este diseño está altamente optimizado para una rápida extracción de características y eficiencia de memoria. A diferencia de arquitecturas más antiguas o modelos transformer pesados, YOLOv5 requiere significativamente menos memoria CUDA durante el entrenamiento, lo que permite tamaños de lote mayores en GPUs de consumo estándar. Además, el framework de Ultralytics admite intrínsecamente una amplia variedad de tareas más allá de las cajas delimitadoras estándar, incluyendo segmentación de imágenes y 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 cabecera auxiliar para supervisión intermedia durante el entrenamiento. Aunque estos avances producen una mAP (media de precisión media) alta, a menudo introducen estructuras de tensores complejas que pueden hacer que la exportación a formatos de borde como ONNX o TensorRT sea un poco más desafiante en comparación con las exportaciones optimizadas nativas de los modelos de Ultralytics.
Análisis de rendimiento
Al comparar estos modelos, los desarrolladores deben equilibrar la 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.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | params (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 |
Puntos clave
- Techo de precisión: YOLOv7x logra la mayor precisión global 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 la eficiencia, ofreciendo una latencia de inferencia ultrarrápida (1.12 ms en T4 TensorRT) con una huella de memoria diminuta de solo 2.6M de parámetros. Esto lo convierte en una opción inigualable para despliegues en el borde altamente restringidos.
- Equilibrio de rendimiento: La serie YOLOv5 proporciona un gradiente excepcional de modelos. YOLOv5l ofrece un punto medio fantástico, situándose un poco por detrás de YOLOv7l en margen de precisión pero ofreciendo un canal de despliegue 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 proporciona una API de Python unificada y altamente intuitiva. Puedes entrenar, validar y desplegar modelos con el mínimo código repetitivo, respaldado por una extensa documentación oficial. Ecosistema bien mantenido: El desarrollo activo garantiza actualizaciones constantes, correcciones de errores e integración fluida con herramientas de seguimiento modernas como Weights & Biases. Eficiencia en el entrenamiento: Utilizando cargadores de datos optimizados y 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 necesitan comparar nuevas técnicas frente a una línea base de 2022 bien documentada.
- Procesamiento en la nube con GPU de gama alta: Al desplegar en hardware de servidor potente donde lograr la mayor mAP absoluta en escenas densas compensa 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 tu proyecto necesita evolucionar desde una simple detección hacia estimación de pose o segmentación usando un framework unificado.
¿Buscas iteraciones más recientes? Considera explorar Ultralytics YOLOv8 o Ultralytics YOLO11 para obtener más avances en detección sin anclas y capacidades de aprendizaje multitarea.
La próxima generación: Ultralytics YOLO26
Aunque YOLOv5 y YOLOv7 ocupan lugares vitales en la historia de la IA de visión, el panorama evoluciona constantemente. 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.
YOLO26 introduce varias características que cambian el paradigma:
- Diseño de extremo a extremo libre de NMS: Basándose en conceptos pioneros en iteraciones anteriores, YOLO26 es nativamente de extremo a extremo. Esto elimina por completo el posprocesamiento de Supresión No Máxima (NMS), reduciendo 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 revolucionario optimizador fusiona la estabilidad del SGD estándar con el momento acelerado de Muon, trasladando innovaciones avanzadas de entrenamiento de LLM directamente a la visión artificial.
- Velocidad de CPU mejorada: Al eliminar estratégicamente la Distribution Focal Loss (DFL), YOLO26 logra hasta un 43% más de rapidez en inferencia de CPU, convirtiéndolo en el campeón indiscutible para el despliegue en dispositivos IoT de borde y de bajo consumo.
- ProgLoss + STAL: Estas funciones de pérdida avanzadas producen mejoras masivas en el reconocimiento de objetos pequeños, lo cual es crítico para imágenes aéreas y robótica de precisión.
- Mejoras específicas por tarea: Incluyendo pérdida de segmentación semántica para la generación de máscaras, Estimación de Log-Verosimilitud Residual (RLE) para seguimiento de pose y pérdida de ángulo especializada para resolver problemas complicados de límites de Caja Delimitadora Orientada (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 obtener precisión bruta en hardware de alto cómputo, mientras que YOLOv5 destaca como la herramienta definitiva para desarrolladores, ofreciendo un equilibrio excepcional de velocidad, eficiencia y un ecosistema de clase mundial.
Sin embargo, para los desarrolladores que buscan preparar sus canales 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 de Ultralytics al tiempo que ofrece innovaciones arquitectónicas revolucionarias.