Realiza la detección de objetos en imágenes.
La API espera un modelo TFLite con metadatos del modelo TFLite. .
La API admite modelos con un tensor de entrada de imagen y cuatro tensores de salida. Para ser más específicos, aquí están los requisitos.
- Tensor de imagen de entrada (
kTfLiteUInt8
/kTfLiteFloat32
)- entrada de imagen de tamaño
[batch x height x width x channels]
. - No se admite la inferencia por lotes (se requiere que
batch
sea 1). - Solo se admiten entradas RGB (se requieren 3
channels
). - Si el tipo es
kTfLiteFloat32
, se deben adjuntar NormalizationOptions a los metadatos para la normalización de la entrada.
- entrada de imagen de tamaño
DetectionPostProcess
, es decir:- Tensor de ubicación (
kTfLiteFloat32
):- tensor de tamaño
[1 x num_results x 4]
, la matriz interna representa cuadros delimitadores en la forma [arriba, izquierda, derecha, abajo]. - Es necesario adjuntar
BoundingBoxProperties
a los metadatos y deben especificartype=BOUNDARIES
ycoordinate_type=RATIO
.
- tensor de tamaño
kTfLiteFloat32
):- tensor de tamaño
[1 x num_results]
, cada valor representa el índice entero de una clase. - Si los mapas de etiquetas se adjuntan a los metadatos como archivos asociados
TENSOR_VALUE_LABELS
, se utilizan para convertir los valores del tensor en etiquetas.
kTfLiteFloat32
):- tensor de tamaño
[1 x num_results]
, cada valor representa la puntuación del objeto detectado.
kTfLiteFloat32
):- entero num_results como tensor de tamaño
[1]
.
Se puede encontrar un ejemplo de dicho modelo en TensorFlow Hub. .
Clases anidadas
clase | ObjectDetector.ObjectDetectorOptions | Opciones para configurar un ObjectDetector. |
Métodos públicos
Métodos heredados
Métodos públicos
ObjectDetector estático público createFromBuffer ( ByteBuffer modelBuffer)
Crea una instancia ObjectDetector
con un búfer de modelo y el valor predeterminado ObjectDetector.ObjectDetectorOptions
.
Parámetros
modeloBuffer | un ByteBuffer directo o un MappedByteBuffer del modelo de detección |
---|
Lanza
Argumento de excepción ilegal | si el buffer del modelo no es un ByteBuffer directo o un MappedByteBuffer * @throws IllegalStateException si hay un error interno |
---|---|
Excepción en tiempo de ejecución | si hay un error no especificado |
ObjectDetector estático público createFromBufferAndOptions (opciones ByteBuffer modelBuffer, ObjectDetector.ObjectDetectorOptions )
Crea una instancia ObjectDetector
con un búfer de modelo y ObjectDetector.ObjectDetectorOptions
.
Parámetros
modeloBuffer | un ByteBuffer directo o un MappedByteBuffer del modelo de detección |
---|---|
opciones |
Lanza
Argumento de excepción ilegal | si el búfer del modelo no es un ByteBuffer directo o un MappedByteBuffer |
---|---|
Excepción de estado ilegal | si hay un error interno |
Excepción en tiempo de ejecución | si hay un error no especificado |
ObjectDetector estático público createFromFile (contexto de contexto, ruta del modelo de cadena )
Crea una instancia ObjectDetector
a partir del ObjectDetector.ObjectDetectorOptions
predeterminado.
Parámetros
contexto | |
---|---|
modeloRuta | ruta al modelo de detección con metadatos en los activos |
Lanza
IOExcepción | si ocurre un error de E/S al cargar el modelo tflite |
---|---|
Argumento de excepción ilegal | si un argumento no es válido |
Excepción de estado ilegal | si hay un error interno |
Excepción en tiempo de ejecución | si hay un error no especificado |
ObjectDetector estático público createFromFile ( archivo modeloFile)
Crea una instancia ObjectDetector
a partir del ObjectDetector.ObjectDetectorOptions
predeterminado.
Parámetros
modeloArchivo | el modelo de detección Instancia File |
---|
Lanza
IOExcepción | si ocurre un error de E/S al cargar el modelo tflite |
---|---|
Argumento de excepción ilegal | si un argumento no es válido |
Excepción de estado ilegal | si hay un error interno |
Excepción en tiempo de ejecución | si hay un error no especificado |
ObjectDetector estático público createFromFileAndOptions (contexto contextual, ruta del modelo de cadena , opciones ObjectDetector.ObjectDetectorOptions )
Crea una instancia ObjectDetector
a partir de ObjectDetector.ObjectDetectorOptions
.
Parámetros
contexto | |
---|---|
modeloRuta | ruta al modelo de detección con metadatos en los activos |
opciones |
Lanza
IOExcepción | si ocurre un error de E/S al cargar el modelo tflite |
---|---|
Argumento de excepción ilegal | si un argumento no es válido |
Excepción de estado ilegal | si hay un error interno |
Excepción en tiempo de ejecución | si hay un error no especificado |
ObjectDetector estático público createFromFileAndOptions (opciones de archivo modelFile, ObjectDetector.ObjectDetectorOptions )
Crea una instancia ObjectDetector
a partir de ObjectDetector.ObjectDetectorOptions
.
Parámetros
modeloArchivo | el modelo de detección Instancia File |
---|---|
opciones |
Lanza
IOExcepción | si ocurre un error de E/S al cargar el modelo tflite |
---|---|
Argumento de excepción ilegal | si un argumento no es válido |
Excepción de estado ilegal | si hay un error interno |
Excepción en tiempo de ejecución | si hay un error no especificado |
Lista pública < Detección > detectar (imagen MlImage )
Realiza una detección real en el MlImage
proporcionado.
Parámetros
imagen | un objeto MlImage que representa una imagen |
---|
Lanza
Excepción de estado ilegal | si hay un error interno |
---|---|
Excepción en tiempo de ejecución | si hay un error no especificado |
Argumento de excepción ilegal | si el tipo de almacenamiento o formato de la imagen no es compatible |
Lista pública < Detección > detectar (imagen TensorImage , opciones ImageProcessingOptions )
Realiza una detección real en la imagen proporcionada.
ObjectDetector
admite los siguientes tipos de espacio de color TensorImage
:
ObjectDetector
admite las siguientes opciones:
- rotación de imagen (a través de
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). El valor predeterminado esImageProcessingOptions.Orientation.TOP_LEFT
.
Parámetros
imagen | un objeto UINT8 TensorImage que representa una imagen RGB o YUV |
---|---|
opciones | las opciones para configurar cómo preprocesar la imagen |
Lanza
Excepción de estado ilegal | si hay un error interno |
---|---|
Excepción en tiempo de ejecución | si hay un error no especificado |
Argumento de excepción ilegal | si el tipo de espacio de color de la imagen no es compatible |
Lista pública < Detección > detectar (imagen MlImage , opciones ImageProcessingOptions )
Realiza una detección real en el MlImage
proporcionado con ImageProcessingOptions
.
ObjectDetector
admite las siguientes opciones:
- rotación de imagen (a través de
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). El valor predeterminado esImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
no es efectivo.
Parámetros
imagen | un objeto MlImage que representa una imagen |
---|---|
opciones | las opciones para configurar cómo preprocesar la imagen |
Lanza
Excepción de estado ilegal | si hay un error interno |
---|---|
Excepción en tiempo de ejecución | si hay un error no especificado |
Argumento de excepción ilegal | si el tipo de almacenamiento o formato de la imagen no es compatible |
Lista pública < Detección > detectar (imagen TensorImage )
Realiza una detección real en la imagen proporcionada.
ObjectDetector
admite los siguientes tipos de espacio de color TensorImage
:
Parámetros
imagen | un objeto UINT8 TensorImage que representa una imagen RGB o YUV |
---|
Lanza
Excepción de estado ilegal | si hay un error interno |
---|---|
Excepción en tiempo de ejecución | si hay un error no especificado |
Argumento de excepción ilegal | si el tipo de espacio de color de la imagen no es compatible |