ImageClassifier

Clase final pública ImageClassifier

Realiza la clasificación de imágenes.

La API espera un modelo TFLite con metadatos del modelo TFLite, que son opcionales, pero muy recomendables.

La API admite modelos con un tensor de entrada de imagen y uno o más tensores de salida. Para ser más específicos, estos son 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 requiere que channels sea 3).
    • Si el tipo es kTfLiteFloat32, es necesario adjuntar NormalizationOptions a los metadatos para la normalización de entrada.
  • Al menos un tensor de salida (kTfLiteUInt8/kTfLiteFloat32) con lo siguiente:
    • Clases N y 2 o 4 dimensiones, es decir, [1 x N] o [1 x 1 x 1 x N]
    • Mapas de etiquetas opcionales (pero recomendados) como AssociatedFile-s con el tipo TENSOR_AXIS_LABELS, que contienen una etiqueta por línea. El primer AssociateFile (si existe) se usa para completar el campo class_name de los resultados. El campo display_name se completa desde el AssociatedFile (si existe) cuya configuración regional coincide con el campo display_names_locale del ImageClassifierOptions utilizado en el momento de la creación ("en" de forma predeterminada, es decir, inglés). Si ninguna de estas opciones está disponible, solo se completará el campo index de los resultados.
    • se puede adjuntar la calibración de puntuación opcional con ScoreCalibrationOptions y un AssociateFile con el tipo TENSOR_AXIS_SCORE_CALIBRATION. Consulta metadata_schema.fbs para obtener más detalles.

Puedes encontrar un ejemplo de ese modelo en TensorFlow Hub.

Categorías anidadas

clase ImageClassifier.ImageClassifierOptions Opciones para la configuración y ImageClassifier

Métodos públicos

ImageClassifierResult
classify(imagen MPImage)
Realiza la clasificación en la imagen única que se proporciona con las opciones de procesamiento de imágenes predeterminadas, es decir,
ImageClassifierResult
classify(imagen MPImage, ImageProcessingOptions imageProcessingOptions)
Realiza la clasificación de la imagen única proporcionada.
void
classifyAsync(imagen MPImage, ImageProcessingOptions imageProcessingOptions, marca de tiempo largaMs)
Envía datos de imágenes en vivo para realizar la clasificación, y los resultados estarán disponibles a través del OutputHandler.ResultListener proporcionado en ImageClassifier.ImageClassifierOptions.
void
classifyAsync(imagen MPImage, timestampMs largo)
Envía datos de imágenes en vivo para realizar la clasificación con las opciones de procesamiento de imágenes predeterminadas, es decir.
ImageClassifierResult
classifyForVideo(imagen MPImage, timestampMs largo)
Realiza la clasificación en el fotograma de video proporcionado con opciones de procesamiento de imágenes predeterminadas, p.ej.,
ImageClassifierResult
classifyForVideo(imagen MPImage, ImageProcessingOptions imageProcessingOptions, marca de tiempo largaMs)
Realiza la clasificación en el fotograma de video proporcionado.
ImageClassifier estático
createFromBuffer(contexto de contexto, modelBuffer de ByteBuffer)
Crea una instancia ImageClassifier a partir de un búfer de modelo y ImageClassifier.ImageClassifierOptions predeterminado.
ImageClassifier estático
createFromFile(contexto de contexto, String modelPath)
Crea una instancia ImageClassifier a partir de un archivo de modelo y ImageClassifier.ImageClassifierOptions predeterminado.
ImageClassifier estático
createFromFile(contexto de contexto, Archivo modelFile)
Crea una instancia ImageClassifier a partir de un archivo de modelo y ImageClassifier.ImageClassifierOptions predeterminado.
ImageClassifier estático
createFromOptions(contexto de contexto, opciones ImageClassifier.ImageClassifierOptions)
Crea una instancia ImageClassifier a partir de una instancia ImageClassifier.ImageClassifierOptions.

Métodos heredados

Métodos públicos

public ImageClassifierResult classify (MPImage imagen)

Realiza la clasificación de la imagen única proporcionada con opciones de procesamiento de imagen predeterminadas, es decir, usa toda la imagen como la región de interés y sin ninguna rotación. Usa este método solo cuando se cree el ImageClassifier con ERROR(/RunningMode.IMAGE).

ImageClassifier admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
Arroja
si se produce un error interno.

public ImageClassifierResult classify (MPImage imagen, ImageProcessingOptions imageProcessingOptions)

Realiza la clasificación de la imagen única proporcionada. Usa este método solo cuando se cree el ImageClassifier con ERROR(/RunningMode.IMAGE).

ImageClassifier admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
imageProcessingOptions ImageProcessingOptions que especifica cómo procesar la imagen de entrada antes de ejecutar la inferencia.
Arroja
si se produce un error interno.

public void classifyAsync (imagen MPImage, ImageProcessingOptions imageProcessingOptions, long timestampMs)

Envía datos de imágenes en vivo para realizar la clasificación, y los resultados estarán disponibles a través del OutputHandler.ResultListener proporcionado en ImageClassifier.ImageClassifierOptions. Usa este método solo cuando se cree el ImageClassifier con ERROR(/RunningMode.LIVE_STREAM).

Se debe proporcionar una marca de tiempo (en milisegundos) para indicar cuándo se envía la imagen de entrada al detector de objetos. Las marcas de tiempo de entrada deben aumentar monótonamente.

ImageClassifier admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
imageProcessingOptions ImageProcessingOptions que especifica cómo procesar la imagen de entrada antes de ejecutar la inferencia.
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
si se produce un error interno.

public void classifyAsync (imagen MPImage, timestampMs largo)

Envía datos de imágenes en vivo para realizar la clasificación con opciones de procesamiento de imágenes predeterminadas, es decir, usa la imagen completa como la región de interés y sin ninguna rotación. Los resultados estarán disponibles a través del OutputHandler.ResultListener proporcionado en ImageClassifier.ImageClassifierOptions. Usa este método solo cuando se cree el ImageClassifier con ERROR(/RunningMode.LIVE_STREAM).

Se debe proporcionar una marca de tiempo (en milisegundos) para indicar cuándo se envía la imagen de entrada al detector de objetos. Las marcas de tiempo de entrada deben aumentar monótonamente.

ImageClassifier admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
si se produce un error interno.

public ImageClassifierResult classifyForVideo (MPImage imagen, timestampMs largo)

Realiza la clasificación en el fotograma de video proporcionado con opciones de procesamiento de imagen predeterminadas, es decir, usa toda la imagen como región de interés y sin rotación. Usa este método solo cuando se cree el ImageClassifier con ERROR(/RunningMode.VIDEO).

Es obligatorio proporcionar la marca de tiempo del fotograma del video (en milisegundos). Las marcas de tiempo de entrada deben aumentar de forma monótona.

ImageClassifier admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
si se produce un error interno.

public ImageClassifierResult classifyForVideo (MPImage imagen, ImageProcessingOptions imageProcessingOptions, long timestampMs)

Realiza la clasificación en el fotograma de video proporcionado. Usa este método solo cuando se cree el ImageClassifier con ERROR(/RunningMode.VIDEO).

Es obligatorio proporcionar la marca de tiempo del fotograma del video (en milisegundos). Las marcas de tiempo de entrada deben aumentar de forma monótona.

ImageClassifier admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
imageProcessingOptions ImageProcessingOptions que especifica cómo procesar la imagen de entrada antes de ejecutar la inferencia.
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
si se produce un error interno.

publica estática estática ImageClassifier createFromBuffer (contexto de contexto, ByteBuffer modelBuffer)

Crea una instancia ImageClassifier a partir de un búfer de modelo y ImageClassifier.ImageClassifierOptions predeterminado.

Parámetros
Contexto un ERROR(/Context) de Android
modelBuffer un ByteBuffer directo o un ERROR(/MappedByteBuffer) del modelo de clasificación.
Arroja
Si se produce un error durante la creación de ImageClassifier.

publica estática estática ImageClassifier createFromFile (contexto de contexto, String modelPath)

Crea una instancia ImageClassifier a partir de un archivo de modelo y ImageClassifier.ImageClassifierOptions predeterminado.

Parámetros
Contexto un ERROR(/Context) de Android
modelPath ruta de acceso al modelo de clasificación en los recursos.
Arroja
Si se produce un error durante la creación de ImageClassifier.

público estático ImageClassifier createFromFile (Contexto de contexto, Archivo modelFile)

Crea una instancia ImageClassifier a partir de un archivo de modelo y ImageClassifier.ImageClassifierOptions predeterminado.

Parámetros
Contexto un ERROR(/Context) de Android
modelFile la instancia del modelo de clasificación File.
Arroja
IOException si se produce un error de E/S cuando se abre el archivo del modelo de tflite.
Si se produce un error durante la creación de ImageClassifier.

público estático ImageClassifier createFromOptions (contexto de contexto, opciones de ImageClassifier.ImageClassifierOptions)

Crea una instancia ImageClassifier a partir de una instancia ImageClassifier.ImageClassifierOptions.

Parámetros
Contexto un ERROR(/Context) de Android
Opciones una instancia de ImageClassifier.ImageClassifierOptions.
Arroja
Si se produce un error durante la creación de ImageClassifier.