Executa segmentação em imagens.
A API espera um modelo TFLite com TFLite modelo de metadados. .
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.
- Imagem de entrada tensor (
kTfLiteUInt8
/kTfLiteFloat32
)- de entrada de imagem de tamanho
[batch x height x width x channels]
. - inferência lote não está suportado (
batch
é requerido para ser 1). - única entradas RGB são suportados (
channels
é necessário ser 3). - se o tipo é
kTfLiteFloat32
, NormalizationOptions são obrigados a ser ligado ao metadados para normalização de entrada.
- de entrada de imagem de tamanho
kTfLiteUInt8
/ kTfLiteFloat32
)- tensor de tamanho
[batch x mask_height x mask_width x num_classes]
, ondebatch
é requerido para 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 suportados pelo modelo. - mapa (s) de rótulo opcional (mas recomendado) podem ser anexados como AssociatedFile-s com o tipo TENSOR_AXIS_LABELS, contendo um rótulo por linha. O primeiro tal AssociatedFile (se houver) é usado para encher o nome de classe, ou seja,
ColoredLabel.getlabel()
dos resultados. O nome de exibição, ou sejaColoredLabel.getDisplayName()
, foi preenchido a partir do AssociatedFile (se houver), cujo local corresponde ao campo `display_names_locale` do` ImageSegmenterOptions` usado na criação do tempo ( "en" por padrão, ou seja, em Inglês). Se nenhum deles estiver disponível, apenas o campo `índice` dos resultados será preenchido.
Um exemplo de tal modelo pode ser encontrado na TensorFlow Hub. .
Classes aninhadas
classe | ImageSegmenter.ImageSegmenterOptions | Opções para a criação de um ImageSegmenter . |
Métodos Públicos
Métodos herdados
Métodos Públicos
public static ImageSegmenter createFromBuffer ( ByteBuffer modelBuffer)
Cria um ImageSegmenter
exemplo com um tampão de modelo e os predefinidos ImageSegmenter.ImageSegmenterOptions
.
Parâmetros
modelBuffer | uma direta ByteBuffer 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 de outra forma |
Exceção de argumento ilegal | Se o tampão de modelo não é um directa ByteBuffer ou um MappedByteBuffer |
public static ImageSegmenter createFromBufferAndOptions ( ByteBuffer modelBuffer, ImageSegmenter.ImageSegmenterOptions opções)
Cria um ImageSegmenter
exemplo com um tampão e modelo ImageSegmenter.ImageSegmenterOptions
.
Parâmetros
modelBuffer | uma direta ByteBuffer 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 de outra forma |
Exceção de argumento ilegal | Se o tampão de modelo não é um directa ByteBuffer ou um MappedByteBuffer |
public static ImageSegmenter CreateFromFile (contexto Contexto, Cordas modelPath)
Cria um ImageSegmenter
instância do padrão ImageSegmenter.ImageSegmenterOptions
.
Parâmetros
contexto | |
---|---|
modelPath | caminho do modelo de segmentação com metadados nos ativos |
Lança
IOException | se ocorrer um erro de I / O ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento é inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado de outra forma |
public static ImageSegmenter CreateFromFile ( Arquivo modelFile)
Cria um ImageSegmenter
instância do padrão ImageSegmenter.ImageSegmenterOptions
.
Parâmetros
modelFile | a segmentação modelo File instância |
---|
Lança
IOException | se ocorrer um erro de I / O ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento é inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado de outra forma |
public static ImageSegmenter createFromFileAndOptions ( Arquivo modelFile, ImageSegmenter.ImageSegmenterOptions opções)
Cria um ImageSegmenter
exemplo de ImageSegmenter.ImageSegmenterOptions
.
Parâmetros
modelFile | a segmentação modelo File instância |
---|---|
opções |
Lança
IOException | se ocorrer um erro de I / O ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento é inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado de outra forma |
public static ImageSegmenter createFromFileAndOptions (contexto Contexto, Cordas modelPath, ImageSegmenter.ImageSegmenterOptions opções)
Cria um ImageSegmenter
exemplo de ImageSegmenter.ImageSegmenterOptions
.
Parâmetros
contexto | |
---|---|
modelPath | caminho do modelo de segmentação com metadados nos ativos |
opções |
Lança
IOException | se ocorrer um erro de I / O ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento é inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado de outra forma |
pública Lista < Segmentação > segmento (longa frameBufferHandle, ImageProcessingOptions opções)
Parâmetros
frameBufferHandle | |
---|---|
opções |
pública Lista < Segmentação > segmento ( TensorImage imagem)
Executa a segmentação real na imagem fornecida.
ImageSegmenter
suporta os seguintes TensorImage
tipos de espaço de cores:
Parâmetros
imagem | um UINT8 TensorImage objecto que representa uma imagem RGB ou YUV |
---|
Devoluções
- resultados da realização da segmentação da imagem. Note-se que, no momento, um único
Segmentation
elemento é esperado para ser devolvido. O resultado é armazenado em umaList
para a extensão mais tarde para por exemplo modelos exemplo de segmentação, que pode 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 de outra forma |
Exceção de argumento ilegal | se o tipo de espaço de cor da imagem não for compatível |
pública Lista < Segmentação > segmento ( MlImage imagem)
Executa segmentação real no fornecidos MlImage
.
Parâmetros
imagem | um MlImage para segmento. |
---|
Devoluções
- resultados da realização da segmentação da imagem. Note-se que, no momento, um único
Segmentation
elemento é esperado para ser devolvido. O resultado é armazenado em umaList
para a extensão mais tarde para por exemplo modelos exemplo de segmentação, que pode 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 de outra forma |
Exceção de argumento ilegal | se o tipo de armazenamento ou formato da imagem não for compatível |
pública Lista < Segmentação > segmento ( TensorImage imagem, ImageProcessingOptions opções)
Executa segmentação real sobre a imagem fornecida com ImageProcessingOptions
.
ImageSegmenter
suporta os seguintes TensorImage
tipos de espaço de cores:
ImageSegmenter
suporta as seguintes opções:
- rotação da imagem (através
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). O padrão éImageProcessingOptions.Orientation.TOP_LEFT
Parâmetros
imagem | um UINT8 TensorImage objecto 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 da imagem. Note-se que, no momento, um único
Segmentation
elemento é esperado para ser devolvido. O resultado é armazenado em umaList
para a extensão mais tarde para por exemplo modelos exemplo de segmentação, que pode 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 de outra forma |
Exceção de argumento ilegal | se o tipo de espaço de cor da imagem não for compatível |
pública Lista < Segmentação > segmento ( MlImage imagem, ImageProcessingOptions opções)
Executa segmentação real no fornecidos MlImage
com ImageProcessingOptions
.
ImageSegmenter
suporta as seguintes opções:
- rotação da imagem (através
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). O padrão éImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
não é eficaz.
Parâmetros
imagem | um MlImage para segmento. |
---|---|
opções | as opções configuram como pré-processar a imagem. |
Devoluções
- resultados da realização da segmentação da imagem. Note-se que, no momento, um único
Segmentation
elemento é esperado para ser devolvido. O resultado é armazenado em umaList
para a extensão mais tarde para por exemplo modelos exemplo de segmentação, que pode 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 de outra forma |
Exceção de argumento ilegal | se o tipo de espaço de cor da imagem não for compatível |