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 (
batchprecisa ser 1). - apenas entradas RGB são aceitas (
channelsprecisa ser 3). - Se o tipo for
kTfLiteFloat32, as NormalizationOptions precisam ser anexadas aos metadados para a normalização de entrada.
- entrada de imagem de
- 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]. BoundingBoxPropertiesprecisam ser anexados aos metadados e precisam especificartype=BOUNDARIESecoordinate_type=RATIO.
- tensor de tamanho
- 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 tamanho
- Tensor de pontuações (
kTfLiteFloat32):- tensor de tamanho
[1 x num_results], cada valor representando a pontuação do objeto detectado.
- tensor de tamanho
- Número do tensor de detecção (
kTfLiteFloat32):- num_results do número inteiro como um tensor de tamanho
[1].
- num_results do número inteiro como um tensor de tamanho
- Tensor de localização (
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)
Cria uma instância
ObjectDetector de um ObjectDetector.ObjectDetectorOptions. |
| ObjectDetectorResult | |
| 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)
Cria uma instância ObjectDetector de um ObjectDetector.ObjectDetectorOptions.
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. |