Realiza detección de objetos en imágenes.
La API espera un modelo TFLite con TFLite modelo de metadatos. .
La API admite modelos con un tensor de entrada de imagen y cuatro tensores de salida. Para ser más específicos, estos son los requisitos.
- Tensor de la imagen de entrada (
kTfLiteUInt8
/kTfLiteFloat32
)- de entrada de imagen de tamaño
[batch x height x width x channels]
. - No se admite la inferencia por lotes (
batch
se requiere que sea 1). - solamente entradas RGB son compatibles (
channels
se requiere que sea 3). - si el tipo es
kTfLiteFloat32
, se requieren NormalizationOptions que se adjunta a los metadatos para la normalización de entrada.
- de entrada de imagen de tamaño
DetectionPostProcess
op, es decir:- Ubicación tensor (
kTfLiteFloat32
):- tensor de tamaño
[1 x num_results x 4]
, la matriz interior que representa cuadros delimitadores en la forma [superior, izquierda, derecha, abajo]. -
BoundingBoxProperties
están obligados a estar unido 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
TENSOR_VALUE_LABELS
asociados archivos, 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
):- NUM_RESULTS entero como un tensor de tamaño
[1]
.
Un ejemplo de tal modelo se puede encontrar en TensorFlow concentradores. .
Clases anidadas
clase | ObjectDetector.ObjectDetectorOptions | Opciones para configurar un ObjectDetector. |
Métodos públicos
Métodos heredados
Métodos públicos
public static ObjectDetector createFromBuffer ( ByteBuffer modelBuffer)
Crea un ObjectDetector
ejemplo con un tampón de modelo y el valor predeterminado ObjectDetector.ObjectDetectorOptions
.
Parámetros
modelBuffer | una directa ByteBuffer o una MappedByteBuffer del modelo de detección de |
---|
Lanza
Argumento de excepción ilegal | si el búfer modelo no es un directo ByteBuffer una o MappedByteBuffer * @throws IllegalStateException si hay un error interno |
---|---|
Excepción en tiempo de ejecución | si hay un error de otro modo no especificado |
public static ObjectDetector createFromBufferAndOptions ( ByteBuffer modelBuffer, ObjectDetector.ObjectDetectorOptions opciones)
Crea un ObjectDetector
ejemplo con un tampón de modelo y ObjectDetector.ObjectDetectorOptions
.
Parámetros
modelBuffer | una directa ByteBuffer o una MappedByteBuffer del modelo de detección de |
---|---|
opciones |
Lanza
Argumento de excepción ilegal | si el búfer no es un modelo directo ByteBuffer o una MappedByteBuffer |
---|---|
IllegalStateException | si hay un error interno |
Excepción en tiempo de ejecución | si hay un error de otro modo no especificado |
public static ObjectDetector CreateFromFile (contexto Contexto, Cadena modelPath)
Crea un ObjectDetector
ejemplo, de los predeterminados ObjectDetector.ObjectDetectorOptions
.
Parámetros
contexto | |
---|---|
modelPath | ruta al modelo de detección con metadatos en los activos |
Lanza
IOException | si se produce un error de E / S al cargar el modelo tflite |
---|---|
Argumento de excepción ilegal | si un argumento no es válido |
IllegalStateException | si hay un error interno |
Excepción en tiempo de ejecución | si hay un error de otro modo no especificado |
public static ObjectDetector CreateFromFile ( Archivo MODELFILE)
Crea un ObjectDetector
ejemplo, de los predeterminados ObjectDetector.ObjectDetectorOptions
.
Parámetros
modelFile | la detección modelo File instancia |
---|
Lanza
IOException | si se produce un error de E / S al cargar el modelo tflite |
---|---|
Argumento de excepción ilegal | si un argumento no es válido |
IllegalStateException | si hay un error interno |
Excepción en tiempo de ejecución | si hay un error de otro modo no especificado |
public static ObjectDetector createFromFileAndOptions (contexto, Contexto Cadena modelPath, ObjectDetector.ObjectDetectorOptions opciones)
Crea un ObjectDetector
ejemplo de ObjectDetector.ObjectDetectorOptions
.
Parámetros
contexto | |
---|---|
modelPath | ruta al modelo de detección con metadatos en los activos |
opciones |
Lanza
IOException | si se produce un error de E / S al cargar el modelo tflite |
---|---|
Argumento de excepción ilegal | si un argumento no es válido |
IllegalStateException | si hay un error interno |
Excepción en tiempo de ejecución | si hay un error de otro modo no especificado |
public static ObjectDetector createFromFileAndOptions ( Archivo MODELFILE, ObjectDetector.ObjectDetectorOptions opciones)
Crea un ObjectDetector
ejemplo de ObjectDetector.ObjectDetectorOptions
.
Parámetros
modelFile | la detección modelo File instancia |
---|---|
opciones |
Lanza
IOException | si se produce un error de E / S al cargar el modelo tflite |
---|---|
Argumento de excepción ilegal | si un argumento no es válido |
IllegalStateException | si hay un error interno |
Excepción en tiempo de ejecución | si hay un error de otro modo no especificado |
pública Lista < Detección > detectar ( MlImage imagen)
Realiza la detección real en el proporcionado MlImage
.
Parámetros
imagen | un MlImage objeto que representa una imagen |
---|
Lanza
IllegalStateException | si hay un error interno |
---|---|
Excepción en tiempo de ejecución | si hay un error de otro modo no especificado |
Argumento de excepción ilegal | si el tipo de almacenamiento o el formato de la imagen no es compatible |
pública Lista < Detección > detectar ( TensorImage imagen, ImageProcessingOptions opciones)
Realiza una detección real en la imagen proporcionada.
ObjectDetector
soporta los siguientes TensorImage
tipos de espacio de color:
ObjectDetector
soporta las siguientes opciones:
- rotación de imagen (a través de
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). Por defecto esImageProcessingOptions.Orientation.TOP_LEFT
.
Parámetros
imagen | un UINT8 TensorImage objeto que representa una imagen RGB o YUV |
---|---|
opciones | las opciones para configurar cómo preprocesar la imagen |
Lanza
IllegalStateException | si hay un error interno |
---|---|
Excepción en tiempo de ejecución | si hay un error de otro modo no especificado |
Argumento de excepción ilegal | si el tipo de espacio de color de la imagen no es compatible |
pública Lista < Detección > detectar ( MlImage imagen, ImageProcessingOptions opciones)
Realiza la detección real en el proporcionado MlImage
con ImageProcessingOptions
.
ObjectDetector
soporta las siguientes opciones:
- rotación de imagen (a través de
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). Por defecto esImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
no es eficaz.
Parámetros
imagen | un MlImage objeto que representa una imagen |
---|---|
opciones | las opciones para configurar cómo preprocesar la imagen |
Lanza
IllegalStateException | si hay un error interno |
---|---|
Excepción en tiempo de ejecución | si hay un error de otro modo no especificado |
Argumento de excepción ilegal | si el tipo de almacenamiento o el formato de la imagen no es compatible |
pública Lista < Detección > detectar ( TensorImage imagen)
Realiza una detección real en la imagen proporcionada.
ObjectDetector
soporta los siguientes TensorImage
tipos de espacio de color:
Parámetros
imagen | un UINT8 TensorImage objeto que representa una imagen RGB o YUV |
---|
Lanza
IllegalStateException | si hay un error interno |
---|---|
Excepción en tiempo de ejecución | si hay un error de otro modo no especificado |
Argumento de excepción ilegal | si el tipo de espacio de color de la imagen no es compatible |