Ultralytics YOLO27: Únete a la lista de espera.
Empezar

Inicio rápido de YOLOv5 🚀

Esta guía es un punto de partida para la detección de objetos en tiempo real con Ultralytics YOLOv5. Abarca la instalación, la inferencia con PyTorch Hub y detect.py, y el entrenamiento, para que puedas aplicar este modelo de aprendizaje profundo a tus propios proyectos.

Instalación#

Clona el repositorio YOLOv5 e instala sus requisitos en un entorno con Python>=3.8.0 y PyTorch>=1.8.

git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependencies

Inferencias con PyTorch Hub#

Ejecuta la inferencia de YOLOv5 mediante PyTorch Hub, que descarga automáticamente los modelos de la versión más reciente de YOLOv5. Este método utiliza PyTorch para cargar y ejecutar el modelo, lo que facilita la obtención de predicciones.

import torch

# Carga del modelo
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # Puede ser 'yolov5n' - 'yolov5x6' o 'custom'

# Inferencias en imágenes
img = "https://ultralytics.com/images/zidane.jpg"  # Puede ser un archivo, Path, PIL, OpenCV, numpy o una lista de imágenes

# Ejecutar inferencia
results = model(img)

# Mostrar resultados
results.print()  # o .show(), .save(), .crop(), .pandas(), etc.

Inferencia con detect.py#

Usa detect.py para inferir sobre una amplia variedad de fuentes. Descarga automáticamente los modelos de la versión más reciente de YOLOv5 y guarda los resultados en runs/detect. Este script es ideal para usar desde la línea de comandos e integrar YOLOv5 en sistemas más grandes; admite imágenes, vídeos, directorios, cámaras web e incluso transmisiones en directo.

python detect.py --weights yolov5s.pt --source 0                              # webcam
python detect.py --weights yolov5s.pt --source image.jpg                      # image
python detect.py --weights yolov5s.pt --source video.mp4                      # video
python detect.py --weights yolov5s.pt --source screen                         # screenshot
python detect.py --weights yolov5s.pt --source path/                          # directory
python detect.py --weights yolov5s.pt --source list.txt                       # list of images
python detect.py --weights yolov5s.pt --source list.streams                   # list of streams
python detect.py --weights yolov5s.pt --source 'path/*.jpg'                   # glob pattern
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube video
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream

Entrenamiento#

Reproduce los resultados de referencia del conjunto de datos COCO de YOLOv5 siguiendo las instrucciones de entrenamiento que encontrarás a continuación. Los modelos y conjuntos de datos necesarios (como coco128.yaml o el coco.yaml completo) se descargan directamente de la última versión de YOLOv5. Entrenar YOLOv5n/s/m/l/x en una GPU V100 suele llevar 1/2/4/6/8 días, respectivamente (ten en cuenta que las configuraciones de entrenamiento multi-GPU son más rápidas). Maximiza el rendimiento usando el valor más alto posible de --batch-size o utiliza --batch-size -1 para la función AutoBatch de YOLOv5, que encuentra automáticamente el tamaño del lote óptimo. Los siguientes tamaños de lote son ideales para GPU V100 de 16 GB. Consulta el resumen de la arquitectura para obtener más información sobre los archivos de configuración del modelo (*.yaml).

# Train YOLOv5n on COCO128 for 3 epochs
python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128

# Train YOLOv5s on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64

# Train YOLOv5m on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40

# Train YOLOv5l on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24

# Train YOLOv5x on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
YOLOv5 training curves for COCO dataset

Mientras aplicas YOLOv5 a tus proyectos de visión artificial, el repositorio de GitHub es el lugar donde puedes hacer preguntas y compartir resultados con otros desarrolladores e investigadores. También puedes usar Ultralytics Platform para gestionar conjuntos de datos y entrenar modelos sin código, o consultar la página de soluciones para ver aplicaciones del mundo real.

Preguntas frecuentes#

  • No para la inferencia. PyTorch Hub descarga el código y los pesos cuando se necesitan con torch.hub.load("ultralytics/yolov5", "yolov5s"). Para ejecutar los scripts train.py, val.py, detect.py y export.py, sí es necesario clonar el repositorio.

  • yolov5s.pt ofrece el mejor equilibrio entre velocidad y precisión para la mayoría de los proyectos. Usa yolov5n.pt en dispositivos periféricos, yolov5m.pt a yolov5x.pt cuando la precisión sea más importante que la velocidad, y las variantes P6, como yolov5s6.pt, para entrenar con imágenes de 1280 píxeles. Consulta la tabla de puntos de control preentrenados para ver la lista completa.

  • Coloca las imágenes y las etiquetas en formato YOLO en las carpetas paralelas images/ y labels/, descríbelas en un archivo dataset.yaml y ejecuta python train.py --data dataset.yaml --weights yolov5s.pt. El tutorial Entrenar con datos personalizados explica cada paso.

  • YOLOv5 es estable y sigue contando con soporte completo en el repositorio independiente, pero ya no es el modelo más reciente. Para nuevos proyectos, YOLO26 del paquete ultralytics es más rápido, más preciso y se exporta de extremo a extremo sin NMS, siguiendo el mismo flujo de trabajo de pip install ultralytics descrito en la guía de inicio rápido.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.