YOLOv7 vs YOLOv10: Una Comparación Técnica Detallada
Seleccionar el modelo de detección de objetos adecuado implica equilibrar la precisión, la velocidad y los requisitos de implementación. Esta página proporciona una comparación técnica detallada entre YOLOv7 y YOLOv10, dos modelos significativos en el panorama de la detección de objetos en tiempo real. Profundizaremos en sus diferencias arquitectónicas, métricas de rendimiento y casos de uso ideales para ayudarle a elegir el que mejor se adapte a sus proyectos de visión artificial.
YOLOv7: Alta precisión y velocidad
YOLOv7, presentado en julio de 2022, rápidamente ganó reconocimiento por su impresionante equilibrio entre velocidad y precisión, estableciendo nuevos puntos de referencia de vanguardia en ese momento. Se centró en optimizar el proceso de entrenamiento utilizando "trainable bag-of-freebies" para mejorar la precisión sin aumentar los costes de inferencia.
Detalles técnicos:
- 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
- Documentación: https://docs.ultralytics.com/models/yolov7/
Arquitectura y Características Clave
YOLOv7 introdujo varias mejoras arquitectónicas y refinamientos en el entrenamiento para lograr su rendimiento:
- Redes de Agregación de Capas Eficiente Extendida (E-ELAN): Este componente clave en el *backbone* mejora la capacidad de la red para aprender diversas características mientras controla la ruta del gradiente, lo que mejora la convergencia y la precisión general.
- Escalado de modelos: Implementó métodos de escalado compuesto para modelos basados en concatenación, lo que permite un ajuste eficaz de la profundidad y el ancho del modelo para adaptarse a diferentes presupuestos computacionales.
- Bag-of-Freebies entrenable: YOLOv7 aprovechó técnicas avanzadas durante el entrenamiento, como las estrategias de asignación de etiquetas y los ajustes de la normalización por lotes, para impulsar el rendimiento sin añadir ninguna sobrecarga durante la inferencia.
- Entrenamiento con cabezales auxiliares de lo general a lo específico: El modelo utiliza cabezales auxiliares durante el entrenamiento para mejorar la supervisión profunda y guiar el proceso de aprendizaje del modelo de manera más efectiva.
Fortalezas y Debilidades
Fortalezas
- Equilibrio entre Alta Precisión y Velocidad: YOLOv7 ofrece una sólida combinación de alta mAP y rápida velocidad de inferencia, lo que lo hace adecuado para muchas aplicaciones en tiempo real.
- Entrenamiento eficiente: El modelo incorpora técnicas de entrenamiento avanzadas que mejoran el rendimiento sin aumentar significativamente las demandas computacionales durante la inferencia.
- Bien Establecido: Como modelo maduro, se beneficia de una mayor base de usuarios y más recursos de la comunidad en comparación con los modelos más nuevos.
Debilidades
- Dependencia de NMS: YOLOv7 se basa en la Supresión No Máxima (NMS) para el post-procesamiento, lo que añade sobrecarga computacional y aumenta la latencia de inferencia.
- Complejidad: La arquitectura y las estrategias de entrenamiento, aunque eficaces, pueden ser complejas de entender completamente y ajustar para aplicaciones personalizadas.
Casos de uso
YOLOv7 es ideal para aplicaciones exigentes en las que es fundamental un equilibrio entre velocidad y precisión:
- Vigilancia Avanzada: Su alta precisión es valiosa para identificar objetos o amenazas en sistemas de seguridad.
- Sistemas autónomos: Proporciona una detección robusta para aplicaciones como los coches autónomos.
- Automatización industrial: El modelo puede utilizarse para la detección fiable de defectos en la fabricación y el control de calidad.
YOLOv10: Detección en Tiempo Real de Extremo a Extremo
YOLOv10, presentada en mayo de 2024 por investigadores de la Universidad de Tsinghua, representa un avance significativo en la detección de objetos en tiempo real. Su principal innovación es la creación de una solución de extremo a extremo eliminando la necesidad de la Supresión No Máxima (NMS), lo que reduce la latencia y mejora la eficiencia de la implementación.
Detalles técnicos:
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organización: Universidad de Tsinghua
- Fecha: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Documentación: https://docs.ultralytics.com/models/yolov10/
Arquitectura y Características Clave
YOLOv10 introduce varias innovaciones arquitectónicas destinadas a optimizar el equilibrio entre velocidad y precisión:
- Entrenamiento sin NMS: Utiliza asignaciones duales consistentes durante el entrenamiento, lo que permite un rendimiento competitivo sin el paso de post-procesamiento NMS. Esto simplifica el proceso de implementación y reduce la latencia de inferencia.
- Diseño holístico impulsado por la eficiencia y la precisión: El modelo optimiza varios componentes, como el encabezado de clasificación y las capas de submuestreo, para reducir la redundancia computacional y mejorar la capacidad. Esto incluye técnicas como el diseño de bloques guiado por rango y la autoatención parcial (PSA).
- Enfoque sin anclajes: Al igual que otros modelos YOLO modernos, adopta un diseño de detector sin anclajes, lo que simplifica el encabezado de detección y mejora la generalización.
Fortalezas y Debilidades
Fortalezas
- Alta eficiencia: El diseño sin NMS y otras optimizaciones arquitectónicas conducen a una inferencia más rápida, una menor latencia y un menor coste computacional.
- Precisión competitiva: Mantiene una alta precisión al tiempo que mejora significativamente la velocidad y reduce el tamaño del modelo.
- Implementación End-to-End: La eliminación de NMS simplifica el pipeline de implementación, lo que facilita su integración en las aplicaciones.
Debilidades
- Relativamente nuevo: Como modelo más reciente, el soporte de la comunidad y el número de ejemplos del mundo real podrían ser menos extensos en comparación con modelos establecidos como YOLOv7 o Ultralytics YOLOv8.
- Ajuste para un rendimiento óptimo: Lograr los mejores resultados puede requerir un ajuste cuidadoso de los hiperparámetros, lo que podría beneficiarse de recursos como consejos para el entrenamiento de modelos.
Casos de uso
El enfoque de YOLOv10 en la eficiencia en tiempo real la hace ideal para entornos con recursos limitados:
- Aplicaciones de Edge AI: Perfecto para la implementación en dispositivos como NVIDIA Jetson o Raspberry Pi, donde la baja latencia es fundamental.
- Robótica: Permite una percepción más rápida para la navegación y la interacción, un aspecto clave del papel de la IA en la robótica.
- Drones Autónomos: Su arquitectura ligera y rápida es adecuada para la detección rápida de objetos en drones y otros vehículos aéreos no tripulados.
Comparación directa del rendimiento
Al comparar YOLOv7 y YOLOv10, la diferencia más significativa radica en sus filosofías de diseño. YOLOv7 busca un equilibrio entre alta precisión y velocidad, lo que lo convierte en un potente detector de propósito general. En cambio, YOLOv10 prioriza la eficiencia computacional y la baja latencia al eliminar NMS, lo que la convierte en una opción superior para aplicaciones en tiempo real en dispositivos edge.
La siguiente tabla muestra que los modelos YOLOv10 logran consistentemente una latencia más baja y requieren menos parámetros y FLOPs que los modelos YOLOv7 en niveles de mAP similares. Por ejemplo, YOLOv10b logra un mAP de 52,7 con solo 6,54 ms de latencia, superando a YOLOv7l, que tiene un mAP similar pero una latencia mayor.
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 |
YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Conclusión y recomendación
Tanto YOLOv7 como YOLOv10 son modelos potentes, pero satisfacen diferentes necesidades. YOLOv7 es un detector robusto y preciso que sigue siendo una opción sólida para las aplicaciones en las que lograr un mAP alto es una prioridad. YOLOv10, con su innovadora arquitectura sin NMS, es el claro ganador para las aplicaciones que exigen la máxima eficiencia y la menor latencia, especialmente en las implementaciones de extremo a extremo.
Para los desarrolladores que buscan un framework moderno, versátil y fácil de usar, los modelos del ecosistema de Ultralytics, como Ultralytics YOLOv8 y el último YOLO11, a menudo presentan una opción más convincente. Estos modelos ofrecen:
- Facilidad de uso: Una API de python optimizada, extensa documentación y sencillos comandos CLI.
- Ecosistema bien mantenido: Desarrollo activo, una sólida comunidad de código abierto e integración con herramientas como Ultralytics HUB para un MLOps perfecto.
- Versatilidad de tareas: Soporte para múltiples tareas más allá de la detección de objetos, incluyendo la segmentación, la clasificación, la estimación de poses y la detección de objetos orientados (OBB).
Explorar Otros Modelos
Si te interesan otros modelos, consulta estas comparaciones adicionales:
- YOLOv7 vs YOLOv8
- YOLOv10 vs YOLOv8
- YOLOv10 vs YOLOv9
- RT-DETR vs YOLOv7
- YOLOv7 vs YOLOv5
- Explore los últimos modelos como YOLO11.