ImageSegmenter

classe finale publique ImageSegmenter

Effectue une segmentation sur les images.

L'API attend un modèle TFLite avec des métadonnées de modèle TFLite. .

L'API prend en charge les modèles avec un tenseur d'entrée d'image et un tenseur de sortie. Pour être plus précis, voici les exigences.

  • Tenseur d'image d'entrée ( kTfLiteUInt8 / kTfLiteFloat32 )
    • entrée d'image de taille [batch x height x width x channels] .
    • L'inférence par lots n'est pas prise en charge ( batch doit être 1).
    • seules les entrées RVB sont prises en charge ( channels doivent être au nombre de 3).
    • si le type est kTfLiteFloat32 , les NormalizationOptions doivent être attachées aux métadonnées pour la normalisation des entrées.
  • Tenseur de l'image de sortie ( kTfLiteUInt8 / kTfLiteFloat32 )
    • tenseur de taille [batch x mask_height x mask_width x num_classes] , où batch doit être égal à 1, mask_width et mask_height sont les dimensions des masques de segmentation produits par le modèle, et num_classes est le nombre de classes prises en charge par le modèle.
    • Des cartes d'étiquettes facultatives (mais recommandées) peuvent être attachées en tant qu'AssociatedFile-s avec le type TENSOR_AXIS_LABELS, contenant une étiquette par ligne. Le premier AssociatedFile (le cas échéant) est utilisé pour remplir le nom de la classe, c'est-à-dire ColoredLabel.getlabel() des résultats. Le nom d'affichage, c'est-à-dire ColoredLabel.getDisplayName() , est rempli à partir de l'AssociatedFile (le cas échéant) dont les paramètres régionaux correspondent au champ `display_names_locale` des `ImageSegmenterOptions` utilisés au moment de la création ("en" par défaut, c'est-à-dire l'anglais). Si aucun de ces éléments n'est disponible, seul le champ « index » des résultats sera rempli.

Un exemple d'un tel modèle peut être trouvé sur TensorFlow Hub. .

Classes imbriquées

classe ImageSegmenter.ImageSegmenterOptions Options de configuration d'un ImageSegmenter .

Méthodes publiques

ImageSegmenter statique
createFromBuffer ( ByteBuffer modelBuffer)
Crée une instance ImageSegmenter avec un tampon de modèle et le ImageSegmenter.ImageSegmenterOptions par défaut.
ImageSegmenter statique
ImageSegmenter statique
createFromFile (contexte contextuel, String modelPath)
Crée une instance ImageSegmenter à partir de ImageSegmenter.ImageSegmenterOptions par défaut.
ImageSegmenter statique
createFromFile ( Fichier modèleFichier)
Crée une instance ImageSegmenter à partir de ImageSegmenter.ImageSegmenterOptions par défaut.
ImageSegmenter statique
ImageSegmenter statique
createFromFileAndOptions (contexte contextuel, chaîne modelPath, options ImageSegmenter.ImageSegmenterOptions )
Crée une instance ImageSegmenter à partir de ImageSegmenter.ImageSegmenterOptions .
Liste < Segmentation >
segment (options frameBufferHandle longue, ImageProcessingOptions )
Liste < Segmentation >
segment (image TensorImage )
Effectue une segmentation réelle sur l'image fournie.
Liste < Segmentation >
segment (image MlImage )
Effectue une segmentation réelle sur le MlImage fourni.
Liste < Segmentation >
segment (image TensorImage , options ImageProcessingOptions )
Effectue une segmentation réelle sur l'image fournie avec ImageProcessingOptions .
Liste < Segmentation >
segment (image MlImage , options ImageProcessingOptions )
Effectue une segmentation réelle sur le MlImage fourni avec ImageProcessingOptions .

Méthodes héritées

Méthodes publiques

public static ImageSegmenter createFromBuffer ( ByteBuffer modelBuffer)

Crée une instance ImageSegmenter avec un tampon de modèle et le ImageSegmenter.ImageSegmenterOptions par défaut.

Paramètres
modèleBuffer un ByteBuffer direct ou un MappedByteBuffer du modèle de segmentation
Jetés
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée
Exception d'argument illégal si le tampon de modèle n'est pas un ByteBuffer direct ou un MappedByteBuffer

public static ImageSegmenter createFromBufferAndOptions (options ByteBuffer modelBuffer, ImageSegmenter.ImageSegmenterOptions )

Crée une instance ImageSegmenter avec un tampon de modèle et ImageSegmenter.ImageSegmenterOptions .

Paramètres
modèleBuffer un ByteBuffer direct ou un MappedByteBuffer du modèle de segmentation
choix
Jetés
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée
Exception d'argument illégal si le tampon de modèle n'est pas un ByteBuffer direct ou un MappedByteBuffer

public static ImageSegmenter createFromFile (contexte contextuel, String modelPath)

Crée une instance ImageSegmenter à partir de ImageSegmenter.ImageSegmenterOptions par défaut.

Paramètres
contexte
modèleChemin chemin du modèle de segmentation avec métadonnées dans les actifs
Jetés
IOException si une erreur d'E/S se produit lors du chargement du modèle tflite
Exception d'argument illégal si un argument n'est pas valide
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée

public static ImageSegmenter createFromFile ( Fichier modelFile)

Crée une instance ImageSegmenter à partir de ImageSegmenter.ImageSegmenterOptions par défaut.

Paramètres
fichier modèle le modèle de segmentation Instance File
Jetés
IOException si une erreur d'E/S se produit lors du chargement du modèle tflite
Exception d'argument illégal si un argument n'est pas valide
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée

public static ImageSegmenter createFromFileAndOptions (options de fichier modelFile, ImageSegmenter.ImageSegmenterOptions )

Crée une instance ImageSegmenter à partir de ImageSegmenter.ImageSegmenterOptions .

Paramètres
fichier modèle le modèle de segmentation Instance File
choix
Jetés
IOException si une erreur d'E/S se produit lors du chargement du modèle tflite
Exception d'argument illégal si un argument n'est pas valide
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée

public static ImageSegmenter createFromFileAndOptions (contexte de contexte, String modelPath, options ImageSegmenter.ImageSegmenterOptions )

Crée une instance ImageSegmenter à partir de ImageSegmenter.ImageSegmenterOptions .

Paramètres
contexte
modèleChemin chemin du modèle de segmentation avec métadonnées dans les actifs
choix
Jetés
IOException si une erreur d'E/S se produit lors du chargement du modèle tflite
Exception d'argument illégal si un argument n'est pas valide
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée

segment de liste publique < Segmentation > (options frameBufferHandle longue, ImageProcessingOptions )

Paramètres
frameBufferHandle
choix

liste publique <Segmentation> segment (image TensorImage )

Effectue une segmentation réelle sur l'image fournie.

ImageSegmenter prend en charge les types d'espace colorimétrique TensorImage suivants :

Paramètres
image un objet UINT8 TensorImage qui représente une image RVB ou YUV
Retour
  • résultats de la segmentation d’image. Notez qu’à ce moment-là, un seul élément Segmentation devrait être renvoyé. Le résultat est stocké dans une List pour une extension ultérieure, par exemple aux modèles de segmentation d'instance, qui peuvent renvoyer une segmentation par objet.
Jetés
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée
Exception d'argument illégal si le type d'espace colorimétrique de l'image n'est pas pris en charge

liste publique < Segmentation > segment (image MlImage )

Effectue une segmentation réelle sur le MlImage fourni.

Paramètres
image une MlImage à segmenter.
Retour
  • résultats de la segmentation d’image. Notez qu’à ce moment-là, un seul élément Segmentation devrait être renvoyé. Le résultat est stocké dans une List pour une extension ultérieure, par exemple aux modèles de segmentation d'instance, qui peuvent renvoyer une segmentation par objet.
Jetés
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée
Exception d'argument illégal si le type ou le format de stockage de l'image n'est pas pris en charge

segment de liste publique <Segmentation> (image TensorImage , options ImageProcessingOptions )

Effectue une segmentation réelle sur l'image fournie avec ImageProcessingOptions .

ImageSegmenter prend en charge les types d'espace colorimétrique TensorImage suivants :

ImageSegmenter prend en charge les options suivantes :

Paramètres
image un objet UINT8 TensorImage qui représente une image RVB ou YUV
choix les options configurent comment prétraiter l'image
Retour
  • résultats de la segmentation d’image. Notez qu’à ce moment-là, un seul élément Segmentation devrait être renvoyé. Le résultat est stocké dans une List pour une extension ultérieure, par exemple aux modèles de segmentation d'instance, qui peuvent renvoyer une segmentation par objet.
Jetés
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée
Exception d'argument illégal si le type d'espace colorimétrique de l'image n'est pas pris en charge

segment de liste publique < Segmentation > (image MlImage , options ImageProcessingOptions )

Effectue une segmentation réelle sur le MlImage fourni avec ImageProcessingOptions .

ImageSegmenter prend en charge les options suivantes :

Paramètres
image une MlImage à segmenter.
choix les options configurent comment prétraiter l'image.
Retour
  • résultats de la segmentation d’image. Notez qu’à ce moment-là, un seul élément Segmentation devrait être renvoyé. Le résultat est stocké dans une List pour une extension ultérieure, par exemple aux modèles de segmentation d'instance, qui peuvent renvoyer une segmentation par objet.
Jetés
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée
Exception d'argument illégal si le type d'espace colorimétrique de l'image n'est pas pris en charge