YOLO vs. YOLOv7: comparación técnica detallada
La selección de la arquitectura óptima para la detección de objetos es una decisión fundamental en el desarrollo de la visión por ordenador. A menudo, la elección requiere equilibrar la latencia de la inferencia con la precisión de la detección, al tiempo que se tienen en cuenta las limitaciones del hardware de despliegue. Esta comparación técnica examina YOLO y YOLOv7, dos influyentes modelos lanzados en 2022 que ampliaron los límites de la detección en tiempo real. Analizamos sus innovaciones arquitectónicas, su rendimiento de referencia y sus escenarios de aplicación ideales para ayudarle en su proceso de selección de modelos.
YOLO: Arquitectura neuronal de búsqueda de eficiencia en los bordes
YOLO fue desarrollado por el Grupo Alibaba con el objetivo específico de maximizar el rendimiento de las aplicaciones industriales. Se distingue por incorporar la búsqueda de arquitectura neuronal (NAS) para automatizar el diseño de su red troncal, lo que garantiza una eficiencia óptima.
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, y Xiuyu Sun
- Organización:Grupo Alibaba
- Fecha: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
- Docs:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Innovaciones arquitectónicas
YOLO introduce varias tecnologías de vanguardia destinadas a reducir la carga computacional manteniendo una alta precisión:
- Red troncal MAE-NAS (GiraffeNet): A diferencia de las redes troncales tradicionales diseñadas manualmente, YOLO utiliza un enfoque NAS basado en la eficiencia consciente de los métodos (MAE). El resultado es una serie de redes troncales denominada GiraffeNet, que ofrece una mejor relación entre las operaciones en coma flotante (FLOPs) y la latencia bajo diversas restricciones de hardware.
- RepGFPN eficiente: El modelo incorpora una red piramidal de características generalizadas (GFPN) optimizada con reparametrización. Esta "RepGFPN" permite una fusión eficiente de características multiescala, esencial para detectar objetos de distintos tamaños sin el elevado coste computacional asociado a las FPN estándar.
- ZeroHead: Un novedoso diseño "ZeroHead" simplifica significativamente el cabezal de detección. Al desacoplar las tareas de clasificación y regresión y eliminar la compleja capa específica, reduce a cero el recuento de parámetros del cabezal durante la inferencia, ahorrando memoria y aumentando la velocidad.
- AlignedOTA: Para mejorar la estabilidad y la precisión del entrenamiento, YOLO emplea AlignedOTA, una estrategia dinámica de asignación de etiquetas que resuelve el problema de desalineación entre la confianza de la clasificación y la precisión de la regresión.
Puntos fuertes y casos prácticos
YOLO destaca en entornos donde la latencia es crítica. Sus variantes más pequeñas (Tiny/Small) son especialmente eficaces para las implantaciones de IA en los bordes.
- Automatización industrial: Ideal para líneas de montaje de alta velocidad donde los milisegundos cuentan.
- Aplicaciones móviles: El bajo número de parámetros lo hace adecuado para su ejecución en smartphones con potencia de cálculo limitada.
Más información sobre DAMO-YOLO
YOLOv7: optimizar la precisión en tiempo real
YOLOv7, lanzado poco antes que YOLO, estableció un nuevo punto de referencia para el rendimiento de vanguardia en el rango de 5 FPS a 160 FPS. Se centró en gran medida en optimizar el proceso de entrenamiento y el flujo de gradiente para lograr una mayor precisión sin aumentar los costes de inferencia.
- 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/
Innovaciones arquitectónicas
YOLOv7 introdujo métodos "bag-of-freebies" que mejoran la precisión durante el entrenamiento sin afectar a la estructura del modelo de inferencia:
- E-ELAN (Red de Agregación de Capas Eficiente Ampliada): Esta arquitectura controla las trayectorias de gradiente más cortas y más largas, lo que permite a la red aprender características más diversas. Mejora la capacidad de aprendizaje de la "cardinalidad" sin destruir el estado original de la ruta de gradiente.
- Escalado de modelos basados en concatenación: YOLOv7 propone un método de escalado compuesto que escala la profundidad y la anchura simultáneamente para arquitecturas basadas en concatenación, garantizando una utilización óptima de los parámetros.
- Bolsa de trabajo entrenable: Se utilizan técnicas como la re-parametrización planificada y la supervisión de cabezas auxiliares (de grueso a fino). Estas técnicas mejoran la robustez y precisión del modelo durante el entrenamiento, pero se fusionan o descartan durante la inferencia, lo que mantiene la rapidez del modelo.
Puntos fuertes y casos prácticos
YOLOv7 es un potente detector de objetos de uso general, que ofrece una excelente precisión media (mAP) en conjuntos de datos estándar como MS COCO.
- Vigilancia de ciudades inteligentes: Su gran precisión la hace fiable para detectar peatones y vehículos en entornos urbanos complejos.
- Sistemas autónomos: Adecuado para la robótica y los drones que requieren una detección fiable a distancias más largas, donde las entradas de mayor resolución son beneficiosas.
Comparación de rendimiento
La siguiente tabla contrasta el rendimiento de YOLO y YOLOv7. Mientras que YOLO suele lograr una latencia menor (mayor velocidad) para su tamaño, YOLOv7 mantiene en general una sólida reputación de precisión, sobre todo en sus configuraciones de mayor tamaño.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Los datos ilustran que, para entornos muy restringidos, YOLO ofrece una solución muy ligera (8,5M de parámetros para la versión diminuta). Sin embargo, YOLOv7 supera los límites de precisión con su variante X, que logra un 53,1% de mAP, aunque con mayores costes computacionales.
Compromisos arquitectónicos
Mientras que la red troncal basada en NAS de YOLO optimiza específicamente la latencia, el diseño arquitectónico manual de YOLOv7 se centra en la eficiencia del flujo gradiente. Los usuarios deben realizar pruebas comparativas con su hardware específico, ya que los FLOP teóricos no siempre se corresponden a la perfección con la velocidad de inferencia en el mundo real.
La ventaja Ultralytics : ¿Por qué actualizarse?
Aunque tanto YOLO como YOLOv7 representan logros significativos en la historia de la visión por ordenador, este campo evoluciona rápidamente. Para los desarrolladores que buscan las soluciones más robustas, versátiles y fáciles de usar, Ultralytics YOLO11 y YOLOv8 son las opciones recomendadas.
Los modelos Ultralytics están diseñados no sólo como artefactos de investigación, sino como herramientas integrales de producción. Abordan los problemas de la "última milla" en el despliegue de la IA: usabilidad, integración y mantenimiento.
Principales ventajas de los modelos Ultralytics
- Facilidad de uso: Con una API y CLI unificadas Python , puede entrenar un modelo de última generación en unas pocas líneas de código. No hay necesidad de ajustar manualmente complejos archivos de configuración o luchar con las dependencias.
- Ecosistema bien mantenido: Ultralytics proporciona un ecosistema próspero con actualizaciones frecuentes, identificando y corrigiendo errores rápidamente. El soporte está disponible a través de una extensa documentación y canales activos de la comunidad.
- Equilibrio de rendimiento: Modelos como YOLO11 utilizan cabezales de detección avanzados sin anclaje y columnas vertebrales optimizadas para lograr una relación precisión-velocidad superior a la de YOLOv7 y YOLO.
- Versatilidad: A diferencia de los modelos más antiguos, a menudo limitados a la detección, Ultralytics YOLO admite la segmentación de instancias, la estimación de poses, la detección de objetos orientados (OBB) y la clasificación desde el primer momento.
- Eficiencia del entrenamiento: Los pesos preentrenados y los cargadores de datos optimizados garantizan una convergencia más rápida, ahorrando horas de GPU y energía.
from ultralytics import YOLO
# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")
# Train on COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Conclusión
YOLO y YOLOv7 tienen méritos distintos. YOLO es un firme candidato para proyectos en los que la velocidad de inferencia de bordes es la principal limitación, ya que aprovecha el NAS para ahorrar milisegundos. YOLOv7 sigue siendo una opción sólida para los investigadores que buscan una detección de alta precisión con un linaje arquitectónico probado.
Sin embargo, para la mayoría de las aplicaciones comerciales y de investigación actuales, los Ultralytics YOLO ofrece una experiencia superior. Al combinar un rendimiento de vanguardia con una facilidad de uso y versatilidad inigualables, los modelos de Ultralytics permiten a los desarrolladores centrarse en crear valor en lugar de depurar código. Ultralytics ofrece el camino más ágil hacia la producción, tanto si se trata de implantar en un servidor en la nube como en un dispositivo periférico como NVIDIA Jetson.
Otros modelos
Si está explorando arquitecturas de detección de objetos, puede que también le interesen estos modelos:
- Ultralytics YOLOv8: un modelo muy versátil que admite tareas de detección, segmentación y pose.
- Ultralytics YOLO11: la última evolución de la serie YOLO , que ofrece una eficiencia de vanguardia.
- RT-DETR: Detector en tiempo real basado en un transformador que evita los retrasos NMS .
- YOLOv9: incorpora información de gradiente programable (PGI) para mejorar el aprendizaje.
- YOLOv10: se centra en la formación de extremo a extremo NMS para reducir la latencia.