YOLOv5 frente a YOLOv5: comparación técnica
En el panorama de la visión por ordenador, que avanza rápidamente, seleccionar el modelo de detección de objetos adecuado es fundamental para el éxito del proyecto. Este análisis ofrece una comparación técnica detallada entre YOLOv9una arquitectura centrada en la investigación que amplía los límites de la precisión, y Ultralytics YOLOv5el modelo estándar del sector, conocido por su fiabilidad, velocidad y versatilidad. Analizamos sus diferencias arquitectónicas, sus puntos de referencia de rendimiento y sus casos de uso ideales para ayudarle a tomar una decisión informada.
YOLOv9: innovación arquitectónica para la máxima precisión
Lanzado a principios de 2024, YOLOv9 se dirige a los límites teóricos de la detección de objetos abordando cuestiones fundamentales en el flujo de información del aprendizaje profundo. Está diseñado para escenarios en los que la precisión es primordial.
Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organización:Instituto de Ciencias de la Información, Academia Sinica, Taiwán
Fecha: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:DocumentaciónYOLOv9
Arquitectura básica
YOLOv9 introduce dos conceptos revolucionarios: La Información de Gradiente Programable (PGI) y la Red de Agregación de Capas Eficiente Generalizada (GELAN). PGI combate el problema del cuello de botella de información inherente a las redes neuronales profundas garantizando que se retiene toda la información de entrada para la función de pérdida, lo que mejora la fiabilidad del gradiente. GELAN optimiza la eficiencia de los parámetros, lo que permite al modelo lograr una mayor precisión con menos recursos computacionales en comparación con las arquitecturas anteriores que utilizan la convolución en profundidad.
Fortalezas y Debilidades
El principal punto fuerte de YOLOv9 es su precisión de vanguardia en puntos de referencia como el conjunto de datosCOCO . Destaca en la detección de objetos pequeños u ocluidos, donde otros modelos podrían fallar. Sin embargo, este énfasis en la precisión de la detección tiene sus contrapartidas. El proceso de formación puede requerir más recursos y, aunque está integrado en el ecosistema Ultralytics , el apoyo más amplio de la comunidad y las herramientas de terceros aún están madurando en comparación con modelos más consolidados. Además, su objetivo principal sigue siendo la detección, mientras que otros modelos ofrecen un soporte nativo multitarea más amplio.
Ultralytics YOLOv5: el estándar versátil del sector
Desde su lanzamiento en 2020, Ultralytics YOLOv5 ha definido el estándar para el despliegue práctico de IA en el mundo real. Consigue un equilibrio preciso entre rendimiento y facilidad de uso, lo que lo convierte en uno de los modelos más utilizados de la historia.
Autor: Glenn Jocher
Organización:Ultralytics
Fecha: 2020-06-26
GitHub:yolov5
Docs:YOLOv5 Documentation
Arquitectura básica
YOLOv5 emplea una arquitectura refinada basada en anclajes que incluye una red troncal CSPDarknet53 y un cuello PANet para una sólida agregación de características. Su diseño prioriza la velocidad de inferencia y la optimización de la ingeniería. El modelo está disponible en varias escalas (de Nano a Extra Large), lo que permite a los desarrolladores adaptarlo perfectamente a sus limitaciones de hardware, desde dispositivos de borde integrados hasta GPU en la nube.
La ventaja Ultralytics
Mientras que YOLOv9 va más allá de los límites académicos, YOLOv5 destaca en el aspecto práctico de la ingeniería.
- Facilidad de uso: YOLOv5 es famoso por su experiencia de "instalar y ejecutar". La APIPython simplificada y la completa documentación reducen considerablemente el tiempo de desarrollo.
- Ecosistema bien mantenido: Respaldado por Ultralytics, YOLOv5 disfruta de un mantenimiento activo, una comunidad masiva en GitHub y una integración perfecta con las herramientas de MLOps.
- Versatilidad: Más allá de la detección, YOLOv5 soporta de forma nativa la segmentación de instancias y la clasificación de imágenes, ofreciendo una solución unificada para diversas tareas de visión.
- Eficiencia de memoria: Los modelos Ultralytics están optimizados para ocupar menos memoria durante el entrenamiento y la inferencia, lo que contrasta con los elevados requisitos de las alternativas basadas en transformadores.
Métricas de rendimiento: Velocidad frente a precisión
La siguiente comparación pone de relieve las distintas funciones de estos modelos. En general, YOLOv9 consigue una mayor mAP (precisión media), sobre todo en los modelos de mayor tamaño (c y e). Esto hace que sea superior para tareas que requieren detalles granulares.
Por el contrario, YOLOv5 ofrece velocidades de inferencia imbatibles, especialmente con sus variantes Nano (n) y Small (s). Para aplicaciones en tiempo real en hardware periférico como NVIDIA Jetson o Raspberry Pi, YOLOv5 sigue siendo uno de los principales competidores gracias a su ligereza y a la madurez de optimización TensorRT .
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Consejo de implantación
Para una máxima flexibilidad de despliegue, ambos modelos pueden exportarse a formatos como ONNXTensorRT y CoreML utilizando el modo de exportación Ultralytics . Esto garantiza que sus modelos se ejecuten de forma eficiente en cualquier hardware de destino.
Formación y usabilidad
Las metodologías de formación difieren significativamente en la experiencia del usuario. Ultralytics YOLOv5 está diseñado para la eficiencia de la formación, ofreciendo preajustes robustos que trabajan fuera de la caja para conjuntos de datos personalizados. Cuenta con cálculo automático de anclaje, evolución de hiperparámetros y numerosas integraciones de registro.
YOLOv9, aunque potente, puede requerir un ajuste más cuidadoso de los hiperparámetros para lograr estabilidad y convergencia, especialmente en conjuntos de datos más pequeños. Sin embargo, gracias a su integración en el ultralytics Python , los desarrolladores ya pueden entrenar YOLOv5 con la misma sintaxis sencilla que YOLOv5, salvando así las distancias en cuanto a facilidad de uso.
Ejemplo de código
Con la biblioteca Ultralytics , cambiar entre estas arquitecturas es tan sencillo como cambiar el nombre del modelo. Este fragmento muestra cómo cargar y ejecutar la inferencia con ambos modelos:
from ultralytics import YOLO
# Load the established industry standard YOLOv5 (nano version)
model_v5 = YOLO("yolov5nu.pt")
# Run inference on an image
results_v5 = model_v5("path/to/image.jpg")
# Load the high-accuracy YOLOv9 (compact version)
model_v9 = YOLO("yolov9c.pt")
# Run inference on the same image for comparison
results_v9 = model_v9("path/to/image.jpg")
Casos de Uso Ideales
Cuándo elegir YOLOv9
- Inspección de alta precisión: Detección de defectos minúsculos en líneas de montaje de fabricación en las que cada píxel cuenta.
- Investigación avanzada: Proyectos que exploran nuevas arquitecturas de aprendizaje profundo como la información de gradiente programable.
- Entornos complejos: Escenarios con alta oclusión o desorden en los que la agregación avanzada de características de GELAN proporciona una ventaja decisiva.
Cuándo elegir YOLOv5
- Despliegue en el perímetro: Funcionamiento en dispositivos alimentados por batería o microcontroladores en los que el consumo de energía y el espacio ocupado por la memoria son críticos.
- Creación rápida de prototipos: Cuando necesitas pasar de la recopilación de datos a una demo funcional en horas, no en días, aprovechando los amplios tutoriales y recursos de la comunidad.
- Sistemas multitarea: Aplicaciones que requieren la estimación o clasificación de la pose junto con la detección dentro de una única base de código.
- Estabilidad de la producción: Entornos empresariales que requieren una solución probada con años de fiabilidad demostrada.
Conclusión
La elección entre YOLOv9 y YOLOv5 depende de sus limitaciones específicas. YOLOv9 es la mejor opción para maximizar la precisión, ya que ofrece mejoras arquitectónicas de vanguardia. YOLOv5 sigue siendo el campeón de la versatilidad y la facilidad de uso, ofreciendo un ecosistema sólido y bien respaldado que simplifica todo el ciclo de vida de la IA.
A los desarrolladores que busquen lo mejor de ambos mundos -combinar la facilidad de uso de YOLOv5 con un rendimiento superior al YOLOv9les recomendamos explorar YOLO11. Como última iteración de Ultralytics, YOLO11 ofrece una velocidad y precisión de vanguardia en todas las tareas de visión, lo que representa el futuro de la familia YOLO .
Explorar Otros Modelos
- YOLO11: El último y más potente modelo de Ultralytics para detección, segmentación y pose.
- YOLOv8: Un potente predecesor de YOLO11 que ofrece un gran equilibrio de funciones.
- RT-DETR: Detector basado en transformador optimizado para funcionar en tiempo real.