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á disponible, ¡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".
Por lo tanto, con mejoras significativas, correcciones y actualizaciones, hemos hecho precisamente eso. Manteniendo los mismos flujos de trabajo sencillos que nuestros modelos de detección de objetos de Ultralytics 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 SOTA benchmarks, lo que convierte de manera efectiva a YOLOv5 en el más rápido y preciso del mundo.
Al ser nuestro primer lanzamiento de modelos de segmentation, estamos inmensamente orgullosos de este hito. Debemos muchas gracias a nuestra dedicada comunidad y a nuestros contributors, que han ayudado a hacer posible este lanzamiento.

¡Comencemos con las release notes de YOLOv5 v7.0!
Actualizaciones importantes de Ultralytics YOLOv5#
Esto es lo que se ha actualizado en YOLOv5 desde nuestro último lanzamiento de YOLOv5 v6.2 en agosto de 2022.
- Segmentation Models ⭐ NEW: Los modelos de segmentación YOLOv5-seg preentrenados en COCO SOTA ya están disponibles por primera vez (#9052 por @glenn-jocher, @AyushExel y @Laughing-q)
- PaddlePaddle Export: Exporta cualquier modelo YOLOv5 (cls, seg, det) al formato Paddle con python export.py --include paddle (#9459 por @glenn-jocher)
- YOLOv5 AutoCache: El uso de python train.py --cache ram ahora escaneará la memoria disponible y la comparará con el uso de RAM del conjunto de datos previsto. Esto reduce el riesgo en el almacenamiento en caché y debería ayudar a mejorar la adopción de la función de almacenamiento en caché del conjunto de datos, lo que puede acelerar significativamente el entrenamiento. (#10027 por @glenn-jocher)
- Gratis para siempre, Comet te permite guardar modelos YOLOv5, reanudar el entrenamiento y visualizar y depurar predicciones de forma interactiva. (#9232 por @DN6)
Nuevos Checkpoints de segmentación#
Entrenamos los modelos de segmentación de Ultralytics YOLOv5 en COCO durante 300 épocas con un tamaño de imagen de 640 utilizando GPUs A100. Exportamos todos los modelos a ONNX FP32 para las pruebas de velocidad en CPU y a TensorRT FP16 para las pruebas de velocidad en GPU. Ejecutamos todas las pruebas de velocidad en los notebooks de Google Colab Pro para facilitar la reproducibilidad.
- Todos los puntos de control (checkpoints) se entrenan hasta 300 épocas con el optimizador SGD con lr0=0.01 y weight_decay=5e-5 a un tamaño de imagen de 640 y con toda la configuración por defecto. Todas las ejecuciones se registran en los 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
Nuevos ejemplos de uso de segmentación#
Entrenar#
El entrenamiento de segmentación de Ultralytics YOLOv5 permite la descarga automática del conjunto de datos de segmentación COCO128-seg con el argumento --data coco128-seg.yaml y la descarga manual del conjunto de datos COCO-segments con bash data/scripts/get_coco.sh --train --val --segments y luego python train.py --data coco.yaml.
GPU única#
python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640
DDP 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
Val#
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
Predict#
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)

Export#
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 Ultralytics forum, raise an issue o submit a PR en el repositorio. También puedes empezar con nuestro YOLOv5 segmentation Colab notebook para ver tutoriales de inicio rápido.






