ObjectDetector

classe final pública ObjectDetector

Executa detecção de objetos em imagens.

A API espera um modelo do TFLite com TFLite Model Metadata..

A API oferece suporte a modelos com um tensor de entrada de imagem e quatro tensores de saída. Para ser mais específico, veja os requisitos.

  • Tensor de imagem de entrada (kTfLiteUInt8/kTfLiteFloat32)
    • entrada de imagem de [batch x height x width x channels].
    • a inferência em lote não é aceita (batch precisa ser 1).
    • apenas entradas RGB são aceitas (channels precisa ser 3).
    • Se o tipo for kTfLiteFloat32, as NormalizationOptions precisam ser anexadas aos metadados para a normalização de entrada.
  • Os tensores de saída precisam ser as quatro 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 caixas delimitadoras no formato [superior, esquerda, direita, inferior].
      • BoundingBoxProperties precisam ser anexados aos metadados e precisam especificar type=BOUNDARIES e coordinate_type=RATIO.
    • Tensor de classes (kTfLiteFloat32):
      • tensor de tamanho [1 x num_results], cada valor representando o índice de números inteiros de uma classe.
      • Se os mapas de rótulos estiverem anexados aos metadados como arquivos associados a 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 do tensor de detecção (kTfLiteFloat32):
      • num_results do número inteiro como um tensor de tamanho [1].

Um exemplo desse modelo pode ser encontrado no TensorFlow Hub.

Classes aninhadas

classe ObjectDetector.ObjectDetectorOptions Opções para configurar um ObjectDetector

Métodos públicos

estático ObjectDetector
createFromBuffer(contexto de contexto, modelBuffer ByteBuffer)
Cria uma instância ObjectDetector com base em um buffer de modelo e o ObjectDetector.ObjectDetectorOptions padrão.
estático ObjectDetector
createFromFile(contexto de contexto, modelPath String)
Cria uma instância ObjectDetector com base em um arquivo de modelo e o ObjectDetector.ObjectDetectorOptions padrão.
estático ObjectDetector
createFromFile(contexto de contexto, File modelFile)
Cria uma instância ObjectDetector com base em um arquivo de modelo e o ObjectDetector.ObjectDetectorOptions padrão.
estático ObjectDetector
createFromOptions(contexto de contexto, ObjectDetector.ObjectDetectorOptions detectorOptions)
ObjectDetectorResult
detect(imagem MPImage)
Executa detecção de objetos na imagem única fornecida com opções de processamento de imagem padrão, ou seja,
ObjectDetectorResult
detect(imagem MPImage, ImageProcessingOptions imageprocessingOptions)
Executa detecção de objetos na imagem única fornecida.
void
detectAsync(imagem MPImage, ImageProcessingOptions imageHandlingOptions, carimbos de data/hora longos)
Envia dados de imagens em tempo real para realizar a detecção de objetos. Os resultados ficam disponíveis pelo OutputHandler.ResultListener fornecido no ObjectDetector.ObjectDetectorOptions.
void
detectAsync(imagem MPImage, carimbos de data/hora longos)
Envia dados de imagens em tempo real para realizar a detecção de objetos com opções de processamento de imagem padrão, ou seja,
ObjectDetectorResult
detectForVideo(imagem MPImage, ImageProcessingOptions imageprocessingOptions, carimbos de data/hora longos)
Executa detecção de objetos no frame de vídeo fornecido.
ObjectDetectorResult
detectForVideo(imagem MPImage, carimbos de data/hora longos)
Executa detecção de objetos no frame de vídeo fornecido com opções de processamento de imagem padrão, ou seja,

Métodos herdados

Métodos públicos

public Static ObjectDetector createFromBuffer (contexto de contexto, ByteBuffer modelBuffer)

Cria uma instância ObjectDetector com base em um buffer de modelo e o ObjectDetector.ObjectDetectorOptions padrão.

Parâmetros
contexto um ERROR(/Context) do Android.
modelBuffer um ByteBuffer direto ou um ERROR(/MappedByteBuffer) do modelo de detecção.
Gera
se houver um erro durante a criação de ObjectDetector.

public Static ObjectDetector createFromFile (contexto de contexto, String modelPath)

Cria uma instância ObjectDetector com base em um arquivo de modelo e o ObjectDetector.ObjectDetectorOptions padrão.

Parâmetros
contexto um ERROR(/Context) do Android.
modelPath caminho para o modelo de detecção com metadados nos recursos.
Gera
se houver um erro durante a criação de ObjectDetector.

público estático ObjectDetector createFromFile (contexto de contexto, arquivo modelFile)

Cria uma instância ObjectDetector com base em um arquivo de modelo e o ObjectDetector.ObjectDetectorOptions padrão.

Parâmetros
contexto um ERROR(/Context) do Android.
modelFile a instância File do modelo de detecção.
Gera
IOException se ocorrer um erro de E/S ao abrir o arquivo do modelo do tflite.
se houver um erro durante a criação de ObjectDetector.

public Static ObjectDetector createFromOptions (contexto de contexto, ObjectDetector.ObjectDetectorOptions detectorOptions)

Parâmetros
contexto um ERROR(/Context) do Android.
detectorOptions uma instância ObjectDetector.ObjectDetectorOptions.
Gera
se houver um erro durante a criação de ObjectDetector.

public ObjectDetectorResult detect (MPImage)

Executa a detecção de objetos na imagem única fornecida com opções de processamento de imagem padrão, ou seja, sem aplicação de qualquer rotação. Use esse método somente quando o ObjectDetector for criado com ERROR(/RunningMode.IMAGE).

ObjectDetector oferece suporte aos seguintes tipos de espaço de cores:

Parâmetros
imagem um objeto MPImage do MediaPipe para processamento.
Gera
caso haja um erro interno.

public ObjectDetectorResult detect (MPImage, ImageProcessingOptions imageprocessingOptions)

Executa detecção de objetos na imagem única fornecida. Use esse método somente quando o ObjectDetector for criado com ERROR(/RunningMode.IMAGE).

ObjectDetector oferece suporte aos seguintes tipos de espaço de cores:

Parâmetros
imagem um objeto MPImage do MediaPipe para processamento.
imageProcessingOptions o ImageProcessingOptions que especifica como processar a imagem de entrada antes de executar a inferência. Essa tarefa não oferece suporte à região de interesse: especificar ImageProcessingOptions.regionOfInterest() fará com que esse método gere uma IllegalArgumentException.
Gera
IllegalArgumentException se ImageProcessingOptions especificar uma região de interesse.
caso haja um erro interno.

public void detectAsync (MPImage imagem, ImageProcessingOptions image ProcessingOptions, long timestampMs)

Envia dados de imagens em tempo real para realizar a detecção de objetos. Os resultados ficam disponíveis pelo OutputHandler.ResultListener fornecido no ObjectDetector.ObjectDetectorOptions. Use esse método somente quando a ObjectDetector for criada com ERROR(/RunningMode.LIVE_STREAM).

É necessário informar um carimbo de data/hora (em milissegundos) para indicar quando a imagem de entrada é enviada ao detector de objetos. Os carimbos de data/hora de entrada precisam aumentar monotonicamente.

ObjectDetector oferece suporte aos seguintes tipos de espaço de cores:

Parâmetros
imagem um objeto MPImage do MediaPipe para processamento.
imageProcessingOptions o ImageProcessingOptions que especifica como processar a imagem de entrada antes de executar a inferência. Essa tarefa não oferece suporte à região de interesse: especificar ImageProcessingOptions.regionOfInterest() fará com que esse método gere uma IllegalArgumentException.
timestampMs o carimbo de data/hora de entrada (em milissegundos).
Gera
IllegalArgumentException se ImageProcessingOptions especificar uma região de interesse.
caso haja um erro interno.

public void detectAsync (MPImage imagem, carimbos de data/hora longos)

Envia dados de imagem em tempo real para realizar detecção de objetos com opções de processamento de imagem padrão, ou seja, sem nenhuma rotação aplicada, e os resultados estarão disponíveis por meio do OutputHandler.ResultListener fornecido no ObjectDetector.ObjectDetectorOptions. Use esse método somente quando o ObjectDetector for criado com ERROR(/RunningMode.LIVE_STREAM).

É necessário informar um carimbo de data/hora (em milissegundos) para indicar quando a imagem de entrada é enviada ao detector de objetos. Os carimbos de data/hora de entrada precisam aumentar monotonicamente.

ObjectDetector oferece suporte aos seguintes tipos de espaço de cores:

Parâmetros
imagem um objeto MPImage do MediaPipe para processamento.
timestampMs o carimbo de data/hora de entrada (em milissegundos).
Gera
caso haja um erro interno.

public ObjectDetectorResult detectForVideo (imagem MPImage, ImageProcessingOptions imageHandlingOptions, carimbo de data/hora longo)

Executa detecção de objetos no frame de vídeo fornecido. Use esse método somente quando o ObjectDetector for criado com ERROR(/RunningMode.VIDEO).

É necessário fornecer o carimbo de data/hora do frame do vídeo (em milissegundos). Os carimbos de data/hora de entrada precisam aumentar monotonicamente.

ObjectDetector oferece suporte aos seguintes tipos de espaço de cores:

Parâmetros
imagem um objeto MPImage do MediaPipe para processamento.
imageProcessingOptions o ImageProcessingOptions que especifica como processar a imagem de entrada antes de executar a inferência. Essa tarefa não oferece suporte à região de interesse: especificar ImageProcessingOptions.regionOfInterest() fará com que esse método gere uma IllegalArgumentException.
timestampMs o carimbo de data/hora de entrada (em milissegundos).
Gera
IllegalArgumentException se ImageProcessingOptions especificar uma região de interesse.
caso haja um erro interno.

public ObjectDetectorResult detectForVideo (MPImage, carimbo de data/hora longo)

Executa detecção de objetos no frame de vídeo fornecido com opções de processamento de imagem padrão, ou seja, sem aplicação de qualquer rotação. Use esse método somente quando o ObjectDetector for criado com ERROR(/RunningMode.VIDEO).

É necessário fornecer o carimbo de data/hora do frame do vídeo (em milissegundos). Os carimbos de data/hora de entrada precisam aumentar monotonicamente.

ObjectDetector oferece suporte aos seguintes tipos de espaço de cores:

Parâmetros
imagem um objeto MPImage do MediaPipe para processamento.
timestampMs o carimbo de data/hora de entrada (em milissegundos).
Gera
caso haja um erro interno.