Inicio rápido de YOLOv5 🚀

Embárcate en tu viaje hacia el dinámico reino de la detección de objetos en tiempo real con Ultralytics YOLOv5. Esta guía está diseñada para servir como punto de partida integral para entusiastas y profesionales de la IA que deseen dominar YOLOv5. Desde la configuración inicial hasta las técnicas de entrenamiento avanzadas, tenemos todo cubierto. Al final de esta guía, tendrás el conocimiento para implementar YOLOv5 en tus proyectos con confianza utilizando métodos de aprendizaje profundo de vanguardia. ¡Enciende los motores y vuela con YOLOv5!

Instalar

Prepárate para el lanzamiento clonando el repositorio de YOLOv5 y configurando el entorno. Esto garantiza que todos los requisitos necesarios estén instalados. Verifica que tienes Python>=3.8.0 y PyTorch>=1.8 listos para el despegue. Estas herramientas fundamentales son cruciales para ejecutar YOLOv5 de manera efectiva.

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

Inferencia con PyTorch Hub

Experimenta la sencillez de la inferencia de YOLOv5 mediante PyTorch Hub, donde los modelos se descargan automáticamente desde la última versión de YOLOv5. Este método aprovecha la potencia de PyTorch para cargar y ejecutar modelos fácilmente, haciendo que obtener predicciones sea directo.

import torch

# Model loading
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # Can be 'yolov5n' - 'yolov5x6', or 'custom'

# Inference on images
img = "https://ultralytics.com/images/zidane.jpg"  # Can be a file, Path, PIL, OpenCV, numpy, or list of images

# Run inference
results = model(img)

# Display results
results.print()  # Other options: .show(), .save(), .crop(), .pandas(), etc. Explore these in the Predict mode documentation.

Inferencia con detect.py

Aprovecha detect.py para realizar inferencia versátil en diversas fuentes. Obtiene automáticamente los modelos desde la última versión de YOLOv5 y guarda los resultados con facilidad. Este script es ideal para el uso desde la línea de comandos e integrar YOLOv5 en sistemas más grandes, admitiendo entradas como 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

Replica los benchmarks del conjunto de datos COCO de YOLOv5 siguiendo las instrucciones de entrenamiento a continuación. Los modelos y conjuntos de datos necesarios (como coco128.yaml o el coco.yaml completo) se extraen directamente desde 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 funcionan más rápido). Maximiza el rendimiento utilizando el --batch-size más alto posible o usa --batch-size -1 para la función AutoBatch de YOLOv5, que encuentra automáticamente el tamaño de lote óptimo. Los siguientes tamaños de lote son ideales para GPUs V100-16GB. Consulta nuestra guía de configuración para obtener detalles sobre los archivos de configuración de modelos (*.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

Para concluir, YOLOv5 no es solo una herramienta de vanguardia para la detección de objetos, sino también un testimonio del poder del aprendizaje automático para transformar la forma en que interactuamos con el mundo a través de la comprensión visual. A medida que avanzas en esta guía y comienzas a aplicar YOLOv5 a tus proyectos, recuerda que estás a la vanguardia de una revolución tecnológica, capaz de lograr hazañas notables en visión artificial. Si necesitas más información o apoyo de otros visionarios, te invitamos a nuestro repositorio de GitHub, hogar de una próspera comunidad de desarrolladores e investigadores. Explora otros recursos como la Plataforma Ultralytics para la gestión de conjuntos de datos y entrenamiento de modelos sin código, o consulta nuestra página de Soluciones para obtener aplicaciones e inspiración del mundo real. Sigue explorando, sigue innovando y disfruta de las maravillas de YOLOv5. ¡Feliz detección! 🌠🔍

Comentarios