Presentamos la segmentación de instancias en Ultralytics YOLOv5 v7.0
Descubre YOLOv5 v7.0, la versión que introdujo los modelos de segmentación de instancias de YOLOv5, con ejemplos de entrenamiento, validación, predicción y exportación.
Nuvola Ladi4 min de lectura
Ya está disponible YOLOv5 v7.0, la última versión de nuestra arquitectura de IA, y estamos encantados de presentar nuestros nuevos modelos de segmentación de instancias. (Para proyectos nuevos, consulta Ultralytics YOLO26, que también admite la segmentación de instancias).

Al trabajar en esta última versión, hemos mantenido dos objetivos en primer plano. El primero era nuestra misión de facilitar el uso de la IA y el segundo, nuestro propósito de redefinir lo que significa realmente «vanguardia».
Con mejoras, correcciones y actualizaciones importantes, eso es precisamente lo que hemos hecho. Se mantienen los mismos flujos de trabajo sencillos de nuestros modelos de detección de objetos Ultralytics YOLOv5 actuales, y ahora entrenar, validar e implementar tus modelos con YOLOv5 v7.0 es más fácil que nunca. Además, hemos superado todos los resultados de referencia de vanguardia (SOTA), lo que convirtió a YOLOv5-seg en el modelo de segmentación de instancias en tiempo real más rápido y preciso en el momento de su lanzamiento.
Como esta es nuestra primera versión de modelos de segmentación, estamos muy orgullosos de este hito. Estamos enormemente agradecidos a nuestra entregada comunidad y a las personas que han contribuido y han hecho posible este lanzamiento.

¡Empecemos con las notas de la versión de YOLOv5 v7.0!
Actualizaciones importantes de Ultralytics YOLOv5#
Estas son las novedades de YOLOv5 desde el lanzamiento de YOLOv5 v6.2 en agosto de 2022.
- Modelos de segmentación ⭐ NUEVO: Ya están disponibles por primera vez los modelos de segmentación YOLOv5-seg de vanguardia preentrenados con COCO (#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, de @glenn-jocher) - YOLOv5 AutoCache:
python train.py --cache ramahora analizará la memoria disponible y la comparará con el uso de RAM previsto para el conjunto de datos. Esto reduce el riesgo al almacenar datos en caché y debería facilitar la adopción de esta función, que puede acelerar considerablemente el entrenamiento. (#10027, de @glenn-jocher) - Integración del registro y la visualización de Comet: Comet es gratis para siempre y te permite guardar modelos YOLOv5, reanudar el entrenamiento y visualizar y depurar predicciones de forma interactiva. (Comet, #9232, por @DN6)
Nuevos checkpoints de segmentación#
Entrenamos los modelos de segmentación Ultralytics YOLOv5 con COCO durante 300 épocas, con un tamaño de imagen de 640 y GPU 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 notebooks de Google Colab Pro para facilitar la reproducibilidad.
- Todos los checkpoints se entrenan durante 300 épocas con el optimizador SGD, lr0=0.01 y weight_decay=5e-5, con un tamaño de imagen de 640 y todos los ajustes predeterminados. Todas las ejecuciones están registradas en estos registros de entrenamiento de Weights & Biases.
- Los valores de precisión corresponden a un único modelo y una única escala en el conjunto de datos COCO. Reprodúcelo con
python segment/val.py --data coco.yaml --weights yolov5s-seg.pt - La velocidad es el promedio de 100 imágenes de inferencia en una instancia Colab Pro A100 con mucha RAM. Los valores solo indican la velocidad de inferencia (NMS añade aproximadamente 1 ms por imagen). Reprodúcelo 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 realizó con export.py. Reprodúcelo con
python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
Nuevos ejemplos de uso de la segmentación#
Entrenar#
El entrenamiento de segmentación de Ultralytics YOLOv5 admite 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, a continuación, python segment/train.py --data coco.yaml.
Una sola GPU#
python segment/train.py --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640Varias GPU con DDP#
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3Validar#
Valida la precisión de YOLOv5s-seg en el conjunto de datos COCO:
bash data/scripts/get_coco.sh --val --segments # download COCO val segments split (780MB, 5000 images)
python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validatePredecir#
Usa YOLOv5m-seg preentrenado para hacer una predicción sobre bus.jpg:
python segment/predict.py --weights yolov5m-seg.pt --source data/images/bus.jpgmodel = torch.hub.load("ultralytics/yolov5", "custom", "yolov5m-seg.pt") # carga desde PyTorch Hub (ADVERTENCIA: la inferencia aún no es compatible)
Exportar#
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 una incidencia o envía una PR en el repositorio. También puedes empezar con nuestro cuaderno de Colab sobre segmentación de YOLOv5, que incluye tutoriales para empezar rápidamente.
Escrito por
Comentarios
Haz una pregunta, comparte tus resultados o ayuda a otra persona.










