Yolo Vision Shenzhen
Shenzhen
Únete ahora

Presentamos la segmentación de instancias en Ultralytics YOLOv5 v7.0

Equipo de Ultralytics

3 minutos de lectura

23 de noviembre de 2022

Descubra YOLOv5 v7.0 con nuevos modelos de segmentación de instancias, que superan los puntos de referencia SOTA para obtener la máxima precisión y velocidad de la IA. Únase 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 esta última versión, hemos mantenido dos objetivos centrales. El primero era nuestra misión de facilitar la IA, y el segundo era nuestro objetivo de redefinir lo que realmente significa “el estado del arte”.

Así que, con importantes mejoras, correcciones y actualizaciones, hemos hecho 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 e implementar sus modelos con YOLOv5 v7.0. Además de esto, hemos superado todos los puntos de referencia SOTA, haciendo que YOLOv5 sea el más rápido y preciso del mundo.

Como esta es nuestra primera versión de modelos de segmentación, estamos inmensamente orgullosos de este hito. Agradecemos enormemente a nuestra dedicada comunidad y a nuestros colaboradores, que han ayudado a hacer posible esta versión.  

Ultralytics YOLOv5 v7.0 Segmentación de instancias en tiempo real SOTA

Así que, ¡empecemos con las notas de la versión de YOLOv5 v7.0!

Actualizaciones importantes de YOLOv5

Esto es lo que se ha actualizado en YOLOv5 desde nuestra última versión de YOLOv5 v6.2 en agosto de 2022.

  • Modelos de segmentación ⭐ NUEVO: Los modelos de segmentación SOTA YOLOv5-seg preentrenados con COCO ya están disponibles por primera vez (#9052 por @glenn-jocher, @AyushExel y @Laughing-q)
  • Exportación a PaddlePaddle: Exporte 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)
  • Integración de registro y visualización de Comet: Gratis para siempre, Comet le permite guardar modelos YOLOv5, reanudar el entrenamiento y visualizar y depurar predicciones de forma interactiva. (#9232 por @DN6)

Nuevos puntos de control de segmentación

Entrenamos modelos de segmentación 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 pruebas de velocidad de CPU y a TensorRT FP16 para pruebas de velocidad de GPU. Ejecutamos todas las pruebas de velocidad en notebooks de Google Colab Pro para facilitar la reproducibilidad.

  • Todos los puntos de control se entrenan a 300 épocas con el optimizador SGD con lr0=0,01 y weight_decay=5e-5 con un tamaño de imagen de 640 y todos los ajustes predeterminados. Todas las ejecuciones se registran aquí.
  • Los valores de precisión son para un solo modelo a una sola escala en el conjunto de datos COCO. Reprodúzcalo con python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
  • Velocidad promediada en 100 imágenes de inferencia utilizando una instancia Colab Pro A100 High-RAM. Los valores indican la velocidad de inferencia únicamente (NMS añade aproximadamente 1 ms por imagen). Reprodúzcalo con python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
  • La exportación a ONNX en FP32 y TensorRT en FP16 se realiza con export.py. Reprodúzcalo 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 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 luego python train.py --data coco.yaml.

Un solo GPU

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

Validar la precisión de YOLOv5m-seg en el conjunto de datos ImageNet-1k:

bash data/scripts/get_coco.sh --val --segments  # descargar la división de segmentos val de COCO (780MB, 5000 imágenes) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640  # validar

Predicción

Usar 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 es compatible)

Segmentación de instancias Ultralytics YOLOv5 v7.0


Exportar

Exportar el modelo YOLOv5s-seg a ONNX y TensorRT:

python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

Segmentación de instancias Ultralytics YOLOv5 v7.0

¿Tiene alguna pregunta? Consulte el foro de Ultralytics, abra un issue o envíe una PR en el repositorio. También puede empezar con nuestro YOLOv5 segmentation Colab notebook para tutoriales de inicio rápido.

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Comienza gratis
Enlace copiado al portapapeles