Meet YOLO26: next-gen vision AI.

Link to this sectionSegmentação de Instância#

Instance segmentation examples

A segmentação de instância vai um passo além da detecção de objetos e envolve a identificação de objetos individuais em uma imagem e sua segmentação do restante da imagem.

A saída de um modelo de segmentação de instância é um conjunto de máscaras ou contornos que delineiam cada objeto na imagem, juntamente com rótulos de classe e pontuações de confiança para cada objeto. A segmentação de instância é útil quando você precisa saber não apenas onde os objetos estão em uma imagem, mas também qual é sua forma exata.



Watch: Run Segmentation with Pretrained Ultralytics YOLO Model in Python.
Dica

Os modelos YOLO26 Segment usam o sufixo -seg, por exemplo, yolo26n-seg.pt, e são pré-treinados no COCO.

Link to this sectionModelos#

Os modelos de Segmentação pré-treinados do YOLO26 são mostrados aqui. Modelos de Detecção (Detect), Segmentação (Segment) e Pose são pré-treinados no conjunto de dados COCO, modelos Semânticos são pré-treinados no Cityscapes, e modelos de Classificação (Classify) são pré-treinados no conjunto de dados ImageNet.

Os Modelos baixam automaticamente a partir do release mais recente da Ultralytics no primeiro uso.

Modelotamanho
(pixels)
mAPbox
50-95(e2e)
mAPmask
50-95(e2e)
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO26n-seg64039.633.953.3 ± 0.52.1 ± 0.02.79.1
YOLO26s-seg64047.340.0118.4 ± 0.93.3 ± 0.010.434.2
YOLO26m-seg64052.544.1328.2 ± 2.46.7 ± 0.123.6121.5
YOLO26l-seg64054.445.5387.0 ± 3.78.0 ± 0.128.0139.8
YOLO26x-seg64056.547.0787.0 ± 6.816.4 ± 0.162.8313.5
  • Os valores de mAPval são para modelo único em escala única no conjunto de dados COCO val2017.
    Reproduza com yolo val segment data=coco.yaml device=0
  • Velocidade calculada com média nas imagens do COCO val usando uma instância Amazon EC2 P4d.
    Reproduza com yolo val segment data=coco.yaml batch=1 device=0|cpu
  • Os valores de Params e FLOPs são para o modelo fundido após model.fuse(), que mescla as camadas Conv e BatchNorm e, para modelos end2end, remove a head de detecção auxiliar one-to-many. Checkpoints pré-treinados mantêm a arquitetura de treinamento completa e podem exibir contagens maiores.

Link to this sectionTreinar#

Treine o YOLO26n-seg no conjunto de dados COCO8-seg por 100 épocas com tamanho de imagem 640. Para uma lista completa de argumentos disponíveis, consulte a página de Configuração.

Exemplo
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-seg.yaml")  # build a new model from YAML
model = YOLO("yolo26n-seg.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n-seg.yaml").load("yolo26n-seg.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8-seg.yaml", epochs=100, imgsz=640)

Veja detalhes completos do modo train na página Train. Modelos de segmentação também podem ser treinados em GPUs na nuvem através da Plataforma Ultralytics.

Link to this sectionFormato do conjunto de dados#

O formato do conjunto de dados de segmentação YOLO pode ser encontrado em detalhes no Guia de Conjuntos de Dados. Para converter seu conjunto de dados existente de outros formatos (como COCO, etc.) para o formato YOLO, use a ferramenta JSON2YOLO da Ultralytics. Você também pode criar máscaras de segmentação na Plataforma Ultralytics usando ferramentas de polígono e anotação inteligente com tecnologia SAM.

Link to this sectionValidar#

Valide a precisão do modelo YOLO26n-seg treinado no conjunto de dados COCO8-seg. Nenhum argumento é necessário, pois o model mantém seus dados (data) de treinamento e argumentos como atributos do modelo.

Exemplo
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-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 containing mAP50-95(B) for each category
metrics.box.image_metrics  # per-image metrics dictionary for det with precision, recall, F1, TP, FP, and FN
metrics.seg.map  # map50-95(M)
metrics.seg.map50  # map50(M)
metrics.seg.map75  # map75(M)
metrics.seg.maps  # a list containing mAP50-95(M) for each category
metrics.seg.image_metrics  # per-image metrics dictionary for seg with precision, recall, F1, TP, FP, and FN

Link to this sectionPrever#

Use um modelo YOLO26n-seg treinado para executar previsões em imagens.

Exemplo
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-seg.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xy = result.masks.xy  # mask polygons in pixel coordinates
    xyn = result.masks.xyn  # normalized mask polygons
    masks = result.masks.data  # binary masks, shape (N,H,W), dtype torch.uint8

Veja detalhes completos do modo predict na página Predict.

Link to this sectionSaída de Resultados#

A segmentação de instância YOLO retorna um objeto Results por imagem. Cada resultado armazena previsões em nível de objeto, onde cada instância detectada possui sua própria máscara binária, classe, confiança e caixa.

AtributoTipoFormaDescrição
result.masksMasks(N)Máscaras de instância.
result.masks.datatorch.uint8(N,H,W)Máscaras binárias, valores 0 ou 1.
result.masks.xynp.float32list[(P,2)]Polígonos de pixels.
result.masks.xynnp.float32list[(P,2)]Polígonos normalizados.
result.boxesBoxes(N)Caixas/classes/confianças de instância.
result.boxes.clstorch.float32(N,)IDs de classe; converta para int para nomes.

Para campos de Results específicos de cada tarefa em todas as tarefas, consulte a seção Prever Resultados por Tarefa.

Link to this sectionComo isso difere da Segmentação Semântica#

A segmentação de instância é uma segmentação em nível de objeto: dois carros produzem duas máscaras, duas caixas e duas pontuações de confiança. A segmentação semântica é uma classificação em nível de pixel: esses mesmos carros se tornam pixels com o mesmo ID de classe em um mapa de classe do tamanho da imagem, sem caixas, confianças ou lista de polígonos padrão por objeto.

Link to this sectionExportar#

Exporte um modelo YOLO26n-seg para um formato diferente como ONNX, CoreML, etc.

Exemplo
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-seg.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Os formatos de exportação YOLO26-seg disponíveis estão na tabela abaixo. Você pode exportar para qualquer formato usando o argumento format, por exemplo, format='onnx' ou format='engine'. Você pode prever ou validar diretamente em modelos exportados, por exemplo, yolo predict model=yolo26n-seg.onnx. Exemplos de uso são mostrados para o seu modelo após a conclusão da exportação.

FormatoArgumento formatModeloMetadadosArgumentos
PyTorch-yolo26n-seg.pt-
TorchScripttorchscriptyolo26n-seg.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n-seg.onnximgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n-seg_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n-seg.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n-seg.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n-seg_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n-seg.pbimgsz, batch, device
TF Litetfliteyolo26n-seg.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n-seg_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n-seg_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n-seg_paddle_model/imgsz, batch, device
MNNmnnyolo26n-seg.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n-seg_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n-seg_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n-seg_rknn_model/imgsz, batch, name, int8, data, fraction, device
ExecuTorchexecutorchyolo26n-seg_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n-seg_axelera_model/imgsz, batch, int8, data, fraction, device
DEEPXdeepxyolo26n-seg_deepx_model/imgsz, int8, data, optimize, device
Qualcomm QNNqnnyolo26n-seg_qnn_model/imgsz, batch, name, int8, data, fraction, device

Consulta detalhes completos de export na página de Exportação.

Link to this sectionFAQ#

Link to this sectionComo treino um modelo de segmentação YOLO26 em um conjunto de dados personalizado?#

Para treinar um modelo de segmentação YOLO26 em um conjunto de dados personalizado, primeiro precisas de preparar o teu conjunto de dados no formato de segmentação YOLO. Podes usar ferramentas como JSON2YOLO para converter conjuntos de dados de outros formatos. Assim que o teu conjunto de dados estiver pronto, podes treinar o modelo usando Python ou comandos da CLI:

Exemplo
from ultralytics import YOLO

# Load a pretrained YOLO26 segment model
model = YOLO("yolo26n-seg.pt")

# Train the model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)

Verifica a página de Configuração para mais argumentos disponíveis.

Link to this sectionQual é a diferença entre deteção de objetos e segmentação de instâncias no YOLO26?#

A deteção de objetos identifica e localiza objetos dentro de uma 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 exata de cada objeto. Os modelos de segmentação de instâncias YOLO26 fornecem máscaras ou contornos que delineiam cada objeto detetado, o que é particularmente útil para tarefas onde conhecer a forma precisa dos objetos é importante, como em imagiologia médica ou condução autónoma.

Link to this sectionPor que usar o YOLO26 para segmentação de instâncias?#

O Ultralytics YOLO26 é um modelo de ponta reconhecido pela sua alta precisão e desempenho em tempo real, tornando-o ideal para tarefas de segmentação de instâncias. Os modelos YOLO26 Segment vêm pré-treinados no conjunto de dados COCO, garantindo um desempenho robusto numa variedade de objetos. Além disso, o YOLO suporta funcionalidades de treino, validação, predição e exportação com integração perfeita, tornando-o altamente versátil tanto para pesquisa como para aplicações industriais.

Link to this sectionComo carrego e valido um modelo de segmentação YOLO pré-treinado?#

Carregar e validar um modelo de segmentação YOLO pré-treinado é simples. Eis como o podes fazer usando Python e a CLI:

Exemplo
from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n-seg.pt")

# Validate the model
metrics = model.val()
print("Mean Average Precision for boxes:", metrics.box.map)
print("Mean Average Precision for masks:", metrics.seg.map)

Estes passos fornecer-te-ão métricas de validação como a Precisão Média Média (mAP), crucial para avaliar o desempenho do modelo.

Link to this sectionComo posso exportar um modelo de segmentação YOLO para o formato ONNX?#

Exportar um modelo de segmentação YOLO para o formato ONNX é simples e pode ser feito usando Python ou comandos da CLI:

Exemplo
from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n-seg.pt")

# Export the model to ONNX format
model.export(format="onnx")

Para mais detalhes sobre exportação para vários formatos, consulta a página de Exportação.

Comentários