Guia interativo de tarefas de segmentação de imagens

A tarefa MediaPipe Interactive Image Segmenter permite dividir uma imagem em duas regiões: um objeto selecionado e todas as demais. A tarefa usa um local em uma imagem, estima os limites de um objeto nesse local e retorna dados da imagem que definem a área do objeto. Você pode usar essa tarefa para selecionar interativamente um objeto em uma imagem e usar a saída para aplicar efeitos a ela, como sobreposições de cor que destacam o objeto ou desfocando o plano de fundo. Essa tarefa opera em dados de imagem com um modelo de machine learning (ML), e é possível usá-lo em imagens únicas, arquivos de vídeo ou um stream de vídeo contínuo.

Faça um teste.

Comece já

Comece a usar essa tarefa seguindo um destes guias de implementação para sua plataforma de destino. Estes guias específicos da plataforma orientam você em uma implementação básica dessa tarefa, incluindo um modelo recomendado e um exemplo de código com as opções de configuração recomendadas:

Detalhes da tarefa

Nesta seção, descrevemos os recursos, as entradas, as saídas e as opções de configuração desta tarefa.

Recursos

  • Processamento de imagem de entrada: o processamento inclui rotação, redimensionamento, normalização e conversão do espaço de cor de imagens.
Entradas de tarefas Saídas de tarefas
  • Coordenadas do ponto de interesse para um objeto em uma imagem
  • Arquivo de imagem a ser processado
O Segmentador de imagens interativo gera dados de imagem segmentados, que podem incluir um dos itens a seguir ou ambos, dependendo das opções de configuração que você definir:
  • CATEGORY_MASK: uma lista que contém uma máscara segmentada como uma imagem de formato uint8. Cada valor de pixel indica se ele faz parte do objeto localizado na área de interesse.
  • CONFIDENCE_MASK: uma lista de canais contendo uma máscara segmentada com valores de pixels no formato float32. Cada valor de pixel indica o nível de confiança de que ele faz parte do objeto localizado na área de interesse.

Opções de configuração

Essa tarefa tem as seguintes opções de configuração:

Nome da opção Descrição Intervalo de valor Valor padrão
output_category_mask Se definido como True, a saída incluirá uma máscara de segmentação como uma imagem uint8, em que cada valor de pixel indica se o pixel faz parte do objeto localizado na área de interesse. {True, False} False
output_confidence_masks Se definido como True, a saída incluirá uma máscara de segmentação como uma imagem de valor flutuante, em que cada valor flutuante representa a confiança de que o pixel faz parte do objeto localizado na área de interesse. {True, False} True
display_names_locale Define o idioma dos rótulos a ser usado para nomes de exibição fornecidos nos metadados do modelo da tarefa, se disponível. O padrão é en para inglês. É possível adicionar rótulos localizados aos metadados de um modelo personalizado usando a API TensorFlow Lite Metadata Writer Código da localidade en

Modelos

O Segmenter de imagem interativo pode ser usado com mais de um modelo de ML. Comece com o modelo padrão recomendado para a plataforma de destino ao começar a desenvolver com essa tarefa. Os outros modelos disponíveis normalmente compensam os requisitos de desempenho, precisão, resolução e recursos e, em alguns casos, incluem outros recursos.

Esse modelo identifica segmentos com base nas coordenadas da imagem para uma área de interesse. O modelo usa uma rede neural convolucional, semelhante a uma arquitetura MobileNetV3 (link em inglês), com um decodificador personalizado.

Nome do modelo Forma de entrada Tipo de quantização Card de modelo Versions
MagicTouch 512 x 512 x 4 Nenhum (float32) informações Mais recente

Comparativos de mercado de tarefas

Aqui estão os comparativos de mercado de tarefas para todo o pipeline com base nos modelos pré-treinados acima. O resultado da latência é a latência média no Pixel 6 usando CPU / GPU.

Nome do modelo Latência da CPU Latência da GPU
MagicTouch 130,11 ms 67,25ms