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() # or .show(), .save(), .crop(), .pandas(), etc.Inferencia con detect.py#
Aprovecha detect.py para una inferencia versátil en varias fuentes. El script recupera automáticamente modelos de la última versión de YOLOv5 y guarda los resultados con facilidad. Este script es ideal para el 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 comparativas 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 obtienen 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 utilizando el --batch-size más alto posible o utiliza --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 el Resumen de arquitectura 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
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! 🌠🔍
Preguntas frecuentes#
No para la inferencia. PyTorch Hub descarga el código y los pesos bajo demanda con
torch.hub.load("ultralytics/yolov5", "yolov5s"). Es necesario clonar el repositorio para ejecutar los scriptstrain.py,val.py,detect.pyyexport.py.yolov5s.ptofrece el mejor equilibrio entre velocidad y precisión para la mayoría de los proyectos. Utilizayolov5n.ptpara dispositivos perimetrales,yolov5m.ptoyolov5x.ptcuando la precisión importe más que la velocidad, y las variantes P6 comoyolov5s6.ptpara entrenar a 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/ylabels/, descríbelas en un archivodataset.yamly ejecutapython train.py --data dataset.yaml --weights yolov5s.pt. El tutorial Entrenar datos personalizados detalla 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 trabajos, YOLO26 en el paquete
ultralyticses más rápido, más preciso y se exporta de extremo a extremo sin NMS, utilizando el mismo flujo de trabajo depip install ultralyticsdescrito en la Guía de inicio rápido.