Executa detecção de objetos 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 quatro tensores 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
DetectionPostProcess
, ou seja:- Tensor de localização (
kTfLiteFloat32
):- tensor de tamanho
[1 x num_results x 4]
, a matriz interna que representa as caixas delimitadoras na forma [superior, esquerda, direita, inferior]. -
BoundingBoxProperties
devem ser anexados aos metadados e devem especificartype=BOUNDARIES
ecoordinate_type=RATIO
.
- tensor de tamanho
kTfLiteFloat32
):- tensor de tamanho
[1 x num_results]
, cada valor representando o índice inteiro de uma classe. - se os mapas de rótulos forem anexados aos metadados como arquivos associados
TENSOR_VALUE_LABELS
, eles serão usados para converter os valores do tensor em rótulos.
kTfLiteFloat32
):- tensor de tamanho
[1 x num_results]
, cada valor representando a pontuação do objeto detectado.
kTfLiteFloat32
):- inteiro num_results como um tensor de tamanho
[1]
.
Um exemplo desse modelo pode ser encontrado no TensorFlow Hub. .
Classes aninhadas
aula | ObjectDetector.ObjectDetectorOptions | Opções para configurar um ObjectDetector. |
Métodos Públicos
Métodos herdados
Métodos Públicos
public static ObjectDetector createFromBuffer ( ByteBuffer modelBuffer)
Cria uma instância ObjectDetector
com um buffer de modelo e o ObjectDetector.ObjectDetectorOptions
padrão.
Parâmetros
modeloBuffer | um ByteBuffer direto ou um MappedByteBuffer do modelo de detecção |
---|
Lança
Exceção de argumento ilegal | se o buffer do modelo não for um ByteBuffer direto ou um MappedByteBuffer * @throws IllegalStateException se houver um erro interno |
---|---|
Exceção de tempo de execução | se houver um erro não especificado |
public static ObjectDetector createFromBufferAndOptions (opções ByteBuffer modelBuffer, ObjectDetector.ObjectDetectorOptions )
Cria uma instância ObjectDetector
com um buffer de modelo e ObjectDetector.ObjectDetectorOptions
.
Parâmetros
modeloBuffer | um ByteBuffer direto ou um MappedByteBuffer do modelo de detecçã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 ObjectDetector createFromFile (contexto de contexto, String modelPath)
Cria uma instância ObjectDetector
a partir do ObjectDetector.ObjectDetectorOptions
padrão.
Parâmetros
contexto | |
---|---|
caminho do modelo | caminho para o modelo de detecçã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 ObjectDetector createFromFile ( Arquivo modelFile)
Cria uma instância ObjectDetector
a partir do ObjectDetector.ObjectDetectorOptions
padrão.
Parâmetros
arquivomodelo | o modelo de detecçã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 ObjectDetector createFromFileAndOptions (contexto de contexto, String modelPath, opções ObjectDetector.ObjectDetectorOptions )
Cria uma instância ObjectDetector
a partir de ObjectDetector.ObjectDetectorOptions
.
Parâmetros
contexto | |
---|---|
caminho do modelo | caminho para o modelo de detecçã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 ObjectDetector createFromFileAndOptions (opções de arquivo modelFile, ObjectDetector.ObjectDetectorOptions )
Cria uma instância ObjectDetector
a partir de ObjectDetector.ObjectDetectorOptions
.
Parâmetros
arquivomodelo | o modelo de detecçã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 |
Lista pública < Detecção > detectar (imagem MlImage )
Executa a detecção real no MlImage
fornecido.
Parâmetros
imagem | um objeto MlImage que representa uma imagem |
---|
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 < Detecção > detectar (imagem TensorImage , opções ImageProcessingOptions )
Executa a detecção real na imagem fornecida.
ObjectDetector
oferece suporte aos seguintes tipos de espaço de cores TensorImage
:
ObjectDetector
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 para configurar como pré-processar a imagem |
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 |
public List < Detecção > detectar (imagem MlImage , opções ImageProcessingOptions )
Executa a detecção real no MlImage
fornecido com ImageProcessingOptions
.
ObjectDetector
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 objeto MlImage que representa uma imagem |
---|---|
opções | as opções para configurar como pré-processar a imagem |
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 |
Lista pública < Detecção > detectar (imagem TensorImage )
Executa a detecção real na imagem fornecida.
ObjectDetector
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
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 |