Introdução à Segmentação de Instâncias no YOLOv5 v7.0 da Ultralytics
Explora o YOLOv5 v7.0 com novos modelos de segmentação de instâncias, superando benchmarks SOTA para maior precisão e velocidade em IA. Junta-te à nossa comunidade.

YOLOv5 v7.0, a versão mais recente da nossa arquitetura de IA, foi lançada e estamos entusiasmados em apresentar os nossos novos modelos de segmentação de instâncias!

Ao trabalhar neste lançamento mais recente, mantivemos dois objetivos em destaque. O primeiro foi nossa missão de tornar a IA fácil, e o segundo foi nosso objetivo de redefinir o que o "estado da arte" realmente significa.
Portanto, 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 Ultralytics YOLOv5 existentes, agora é mais fácil do que nunca treinar, validar e implantar os teus modelos com o YOLOv5 v7.0. Além disso, superamos todas as SOTA benchmarks, tornando efetivamente o YOLOv5 o mais rápido e preciso do mundo.
Sendo este o nosso primeiro lançamento de modelos de segmentation, estamos imensamente orgulhosos deste marco. Devemos muitos agradecimentos à nossa comunidade dedicada e aos contributors, que ajudaram a tornar este lançamento possível.

Então, vamos começar com as release notes do YOLOv5 v7.0!
Atualizações importantes do Ultralytics YOLOv5#
Eis o que foi atualizado no YOLOv5 desde o nosso último lançamento do YOLOv5 v6.2 em agosto de 2022.
- Segmentation Models ⭐ NEW: Os modelos de segmentação pré-treinados em COCO SOTA YOLOv5-seg estão agora disponíveis pela primeira vez (#9052 por @glenn-jocher, @AyushExel e @Laughing-q)
- PaddlePaddle Export: Exporta qualquer modelo YOLOv5 (cls, seg, det) para o formato Paddle com python export.py --include paddle #9459 por @glenn-jocher)
- YOLOv5 AutoCache: Utilizar python train.py --cache ram vai agora analisar a memória disponível e comparar com o uso de RAM previsto do conjunto de dados. Isto reduz o risco no armazenamento em cache e deve ajudar a melhorar a adoção da funcionalidade de cache do conjunto de dados, o que pode acelerar significativamente o treino. (#10027 por @glenn-jocher)
- Comet Logging and Visualization Integration: Gratuito para sempre, o Comet permite-te guardar modelos YOLOv5, retomar o treino e visualizar e depurar previsões interativamente. (#9232 por @DN6)
Novos pontos de verificação de segmentação#
Treinamos os modelos de segmentação do Ultralytics YOLOv5 no COCO por 300 épocas com tamanho de imagem 640 usando GPUs A100. Exportamos todos os modelos para ONNX FP32 para testes de velocidade de CPU e para TensorRT FP16 para testes de velocidade de GPU. Executamos todos os testes de velocidade em notebooks do Google Colab Pro para facilitar a reprodutibilidade.
- Todos os pontos de controlo são treinados até 300 épocas com o otimizador SGD com lr0=0.01 e weight_decay=5e-5 com tamanho de imagem 640 e todas as predefinições. Todas as execuções são registadas em Weights & Biases training logs.
- Os valores de precisão são para modelo único e escala única no conjunto de dados COCO. Reproduza com 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 (NMS adiciona cerca de 1ms por imagem). Reproduza com 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#
Treinar#
O treinamento de segmentação do Ultralytics 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#
Valide a precisão do YOLOv5m-seg no conjunto de dados COCO:
bash data/scripts/get_coco.sh --val --segments # baixar divisão de segmentos de validação do COCO (780MB, 5000 imagens) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validar
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: inferência ainda não suportada)

Exportar#
Exporte o modelo YOLOv5s-seg para ONNX e TensorRT:
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

Tens alguma dúvida? Pergunta no Ultralytics forum, raise an issue ou submit a PR no repositório. Podes também começar com o nosso YOLOv5 segmentation Colab notebook para tutoriais de início rápido.






