YOLOv5 Inicio rápido 🚀
¡Embárcate en tu viaje al dinámico reino de la detección de objetos en tiempo real con Ultralytics YOLOv5! Esta guía está diseñada para servir como un punto de partida integral para entusiastas y profesionales de la IA que buscan dominar YOLOv5. Desde la configuración inicial hasta las técnicas de entrenamiento avanzadas, lo tenemos 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 última generación. ¡Encendamos los motores y elevemos el vuelo hacia YOLOv5!
Instalar
Prepárese para el lanzamiento clonando el repositorio YOLOv5 y estableciendo el entorno. Esto asegura que todos los requisitos necesarios estén instalados. Compruebe que tiene 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
Experimente la simplicidad de la inferencia de PyTorch Hub de YOLOv5, donde los modelos se descargan sin problemas de la última versión de YOLOv5. Este método aprovecha la potencia de PyTorch para facilitar la carga y ejecución de modelos, 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
Aprovechar detect.py
para versátil inferencia en varias fuentes. Automáticamente obtiene modelos de la última versión de YOLOv5 release y guarda los resultados con facilidad. Este script es ideal para el uso de la línea de comandos y la integración de YOLOv5 en sistemas más grandes, admitiendo entradas como imágenes, videos, directorios, cámaras web e incluso transmisiones en vivo.
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 de YOLOv5 Conjunto de datos COCO benchmarks siguiendo las instrucciones de entrenamiento a continuación. Lo necesario modelos y conjuntos de datos (como coco128.yaml
o el completo coco.yaml
) se extraen directamente del último YOLOv5 release. Entrenamiento de YOLOv5n/s/m/l/x en una V100 GPU normalmente debería tomar 1/2/4/6/8 días respectivamente (tenga en cuenta que Entrenamiento multi-GPU funcionan más rápido). Maximiza el rendimiento utilizando el --batch-size
o usar --batch-size -1
para YOLOv5 AutoBatch característica, que encuentra automáticamente el óptimo tamaño de lote. Los siguientes tamaños de lote son ideales para GPUs V100-16GB. Consulte nuestra guía de configuración para detalles 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
En conclusión, YOLOv5 no es solo una herramienta de última generación para la detección de objetos, sino también un testimonio del poder del aprendizaje automático en la transformación de nuestra forma de interactuar con el mundo a través de la comprensión visual. A medida que avances en esta guía y comiences 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 Ultralytics HUB para la gestión de conjuntos de datos y el 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! 🌠🔍