Link to this sectionUltralytics YOLOv5#
Link to this sectionDescripción general#
YOLOv5u representa un avance en las metodologías de detección de objetos. Partiendo de la arquitectura fundamental del modelo YOLOv5 desarrollado por Ultralytics, YOLOv5u integra la arquitectura "split head" sin anclas ni "objectness", una característica presentada anteriormente en los modelos YOLOv8. Esta adaptación refina la arquitectura del modelo, lo que conduce a una mejora en el equilibrio entre precisión y velocidad en 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 investigación como en aplicaciones prácticas.

Ultralytics proporciona una variante de YOLOv5 sin anclas. Los modelos entrenados con el repositorio ultralytics/yolov5 no pueden cargarse con la biblioteca ultralytics/ultralytics. Para usar YOLOv5 aquí, entrena un nuevo modelo a partir de un checkpoint de Ultralytics YOLOv5u (por ejemplo, yolov5su.pt).
Explora y ejecuta modelos YOLOv5 directamente en Ultralytics Platform.
Link to this sectionCaracterí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 compromiso. Ofrece un equilibrio calibrado, asegurando 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 analítica 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.
Link to this sectionTareas y modos soportados#
Los modelos YOLOv5u, con varios pesos preentrenados, sobresalen en tareas de detección de objetos. Admiten una amplia gama de modos, lo que los hace adecuados para diversas aplicaciones, desde el desarrollo hasta la implementación.
| Tipo de modelo | Pesos preentrenados | Tarea | Inferencia | Validación | Entrenamiento | Exportar |
|---|---|---|---|---|---|---|
| YOLOv5u | yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u | Detección de objetos | ✅ | ✅ | ✅ | ✅ |
Esta tabla proporciona una visión 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. Este soporte integral garantiza que los usuarios puedan aprovechar al máximo las capacidades de los modelos YOLOv5u en una amplia gama de escenarios de detección de objetos.
Link to this sectionMétricas de rendimiento#
Consulta la Documentación de detección para ver ejemplos de uso con estos modelos entrenados en COCO, que incluyen 80 clases preentrenadas.
| Modelo | YAML | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad A100 TensorRT (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| yolov5nu.pt | yolov5n.yaml | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 |
| yolov5su.pt | yolov5s.yaml | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 |
| yolov5mu.pt | yolov5m.yaml | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 |
| yolov5lu.pt | yolov5l.yaml | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 |
| yolov5xu.pt | yolov5x.yaml | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 |
| yolov5n6u.pt | yolov5n6.yaml | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 |
| yolov5s6u.pt | yolov5s6.yaml | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 |
| yolov5m6u.pt | yolov5m6.yaml | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 |
| yolov5l6u.pt | yolov5l6.yaml | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 |
| yolov5x6u.pt | yolov5x6.yaml | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 |
Link to this sectionEjemplos de uso#
Este ejemplo proporciona ejemplos 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.
PyTorch pretrained *.pt models as well as configuration *.yaml files can be passed to the YOLO() class to create a model instance in 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")Link to this sectionCitas y agradecimientos#
Ultralytics no ha publicado un artículo de investigación formal para YOLOv5 debido a la naturaleza de 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:
@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.
Link to this sectionFAQ#
Link to this section¿Qué es Ultralytics YOLOv5u y en qué se diferencia de YOLOv5?#
Ultralytics YOLOv5u es una versión avanzada de YOLOv5 que integra el cabezal dividido sin anclas ni "objectness", lo que mejora el equilibrio 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 anclas, haciéndolo más flexible y adaptable en diversos escenarios. Para obtener información más detallada sobre sus características, puedes consultar el Resumen de YOLOv5.
Link to this section¿Cómo mejora el rendimiento de la detección de objetos el cabezal de Ultralytics sin anclas en YOLOv5u?#
El cabezal de Ultralytics sin anclas en YOLOv5u mejora el rendimiento de la detección de objetos al eliminar la dependencia de cajas delimitadoras (anchor boxes) predefinidas. Esto da lugar a 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 compensado entre precisión y velocidad, lo que hace que YOLOv5u sea adecuado para aplicaciones en tiempo real. Aprende más sobre su arquitectura en la sección Características clave.
Link to this section¿Puedo utilizar modelos YOLOv5u preentrenados para diferentes tareas y modos?#
Sí, puedes utilizar modelos YOLOv5u preentrenados para diversas tareas, como la detección de objetos. Estos modelos admiten múltiples modos, incluyendo inferencia, validación, entrenamiento y exportación. Esta flexibilidad permite a los usuarios aprovechar las capacidades de los modelos YOLOv5u según diferentes requisitos operativos. Para una visión general detallada, consulta la sección Tareas y modos compatibles.
Link to this section¿Cómo se comparan las métricas de rendimiento de los modelos YOLOv5u en diferentes plataformas?#
Las métricas de rendimiento de los modelos YOLOv5u varían según la plataforma y el hardware utilizado. Por ejemplo, el modelo YOLOv5nu logra un 34.3 mAP 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 diferentes modelos YOLOv5u se pueden encontrar en la sección Métricas de rendimiento, que proporciona una comparación exhaustiva entre varios dispositivos.
Link to this section¿Cómo puedo entrenar un modelo YOLOv5u usando la API de Python de Ultralytics?#
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:
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 Ejemplos de uso.