YOLO Vision 2026:

Ultralytics YOLOv5#

Descripción general#

YOLOv5u representa un avance en las metodologías de detección de objetos. Originado a partir de la arquitectura fundamental del modelo YOLOv5 desarrollado por Ultralytics, YOLOv5u integra la cabeza dividida sin anclajes y sin objetividad (anchor-free, objectness-free), una característica introducida previamente en los modelos YOLOv8. Esta adaptación perfecciona la arquitectura del modelo, lo que da lugar a una mejor relación precisión-velocidad en las tareas de detección de objetos. Dados los resultados empíricos y sus características derivadas, YOLOv5u ofrece una alternativa eficiente para quienes buscan soluciones robustas tanto en la investigación como en 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 de YOLOv5 sin anclajes. Los modelos entrenados con el repositorio ultralytics/yolov5 no se pueden cargar con la librería ultralytics/ultralytics. Para usar YOLOv5 aquí, entrena un nuevo modelo a partir de un punto de control (checkpoint) de Ultralytics YOLOv5u (por ejemplo, yolov5su.pt).

Pruébalo en la Plataforma Ultralytics

Explora y ejecuta modelos YOLOv5 directamente en Ultralytics Platform.

Características clave#

  • Cabezal de Ultralytics dividido y sin anclas: Los modelos tradicionales de detección de objetos dependen de cajas delimitadoras (anchor boxes) predefinidas para predecir la ubicación de los objetos. Sin embargo, YOLOv5u moderniza este enfoque. Al adoptar un cabezal de Ultralytics dividido y sin anclas, asegura un mecanismo de detección más flexible y adaptable, mejorando así el rendimiento en diversos escenarios.

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

  • Variedad de modelos preentrenados: Entendiendo que diferentes tareas requieren diferentes conjuntos de herramientas, YOLOv5u proporciona una gran cantidad de modelos preentrenados. Tanto si te centras en la inferencia, validación o entrenamiento, hay un modelo hecho a medida esperándote. Esta variedad asegura que no utilices una solución única para todo, sino un modelo ajustado específicamente para tu desafío único.

Tareas y modos soportados#

Los modelos YOLOv5u, con varios pesos preentrenados, destacan en las tareas de Detección de Objetos. Admiten una amplia gama de modos, lo que los hace adecuados para diversas aplicaciones, desde el desarrollo hasta el despliegue.

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

Esta tabla ofrece una visión general detallada de las variantes del modelo YOLOv5u, destacando su aplicabilidad en tareas de detección de objetos y su compatibilidad con varios modos operativos como Inferencia, Validación, Entrenamiento y Exportación. Esta compatibilidad integral garantiza que puedas aprovechar al máximo las capacidades de los modelos YOLOv5u en una amplia gama de escenarios de detección de objetos.

Métricas de rendimiento#

Rendimiento

Consulta la Detection Docs para ver ejemplos de uso con estos modelos entrenados en COCO, que incluyen 80 clases preentrenadas.

ModeloYAMLtamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
A100 TensorRT
(ms)
params
(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.37.8
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.324.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.265.7
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1137.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.4250.7

Ejemplos de uso#

Este ejemplo proporciona casos sencillos de entrenamiento e inferencia con YOLOv5. Para obtener la documentación completa sobre estos y otros modos, consulta las páginas de documentación de Predict, Train, Val y Export.

Ejemplo

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

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv5n model on the 'bus.jpg' image
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 nuestra documentación.

Si usas YOLOv5 o YOLOv5u en tu investigación, por favor 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 proporcionan bajo las licencias AGPL-3.0 y Enterprise.

FAQ#

  • Ultralytics YOLOv5u es una versión avanzada de YOLOv5 que integra la cabeza dividida sin anclajes y sin objetividad, lo que mejora la relación entre precisión y velocidad para 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 en diversos escenarios. Para obtener información más detallada sobre sus características, puedes consultar la Descripción general de YOLOv5.

  • La cabeza de Ultralytics sin anclajes en YOLOv5u mejora el rendimiento de la detección de objetos al eliminar la dependencia de cuadros de anclaje predefinidos. Esto da como resultado un mecanismo de detección más flexible y adaptable que puede manejar varios tamaños y formas de objetos con mayor eficiencia. Esta mejora contribuye directamente a un equilibrio óptimo entre precisión y velocidad, haciendo que YOLOv5u sea adecuado para aplicaciones en tiempo real. Obtén más información sobre su arquitectura en la sección de Características Principales.

  • Sí, puedes usar modelos YOLOv5u preentrenados para varias tareas, como la Detección de Objetos. Estos modelos admiten múltiples modos, incluidos Inferencia, Validación, Entrenamiento y Exportación. Esta flexibilidad permite a los usuarios aprovechar las capacidades de los modelos YOLOv5u en diferentes requisitos operativos. Para obtener una visión general detallada, consulta la sección de Tareas y Modos Compatibles.

  • Las métricas de rendimiento de los modelos YOLOv5u varían según la plataforma y el hardware utilizado. Por ejemplo, el modelo YOLOv5nu alcanza un mAP de 34.3 en el conjunto de datos COCO con una velocidad de 73.6 ms en CPU (ONNX) y 1.06 ms en A100 TensorRT. Las métricas de rendimiento detalladas para los diferentes modelos YOLOv5u se pueden encontrar en la sección de Métricas de Rendimiento, que ofrece una comparativa 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
    
    # Load a COCO-pretrained YOLOv5n model
    model = YOLO("yolov5n.pt")
    
    # Display model information (optional)
    model.info()
    
    # Train the model on the COCO8 example dataset for 100 epochs
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

Comentarios