ObjectDetector

classe final pública ObjectDetector

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.
  • Os tensores de saída devem ser as 4 saídas de uma operação 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 especificar type=BOUNDARIES e coordinate_type=RATIO .
    • Tensor de classes ( 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.
    • tensor de pontuações ( kTfLiteFloat32 ):
      • tensor de tamanho [1 x num_results] , cada valor representando a pontuação do objeto detectado.
    • Número de tensor de detecção ( 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

Detector de objetos estático
createFromBuffer ( ByteBuffer modelBuffer)
Cria uma instância ObjectDetector com um buffer de modelo e o ObjectDetector.ObjectDetectorOptions padrão.
Detector de objetos estático
Detector de objetos estático
createFromFile (contexto de contexto, String modelPath)
Cria uma instância ObjectDetector a partir do ObjectDetector.ObjectDetectorOptions padrão.
Detector de objetos estático
createFromFile ( Arquivo modelFile)
Cria uma instância ObjectDetector a partir do ObjectDetector.ObjectDetectorOptions padrão.
Detector de objetos estático
createFromFileAndOptions (contexto de contexto, String modelPath, opções ObjectDetector.ObjectDetectorOptions )
Cria uma instância ObjectDetector a partir de ObjectDetector.ObjectDetectorOptions .
Detector de objetos estático
Lista < Detecção >
detectar (imagem MlImage )
Executa a detecção real no MlImage fornecido.
Lista < Detecção >
detectar (imagem TensorImage , opções ImageProcessingOptions )
Executa a detecção real na imagem fornecida.
Lista < Detecção >
detectar (imagem MlImage , opções ImageProcessingOptions )
Executa a detecção real no MlImage fornecido com ImageProcessingOptions .
Lista < Detecção >
detectar (imagem TensorImage )
Executa a detecção real na imagem fornecida.

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:

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:

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