YOLOv7 vs. YOLOv9: Una comparación técnica exhaustiva
La evolución de la familia YOLO (You Only Look Once) ha estado marcada por la innovación continua en la arquitectura de redes neuronales, equilibrando las concesiones críticas entre la velocidad de inferencia, la precisión y la eficiencia computacional. Esta comparación profundiza en YOLOv7, un lanzamiento importante de 2022 conocido por su "bag-of-freebies" entrenable, y YOLOv9, una arquitectura de 2024 que introduce la Información de Gradiente Programable (PGI) para superar los cuellos de botella de información en redes profundas.
Análisis de rendimiento y eficiencia
La transición de YOLOv7 a YOLOv9 representa un avance significativo en la eficiencia de los parámetros. Mientras que YOLOv7 se optimizó para superar los límites de la detección de objetos en tiempo real utilizando Redes de Agregación de Capas Eficientes Extendidas (E-ELAN), YOLOv9 introduce cambios arquitectónicos que le permiten alcanzar una mayor Precisión Media Promedio (mAP) con menos parámetros y Operaciones de Punto Flotante (FLOPs).
Para los desarrolladores centrados en la implementación de IA en el borde, esta eficiencia es crucial. Como se ilustra en la tabla siguiente, YOLOv9e alcanza un mAP del 55,6% dominante, superando al YOLOv7x más grande, al tiempo que mantiene una huella computacional competitiva. Por el contrario, el YOLOv9t más pequeño ofrece una solución ligera para dispositivos muy limitados, un nivel al que YOLOv7 no se dirige explícitamente con la misma granularidad.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
YOLOv7: optimización del Bag-of-Freebies entrenable
Lanzado en julio de 2022, YOLOv7 introdujo varias reformas estructurales en la arquitectura YOLO, centrándose en optimizar el proceso de entrenamiento sin aumentar el coste de inferencia.
- Autores: Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao
- Organización:Institute of Information Science, Academia Sinica, Taiwan
- Fecha: 2022-07-06
- Arxiv:YOLOv7: El conjunto entrenable de bag-of-freebies establece un nuevo estado del arte
- GitHub:WongKinYiu/yolov7
Puntos destacados de la arquitectura
YOLOv7 utiliza E-ELAN (Red de Agregación de Capas Eficiente Extendida), que controla las rutas de gradiente más cortas y más largas para permitir que la red aprenda más características de manera efectiva. También popularizó el escalado de modelos para modelos basados en concatenación, lo que permite escalar la profundidad y el ancho simultáneamente. Una innovación clave fue la convolución reparametrizada planificada, que agiliza la arquitectura del modelo durante la inferencia para aumentar la velocidad.
Estado de legado
Si bien YOLOv7 sigue siendo un modelo capaz, carece del soporte nativo para las optimizaciones más recientes que se encuentran en el ecosistema de Ultralytics. Los desarrolladores pueden encontrar la integración con las herramientas modernas de MLOps más desafiante en comparación con las iteraciones más recientes.
YOLOv9: Solucionando el Cuello de Botella de la Información
YOLOv9, introducido a principios de 2024, aborda un problema fundamental en el aprendizaje profundo: la pérdida de información a medida que los datos pasan por capas sucesivas.
- Autores: Chien-Yao Wang y Hong-Yuan Mark Liao
- Organización:Institute of Information Science, Academia Sinica, Taiwan
- Fecha: 2024-02-21
- Arxiv:YOLOv9: Aprendizaje de lo que quieres aprender utilizando PGI
- GitHub:WongKinYiu/yolov9
Puntos destacados de la arquitectura
La innovación principal en YOLOv9 es la Información de Gradiente Programable (PGI). En redes profundas, la información útil puede perderse durante el proceso de avance, lo que lleva a gradientes no confiables. PGI proporciona un marco de supervisión auxiliar que garantiza que la información clave se conserve para la función de pérdida. Además, la Red de Agregación de Capas Eficiente Generalizada (GELAN) extiende las capacidades de ELAN al permitir el bloqueo arbitrario, maximizando el uso de parámetros y recursos computacionales.
Esta arquitectura hace que YOLOv9 sea excepcionalmente potente para tareas de detección complejas, como la detección de objetos pequeños en entornos desordenados o el análisis de imágenes aéreas de alta resolución.
¿Por qué los modelos de Ultralytics (YOLO11 & YOLOv8) son la opción preferida?
Si bien YOLOv7 y YOLOv9 son logros académicos impresionantes, la serie Ultralytics YOLO, incluyendo YOLOv8 y el YOLO11 de última generación, está diseñada específicamente para el desarrollo de aplicaciones prácticas en el mundo real. Estos modelos priorizan la facilidad de uso, la integración del ecosistema y la eficiencia operativa, lo que los convierte en la opción superior para la mayoría de los equipos de ingeniería.
Experiencia de Usuario Optimizada
Los modelos de Ultralytics están envueltos en una API de python unificada que abstrae las complejidades de las canalizaciones de entrenamiento. Cambiar entre tareas de detección de objetos, segmentación de instancias, estimación de poses y bounding box orientados (OBB) requiere solo un cambio de argumento, una versatilidad que falta en las implementaciones estándar de YOLOv7 o YOLOv9.
from ultralytics import YOLO
# Load a model (YOLO11 automatically handles architecture)
model = YOLO("yolo11n.pt") # Load a pretrained model
# Train the model with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Perform inference on an image
results = model("path/to/image.jpg")
Ecosistema bien mantenido
Elegir un modelo de Ultralytics otorga acceso a un ecosistema robusto. Esto incluye una integración perfecta con Ultralytics HUB (y la próxima plataforma de Ultralytics) para la formación en la nube y la gestión de conjuntos de datos. Además, la comunidad activa y las actualizaciones frecuentes garantizan la compatibilidad con el hardware más reciente, como la exportación a TensorRT u OpenVINO para obtener velocidades de inferencia óptimas.
Memoria y Eficiencia del Entrenamiento
Los modelos de Ultralytics son famosos por su eficiencia de entrenamiento. A diferencia de los modelos basados en transformadores (como RT-DETR), que pueden consumir mucha memoria y tardar en converger, los modelos Ultralytics YOLO utilizan cargadores de datos optimizados y aumento de mosaico para ofrecer tiempos de entrenamiento rápidos con menores requisitos de memoria CUDA. Esto permite a los desarrolladores entrenar modelos de última generación en las GPU de consumo.
Casos de Uso Ideales
La selección del modelo adecuado depende de las limitaciones específicas de su proyecto.
Aplicaciones reales de YOLOv9
- Investigación y evaluación comparativa: Ideal para estudios académicos que requieren la máxima precisión reportada en el conjunto de datos COCO.
- Vigilancia de alta fidelidad: En escenarios como los sistemas de alarma de seguridad donde una ganancia de precisión del 1-2% justifica una mayor complejidad de implementación.
Aplicaciones en el Mundo Real para YOLOv7
- Sistemas heredados: Proyectos ya construidos en los ecosistemas Darknet o PyTorch iniciales que requieren una cantidad estable y conocida sin refactorizar todo el código base.
Aplicaciones en el Mundo Real para Ultralytics YOLO11
- Ciudades inteligentes: Uso del seguimiento de objetos para el análisis del flujo de tráfico donde la velocidad y la facilidad de implementación son primordiales.
- Sanidad: Análisis de imágenes médicas donde la segmentación y la detection a menudo se necesitan simultáneamente.
- Fabricación: Implementación de sistemas de control de calidad en dispositivos edge como NVIDIA Jetson o Raspberry Pi, beneficiándose de las opciones de exportación sencillas a TFLite y ONNX.
Conclusión
Tanto YOLOv7 como YOLOv9 representan hitos importantes en la historia de la visión artificial. YOLOv9 ofrece una actualización convincente sobre v7 con su arquitectura PGI, que ofrece una mejor eficiencia y precisión. Sin embargo, para los desarrolladores que buscan una solución versátil, fácil de usar y bien soportada, Ultralytics YOLO11 sigue siendo la opción recomendada. Su equilibrio de rendimiento, documentación completa y capacidades multitarea (detect, segment, classify, pose) proporcionan el camino más rápido desde el concepto hasta la producción.
Explorar Otros Modelos
Para encontrar la opción perfecta para sus tareas específicas de visión artificial, considere explorar estas otras comparaciones:
- YOLOv8 vs. YOLOv9 - Compare la v8, ampliamente adoptada, con la v9, centrada en la investigación.
- YOLOv10 vs. YOLOv9 - Observa cómo se compara el YOLOv10 de extremo a extremo.
- YOLO11 vs. YOLOv8 - Comprende las mejoras en la última versión de Ultralytics.
- RT-DETR vs. YOLOv9 - Una mirada a la detección basada en transformadores frente a las CNN.