Inicio rápido de YOLOv5 🚀#
¡Embárcate en tu viaje hacia el ámbito dinámico 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 completo para entusiastas y profesionales de la IA que aspiran a dominar YOLOv5. Desde la configuración inicial hasta las técnicas de entrenamiento avanzadas, te 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 vanguardia. ¡Encendamos los motores y volvamos hacia 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. Comprueba que tienes Python>=3.8.0 y PyTorch>=1.8 listos para el despegue. Estas herramientas fundamentales son cruciales para ejecutar YOLOv5 de manera eficaz.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesInferencia con PyTorch Hub#
Experimenta la simplicidad de la inferencia con PyTorch Hub de YOLOv5, donde los modelos se descargan sin problemas desde la última versión de YOLOv5. Este método aprovecha la potencia de PyTorch para facilitar la carga y ejecución de modelos, haciendo que obtener predicciones sea algo 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 una inferencia versátil en varias fuentes. Obtiene automáticamente los modelos de la última versión de YOLOv5 y guarda los resultados con facilidad. Este script es ideal para su uso en la línea de comandos y para 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 streamEntrenamiento#
Replica las pruebas de rendimiento 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 completo coco.yaml) se extraen directamente de la última versión de YOLOv5. Entrenar YOLOv5n/s/m/l/x en una GPU V100 debería tomar típicamente 1/2/4/6/8 días respectivamente (ten en cuenta que las configuraciones de entrenamiento con múltiples GPU funcionan más rápido). Maximiza el rendimiento usando 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 GPU 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
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 en tus proyectos, recuerda que estás al frente de una revolución tecnológica, capaz de lograr hazañas notables en la visión artificial. Si necesitas más información o apoyo de otros visionarios, estás invitado a nuestro repositorio de GitHub, hogar de una comunidad próspera de desarrolladores e investigadores. Explora más recursos como Ultralytics Platform para la gestión de conjuntos de datos y el entrenamiento de modelos sin código, o echa un vistazo a nuestra página de Soluciones para aplicaciones del mundo real e inspiración. ¡Sigue explorando, sigue innovando y disfruta de las maravillas de YOLOv5. ¡Feliz detección! 🌠🔍