Ir al contenido

YOLOv7 vs. YOLOv6-3.0: Una comparación técnica exhaustiva

En el panorama de la visión artificial, que evoluciona rápidamente, seleccionar el modelo de detección de objetos adecuado es crucial para el éxito del proyecto. Dos marcos significativos que han dado forma al campo son YOLOv7 y YOLOv6-3.0. Si bien ambos comparten el linaje YOLO (You Only Look Once), divergen significativamente en sus filosofías arquitectónicas y objetivos de optimización.

Esta guía proporciona un análisis técnico en profundidad de estos dos modelos, comparando sus arquitecturas, métricas de rendimiento y escenarios de implementación ideales. También exploramos cómo las alternativas modernas como Ultralytics YOLO11 integran las mejores características de estos predecesores en un ecosistema unificado y fácil de usar.

YOLOv7: la arquitectura de la precisión

YOLOv7, lanzado en julio de 2022, representó un cambio importante en la familia YOLO, priorizando las innovaciones arquitectónicas para maximizar la precisión sin sacrificar las capacidades de inferencia en tiempo real. Fue diseñado para superar los límites de los benchmarks del dataset COCO.

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/

Características arquitectónicas clave

YOLOv7 introdujo el "trainable bag-of-freebies", un conjunto de métodos de optimización que aumentan la precisión sin aumentar el coste de inferencia.

  • E-ELAN (Redes de Agregación de Capas Extendidas-Eficientes): Esta arquitectura mejora la capacidad de aprendizaje de la red controlando las rutas de gradiente más cortas y más largas. Permite que el modelo aprenda características más diversas al expandir la cardinalidad de los bloques computacionales.
  • Escalado de modelos: YOLOv7 emplea técnicas de escalado compuesto que modifican la profundidad y el ancho simultáneamente, lo que garantiza un rendimiento óptimo en diferentes tamaños de modelo (desde Tiny hasta E6E).
  • Auxiliary Head Training: El modelo utiliza un auxiliary head durante el entrenamiento para proporcionar una supervisión profunda, que luego se elimina durante la inferencia. Esto mejora la convergencia del modelo de deep learning.

Fortalezas y Debilidades

YOLOv7 es reconocido por su alta Precisión Media Promedio (mAP), particularmente en objetos pequeños y ocluidos. Sirve como una excelente opción para la investigación y escenarios donde la precisión es primordial. Sin embargo, su compleja arquitectura, que se basa en gran medida en capas basadas en la concatenación, puede resultar en un mayor consumo de memoria durante el entrenamiento en comparación con los modelos industriales optimizados.

Más información sobre YOLOv7

YOLOv6-3.0: Diseñado para la velocidad industrial

YOLOv6-3.0, desarrollado por el departamento de computación visual de Meituan, se centra en gran medida en aplicaciones industriales prácticas. Lanzado a principios de 2023, prioriza la velocidad de inferencia y la eficiencia del hardware, lo que lo convierte en un fuerte candidato para el edge computing.

Autores: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu
Organización: Meituan
Fecha: 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHub:https://github.com/meituan/YOLOv6
Docs:https://docs.ultralytics.com/models/yolov6/

Características arquitectónicas clave

YOLOv6-3.0 se distingue por su diseño consciente del hardware, optimizado específicamente para el rendimiento de la GPU y la CPU.

  • Backbone RepVGG: El modelo utiliza bloques de reparametrización (RepVGG). Durante el entrenamiento, el modelo tiene una topología de múltiples ramas para un mejor aprendizaje, que se fusiona matemáticamente en una estructura de una sola rama para la inferencia. Esto resulta en una ejecución más rápida en hardware como la NVIDIA Jetson.
  • Head Desacoplado: A diferencia de las versiones anteriores de YOLO que compartían características para la clasificación y la localización, YOLOv6 utiliza un head desacoplado. Esta separación mejora la velocidad de convergencia y la precisión de la detección.
  • Apto para la cuantificación: La arquitectura está diseñada para ser amigable con la cuantificación de modelos (por ejemplo, INT8), esencial para la implementación en dispositivos con recursos limitados.

Fortalezas y Debilidades

YOLOv6-3.0 destaca en el rendimiento bruto. Para líneas de automatización industrial o robótica, donde los milisegundos cuentan, su grafo de inferencia optimizado es una ventaja significativa. Sin embargo, su enfoque se centra principalmente en la detección, careciendo de la versatilidad multitarea nativa que se encuentra en iteraciones posteriores como YOLO11.

Más información sobre YOLOv6-3.0

Comparación de rendimiento

La siguiente tabla ilustra las compensaciones entre los dos modelos. YOLOv6-3.0 generalmente ofrece una velocidad superior para niveles de precisión similares, mientras que YOLOv7 supera el límite de la precisión de detección.

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
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

Análisis de resultados

  • Velocidad vs. Precisión: YOLOv6-3.0n destaca por su velocidad extrema, alcanzando una inferencia de 1.17ms en GPU T4, lo que lo hace ideal para el análisis de video de alta velocidad.
  • Máxima precisión: YOLOv7x alcanza un mAP más alto (53.1%) en comparación con YOLOv6-3.0l (52.8%), lo que demuestra su fortaleza en la detección de ejemplos difíciles.
  • Eficiencia Computacional: YOLOv6 utiliza menos FLOPs para niveles de rendimiento comparables, validando su filosofía de diseño "EfficientRep".

Consideraciones para la implementación

Si bien los benchmarks proporcionan una línea de base, el rendimiento en el mundo real depende en gran medida del hardware de implementación. La reparametrización de YOLOv6 brilla en las GPU, mientras que la arquitectura basada en la concatenación de YOLOv7 es robusta, pero puede consumir mucha memoria.

La ventaja de Ultralytics: Más allá de la comparación

Si bien YOLOv7 y YOLOv6-3.0 representan logros significativos en la historia de la visión artificial, el campo avanza rápidamente. Para los desarrolladores que buscan una solución sostenible y preparada para el futuro, Ultralytics YOLO11 ofrece un ecosistema completo que reemplaza las limitaciones de las arquitecturas de modelos individuales.

¿Por qué elegir Ultralytics YOLO11?

  1. Facilidad de uso inigualable: A diferencia de muchos modelos de código abierto que requieren la clonación de repositorios complejos y la configuración del entorno, se puede acceder a los modelos de Ultralytics a través de una simple instalación pip. El diseño de la API de python es intuitivo, lo que permite el entrenamiento y la inferencia en solo unas pocas líneas de código.
  2. Equilibrio de rendimiento: YOLO11 se basa en las lecciones arquitectónicas tanto de YOLOv6 como de YOLOv7. Emplea una arquitectura refinada que logra una precisión de última generación, manteniendo al mismo tiempo las velocidades de inferencia necesarias para las aplicaciones en tiempo real.
  3. Versatilidad: Una de las mayores ventajas del ecosistema Ultralytics es la compatibilidad con múltiples tareas. Si bien YOLOv6 y YOLOv7 se centran principalmente en la detección, YOLO11 admite de forma nativa la segmentación de instancias, la estimación de pose, la clasificación y la detección de objetos orientados (OBB).
  4. Eficiencia en el entrenamiento: Los modelos de Ultralytics están optimizados para una convergencia más rápida y un menor uso de memoria durante el entrenamiento. Esta gestión eficiente de los recursos permite el entrenamiento en GPU de grado de consumidor sin la sobrecarga masiva de memoria CUDA que a menudo se asocia con arquitecturas antiguas basadas en transformadores o con gran concatenación.
  5. Ecosistema bien mantenido: Con actualizaciones frecuentes, documentación extensa y una comunidad dinámica, Ultralytics garantiza que sus proyectos sigan siendo compatibles con las últimas versiones de PyTorch y formatos de exportación como ONNX, TensorRT y CoreML.

Ejemplo de implementación

Implementar un modelo de última generación con Ultralytics es sencillo. Aquí le mostramos lo fácil que puede implementar la detección de objetos:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Process results
for result in results:
    result.save(filename="output.jpg")  # save to disk

Conclusión

Tanto YOLOv7 como YOLOv6-3.0 sirven a nichos específicos: YOLOv7 para tareas de investigación de alta precisión y YOLOv6-3.0 para la optimización de la velocidad industrial. Sin embargo, para la mayoría de los desarrolladores e investigadores, el ecosistema Ultralytics YOLO11 proporciona la solución más equilibrada, versátil y mantenible. Al combinar un alto rendimiento con una experiencia de usuario excepcional y un amplio soporte de tareas, Ultralytics permite a los usuarios centrarse en la resolución de problemas del mundo real en lugar de luchar con las arquitecturas de modelos.

Explorar Otros Modelos

Si le interesa explorar más opciones dentro del panorama de la visión artificial, considere estas comparaciones:

  • YOLOv7 vs. RT-DETR: Comparación de detectores basados en CNN con arquitecturas basadas en Transformers.
  • YOLOv6 vs. YOLOv8: Un vistazo a cómo la generación anterior de modelos Ultralytics se compara con los estándares industriales.
  • YOLOv7 vs. YOLOX: Análisis de estrategias de detección sin anclaje frente a estrategias basadas en anclaje.

Comentarios