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.
- entrada de imagen de tamaño
- 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 campodisplay_name
se completa desde el AssociatedFile (si existe) cuya configuración regional coincide con el campodisplay_names_locale
delImageClassifierOptions
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 campoindex
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.
- Clases
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 | |
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 .
|