Cheque verde
Enlace copiado en el portapapeles

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

Descubre YOLOv5 v7.0 con nuevos modelos de segmentación de instancias, que superan las pruebas de referencia SOTA en cuanto a precisión y velocidad de la 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 esta última versión, hemos mantenido dos objetivos en primer plano. El primero era nuestra misión de hacer que la IA sea fácil, y el segundo era nuestro objetivo de redefinir lo que significa realmente "de vanguardia".

Así que, con importantes mejoras, correcciones y actualizaciones, lo hemos conseguido. Manteniendo los mismos flujos de trabajo sencillos que nuestros actuales modelos de detección de objetos YOLOv5 , ahora es más fácil que nunca entrenar, validar y desplegar tus modelos con YOLOv5 v7.0. Además, hemos superado todos los puntos de referencia de la SOTA, lo que convierte a YOLOv5 en el más rápido y preciso del mundo.

Como se trata de nuestra primera versión de modelos de segmentación, estamos inmensamente orgullosos de este hito. Debemos muchas gracias a nuestra dedicada comunidad y a nuestros colaboradores, que han contribuido a hacer posible esta versión.  

Ultralytics YOLOv5 v7.0 Segmentación de Instancias en Tiempo Real SOTA

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

Actualizaciones importantes de YOLOv5

Esto es lo que se ha actualizado en YOLOv5 desde nuestro último 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 SOTA YOLOv5-seg COCO-preentrenados(#9052 por @glenn-jocher, @AyushExel y @Laughing-q)
  • PaddlePaddle Exportar: Exporta cualquier modelo de YOLOv5 (cls, seg, det) a formato Paddle con python export.py --include paddle #9459 por @glenn-jocher)
  • YOLOv5 AutoCache: Usar python train.py --cache ram ahora escaneará la memoria disponible y la comparará con el uso previsto de RAM del conjunto de datos. 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, que puede acelerar significativamente el entrenamiento.(#10027 por @glenn-jocher)
  • Comet Integración de registro y visualización: Gratis para siempre, Comet te permite guardar los modelos de YOLOv5 , reanudar el entrenamiento y visualizar y depurar interactivamente las predicciones.(#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 las pruebas de velocidad de CPU y a TensorRT FP16 para las pruebas de velocidad de GPU . Ejecutamos todas las pruebas de velocidad en los portátiles Google Colab Pro para facilitar la reproducibilidad.

  • Todos los puntos de control están entrenados 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 por defecto. Todas las ejecuciones se registran aquí.
  • Los valores de exactitud son para un modelo de escala única en el conjunto de datos COCO. Reproducir mediante python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
  • Velocidad media de 100 imágenes de inferencia utilizando una instancia Colab Pro A100 High-RAM. Los valores indican sólo la velocidad de inferencia (NMS añade aproximadamente 1 ms por imagen). Reproducir mediante python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
  • Exportación a ONNX en FP32 y a TensorRT en FP16 realizada con export.py. Reproducir con python export.py --weights yolov5s-seg.pt --include engine --device 0 --half

Ejemplos de uso de la nueva segmentación

Tren

YOLOv5 El entrenamiento de segmentación 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 train.py --data coco.yaml.

Individual-GPU

python segmento/entrenamiento.py --modelo yolov5s-seg.pt --datos coco128-seg.yaml --epocs 5 --img 640

Multi-GPU DDP

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 --segmentos # descargar segmentos val COCO divididos (780MB, 5000 imágenes) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validar

Predecir

Utiliza 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') # load from PyTorch Hub (ATENCIÓN: aún no se admite la inferencia)

Ultralytics YOLOv5 v7.0 Segmentación de instancias


Exportar

Exporta el modelo YOLOv5s-seg a ONNX y TensorRT:

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

Ultralytics YOLOv5 v7.0 Segmentación de instancias

¿Tienes alguna duda? Pregunta en el foroUltralytics , plantea un problema o envía un PR al repositorio. También puedes empezar con nuestro cuaderno Colab de segmentaciónYOLOv5 para obtener tutoriales de inicio rápido.

Logotipo de FacebookLogotipo de TwitterLogotipo de LinkedInSímbolo de enlace de copia

Leer más en esta categoría

¡Construyamos juntos el futuro
de la IA!

Comienza tu viaje con el futuro del aprendizaje automático