Executa a detecção de objetos em imagens.
A API espera um modelo TFLite com TFLite modelo de metadados. .
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.
- Imagem de entrada tensor (
kTfLiteUInt8
/kTfLiteFloat32
)- de entrada de imagem de tamanho
[batch x height x width x channels]
. - inferência lote não está suportado (
batch
é requerido para ser 1). - única entradas RGB são suportados (
channels
é necessário ser 3). - se o tipo é
kTfLiteFloat32
, NormalizationOptions são obrigados a ser ligado ao metadados para normalização de entrada.
- de entrada de imagem de tamanho
DetectionPostProcess
op, ou seja:- Localização tensor (
kTfLiteFloat32
):- tensor de tamanho
[1 x num_results x 4]
, a matriz interior representando caixas delimitadoras sob a forma [superior, esquerda, direita e inferior]. -
BoundingBoxProperties
são obrigados a ser ligado aos metadados e deve especificartype=BOUNDARIES
ecoordinate_type=RATIO
.
- tensor de tamanho
kTfLiteFloat32
):- tensor de tamanho
[1 x num_results]
, cada valor representa o índice inteiro de uma classe. - se mapas de etiquetas estão ligados aos metadados como
TENSOR_VALUE_LABELS
associados arquivos, eles são usados para converter os valores de tensores dentro de etiquetas.
kTfLiteFloat32
):- tensor de tamanho
[1 x num_results]
, cada valor representa a pontuação do objecto detectado.
kTfLiteFloat32
):- NUM_RESULTS inteiro como um tensor de tamanho
[1]
.
Um exemplo de tal modelo pode ser encontrado na TensorFlow Hub. .
Classes aninhadas
classe | 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 um ObjectDetector
exemplo com um tampão de modelo e os predefinidos ObjectDetector.ObjectDetectorOptions
.
Parâmetros
modelBuffer | um directa ByteBuffer ou um MappedByteBuffer do modelo de detecção |
---|
Lança
Exceção de argumento ilegal | Se o tampão de modelo não é um directa ByteBuffer ou um MappedByteBuffer * @throws IllegalStateException se houver um erro interno |
---|---|
Exceção de tempo de execução | se houver um erro não especificado de outra forma |
public static ObjectDetector createFromBufferAndOptions ( ByteBuffer modelBuffer, ObjectDetector.ObjectDetectorOptions opções)
Cria um ObjectDetector
exemplo com um tampão e modelo ObjectDetector.ObjectDetectorOptions
.
Parâmetros
modelBuffer | um directa ByteBuffer ou um MappedByteBuffer do modelo de detecção |
---|---|
opções |
Lança
Exceção de argumento ilegal | Se o tampão de modelo não é um directa ByteBuffer ou um MappedByteBuffer |
---|---|
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado de outra forma |
public static ObjectDetector CreateFromFile (contexto Contexto, Cordas modelPath)
Cria um ObjectDetector
instância do padrão ObjectDetector.ObjectDetectorOptions
.
Parâmetros
contexto | |
---|---|
modelPath | caminho para o modelo de detecção com metadados nos ativos |
Lança
IOException | se ocorrer um erro de I / O ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento é inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado de outra forma |
public static ObjectDetector CreateFromFile ( Arquivo modelFile)
Cria um ObjectDetector
instância do padrão ObjectDetector.ObjectDetectorOptions
.
Parâmetros
modelFile | a detecção modelo File instância |
---|
Lança
IOException | se ocorrer um erro de I / O ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento é inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado de outra forma |
public static ObjectDetector createFromFileAndOptions (contexto contexto, Cordas modelPath, ObjectDetector.ObjectDetectorOptions opções)
Cria um ObjectDetector
exemplo de ObjectDetector.ObjectDetectorOptions
.
Parâmetros
contexto | |
---|---|
modelPath | caminho para o modelo de detecção com metadados nos ativos |
opções |
Lança
IOException | se ocorrer um erro de I / O ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento é inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado de outra forma |
public static ObjectDetector createFromFileAndOptions ( Arquivo modelFile, ObjectDetector.ObjectDetectorOptions opções)
Cria um ObjectDetector
exemplo de ObjectDetector.ObjectDetectorOptions
.
Parâmetros
modelFile | a detecção modelo File instância |
---|---|
opções |
Lança
IOException | se ocorrer um erro de I / O ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento é inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado de outra forma |
pública Lista < Detecção > detectar ( MlImage imagem)
Realiza detecção real no fornecida MlImage
.
Parâmetros
imagem | um MlImage objecto 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 de outra forma |
Exceção de argumento ilegal | se o tipo de armazenamento ou formato da imagem não for compatível |
pública Lista < Detecção > detectar ( TensorImage imagem, ImageProcessingOptions opções)
Executa a detecção real na imagem fornecida.
ObjectDetector
suporta os seguintes TensorImage
tipos de espaço de cores:
ObjectDetector
suporta as seguintes opções:
- rotação da imagem (através
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). O padrão éImageProcessingOptions.Orientation.TOP_LEFT
.
Parâmetros
imagem | um UINT8 TensorImage objecto 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 de outra forma |
Exceção de argumento ilegal | se o tipo de espaço de cor da imagem não for compatível |
pública Lista < Detecção > detectar ( MlImage imagem, ImageProcessingOptions opções)
Realiza detecção real no fornecida MlImage
com ImageProcessingOptions
.
ObjectDetector
suporta as seguintes opções:
- rotação da imagem (através
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). O padrão éImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
não é eficaz.
Parâmetros
imagem | um MlImage objecto 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 de outra forma |
Exceção de argumento ilegal | se o tipo de armazenamento ou formato da imagem não for compatível |
pública Lista < Detecção > detectar ( TensorImage imagem)
Executa a detecção real na imagem fornecida.
ObjectDetector
suporta os seguintes TensorImage
tipos de espaço de cores:
Parâmetros
imagem | um UINT8 TensorImage objecto 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 de outra forma |
Exceção de argumento ilegal | se o tipo de espaço de cor da imagem não for compatível |