Ir al contenido

Comparación de modelos: YOLOv7 vs. YOLOv8 para la detección de objetos

Seleccionar el modelo de detección de objetos adecuado es crucial para lograr un rendimiento óptimo en tareas de visión artificial. Esta página ofrece una comparación técnica entre YOLOv7 y Ultralytics YOLOv8, dos modelos importantes en este campo. Analizaremos sus matices arquitectónicos, puntos de referencia de rendimiento y aplicaciones ideales para guiar su proceso de selección de modelos, destacando las ventajas que ofrece el ecosistema Ultralytics.

YOLOv7: Un punto de referencia en la detección en tiempo real

YOLOv7 se introdujo como un avance significativo en la detección de objetos en tiempo real, centrándose en la optimización de la eficiencia y la precisión del entrenamiento sin aumentar los costes de inferencia. Estableció un nuevo estado del arte para los detectores en tiempo real tras su lanzamiento.

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 se basa en arquitecturas YOLO anteriores introduciendo varias innovaciones clave. Emplea técnicas como las redes de agregación de capas eficientes extendidas (E-ELAN) en su backbone para mejorar la eficiencia de la extracción de características. Una contribución importante es el concepto de "bag-of-freebies entrenable", que implica estrategias de optimización aplicadas durante el entrenamiento, como cabezales auxiliares y guía de lo general a lo particular, para aumentar la precisión final del modelo sin añadir sobrecarga computacional durante la inferencia. YOLOv7 es principalmente un detector basado en anclajes centrado en la tarea de detección de objetos, aunque las extensiones de la comunidad lo han adaptado para otras tareas como la estimación de la pose.

Fortalezas

  • Equilibrio entre Alta Precisión y Velocidad: Ofrece una sólida combinación de mAP y velocidad de inferencia, lo que lo hace muy eficaz para tareas de inferencia en tiempo real.
  • Entrenamiento eficiente: Utiliza técnicas de entrenamiento avanzadas ("bag-of-freebies") para mejorar la precisión sin aumentar el coste final de la inferencia.
  • Rendimiento Establecido: Tiene resultados probados en benchmarks estándar como el conjunto de datos MS COCO.

Debilidades

  • Complejidad arquitectónica: La arquitectura y las nuevas técnicas de entrenamiento pueden ser complejas de comprender y optimizar completamente para casos de uso personalizados.
  • Uso intensivo de recursos: Los modelos YOLOv7 más grandes requieren importantes recursos de GPU para el entrenamiento.
  • Versatilidad de tareas limitada: Se centra principalmente en la detección de objetos. La implementación de otras tareas como la segmentación de instancias o la clasificación de imágenes requiere implementaciones separadas no integradas, a diferencia del enfoque unificado de YOLOv8.

Más información sobre YOLOv7

Ultralytics YOLOv8: Eficiencia y adaptabilidad de última generación

Ultralytics YOLOv8 es la siguiente gran versión de Ultralytics, que se basa en los éxitos de las versiones anteriores de YOLO. Es un modelo de última generación diseñado para ofrecer un rendimiento, una flexibilidad y una eficiencia superiores. YOLOv8 introduce un diseño sin anclajes y una arquitectura más optimizada, lo que mejora tanto el rendimiento como la facilidad de uso.

Autores: Glenn Jocher, Ayush Chaurasia y Jing Qiu
Organización: Ultralytics
Fecha: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Documentación: https://docs.ultralytics.com/models/yolov8/

Fortalezas

  • Rendimiento de última generación: YOLOv8 logra un equilibrio excepcional entre precisión y velocidad, lo que lo hace adecuado para una amplia gama de aplicaciones, desde edge AI hasta servicios basados en la nube.
  • Diseño fácil de usar: Ultralytics prioriza la simplicidad, ofreciendo una documentación completa, flujos de trabajo sencillos e interfaces simples de Python y CLI para el entrenamiento y la implementación.
  • Versatilidad incomparable: Soporta de forma nativa múltiples tareas de visión, incluyendo detección, segmentación, clasificación, estimación de pose y detección de objetos orientados (OBB), proporcionando una solución unificada para diversas necesidades de visión artificial.
  • Ecosistema bien mantenido: Se integra perfectamente con Ultralytics HUB para el entrenamiento y la implementación sin código. Se beneficia del desarrollo activo, las actualizaciones frecuentes, el sólido apoyo de la comunidad y los amplios recursos.
  • Eficiencia de entrenamiento y memoria: Ofrece procesos de entrenamiento eficientes con pesos pre-entrenados disponibles. Su arquitectura a menudo requiere un menor uso de memoria durante el entrenamiento en comparación con otras arquitecturas complejas como los transformers, que pueden ser más lentos de entrenar y demandar más memoria CUDA.

Debilidades

  • Los modelos más grandes requieren recursos computacionales significativos, aunque existen variantes más pequeñas y altamente eficientes como YOLOv8n disponibles para entornos con recursos limitados.

Casos de Uso Ideales

La versatilidad de YOLOv8 la hace ideal para aplicaciones que requieren un rendimiento en tiempo real y una alta precisión, tales como:

Más información sobre YOLOv8

Rendimiento y benchmarks: YOLOv7 vs. YOLOv8

Al comparar el rendimiento, YOLOv8 demuestra claras ventajas tanto en precisión como en eficiencia en toda su gama de modelos. El modelo YOLOv8x, por ejemplo, logra un mAP más alto que YOLOv7x, siendo a la vez más eficiente. Los modelos YOLOv8 más pequeños también proporcionan una excelente compensación para la implementación en el borde.

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
YOLOv8n 640 37.3 80.4 1.47 3.2 8.7
YOLOv8s 640 44.9 128.4 2.66 11.2 28.6
YOLOv8m 640 50.2 234.7 5.86 25.9 78.9
YOLOv8l 640 52.9 375.2 9.06 43.7 165.2
YOLOv8x 640 53.9 479.1 14.37 68.2 257.8

Conclusión: ¿Qué modelo debería elegir?

Si bien YOLOv7 es un detector de objetos formidable que superó los límites del rendimiento en tiempo real, Ultralytics YOLOv8 representa una opción más atractiva para la gran mayoría de las aplicaciones modernas.

Las principales ventajas de YOLOv8 residen en:

  • Versatilidad superior: La compatibilidad nativa con una gama más amplia de tareas la convierte en una solución integral para proyectos complejos de visión artificial.
  • Facilidad de uso: La API optimizada, la extensa documentación y la integración con el ecosistema de Ultralytics reducen significativamente la barrera de entrada tanto para principiantes como para expertos.
  • Better Performance-Efficiency Trade-off: Los modelos YOLOv8 generalmente ofrecen una mejor precisión para un número dado de parámetros y coste computacional, lo que los hace más adaptables a diferentes limitaciones de hardware.
  • Desarrollo y soporte activos: Como modelo insignia de Ultralytics, YOLOv8 se beneficia de actualizaciones continuas, una comunidad sólida y soporte profesional, lo que garantiza la viabilidad a largo plazo de los proyectos.

Para desarrolladores e investigadores que buscan un framework potente, flexible y fácil de usar, Ultralytics YOLOv8 es la opción recomendada para construir soluciones de IA de última generación.

Explorar Otros Modelos

Para una exploración más exhaustiva, considere estas comparaciones que involucran a YOLOv7, YOLOv8 y otros modelos relevantes dentro de la documentación de Ultralytics:



📅 Creado hace 1 año ✏️ Actualizado hace 1 mes

Comentarios