Yolo Vision Shenzhen
Shenzhen
Únete ahora

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

Equipo Ultralytics

3 minutos de lectura

23 de noviembre de 2022

Descubra 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.

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.

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, lo hemos conseguido. 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 sus modelos con YOLOv5 v7.0. Además, hemos superado todos los puntos de referencia SOTA, lo que convierte a YOLOv5 en 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.  

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

Empecemos 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: los modelos de segmentación SOTA YOLOv5 COCO ya están disponibles por primera vez(#9052 por @glenn-jocher, @AyushExel y @Laughing-q).
  • ExportaciónPaddlePaddle : Exporta cualquier modelo YOLOv5 (cls, seg, det) a formato Paddle con python export.py --include paddle #9459 by @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)
  • Integración de registro y visualizaciónComet : Gratis para siempre, Comet 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 a un tamaño de imagen de 640 utilizando GPUs A100. Exportamos todos los modelos a ONNX FP32 para las pruebas de velocidad CPU y a TensorRT FP16 para las pruebas de velocidad GPU . Ejecutamos todas las pruebas de velocidad en 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 precisión corresponden a un modelo de escala única en el conjunto de datos COCO . Reproducir mediante python segment.py --data cocoyaml --weights yolov5s-seg.pt
  • Velocidad media sobre 100 imágenes de inferencia utilizando una instancia Colab Pro A100 High-RAM. Los valores indican únicamente la velocidad de inferenciaNMS añade aproximadamente 1 ms por imagen). Reproducir mediante python segment.py --data cocoyaml --weights yolov5s-seg.pt --batch 1
  • Exportación a ONNX en FP32 y TensorRT en FP16 realizada con export.py. Reproducir 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 con el argumento --data coco128-segyaml yaml y la descarga manual del conjunto de datos COCO con bash data/scripts/get_coco.sh --train --val --segments y, a continuación, python train.py --data cocoyaml.

Una sola GPU

python segment.py --model yolov5s-seg.pt --data coco128-segyaml --epochs 5 --img 640

GPU DDP

python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment.py --model yolov5s-seg.pt --data coco128-segyaml --epochs 5 --img 640 --device 0,1,2,3

Val

Validación de la precisión de YOLOv5m-seg en el conjunto de datos ImageNet:

bash data/scripts/get_coco.sh --val --segments # descargar segmentos val COCO divididos (780MB, 5000 imágenes) python segment.py --weights yolov5s-seg.pt --data cocoyaml --img 640 # validar

Predicción

Usar YOLOv5m-seg preentrenado para predecir bus.jpg:

python segment.py --weights yolov5m-seg.pt --data data/images/bus.jpg

model = torch.hub.load(ultralyticsyolov5', 'custom', 'yolov5m-seg.pt') # load from PyTorch Hub (WARNING: inference not yet supported)

Segmentación de instancias de Ultralytics YOLOv5 v7.0


Exportar

Exportación del 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 de Ultralytics YOLOv5 v7.0

¿Tienes alguna duda? Pregunte en el foroUltralytics , plantee un problema o envíe un PR al repositorio. También puede empezar con nuestro cuaderno deYOLOv5 segmentación Colab 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