Image Segmentation
A segmentação de imagens divide uma imagem em regiões de píxeis que mostram exatamente onde está cada classe ou objeto. Compara os tipos semântico, de instâncias e panótico.
A segmentação de imagens é a tarefa de visão computacional que divide uma imagem em regiões ao atribuir rótulos aos pixels. Seu resultado é um conjunto de máscaras que mostra exatamente quais pixels pertencem a cada classe ou objeto. Em comparação com a detecção de objetos, que localiza cada objeto com uma caixa delimitadora retangular que também inclui o fundo, a segmentação acompanha o contorno real de cada objeto ou região e é muito mais detalhada do que a classificação de imagens, que atribui um único rótulo à imagem inteira. Essa precisão é importante sempre que a área, o contorno ou o contato entre objetos orienta uma decisão, desde medir um tumor até encontrar o espaço livre à frente de um carro.
Tipos de segmentação de imagens#
As tarefas de segmentação diferem no significado da etiqueta de um píxel. A visão computacional distingue «coisas», objetos contáveis como pessoas e carros, de «substâncias», regiões amorfas como estradas, relva e céu.
- Segmentação semântica: Atribui uma classe a cada píxel, abrangendo tanto coisas como substâncias, e combina todos os objetos de uma classe numa única região.
- Segmentação de instâncias: Deteta cada objeto contável e atribui-lhe a sua própria máscara e ID, mantendo separadas, por exemplo, duas pessoas em contacto; os píxeis do fundo ficam sem etiqueta.
- Segmentação panóptica: Atribui uma classe a cada píxel e acrescenta um ID de instância aos píxeis de objetos contáveis, unificando as outras duas abordagens.
- Segmentação interativa: Devolve uma máscara do que for indicado pelo clique, pela caixa ou pelo prompt de texto do utilizador, como acontece com modelos que aceitam prompts, por exemplo o Modelo Segment Anything (SAM).
As três primeiras respondem a perguntas diferentes, pelo que a escolha entre elas se resume a uma decisão simples:
Como funcionam os modelos de segmentação#
Os métodos clássicos agrupam píxeis com base em sinais de baixo nível, como intensidade, cor e arestas: limiarização pelo método de Otsu, crescimento de regiões, transformação watershed, agrupamento de cores k-means e cortes em grafos. O OpenCV implementa vários destes métodos, que continuam a ser úteis em imagens limpas e controladas, como peças retroiluminadas num tapete transportador; agrupam píxeis sem saber o que representa cada grupo.
Os modelos de deep learning aprendem os limites e o significado das regiões a partir de máscaras etiquetadas. As redes codificadoras-descodificadoras, como a U-Net, reduzem a resolução de uma imagem para captar o contexto e voltam a aumentá-la até à resolução total para fazer previsões por píxel. Os modelos de instâncias, como o Mask R-CNN e os modelos de segmentação YOLO, acrescentam uma cabeça de máscaras a um detetor de objetos, e os modelos Transformer, como o Mask2Former, tratam da segmentação semântica, de instâncias e panóptica com uma única arquitetura. Os modelos fundacionais que aceitam prompts alargaram a segmentação a objetos arbitrários: o SAM surgiu em 2023, depois de ser treinado com 1,1 mil milhões de máscaras de 11 milhões de imagens; o SAM 2 acrescentou vídeo em 2024; e o SAM 3 foi lançado em novembro de 2025, segmentando todas as instâncias de um conceito indicado num prompt de texto. Como as etiquetas de segmentação são polígonos ou máscaras por píxel, que demoram muito mais a desenhar do que caixas, estes modelos que aceitam prompts agora criam rascunhos de muitas máscaras de treino a partir de um único clique.
O tipo de tarefa também determina a forma do resultado. A Ultralytics disponibiliza o YOLO26 em famílias de modelos separadas, -seg para instâncias e -sem para a segmentação semântica, e executá-los na mesma fotografia evidencia a diferença:
from ultralytics import YOLO
# Carrega um modelo de segmentação de instâncias e um modelo de segmentação semântica
instance_model = YOLO("yolo26n-seg.pt")
semantic_model = YOLO("yolo26n-sem.pt")
# Segmenta a mesma imagem de rua com ambos
image = "https://ultralytics.com/images/bus.jpg"
instance_results = instance_model(image)
semantic_results = semantic_model(image)
# Resultado de instâncias: uma máscara binária por objeto detetado, com forma (objetos, altura, largura)
print(instance_results[0].masks.data.shape)
# Resultado semântico: um mapa de classes para a imagem inteira, com forma (altura, largura)
print(semantic_results[0].semantic_mask.data.shape)A primeira dimensão do resultado de instâncias é igual ao número de objetos detetados, o que permite contar os resultados de instâncias. Cada tipo de resultado tem a sua própria métrica: média da precisão média (mAP) das máscaras para a segmentação de instâncias, interseção sobre união (IoU) média para a segmentação semântica e qualidade panóptica (PQ) para a segmentação panóptica.
Aplicações no mundo real#
- Análise de imagens médicas: As ferramentas de radiologia delineiam órgãos, tumores e lesões em exames de TC e RM para medir o volume e planear cirurgias ou radioterapia.
- Condução autónoma: Os sistemas de perceção segmentam estradas, passeios, veículos e peões em cada fotograma para identificar o espaço transitável.
- Análise de imagens de satélite: Os mapas de cobertura do solo atribuem a cada píxel uma etiqueta como água, floresta, terreno agrícola ou edifícios para acompanhar alterações ao longo do tempo.
- Edição de fotografias e vídeos: A remoção do fundo, o desfoque no modo de retrato e a substituição do céu dependem de máscaras de pessoas e do céu calculadas no dispositivo.
- Robótica e indústria: Os robôs usam máscaras de objetos para calcular pontos de preensão em peças irregulares, e os sistemas de inspeção medem a área exata de defeitos como riscos e fissuras.










