Executa segmentação em imagens.
A API espera um modelo TFLite com metadados de modelo TFLite. .
A API oferece suporte a modelos com um tensor de entrada de imagem e um tensor de saída. Para ser mais específico, aqui estão os requisitos.
- Tensor de imagem de entrada (
kTfLiteUInt8
/kTfLiteFloat32
)- entrada de imagem de tamanho
[batch x height x width x channels]
. - a inferência em lote não é suportada (
batch
deve ser 1). - apenas entradas RGB são suportadas (
channels
devem ter 3). - se type for
kTfLiteFloat32
, NormalizationOptions deverá ser anexado aos metadados para normalização de entrada.
- entrada de imagem de tamanho
kTfLiteUInt8
/ kTfLiteFloat32
)- tensor de tamanho
[batch x mask_height x mask_width x num_classes]
, ondebatch
deve ser 1,mask_width
emask_height
são as dimensões das máscaras de segmentação produzidas pelo modelo enum_classes
é o número de classes suportadas pelo modelo. - mapas de rótulos opcionais (mas recomendados) podem ser anexados como AssociatedFile-s com tipo TENSOR_AXIS_LABELS, contendo um rótulo por linha. O primeiro AssociatedFile (se houver) é usado para preencher o nome da classe, ou seja,
ColoredLabel.getlabel()
dos resultados. O nome de exibição, ou seja,ColoredLabel.getDisplayName()
, é preenchido a partir do AssociatedFile (se houver) cuja localidade corresponde ao campo `display_names_locale` do `ImageSegmenterOptions` usado no momento da criação ("en" por padrão, ou seja, inglês). Se nenhum destes estiver disponível, apenas o campo `index` dos resultados será preenchido.
Um exemplo desse modelo pode ser encontrado no TensorFlow Hub. .
Classes aninhadas
aula | ImageSegmenter.ImageSegmenterOptions | Opções para configurar um ImageSegmenter . |
Métodos Públicos
Métodos herdados
Métodos Públicos
public static ImageSegmenter createFromBuffer ( ByteBuffer modelBuffer)
Cria uma instância ImageSegmenter
com um buffer de modelo e o ImageSegmenter.ImageSegmenterOptions
padrão.
Parâmetros
modeloBuffer | um ByteBuffer direto ou um MappedByteBuffer do modelo de segmentação |
---|
Lança
IllegalStateException | se houver um erro interno |
---|---|
Exceção de tempo de execução | se houver um erro não especificado |
Exceção de argumento ilegal | se o buffer do modelo não for um ByteBuffer direto ou um MappedByteBuffer |
public static ImageSegmenter createFromBufferAndOptions (opções ByteBuffer modelBuffer, ImageSegmenter.ImageSegmenterOptions )
Cria uma instância ImageSegmenter
com um buffer de modelo e ImageSegmenter.ImageSegmenterOptions
.
Parâmetros
modeloBuffer | um ByteBuffer direto ou um MappedByteBuffer do modelo de segmentação |
---|---|
opções |
Lança
IllegalStateException | se houver um erro interno |
---|---|
Exceção de tempo de execução | se houver um erro não especificado |
Exceção de argumento ilegal | se o buffer do modelo não for um ByteBuffer direto ou um MappedByteBuffer |
public static ImageSegmenter createFromFile (contexto de contexto, String modelPath)
Cria uma instância ImageSegmenter
do ImageSegmenter.ImageSegmenterOptions
padrão.
Parâmetros
contexto | |
---|---|
caminho do modelo | caminho do modelo de segmentação com metadados nos ativos |
Lança
IOException | se ocorrer um erro de E/S ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento for inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado |
public static ImageSegmenter createFromFile ( Arquivo modelFile)
Cria uma instância ImageSegmenter
do ImageSegmenter.ImageSegmenterOptions
padrão.
Parâmetros
arquivomodelo | o modelo de segmentação Instância File |
---|
Lança
IOException | se ocorrer um erro de E/S ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento for inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado |
public static ImageSegmenter createFromFileAndOptions (opções de arquivo modelFile, ImageSegmenter.ImageSegmenterOptions )
Cria uma instância ImageSegmenter
de ImageSegmenter.ImageSegmenterOptions
.
Parâmetros
arquivomodelo | o modelo de segmentação Instância File |
---|---|
opções |
Lança
IOException | se ocorrer um erro de E/S ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento for inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado |
public static ImageSegmenter createFromFileAndOptions (contexto de contexto, String modelPath, opções ImageSegmenter.ImageSegmenterOptions )
Cria uma instância ImageSegmenter
de ImageSegmenter.ImageSegmenterOptions
.
Parâmetros
contexto | |
---|---|
caminho do modelo | caminho do modelo de segmentação com metadados nos ativos |
opções |
Lança
IOException | se ocorrer um erro de E/S ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento for inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado |
public List < Segmentation > segment (frameBufferHandle longo, opções ImageProcessingOptions )
Parâmetros
quadroBufferHandle | |
---|---|
opções |
Lista pública < Segmentação > segmento (imagem TensorImage )
Executa segmentação real na imagem fornecida.
ImageSegmenter
oferece suporte aos seguintes tipos de espaço de cores TensorImage
:
Parâmetros
imagem | um objeto UINT8 TensorImage que representa uma imagem RGB ou YUV |
---|
Devoluções
- resultados da realização da segmentação de imagens. Observe que, naquele momento, espera-se que um único elemento
Segmentation
seja retornado. O resultado é armazenado em umaList
para posterior extensão, por exemplo, para modelos de segmentação de instâncias, que podem retornar uma segmentação por objeto.
Lança
IllegalStateException | se houver um erro interno |
---|---|
Exceção de tempo de execução | se houver um erro não especificado |
Exceção de argumento ilegal | se o tipo de imagem do espaço de cores não for compatível |
Lista pública < Segmentação > segmento (imagem MlImage )
Executa a segmentação real no MlImage
fornecido.
Parâmetros
imagem | um MlImage para segmentar. |
---|
Devoluções
- resultados da realização da segmentação de imagens. Observe que, naquele momento, espera-se que um único elemento
Segmentation
seja retornado. O resultado é armazenado em umaList
para posterior extensão, por exemplo, para modelos de segmentação de instâncias, que podem retornar uma segmentação por objeto.
Lança
IllegalStateException | se houver um erro interno |
---|---|
Exceção de tempo de execução | se houver um erro não especificado |
Exceção de argumento ilegal | se o tipo de armazenamento ou formato da imagem não for compatível |
public List < Segmentation > segment (imagem TensorImage , opções ImageProcessingOptions )
Executa a segmentação real na imagem fornecida com ImageProcessingOptions
.
ImageSegmenter
oferece suporte aos seguintes tipos de espaço de cores TensorImage
:
ImageSegmenter
oferece suporte às seguintes opções:
- rotação de imagem (por meio de
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). O padrão éImageProcessingOptions.Orientation.TOP_LEFT
Parâmetros
imagem | um objeto TensorImage UINT8 que representa uma imagem RGB ou YUV |
---|---|
opções | as opções configuram como pré-processar a imagem |
Devoluções
- resultados da realização da segmentação de imagens. Observe que, naquele momento, espera-se que um único elemento
Segmentation
seja retornado. O resultado é armazenado em umaList
para posterior extensão, por exemplo, para modelos de segmentação de instâncias, que podem retornar uma segmentação por objeto.
Lança
IllegalStateException | se houver um erro interno |
---|---|
Exceção de tempo de execução | se houver um erro não especificado |
Exceção de argumento ilegal | se o tipo de imagem do espaço de cores não for compatível |
lista pública < segmentação > segmento (imagem MlImage , opções ImageProcessingOptions )
Executa a segmentação real no MlImage
fornecido com ImageProcessingOptions
.
ImageSegmenter
oferece suporte às seguintes opções:
- rotação de imagem (por meio de
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). O padrão éImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
não é eficaz.
Parâmetros
imagem | um MlImage para segmentar. |
---|---|
opções | as opções configuram como pré-processar a imagem. |
Devoluções
- resultados da realização da segmentação de imagens. Observe que, naquele momento, espera-se que um único elemento
Segmentation
seja retornado. O resultado é armazenado em umaList
para posterior extensão, por exemplo, para modelos de segmentação de instâncias, que podem retornar uma segmentação por objeto.
Lança
IllegalStateException | se houver um erro interno |
---|---|
Exceção de tempo de execução | se houver um erro não especificado |
Exceção de argumento ilegal | se o tipo de imagem do espaço de cores não for compatível |