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.
- entrée d'image de taille
kTfLiteUInt8
/ kTfLiteFloat32
)- tenseur de taille
[batch x mask_height x mask_width x num_classes]
, oùbatch
doit être égal à 1,mask_width
etmask_height
sont les dimensions des masques de segmentation produits par le modèle, etnum_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-à-direColoredLabel.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
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 uneList
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 uneList
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 :
- rotation de l'image (via
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). La valeur par défaut estImageProcessingOptions.Orientation.TOP_LEFT
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 uneList
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 :
- rotation de l'image (via
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). La valeur par défaut estImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
n'est pas efficace.
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 uneList
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 |