YOLOv5
Visión general
YOLOv5u represents an advancement in object detection methodologies. Originating from the foundational architecture of the YOLOv5 model developed by Ultralytics, YOLOv5u integrates the anchor-free, objectness-free split head, a feature previously introduced in the YOLOv8 models. This adaptation refines the model's architecture, leading to an improved accuracy-speed tradeoff in object detection tasks. Given the empirical results and its derived features, YOLOv5u provides an efficient alternative for those seeking robust solutions in both research and practical applications.
Características principales
-
Cabeza dividida sin anclajes Ultralytics : 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 un cabezal dividido Ultralytics sin anclajes, garantiza un mecanismo de detección más flexible y adaptable, lo que mejora el rendimiento en diversos escenarios.
-
Compromiso Optimizado Precisión-Velocidad: La velocidad y la precisión suelen ir en direcciones opuestas. Pero YOLOv5u desafía este compromiso. Ofrece un equilibrio calibrado, garantizando 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 plétora de modelos preentrenados. Tanto si te centras en la Inferencia, la Validación o el Entrenamiento, hay un modelo a tu medida esperándote. Esta variedad garantiza que no utilices una solución única para todos, sino un modelo ajustado específicamente a tu reto particular.
Tareas y modos admitidos
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 modelo | Pesos preentrenados | Tarea | Inferencia | Validación | Formación | 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 diversos modos operativos, como Inferencia, Validación, Entrenamiento y Exportación. Este completo soporte garantiza que los usuarios puedan aprovechar plenamente las capacidades de los modelos YOLOv5u en una amplia gama de escenarios de detección de objetos.
Métricas de rendimiento
Rendimiento
Consulta los Documentos 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) |
parámetros (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 |
Ejemplos de uso
Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia de YOLOv5 . Para obtener documentación completa sobre estos y otros modos, consulta las páginas de documentación Predecir, Entrenar, Val y Exportar.
Ejemplo
PyTorch pretrained *.pt
modelos, así como la configuración *.yaml
pueden pasarse a la función YOLO()
para crear una instancia del 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")
CLI para ejecutar directamente los modelos:
Citas y agradecimientos
Si utilizas YOLOv5 o YOLOv5u en tu investigación, cita el repositorio Ultralytics YOLOv5 de la siguiente manera:
Ten en cuenta que los modelos YOLOv5 se proporcionan bajo AGPL-3.0 y Enterprise.
PREGUNTAS FRECUENTES
¿Qué es Ultralytics YOLOv5u y en qué se diferencia de YOLOv5?
Ultralytics YOLOv5u is an advanced version of YOLOv5, integrating the anchor-free, objectness-free split head that enhances the accuracy-speed tradeoff for real-time object detection tasks. Unlike the traditional YOLOv5, YOLOv5u adopts an anchor-free detection mechanism, making it more flexible and adaptive in diverse scenarios. For more detailed information on its features, you can refer to the YOLOv5 Overview.
¿Cómo mejora el cabezal Ultralytics sin anclajes el rendimiento de la detección de objetos en YOLOv5u?
El cabezal Ultralytics sin anclajes de YOLOv5u mejora el rendimiento de la detección de objetos al eliminar la dependencia de los cuadros de anclaje predefinidos. El resultado es un mecanismo de detección más flexible y adaptable que puede manejar diversos tamaños y formas de objetos con mayor eficacia. Esta mejora contribuye directamente a un compromiso equilibrado entre precisión y velocidad, lo que hace que YOLOv5u sea adecuado para aplicaciones en tiempo real. Más información sobre su arquitectura en la sección Características principales.
¿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 varios modos, como 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 una visión general detallada, consulta la sección Tareas y Modos Soportados.
¿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 en función de la plataforma y el hardware utilizados. 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 de 1,06 ms en A100 TensorRT. Puedes encontrar métricas de rendimiento detalladas para diferentes modelos YOLOv5u en la sección Métricas de rendimiento, que proporciona una comparación exhaustiva entre varios dispositivos.
¿Cómo puedo entrenar un modelo YOLOv5u utilizando la API Ultralytics Python ?
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
Para obtener instrucciones más detalladas, visita la sección Ejemplos de uso.