Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Apresentando A Segmentação De Instâncias No Ultralytics YOLOv5 v7.0

Equipe Ultralytics

Leitura de 3 minutos

23 de novembro de 2022

Descubra o YOLOv5 v7.0 com novos modelos de segmentação de instâncias, superando os benchmarks SOTA para máxima precisão e velocidade de IA. Junte-se à nossa comunidade.

YOLOv5 v7.0, a versão mais recente de nossa arquitetura de IA, já está disponível, e estamos entusiasmados em apresentar nossos novos modelos de segmentação de instâncias!

Enquanto trabalhávamos nesta última versão, mantivemos dois objetivos em mente. O primeiro foi a nossa missão de facilitar a IA e o segundo foi o nosso objetivo de redefinir o que realmente significa “ultra moderno”.

Então, com melhorias, correções e atualizações significativas, fizemos exatamente isso. Mantendo os mesmos fluxos de trabalho simples dos nossos modelos de detecção de objetos YOLOv5 existentes, agora é mais fácil do que nunca treinar, validar e implantar os seus modelos com o YOLOv5 v7.0. Além disso, superamos todos os benchmarks SOTA, tornando efetivamente o YOLOv5 o mais rápido e preciso do mundo.

Como esta é a nossa primeira versão de modelos de segmentação, estamos imensamente orgulhosos deste marco. Devemos muitos agradecimentos à nossa dedicada comunidade e colaboradores, que ajudaram a tornar esta versão possível.  

Ultralytics YOLOv5 v7.0 SOTA Segmentação de Instâncias em Tempo Real

Então, vamos começar com as notas de lançamento do YOLOv5 v7.0!

Atualizações Importantes do YOLOv5

Aqui está o que foi atualizado no YOLOv5 desde o nosso último lançamento do YOLOv5 v6.2 em agosto de 2022.

  • Modelos de Segmentação ⭐ NOVO: Os modelos de segmentação SOTA YOLOv5-seg pré-treinados em COCO já estão disponíveis pela primeira vez (#9052 por @glenn-jocher, @AyushExel e @Laughing-q)
  • Exportação PaddlePaddle: Exporte qualquer modelo YOLOv5 (cls, seg, det) para o formato Paddle com python export.py --include paddle #9459 por @glenn-jocher)
  • YOLOv5 AutoCache: Use python train.py --cache ram agora irá escanear a memória disponível e comparar com o uso de RAM do conjunto de dados previsto. Isso reduz o risco no cache e deve ajudar a melhorar a adoção do recurso de cache do conjunto de dados, o que pode acelerar significativamente o treinamento. (#10027 por @glenn-jocher)
  • Integração de Visualização e Registo Comet: Gratuito para sempre, o Comet permite que você salve modelos YOLOv5, retome o treino e visualize e depure interativamente as previsões. (#9232 por @DN6)

Novos Checkpoints de Segmentação

Treinamos modelos de segmentação YOLOv5 no COCO por 300 épocas, com tamanho de imagem de 640, usando GPUs A100. Exportamos todos os modelos para ONNX FP32 para testes de velocidade da CPU e para TensorRT FP16 para testes de velocidade da GPU. Executamos todos os testes de velocidade nos notebooks Google Colab Pro para fácil reprodutibilidade.

  • Todos os checkpoints são treinados para 300 épocas com otimizador SGD com lr0=0.01 e weight_decay=5e-5 no tamanho de imagem 640 e todas as configurações padrão. Todas as execuções são registradas aqui.
  • Os valores de precisão são para modelo único, escala única no conjunto de dados COCO. Reproduza por python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
  • Velocidade média em 100 imagens de inferência usando uma instância Colab Pro A100 High-RAM. Os valores indicam apenas a velocidade de inferência (o NMS adiciona cerca de 1ms por imagem). Reproduza por python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
  • Exportação para ONNX em FP32 e TensorRT em FP16 feita com export.py. Reproduza com python export.py --weights yolov5s-seg.pt --include engine --device 0 --half

Novos Exemplos de Uso de Segmentação

Trem

O treinamento de segmentação YOLOv5 suporta o download automático do conjunto de dados de segmentação COCO128-seg com o argumento --data coco128-seg.yaml e o download manual do conjunto de dados COCO-segments com bash data/scripts/get_coco.sh --train --val --segments e, em seguida, 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

Validar a precisão do YOLOv5m-seg no conjunto de dados ImageNet-1k:

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  # validate

Prever

Use o YOLOv5m-seg pré-treinado para prever 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')  # carregar do PyTorch Hub (AVISO: a inferência ainda não é suportada)

Ultralytics YOLOv5 v7.0 Segmentação de Instâncias


Exportar

Exportar o modelo YOLOv5s-seg para ONNX e TensorRT:

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

Ultralytics YOLOv5 v7.0 Segmentação de Instâncias

Tem alguma pergunta? Consulte o fórum da Ultralytics, abra uma issue ou envie um PR no repositório. Você também pode começar com nosso notebook Colab de segmentação YOLOv5 para tutoriais de início rápido.

Vamos construir o futuro
da IA juntos!

Comece sua jornada com o futuro do aprendizado de máquina

Comece gratuitamente
Link copiado para a área de transferência