Ultralytics YOLO27:
Get Started

Ultralytics YOLOv5#

Descripción general#

YOLOv5u representa un avance en las metodologías de detección de objetos. Derivado de la arquitectura fundamental del modelo YOLOv5 desarrollado por Ultralytics, YOLOv5u integra la cabeza dividida sin anclajes y sin predicción de presencia de objetos, una característica introducida anteriormente en los modelos YOLOv8. Esta adaptación perfecciona la arquitectura del modelo y logra un mejor equilibrio entre precisión y velocidad en las tareas de detección de objetos. A partir de los resultados empíricos y las características derivadas, YOLOv5u ofrece una alternativa eficiente para quienes buscan soluciones sólidas tanto para la investigación como para aplicaciones prácticas.

Arquitectura y rendimiento del modelo de detección de objetos YOLOv5

Los modelos entrenados con el repositorio original de YOLOv5 no son compatibles con la biblioteca Ultralytics.

Ultralytics ofrece una variante sin anclajes del modelo YOLOv5. Los modelos entrenados con el repositorio ultralytics/yolov5 no se pueden cargar con la biblioteca ultralytics/ultralytics. Para usar YOLOv5 aquí, entrena un modelo nuevo a partir de un punto de control de Ultralytics YOLOv5u (por ejemplo, yolov5su.pt).

Pruébalo en Ultralytics Platform

Descubre y ejecuta modelos YOLOv5 directamente en Ultralytics Platform.

Características principales#

  • Cabeza dividida de Ultralytics sin anclajes: Los modelos tradicionales de detección de objetos se basan en cajas de anclaje predefinidas para predecir la ubicación de los objetos. Sin embargo, YOLOv5u moderniza este enfoque. Al adoptar una cabeza dividida de Ultralytics sin anclajes, garantiza un mecanismo de detección más flexible y adaptable y, por tanto, mejora el rendimiento en diversos escenarios.

  • Equilibrio optimizado entre precisión y velocidad: La velocidad y la precisión suelen ser contrapuestas. Pero YOLOv5u desafía este equilibrio. Ofrece un balance calibrado que garantiza detecciones en tiempo real sin sacrificar precisión. Esta característica es especialmente valiosa para aplicaciones que requieren respuestas rápidas, como los vehículos autónomos, la robótica y el análisis de vídeo en tiempo real.

  • Variedad de modelos preentrenados: Como cada tarea requiere herramientas distintas, YOLOv5u ofrece una gran variedad de modelos preentrenados. Tanto si te centras en la inferencia como en la validación o el entrenamiento, tienes a tu disposición un modelo hecho a medida. Esta variedad garantiza que no uses una solución única para todo, sino un modelo ajustado específicamente a tu reto.

Tareas y modos compatibles#

Los modelos YOLOv5u, con diversos pesos preentrenados, destacan en tareas de detección de objetos. Admiten una amplia gama de modos, por lo que son adecuados para diversas aplicaciones, desde el desarrollo hasta la implementación.

Tipo de modeloPesos preentrenadosTareaEntrenamientoValidaciónInferenciaExportar
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uDetección de objetos✅✅✅✅

Esta tabla ofrece una descripción detallada de las variantes del modelo YOLOv5u y destaca su aplicabilidad en tareas de detección de objetos y la compatibilidad con varios modos operativos, como inferencia, validación, entrenamiento y exportación. Esta compatibilidad integral garantiza que los usuarios puedan aprovechar al máximo las capacidades de los modelos YOLOv5u en una amplia variedad de escenarios de detección de objetos.

Métricas de rendimiento#

Rendimiento

Consulta la documentación de detección para ver ejemplos de uso de estos modelos entrenados con COCO, que incluyen 80 clases preentrenadas.

ModeloYAMLtamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
A100 TensorRT
(ms)
parámetros
(M)
FLOPs
(B)
yolov5nu.ptyolov5n.yaml64034.373.61.062.67.7
yolov5su.ptyolov5s.yaml64043.0120.71.279.124.0
yolov5mu.ptyolov5m.yaml64049.0233.91.8625.164.2
yolov5lu.ptyolov5l.yaml64052.2408.42.5053.2135.0
yolov5xu.ptyolov5x.yaml64053.2763.23.8197.2246.4
yolov5n6u.ptyolov5n6.yaml128042.1211.01.834.331.3
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.397.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.2261.3
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1549.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.51002.8

Ejemplos de uso#

Este ejemplo ofrece ejemplos sencillos de entrenamiento e inferencia con YOLOv5. Para consultar la documentación completa sobre estos y otros modos, visita las páginas de documentación de predicción, entrenamiento, validación y exportación.

Ejemplo

Se pueden pasar modelos *.pt preentrenados de PyTorch, así como archivos de configuración *.yaml, a la clase YOLO() para crear una instancia del modelo en Python:

from ultralytics import YOLO

# Carga un modelo YOLOv5nu preentrenado con COCO
model = YOLO("yolov5nu.pt")

# Mostrar información del modelo (opcional)
model.info()

# Entrena el modelo durante 100 épocas con el conjunto de datos de ejemplo COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Ejecuta la inferencia con el modelo YOLOv5nu en la imagen 'bus.jpg'
results = model("path/to/bus.jpg")

Citas y agradecimientos#

Publicación de Ultralytics YOLOv5

Ultralytics no ha publicado un artículo de investigación formal sobre YOLOv5 debido a la rápida evolución de los modelos. Nos centramos en hacer avanzar la tecnología y facilitar su uso, en lugar de producir documentación estática. Para obtener la información más actualizada sobre la arquitectura, las características y el uso de YOLO, consulta nuestro repositorio de GitHub y la documentación.

Si usas YOLOv5 o YOLOv5u en tu investigación, cita el repositorio de Ultralytics YOLOv5 de la siguiente manera:

Cita
@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

Ten en cuenta que los modelos YOLOv5 se ofrecen con licencias AGPL-3.0 y Enterprise.

Preguntas frecuentes#

  • Ultralytics YOLOv5u es una versión avanzada de YOLOv5 que integra una cabeza dividida sin anclajes y sin predicción de presencia de objetos, lo que mejora el equilibrio entre precisión y velocidad en las tareas de detección de objetos en tiempo real. A diferencia del YOLOv5 tradicional, YOLOv5u adopta un mecanismo de detección sin anclajes, lo que lo hace más flexible y adaptable a diversos escenarios. Para obtener información más detallada sobre sus características, consulta la descripción general de YOLOv5.

  • La cabeza de Ultralytics sin anclajes de YOLOv5u mejora el rendimiento de la detección de objetos al eliminar la dependencia de las cajas de anclaje predefinidas. Esto da lugar a un mecanismo de detección más flexible y adaptable, capaz de gestionar objetos de distintos tamaños y formas con mayor eficiencia. Esta mejora contribuye directamente a equilibrar la precisión y la velocidad, por lo que YOLOv5u es adecuado para aplicaciones en tiempo real. Obtén más información sobre su arquitectura en la sección Características principales.

  • Sí, puedes usar modelos YOLOv5u preentrenados para diversas tareas, como la detección de objetos. Estos modelos admiten varios modos, como inferencia, validación, entrenamiento y exportación. Esta flexibilidad permite a los usuarios aprovechar las capacidades de los modelos YOLOv5u para distintos requisitos operativos. Para obtener una descripción detallada, consulta la sección Tareas y modos compatibles.

  • Las métricas de rendimiento de los modelos YOLOv5u varían en función de la plataforma y el hardware utilizados. Por ejemplo, el modelo YOLOv5nu alcanza 34,3 mAP en el conjunto de datos COCO, con una velocidad de 73,6 ms en CPU (ONNX) y de 1,06 ms en A100 TensorRT. Puedes encontrar métricas de rendimiento detalladas para distintos modelos YOLOv5u en la sección Métricas de rendimiento, que ofrece una comparación exhaustiva entre varios dispositivos.

  • Puedes entrenar un modelo YOLOv5u cargando un modelo preentrenado y ejecutando el comando de entrenamiento con tu conjunto de datos. Aquí tienes un ejemplo rápido:

    Ejemplo
    from ultralytics import YOLO
    
    # Carga un modelo YOLOv5nu preentrenado con COCO
    model = YOLO("yolov5nu.pt")
    
    # Mostrar información del modelo (opcional)
    model.info()
    
    # Entrena el modelo durante 100 épocas con el conjunto de datos de ejemplo COCO8
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Para obtener instrucciones más detalladas, visita la sección Ejemplos de uso.

Comentarios