La tâche "Segmenter des images interactives MediaPipe" prend un emplacement dans une image, estime les limites de un objet à cet emplacement, puis renvoie la segmentation de l'objet sous forme d'image données. Ces instructions vous expliquent comment utiliser le Segmenter d'images interactif avec l'API langue. Pour en savoir plus sur les fonctionnalités, les modèles et la configuration options de cette tâche, consultez la section Présentation.
Exemple de code
L'exemple de code pour le segmenteur d'images interactif fournit une implémentation complète de ce dans Python à titre de référence. Ce code vous aide à tester cette tâche et à obtenir vous avez commencé à créer votre propre application interactive de segmentation d'images. Vous pouvez Afficher, exécuter et modifier le segmenteur d'images interactif exemple de code en utilisant uniquement votre navigateur Web.
Configuration
Cette section décrit les étapes clés à suivre pour configurer votre environnement de développement spécifiques pour utiliser le Segmenter d'images interactif. Pour obtenir des informations générales sur configurer votre environnement de développement pour utiliser les tâches MediaPipe, y compris versions de la plate-forme requises, consultez la Guide de configuration pour Python Vous pouvez consulter le code source de cet exemple sur GitHub
<ph type="x-smartling-placeholder">Colis
La tâche MediaPipe Interactive Image Segmenter nécessite le package mediapipe
. Vous pouvez installer
les dépendances requises à l'aide de la commande suivante:
$ python -m pip install mediapipe
Importations
Importez les classes suivantes pour accéder aux fonctions de la tâche "Interactive Image Segmenter" :
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
Modèle
La tâche MediaPipe Interactive Image Segmenter nécessite un modèle entraîné compatible avec tâche. Pour en savoir plus sur les modèles entraînés disponibles pour le Segmenter d'images interactif, consultez la section Modèles de la présentation des tâches.
Sélectionnez et téléchargez le modèle, puis stockez-le dans le répertoire de votre projet:
model_path = '/absolute/path/to/model.tflite'
Spécifiez le chemin d'accès du modèle dans le paramètre model_asset_path
, comme indiqué.
ci-dessous:
base_options = BaseOptions(model_asset_path=model_path)
Créer la tâche
La tâche "Segmenteur d'images interactives MediaPipe" utilise la fonction create_from_options
pour :
configurer la tâche. La fonction create_from_options
accepte les valeurs
pour les options de configuration à gérer. Pour en savoir plus sur la configuration
consultez la section Options de configuration.
Le code suivant montre comment compiler et configurer cette tâche.
BaseOptions = mp.tasks.BaseOptions InteractiveSegmenter = mp.tasks.vision.InteractiveSegmenter InteractiveSegmenterOptions = mp.tasks.vision.InteractiveSegmenterOptions VisionRunningMode = mp.tasks.vision.RunningMode # Create a image segmenter instance with the image mode: options = InteractiveSegmenterOptions( base_options=BaseOptions(model_asset_path='/path/to/model.task'), running_mode=VisionRunningMode.IMAGE, output_type=InteractiveSegmenterOptions.OutputType.CATEGORY_MASK) with InteractiveSegmenter.create_from_options(options) as segmenter: # segmenter is initialized and ready to use
Options de configuration
Cette tâche comporte les options de configuration suivantes pour les applications Python:
Nom de l'option | Description | Plage de valeurs | Valeur par défaut |
---|---|---|---|
output_category_mask |
Si la valeur est True , le résultat inclut un masque de segmentation.
en tant qu'image uint8, où chaque valeur de pixel indique si le pixel fait partie
l'objet situé dans la zone d'intérêt. |
{True, False } |
False |
output_confidence_masks |
Si la valeur est True , le résultat inclut un masque de segmentation.
en tant qu'image d'une valeur flottante, où chaque valeur flottante représente le niveau de confiance
que le pixel fait partie de l'objet situé dans la zone d'intérêt. |
{True, False } |
True |
display_names_locale |
Définit la langue des libellés à utiliser pour les noms à afficher fournis dans les
les métadonnées du modèle de la tâche, le cas échéant. La valeur par défaut est en pour
anglais. Vous pouvez ajouter des libellés localisés aux métadonnées d'un modèle personnalisé
à l'aide de l'API TensorFlow Lite Metadata Writer ;
| Code des paramètres régionaux | en |
Préparer les données
Préparez votre entrée sous forme de fichier image ou de tableau Numpy.
puis le convertir en objet mediapipe.Image
.
# Load the input image from an image file. mp_image = mp.Image.create_from_file('/path/to/image') # Load the input image from a numpy array. mp_image = mp.Image(image_format=mp.ImageFormat.SRGB, data=numpy_image)
RegionOfInterest = vision.InteractiveSegmenterRegionOfInterest # Perform image segmentation on the provided single image. # The image segmenter must be created with the image mode. roi = RegionOfInterest(format=RegionOfInterest.Format.KEYPOINT, keypoint=NormalizedKeypoint(x, y)) segmented_masks = segmenter.segment(mp_image, roi)
Pour obtenir un exemple plus complet d'exécution d'inférences Interactive Image Segmenter, consultez exemple de code.
Gérer et afficher les résultats
Le résultat de la fonction de segmentation d'images interactive est une liste de données Image
et peut
inclure un masque de catégorie, des masques de confiance ou les deux, en fonction de ce que vous définissez
lors de la configuration de la tâche. Si vous définissez
output_category_mask
à True
, la sortie est une liste contenant des
segmenté sous forme d'image uint8. La valeur en pixels indique si elle fait partie du
dans la zone d'intérêt. index de catégorie reconnue de l'image d'entrée. Si
si vous définissez output_confidence_masks
sur True
, la sortie est une liste de canaux
contenant des valeurs de pixels comprises dans la plage [0,1]
, qui représente le niveau de confiance
score du pixel appartenant à l'objet dans la zone d'intérêt.
Les sections suivantes expliquent plus en détail les données de sortie de cette tâche:
Masque de catégorie
Les images suivantes illustrent le résultat des tâches pour une catégorie
de valeur avec une zone de point d'intérêt indiquée. Chaque pixel est une uint8
valeur indiquant si le pixel fait partie de l'objet situé dans la zone de
d’intérêt. Le cercle noir et blanc sur la deuxième image indique
d'une zone d'intérêt.
Sortie du masque d'image d'origine et de catégorie. Image source de la Pascal VOC 2012 ensemble de données.
Masque de confiance
La sortie d'un masque de confiance contient des valeurs flottantes comprises entre [0, 1]
pour
chaque canal d'entrée d'image. Des valeurs plus élevées indiquent un niveau de confiance élevé
le pixel d'image fait partie de l'objet situé dans la zone d'intérêt.