Guide des tâches interactives de segmentation d'image

Images côte à côte montrant une photo d'une chaise sur une image, puis la même image avec la chaise mise en surbrillance pour indiquer que le modèle l'a détectée

La tâche de segmentation d'image interactive MediaPipe vous permet de diviser une image en deux régions: un objet sélectionné et tout le reste. La tâche prend un emplacement dans une image, estime les limites d'un objet à cet emplacement et renvoie des données d'image définissant la zone de l'objet. Vous pouvez utiliser cette tâche pour sélectionner interactivement un objet dans une image et utiliser la sortie pour appliquer des effets à l'image, tels que des superpositions de couleurs mettant en évidence l'objet ou floutant l'arrière-plan autour de celui-ci. Cette tâche fonctionne sur des données d'image avec un modèle de machine learning (ML). Vous pouvez l'utiliser sur des images individuelles, des fichiers vidéo ou un flux vidéo continu.

Essayez !

Premiers pas

Pour commencer à utiliser cette tâche, suivez l'un de ces guides d'implémentation pour votre plate-forme cible. Ces guides spécifiques à la plate-forme vous expliquent comment implémenter de manière basique cette tâche, y compris un modèle recommandé et un exemple de code avec les options de configuration recommandées:

Détails de la tâche

Cette section décrit les fonctionnalités, les entrées, les sorties et les options de configuration de cette tâche.

Fonctionnalités

  • Traitement des images d'entrée : le traitement comprend la rotation, le redimensionnement, la normalisation et la conversion d'espaces colorimétriques.
Entrées de tâche Sorties de tâche
  • Coordonnées du point d'intérêt d'un objet dans une image
  • Fichier image à traiter
Le segmenteur d'images interactif produit des données d'image segmentées, qui peuvent inclure l'un ou les deux des éléments suivants, en fonction des options de configuration que vous définissez :
  • CATEGORY_MASK: liste contenant un masque segmenté au format uint8. Chaque valeur de pixel indique s'il fait partie de l'objet situé dans la zone d'intérêt.
  • CONFIDENCE_MASK: liste de canaux contenant un masque segmenté avec des valeurs de pixel au format float32. Chaque valeur de pixel indique le niveau de confiance qu'il fait partie de l'objet situé dans la zone d'intérêt.

Options de configuration

Cette tâche propose les options de configuration suivantes:

Nom de l'option Description Plage de valeurs Valeur par défaut
output_category_mask Si la valeur est True, la sortie inclut un masque de segmentation sous la forme d'une image uint8, où chaque valeur de pixel indique si le pixel fait partie de l'objet situé dans la zone d'intérêt. {True, False} False
output_confidence_masks Si la valeur est True, la sortie inclut un masque de segmentation sous la forme d'une image de valeur flottante, où chaque valeur flottante représente la 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 métadonnées du modèle de la tâche, le cas échéant. La valeur par défaut est en pour l'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 de paramètres régionaux en

Modèles

Le segmenteur d'images interactif peut être utilisé avec plusieurs modèles de ML. Lorsque vous commencez à développer avec cette tâche, commencez par le modèle par défaut recommandé pour votre plate-forme cible. Les autres modèles disponibles font généralement des compromis entre les performances, la précision, la résolution et les exigences en termes de ressources, et incluent parfois des fonctionnalités supplémentaires.

Ce modèle identifie des segments en fonction des coordonnées d'une zone d'intérêt dans une image. Le modèle utilise un réseau de neurones convolutifs, semblable à une architecture MobileNetV3, avec un décodeur personnalisé.

Nom du modèle Forme d'entrée Type de quantification Fiche de modèle Versions
MagicTouch 512 x 512 x 4 Aucun (float32) info Nouveautés

Benchmarks des tâches

Voici les benchmarks de tâche pour l'ensemble du pipeline basés sur les modèles pré-entraînés ci-dessus. Le résultat de la latence correspond à la latence moyenne sur le Pixel 6 à l'aide du processeur / GPU.

Nom du modèle Latence du processeur Latence du GPU
MagicTouch 130,11 ms 67,25 ms