Executa classificação em imagens.
A API espera um modelo TFLite com metadados de modelo TFLite opcionais, mas altamente recomendados. .
A API oferece suporte a modelos com um tensor de entrada de imagem e um tensor de saída de classificação. 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
)- com
N
classes de 2 ou 4 dimensões, como[1 x N]
ou[1 x 1 x 1 x N]
- o arquivo de etiqueta deve ser compactado nos metadados. Veja o exemplo de criação de metadados para um classificador de imagens . Se nenhum arquivo de rótulo for compactado, ele usará o índice como rótulo no resultado.
Um exemplo desse modelo pode ser encontrado no TensorFlow Hub. .
Classes aninhadas
aula | ImageClassifier.ImageClassifierOptions | Opções para configurar um ImageClassifier. |
Métodos Públicos
Métodos herdados
Métodos Públicos
lista pública < classificações > classificar (imagem TensorImage )
Executa a classificação real no TensorImage
fornecido.
ImageClassifier
oferece suporte aos seguintes tipos de espaço de cores TensorImage
:
Parâmetros
imagem | um objeto TensorImage UINT8 que representa uma imagem RGB ou YUV |
---|
Lança
Exceção de argumento ilegal | se o tipo de imagem do espaço de cores não for compatível |
---|
public List < Classificações > classify (imagem TensorImage , opções ImageProcessingOptions )
Executa a classificação real no TensorImage
fornecido com ImageProcessingOptions
.
ImageClassifier
oferece suporte às seguintes opções:
- Região de interesse (ROI) (por meio de
ImageProcessingOptions.Builder.setRoi(Rect)
). O padrão é a imagem inteira. - rotação de imagem (por meio de
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). O padrão éImageProcessingOptions.Orientation.TOP_LEFT
.
ImageClassifier
oferece suporte aos seguintes tipos de espaço de cores TensorImage
:
Parâmetros
imagem | um objeto TensorImage UINT8 que representa uma imagem RGB ou YUV |
---|---|
opções |
Lança
Exceção de argumento ilegal | se o tipo de imagem do espaço de cores não for compatível |
---|
lista pública < classificações > classificar (imagem MlImage )
Executa a classificação real no MlImage
fornecido.
Parâmetros
imagem | um objeto MlImage que representa uma imagem |
---|
Lança
Exceção de argumento ilegal | se o tipo de armazenamento ou formato da imagem não for compatível |
---|
public List < Classificações > classificar (imagem MlImage , opções ImageProcessingOptions )
Executa a classificação real no MlImage
fornecido com ImageProcessingOptions
.
ImageClassifier
oferece suporte às seguintes opções:
- Região de interesse (ROI) (por meio de
ImageProcessingOptions.Builder.setRoi(Rect)
). O padrão é a imagem inteira. - 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 objeto MlImage que representa uma imagem |
---|---|
opções | configura opções incluindo ROI e rotação |
Lança
Exceção de argumento ilegal | se o tipo de armazenamento ou formato da imagem não for compatível |
---|
public static ImageClassifier createFromBuffer ( ByteBuffer modelBuffer)
Cria uma instância ImageClassifier
com um buffer de modelo e o ImageClassifier.ImageClassifierOptions
padrão.
Parâmetros
modeloBuffer | um ByteBuffer direto ou um MappedByteBuffer do modelo de classificação |
---|
Lança
Exceção de argumento ilegal | se o buffer do modelo não for um ByteBuffer direto ou um MappedByteBuffer |
---|---|
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado |
public static ImageClassifier createFromBufferAndOptions (opções ByteBuffer modelBuffer, ImageClassifier.ImageClassifierOptions )
Cria uma instância ImageClassifier
com um buffer de modelo e ImageClassifier.ImageClassifierOptions
.
Parâmetros
modeloBuffer | um ByteBuffer direto ou um MappedByteBuffer do modelo de classificação |
---|---|
opções |
Lança
Exceção de argumento ilegal | se o buffer do modelo não for um ByteBuffer direto ou um MappedByteBuffer |
---|---|
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado |
public static ImageClassifier createFromFile (contexto de contexto, String modelPath)
Cria uma instância ImageClassifier
do padrão ImageClassifier.ImageClassifierOptions
.
Parâmetros
contexto | |
---|---|
caminho do modelo | caminho do modelo de classificaçã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 ImageClassifier createFromFile ( Arquivo modelFile)
Cria uma instância ImageClassifier
do padrão ImageClassifier.ImageClassifierOptions
.
Parâmetros
arquivomodelo | o modelo de classificaçã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 ImageClassifier createFromFileAndOptions (contexto de contexto, String modelPath, opções ImageClassifier.ImageClassifierOptions )
Cria uma instância ImageClassifier
de ImageClassifier.ImageClassifierOptions
.
Parâmetros
contexto | |
---|---|
caminho do modelo | caminho do modelo de classificaçã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 static ImageClassifier createFromFileAndOptions (opções de arquivo modelFile, ImageClassifier.ImageClassifierOptions )
Cria uma instância ImageClassifier
.
Parâmetros
arquivomodelo | o modelo de classificaçã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 |