Inicio rápido de YOLOv5 🚀#
¡Embárcate en tu viaje por el dinámico mundo de la detección de objetos en tiempo real con Ultralytics YOLOv5! Esta guía está diseñada como un punto de partida completo para entusiastas y profesionales de la IA que quieran dominar YOLOv5. Desde la configuración inicial hasta las técnicas de entrenamiento avanzadas, lo encontrarás todo aquí. Al terminar esta guía, tendrás los conocimientos necesarios para implementar YOLOv5 en tus proyectos con confianza utilizando métodos de aprendizaje profundo de última generación. ¡Pongamos los motores en marcha y despeguemos hacia YOLOv5!
Instalación#
Prepárate para el lanzamiento clonando el repositorio de YOLOv5 y configurando el entorno. Esto garantiza que se instalen todos los requisitos necesarios. Comprueba que tienes Python>=3.8.0 y PyTorch>=1.8 listos para despegar. Estas herramientas fundamentales son cruciales para ejecutar YOLOv5 de forma eficaz.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesInferencia con PyTorch Hub#
Descubre la sencillez de la inferencia de YOLOv5 con PyTorch Hub, donde los modelos se descargan sin complicaciones desde la versión más reciente de YOLOv5. Este método aprovecha la potencia de PyTorch para cargar y ejecutar modelos fácilmente, lo que simplifica la obtención de predicciones.
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#
Usa detect.py para realizar inferencias versátiles en diversas fuentes. Descarga automáticamente los modelos desde la versión más reciente de YOLOv5 y guarda los resultados fácilmente. Este script es ideal para usar desde la línea de comandos e integrar YOLOv5 en sistemas más grandes, ya que admite 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 streamEntrenamiento#
Reproduce los benchmarks del conjunto de datos COCO de YOLOv5 siguiendo las instrucciones de entrenamiento que aparecen a continuación. Los modelos y conjuntos de datos necesarios (como coco128.yaml o el coco.yaml completo) se obtienen directamente de la versión más reciente de YOLOv5. El entrenamiento de YOLOv5n/s/m/l/x en una GPU V100 suele tardar 1/2/4/6/8 días, respectivamente (ten en cuenta que las configuraciones de entrenamiento con varias 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 del lote óptimo. Los siguientes tamaños de lote son ideales para GPU V100 de 16 GB. Consulta nuestra guía de configuración para obtener más información 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
En conclusión, YOLOv5 no solo es una herramienta de última generación para la detección de objetos, sino también una muestra del poder del aprendizaje automático para transformar la forma en que interactuamos con el mundo mediante la comprensión visual. A medida que avances por esta guía y empieces a aplicar YOLOv5 a tus proyectos, recuerda que estás en la vanguardia de una revolución tecnológica, capaz de lograr resultados extraordinarios en visión por ordenador. Si necesitas más información o apoyo de otros profesionales de la visión, te invitamos a visitar nuestro repositorio de GitHub, donde encontrarás una comunidad activa de desarrolladores e investigadores. Explora también recursos como Ultralytics Platform para gestionar conjuntos de datos y entrenar modelos sin código, o visita nuestra página de Soluciones para descubrir aplicaciones reales e inspiración. Sigue explorando, sigue innovando y disfruta de las maravillas de YOLOv5. ¡Feliz detección! 🌠🔍