Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
tensorflow
GitHub Repository: tensorflow/docs-l10n
Path: blob/master/site/pt-br/lite/models/segmentation/overview.md
25118 views

Segmentação

A segmentação de imagens é o processo de particionar uma imagem digital em diversos segmentos (conjuntos de pixels, também conhecidos como objetos da imagem). O objetivo da segmentação é simplificar e/ou alterar a representação de uma imagem em algo que tenha mais significado e seja mais fácil de analisar.

A imagem abaixo mostra a saída do modelo de segmentação de imagens no Android. O modelo cria uma máscara sobre os objetos-alvo com alta exatidão.

Observação, para integrar com um modelo existente, experimente a TensorFlow Lite Task Library (biblioteca de tarefas do TensorFlow Lite).

Como começar

Se você estiver apenas começando a usar o TensorFlow Lite e estiver trabalhando com Android ou iOS, recomendamos conferir os exemplos de aplicativo abaixo que podem te ajudar a começar.

Você pode usar a API integrada da TensorFlow Lite Task Library para integrar modelos de segmentação de imagens com somente algumas linhas de código. Além disso, pode integrar o modelo usando a TensorFlow Lite Interpreter Java API (API Java Interpreter do TensorFlow Lite).

O exemplo do Android abaixo demonstra a implementação dos dois métodos como a lib_task_api e a lib_interpreter, respectivamente.

Ver exemplo do Android

Ver exemplo do iOS

Se você estiver usando outra plataforma que não o Android ou iOS ou se já conhecer bem as APIs do TensorFlow Lite, pode baixar nosso modelo inicial de segmentação de imagens.

Baixar modelo inicial

Descrição do modelo

O DeepLab é um modelo moderno de aprendizado profundo para segmentação semântica de imagens, em que o objetivo é atribuir rótulos semânticos (como pessoa, cachorro e gato) a cada pixel da imagem de entrada.

Como funciona

A segmentação semântica de imagens prevê se cada pixel de uma imagem está associado a uma determinada classe. Isso é diferente da detecção de objetos, que detecta objetos em regiões retangulares, e da classificação de imagens, que classifica a imagem de forma geral.

A implementação atual inclui os seguintes recursos:

  1. DeepLabv1: usamos convolução atrous (dilatada) para controlar explicitamente a resolução de computação das respostas de características em redes neurais convolucionais profundas.
  2. DeepLabv2: usamos Atrous Spatial Pyramid Pooling (ASPP) para segmentar de forma robusta os objetos em diversas escalas com filtros com diversas taxas de amostragem e campos de visão efetivos.
  3. DeepLabv3: ampliamos o módulo ASPP com característica no nível de imagem [5, 6] para capturar informações de alcance maior. Além disso, incluímos a normalização de parâmetros [7] para realizar o treinamento. Especificamente, aplicamos a convolução atrous para extrair características de saídas em diferentes strides de saída durante o treinamento e a avaliação, o que permite treinar a normalização de lotes com stride de saída = 16 e manter o desempenho alto com stride de saída = 8 durante a avaliação.
  4. DeepLabv3+: estendemos o DeepLabv3 para incluir um módulo decodificador simples, mas eficaz, para refinar os resultados da segmentação, especialmente ao longo das fronteiras entre objetos. Além disso, nessa estrutura encoder-decoder, é possível controlar arbitrariamente a resolução das características extraídas pelo encoder por meio de convolução atrous para fazer uma contrapartida entre runtime e precisão.

Referenciais de desempenho

Os referenciais de desempenho são gerados com a ferramenta descrita aqui.

Nome do modelo Tamanho do modelo Dispositivo GPU CPU
Deeplab v3 2,7 MB Pixel 3 (Android 10) 16 ms 37 ms*
Pixel 4 (Android 10) 20 ms 23 ms*
iPhone XS (iOS 12.4.1) 16 ms 25 ms**
  • 4 threads usados.

** 2 threads usados no iPhone para o resultado com maior desempenho.

Leituras e recursos adicionais