La tâche MediaPipe Interactive Image Segmenter 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 de manière interactive 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 qui l'entoure. Cette tâche s'applique aux données d'image avec un modèle de machine learning (ML), et vous pouvez l'utiliser sur des images uniques, des fichiers vidéo ou un flux vidéo en continu.
Commencer
Commencez à utiliser cette tâche en suivant l'un de ces guides d'implémentation pour votre plate-forme cible. Ces guides spécifiques à la plate-forme vous guident tout au long d'une implémentation de base de cette tâche, y compris un modèle et un exemple de code recommandés, ainsi que les options de configuration recommandées:
- Android – Exemple de code – Guide
- Python - Exemple de code - Guide
- Web – Exemple de code – Guide
Détails de la tâche
Cette section décrit les capacités, les entrées, les sorties et les options de configuration de cette tâche.
Caractéristiques
- Traitement de l'image d'entrée : le traitement comprend la rotation, le redimensionnement, la normalisation et la conversion de l'espace colorimétrique.
Entrées des tâches | Sorties de tâches |
---|---|
|
Interactive Image Segmenter génère des données d'image segmentées, qui peuvent inclure l'un des éléments suivants ou les deux, selon les options de configuration que vous avez définies :
|
Options de configuration
Cette tâche comporte 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 à valeur flottante, où chaque valeur flottante représente la confiance selon laquelle 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 thèmes 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 |
Modèles
Le segmentateur d'images interactif peut être utilisé avec plusieurs modèles de ML. Commencez avec le modèle par défaut recommandé pour votre plate-forme cible lorsque vous commencez à développer avec cette tâche. Les autres modèles disponibles font généralement des compromis entre les exigences en termes de performances, de précision, de résolution et de ressources, et incluent, dans certains cas, des fonctionnalités supplémentaires.
Modèle Magic Touch (recommandé)
Ce modèle identifie des segments à partir des coordonnées d'une image pour une zone d'intérêt. Le modèle utilise un réseau de neurones convolutif, semblable à une architecture MobileNetV3, avec un décodeur personnalisé.
Nom du modèle | Forme de saisie | Type de quantification | Fiche modèle | Versions |
---|---|---|---|---|
MagicTouch | 512 x 512 x 4 | Aucune (float32) | info | Les plus récents |
Benchmarks de tâches
Voici les benchmarks de tâches pour l'ensemble du pipeline, sur la base des modèles pré-entraînés ci-dessus. Le résultat correspond à la latence moyenne sur le Pixel 6 en utilisant le processeur / GPU.
Nom du modèle | Latence du processeur | Latence du GPU |
---|---|---|
MagicTouch | 130,11 ms | 67,25 ms |