Presentamos la segmentación de instancias en YOLOv5 v7.0 de Ultralytics
Explora YOLOv5 v7.0 con nuevos modelos de segmentación de instancias, superando los benchmarks SOTA para obtener la mejor precisión y velocidad en IA. Únete a nuestra comunidad.

YOLOv5 v7.0, la última versión de nuestra arquitectura de IA, ya está aquí, ¡y estamos encantados de presentar nuestros nuevos modelos de segmentación de instancias!

Mientras trabajábamos en este último lanzamiento, hemos mantenido dos objetivos como prioridad absoluta. El primero fue nuestra misión de facilitar el uso de la IA, y el segundo fue nuestro objetivo de redefinir lo que significa realmente el "estado del arte".
Así que, con mejoras, correcciones y actualizaciones significativas, hemos logrado precisamente eso. Manteniendo los mismos flujos de trabajo sencillos que nuestros modelos de detección de objetos YOLOv5 existentes, ahora es más fácil que nunca entrenar, validar y desplegar tus modelos con YOLOv5 v7.0. Además de esto, hemos superado todos los benchmarks SOTA, convirtiendo efectivamente a YOLOv5 en el más rápido y preciso del mundo.
Al ser nuestro primer lanzamiento de modelos de segmentación, estamos inmensamente orgullosos de este hito. Debemos muchas gracias a nuestra dedicada comunidad y a nuestros colaboradores, que han ayudado a hacer posible este lanzamiento.

Así que, ¡empecemos con las notas de la versión de YOLOv5 v7.0!
Link to this sectionActualizaciones importantes de YOLOv5#
Aquí tienes lo que se ha actualizado en YOLOv5 desde nuestro último lanzamiento de YOLOv5 v6.2 en agosto de 2022.
- Modelos de segmentación ⭐ NUEVO: Los modelos de segmentación SOTA YOLOv5-seg preentrenados en COCO están ahora disponibles por primera vez (#9052 por @glenn-jocher, @AyushExel, y @Laughing-q)
- Exportación a PaddlePaddle: Exporta cualquier modelo YOLOv5 (cls, seg, det) al formato Paddle con python export.py --include paddle #9459 por @glenn-jocher)
- YOLOv5 AutoCache: Usa python train.py --cache ram; ahora escaneará la memoria disponible y la comparará con el uso de RAM previsto para el dataset. Esto reduce el riesgo en el almacenamiento en caché y debería ayudar a mejorar la adopción de la función de caché del dataset, lo que puede acelerar significativamente el entrenamiento. (#10027 por @glenn-jocher)
- Integración de registro y visualización con Comet: Gratuito para siempre, Comet te permite guardar modelos YOLOv5, reanudar el entrenamiento y visualizar y depurar predicciones de forma interactiva. (#9232 por @DN6)
Link to this sectionNuevos Checkpoints de segmentación#
Entrenamos los modelos de segmentación de YOLOv5 en COCO durante 300 épocas con un tamaño de imagen de 640 usando GPUs A100. Exportamos todos los modelos a ONNX FP32 para pruebas de velocidad en CPU y a TensorRT FP16 para pruebas de velocidad en GPU. Realizamos todas las pruebas de velocidad en notebooks de Google Colab Pro para facilitar la reproducibilidad.
- Todos los checkpoints están entrenados durante 300 epochs con el optimizador SGD con lr0=0.01 y weight_decay=5e-5 a un tamaño de imagen de 640 y con todos los ajustes predeterminados. Todas las ejecuciones se registran en Weights & Biases training logs.
- Los valores de precisión son para un modelo único a escala única en el dataset COCO. Reproduce esto con python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
- Velocidad promediada en 100 imágenes de inferencia usando una instancia Colab Pro A100 High-RAM. Los valores indican solo la velocidad de inferencia (NMS añade aproximadamente 1ms por imagen). Reproduce esto con python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
- La exportación a ONNX en FP32 y a TensorRT en FP16 se realiza con export.py. Reproduce esto con python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
Link to this sectionNuevos ejemplos de uso de segmentación#
Link to this sectionEntrenar#
El entrenamiento de segmentación de YOLOv5 admite la descarga automática del dataset de segmentación COCO128-seg con el argumento --data coco128-seg.yaml y la descarga manual del dataset COCO-segments con bash data/scripts/get_coco.sh --train --val --segments y luego python train.py --data coco.yaml.
Link to this sectionGPU única#
python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640
Link to this sectionDDP Multi-GPU#
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3
Link to this sectionVal#
Valida la precisión de YOLOv5m-seg en el dataset COCO:
bash data/scripts/get_coco.sh --val --segments # descargar el split de segmentos de validación de COCO (780MB, 5000 imágenes) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validar
Link to this sectionPredict#
Usa YOLOv5m-seg preentrenado para predecir bus.jpg:
python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg
model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') # cargar desde PyTorch Hub (ADVERTENCIA: la inferencia aún no está soportada)

Link to this sectionExport#
Exporta el modelo YOLOv5s-seg a ONNX y TensorRT:
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

¿Tienes alguna pregunta? Pregunta en el foro de Ultralytics, abre un issue o envía un PR en el repositorio. También puedes empezar con nuestro notebook de Colab de segmentación de YOLOv5 para ver tutoriales de inicio rápido.






