Segmentação de instâncias
A segmentação de instâncias vai um passo além da deteção de objectos e envolve a identificação de objectos individuais numa imagem e a sua segmentação do resto da imagem.
O resultado de um modelo de segmentação de instâncias é um conjunto de máscaras ou contornos que delineia cada objeto na imagem, juntamente com etiquetas de classe e pontuações de confiança para cada objeto. A segmentação de instâncias é útil quando é necessário saber não só onde estão os objectos numa imagem, mas também qual é a sua forma exacta.
Ver: Executar a segmentação com o modelo Ultralytics YOLO pré-treinado em Python.
Dica
YOLO11 Os modelos de segmento utilizam o -seg
sufixo, ou seja yolo11n-seg.pt
e são pré-treinados em COCO.
Modelos
YOLO11 Os modelos Segment pré-treinados são mostrados aqui. Os modelos Detetar, Segmentar e Pose são pré-treinados no conjunto de dados COCO, enquanto os modelos Classificar são pré-treinados no conjunto de dados ImageNet.
Os modelos são transferidos automaticamente a partir daversão mais recentede Ultralytics na primeira utilização.
Modelo | tamanho (pixéis) |
mAPbox 50-95 |
mAPmask 50-95 |
Velocidade CPU ONNX (ms) |
Velocidade T4TensorRT10 (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-seg | 640 | 38.9 | 32.0 | 65.9 ± 1.1 | 1.8 ± 0.0 | 2.9 | 10.4 |
YOLO11s-seg | 640 | 46.6 | 37.8 | 117.6 ± 4.9 | 2.9 ± 0.0 | 10.1 | 35.5 |
YOLO11m-seg | 640 | 51.5 | 41.5 | 281.6 ± 1.2 | 6.3 ± 0.1 | 22.4 | 123.3 |
YOLO11l-seg | 640 | 53.4 | 42.9 | 344.2 ± 3.2 | 7.8 ± 0.2 | 27.6 | 142.2 |
YOLO11x-seg | 640 | 54.7 | 43.8 | 664.5 ± 3.2 | 15.8 ± 0.7 | 62.1 | 319.0 |
- mAPval são valores para modelo único e escala única em COCO val2017 conjunto de dados.
Reproduzir poryolo val segment data=coco-seg.yaml device=0
- Velocidade média das imagens COCO val utilizando um Amazon EC2 P4d instância.
Reproduzir poryolo val segment data=coco-seg.yaml batch=1 device=0|cpu
Comboio
Treinar YOLO11n-seg no conjunto de dados COCO8-seg para 100 épocas com o tamanho de imagem 640. Para obter uma lista completa dos argumentos disponíveis, consulte a página Configuração.
Exemplo
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-seg.yaml") # build a new model from YAML
model = YOLO("yolo11n-seg.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n-seg.yaml").load("yolo11n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8-seg.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo segment train data=coco8-seg.yaml model=yolo11n-seg.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo segment train data=coco8-seg.yaml model=yolo11n-seg.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo segment train data=coco8-seg.yaml model=yolo11n-seg.yaml pretrained=yolo11n-seg.pt epochs=100 imgsz=640
Formato do conjunto de dados
YOLO O formato do conjunto de dados de segmentação pode ser consultado em pormenor no Guia do conjunto de dados. Para converter o seu conjunto de dados existente de outros formatos (como COCO, etc.) para o formato YOLO , utilize a ferramenta JSON2YOLO em Ultralytics.
Val
Validar o modelo YOLO11n-seg treinado exatidão no conjunto de dados COCO8-seg. Não são necessários argumentos, uma vez que o model
mantém a sua formação data
e argumentos como atributos do modelo.
Exemplo
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-seg.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95(B)
metrics.box.map50 # map50(B)
metrics.box.map75 # map75(B)
metrics.box.maps # a list contains map50-95(B) of each category
metrics.seg.map # map50-95(M)
metrics.seg.map50 # map50(M)
metrics.seg.map75 # map75(M)
metrics.seg.maps # a list contains map50-95(M) of each category
Prever
Utilizar um modelo YOLO11n-seg treinado para executar previsões em imagens.
Exemplo
Ver completo predict
detalhes do modo no Prever página.
Exportação
Exportar um modelo YOLO11n-seg para um formato diferente, como ONNX, CoreML, etc.
Exemplo
Os formatos de exportação disponíveis em YOLO11-seg encontram-se na tabela abaixo. É possível exportar para qualquer formato usando o format
argumento, ou seja format='onnx'
ou format='engine'
. É possível prever ou validar diretamente nos modelos exportados, ou seja yolo predict model=yolo11n-seg.onnx
. São apresentados exemplos de utilização para o seu modelo após a conclusão da exportação.
Formato | format Argumento |
Modelo | Metadados | Argumentos |
---|---|---|---|---|
PyTorch | - | yolo11n-seg.pt |
✅ | - |
TorchScript | torchscript |
yolo11n-seg.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolo11n-seg.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolo11n-seg_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolo11n-seg.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml |
yolo11n-seg.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n-seg_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolo11n-seg.pb |
❌ | imgsz , batch |
TF Leve | tflite |
yolo11n-seg.tflite |
✅ | imgsz , half , int8 , batch |
TF Borda TPU | edgetpu |
yolo11n-seg_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolo11n-seg_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolo11n-seg_paddle_model/ |
✅ | imgsz , batch |
MNN | mnn |
yolo11n-seg.mnn |
✅ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n-seg_ncnn_model/ |
✅ | imgsz , half , batch |
IMX500 | imx |
yolo11n-seg_imx_model/ |
✅ | imgsz , int8 |
Ver completo export
pormenores no Exportação página.
FAQ
Como é que treino um modelo de segmentação YOLO11 num conjunto de dados personalizado?
Para treinar um modelo de segmentação YOLO11 em um conjunto de dados personalizado, primeiro é necessário preparar o conjunto de dados no formato de segmentação YOLO . Você pode usar ferramentas como JSON2YOLO para converter conjuntos de dados de outros formatos. Quando o conjunto de dados estiver pronto, é possível treinar o modelo usando os comandos Python ou CLI :
Exemplo
Consulte a página Configuração para obter mais argumentos disponíveis.
Qual é a diferença entre a deteção de objectos e a segmentação de instâncias em YOLO11?
A deteção de objectos identifica e localiza os objectos numa imagem desenhando caixas delimitadoras à sua volta, enquanto a segmentação de instâncias não só identifica as caixas delimitadoras como também delineia a forma exacta de cada objeto. YOLO11 modelos de segmentação de instâncias fornecem máscaras ou contornos que delineiam cada objeto detectado, o que é particularmente útil para tarefas em que é importante conhecer a forma exacta dos objectos, como a imagiologia médica ou a condução autónoma.
Porquê utilizar YOLO11 para a segmentação de exemplos?
Ultralytics YOLO11 é um modelo de última geração reconhecido pela sua elevada precisão e desempenho em tempo real, tornando-o ideal para tarefas de segmentação de instâncias. YOLO11 Os modelos de segmentação são pré-treinados no conjunto de dados COCO, garantindo um desempenho robusto numa variedade de objectos. Além disso, o YOLO suporta funcionalidades de formação, validação, previsão e exportação com uma integração perfeita, tornando-o altamente versátil para aplicações de investigação e industriais.
Como é que carrego e valido um modelo de segmentação YOLO pré-treinado?
Carregar e validar um modelo de segmentação YOLO pré-treinado é simples. Veja como você pode fazer isso usando Python e CLI:
Exemplo
Estes passos fornecer-lhe-ão métricas de validação como a precisão média (mAP), crucial para avaliar o desempenho do modelo.
Como é que posso exportar um modelo de segmentação de YOLO para o formato ONNX ?
Exportar um modelo de segmentação de YOLO para o formato ONNX é simples e pode ser feito usando os comandos Python ou CLI :
Exemplo
Para mais pormenores sobre a exportação para vários formatos, consulte a página Exportar.