ImageClassifier

La classe publique finale ImageClassifier

Effectue une classification des images.

L'API attend un modèle TFLite avec des métadonnées de modèle TFLite facultatives, mais fortement recommandées.

L'API prend en charge les modèles avec un Tensor d'entrée d'image et un ou plusieurs Tensors de sortie. Pour être plus précis, voici les conditions requises.

  • Tensor d'image d'entrée (kTfLiteUInt8/kTfLiteFloat32)
    • image d'entrée de taille [batch x height x width x channels].
    • L'inférence par lot n'est pas acceptée (la valeur de batch doit être définie sur 1).
    • Seules les entrées RVB sont acceptées (la valeur de channels doit être définie sur 3).
    • Si le type est kTfLiteFloat32, des options NormalizationOptions doivent être associées aux métadonnées pour la normalisation des entrées.
  • Au moins un Tensor de sortie (kTfLiteUInt8/kTfLiteFloat32) avec :
    • Classes N et deux ou quatre dimensions, par exemple [1 x N] ou [1 x 1 x 1 x N]
    • Mappages de libellés facultatifs (mais recommandés) en tant que AssociatFiles de type TENSOR_AXIS_LABELS, contenant un libellé par ligne. Le premier AssociatFile (le cas échéant) est utilisé pour remplir le champ class_name des résultats. Le champ display_name est renseigné à partir de l'objet associé (le cas échéant) dont les paramètres régionaux correspondent au champ display_names_locale de l'élément ImageClassifierOptions utilisé au moment de la création ("en" par défaut, c'est-à-dire l'anglais). Si aucune de ces options n'est disponible, seul le champ index des résultats sera renseigné.
    • un calibrage de score facultatif à l'aide de ScoreCalibrationOptions et d'un AssociatFile de type TENSOR_AXIS_SCORE_CALIBRATION. Pour en savoir plus, consultez metadata_schema.fbs.

Vous trouverez un exemple de ce type de modèle sur la page TensorFlow Hub.

Classes imbriquées

classe ImageClassifier.ImageClassifierOptions Options de configuration et ImageClassifier

Méthodes publiques

ImageClassifierResult
classify(image MPImage)
Effectue une classification sur l'image unique fournie avec des options de traitement d'image par défaut, c'est-à-dire
ImageClassifierResult
classify(image MPImage, ImageProcessingOptions imageProcessingOptions)
Effectue une classification sur l'image unique fournie.
void
classifyAsync(image MPImage, ImageProcessingOptions imageProcessingOptions, longTimestampMs)
Envoie des données d'image en direct pour effectuer la classification. Les résultats sont disponibles via le OutputHandler.ResultListener fourni dans le ImageClassifier.ImageClassifierOptions.
void
classifyAsync(image MPImage, code temporel long)
Envoie des données d'image en direct pour effectuer une classification avec les options de traitement d'image par défaut (par exemple,
ImageClassifierResult
classifyForVideo(image MPImage, code temporel long)
Effectue une classification sur l'image vidéo fournie avec les options de traitement d'image par défaut, c'est-à-dire
ImageClassifierResult
classifyForVideo(image MPImage, ImageProcessingOptions imageProcessingOptions, longTimestampMs)
Effectue une classification sur l'image vidéo fournie.
ImageClassifier statique
createFromBuffer(contexte de contexte, modelBuffer ByteBuffer)
Crée une instance ImageClassifier à partir d'un tampon de modèle et une ImageClassifier.ImageClassifierOptions par défaut.
ImageClassifier statique
createFromFile(contexte de contexte, String modelPath)
Crée une instance ImageClassifier à partir d'un fichier de modèle et est ImageClassifier.ImageClassifierOptions par défaut.
ImageClassifier statique
createFromFile(contexte de contexte, File modelFile)
Crée une instance ImageClassifier à partir d'un fichier de modèle et est ImageClassifier.ImageClassifierOptions par défaut.
ImageClassifier statique
createFromOptions(contexte de contexte, options ImageClassifier.ImageClassifierOptions)
Crée une instance ImageClassifier à partir d'une instance ImageClassifier.ImageClassifierOptions.

Méthodes héritées

Méthodes publiques

public ImageClassifierResult classify (MPImage image)

Effectue une classification sur l'image unique fournie avec des options de traitement d'image par défaut, c'est-à-dire en utilisant l'image entière en tant que région d'intérêt et sans rotation appliquée. N'utilisez cette méthode que lorsque l'élément ImageClassifier est créé avec ERROR(/RunningMode.IMAGE).

ImageClassifier accepte les types d'espaces colorimétriques suivants:

Paramètres
Image un objet MPImage MediaPipe à traiter.
Génère
en cas d'erreur interne.

public ImageClassifierResult classify (MPImage image, ImageProcessingOptions imageProcessingOptions)

Effectue une classification sur l'image unique fournie. N'utilisez cette méthode que lorsque le ImageClassifier est créé avec ERROR(/RunningMode.IMAGE).

ImageClassifier accepte les types d'espaces colorimétriques suivants:

Paramètres
Image un objet MPImage MediaPipe à traiter.
imageProcessingOptions Le ImageProcessingOptions, qui indique comment traiter l'image d'entrée avant d'exécuter l'inférence.
Génère
en cas d'erreur interne.

public void classifyAsync (MPImage image, ImageProcessingOptions imageProcessingOptions, longTimestampMs)

Envoie des données d'image en direct pour effectuer la classification. Les résultats sont disponibles via le OutputHandler.ResultListener fourni dans le ImageClassifier.ImageClassifierOptions. N'utilisez cette méthode que lorsque le ImageClassifier est créé avec ERROR(/RunningMode.LIVE_STREAM).

Il est nécessaire de fournir un horodatage (en millisecondes) pour indiquer le moment où l'image d'entrée est envoyée au détecteur d'objets. Les horodatages d'entrée doivent être croissants de manière monotone.

ImageClassifier accepte les types d'espaces colorimétriques suivants:

Paramètres
Image un objet MPImage MediaPipe à traiter.
imageProcessingOptions Le ImageProcessingOptions, qui indique comment traiter l'image d'entrée avant d'exécuter l'inférence.
timestampMs l'horodatage d'entrée (en millisecondes) ;
Génère
en cas d'erreur interne.

public void classifyAsync (image MPImage, code temporel long)

Envoie des données d'image en direct pour effectuer une classification avec les options de traitement d'image par défaut, c'est-à-dire en utilisant l'image entière en tant que région d'intérêt et sans rotation appliquée. Les résultats seront disponibles via le OutputHandler.ResultListener fourni dans le ImageClassifier.ImageClassifierOptions. N'utilisez cette méthode que lorsque le ImageClassifier est créé avec ERROR(/RunningMode.LIVE_STREAM).

Il est nécessaire de fournir un horodatage (en millisecondes) pour indiquer le moment où l'image d'entrée est envoyée au détecteur d'objets. Les horodatages d'entrée doivent être croissants de manière monotone.

ImageClassifier accepte les types d'espaces colorimétriques suivants:

Paramètres
Image un objet MPImage MediaPipe à traiter.
timestampMs l'horodatage d'entrée (en millisecondes) ;
Génère
en cas d'erreur interne.

public ImageClassifierResult classifyForVideo (image MPImage, code temporel long)

Effectue une classification sur l'image vidéo fournie avec les options de traitement d'image par défaut, c'est-à-dire en utilisant l'image entière comme zone d'intérêt et sans rotation appliquée. N'utilisez cette méthode que lorsque l'élément ImageClassifier est créé avec ERROR(/RunningMode.VIDEO).

Il est obligatoire de fournir le code temporel de l'image vidéo (en millisecondes). Les horodatages d'entrée doivent être croissants de manière monotone.

ImageClassifier accepte les types d'espaces colorimétriques suivants:

Paramètres
Image un objet MPImage MediaPipe à traiter.
timestampMs l'horodatage d'entrée (en millisecondes) ;
Génère
en cas d'erreur interne.

public ImageClassifierResult classifyForVideo (MPImage image, ImageProcessingOptions imageProcessingOptions, longTimestampMs)

Effectue une classification sur l'image vidéo fournie. N'utilisez cette méthode que lorsque le ImageClassifier est créé avec ERROR(/RunningMode.VIDEO).

Il est obligatoire de fournir le code temporel de l'image vidéo (en millisecondes). Les horodatages d'entrée doivent être croissants de manière monotone.

ImageClassifier accepte les types d'espaces colorimétriques suivants:

Paramètres
Image un objet MPImage MediaPipe à traiter.
imageProcessingOptions Le ImageProcessingOptions, qui indique comment traiter l'image d'entrée avant d'exécuter l'inférence.
timestampMs l'horodatage d'entrée (en millisecondes) ;
Génère
en cas d'erreur interne.

public statique ImageClassifier createFromBuffer (contexte de contexte, ByteBuffer modelBuffer)

Crée une instance ImageClassifier à partir d'un tampon de modèle et une ImageClassifier.ImageClassifierOptions par défaut.

Paramètres
context un ERROR(/Context) Android.
modelBuffer une ByteBuffer directe ou un ERROR(/MappedByteBuffer) du modèle de classification.
Génère
si une erreur se produit lors de la création de ImageClassifier.

public statique ImageClassifier createFromFile (contexte de contexte, String modelPath)

Crée une instance ImageClassifier à partir d'un fichier de modèle et est ImageClassifier.ImageClassifierOptions par défaut.

Paramètres
context un ERROR(/Context) Android.
modelPath vers le modèle de classification dans les éléments.
Génère
si une erreur se produit lors de la création de ImageClassifier.

public statique ImageClassifier createFromFile (contexte de contexte, File modelFile)

Crée une instance ImageClassifier à partir d'un fichier de modèle et est ImageClassifier.ImageClassifierOptions par défaut.

Paramètres
context un ERROR(/Context) Android.
modelFile l'instance du modèle de classification File.
Génère
IOException si une erreur d'E/S se produit lors de l'ouverture du fichier de modèle tflite.
si une erreur se produit lors de la création de ImageClassifier.

public statique ImageClassifier createFromOptions (contexte de contexte, options ImageClassifier.ImageClassifierOptions)

Crée une instance ImageClassifier à partir d'une instance ImageClassifier.ImageClassifierOptions.

Paramètres
context un ERROR(/Context) Android.
options une instance ImageClassifier.ImageClassifierOptions.
Génère
si une erreur se produit lors de la création de ImageClassifier.