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.
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:
- 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 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 |
---|---|
|
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 :
|
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.
Modèle MagicTouch (recommandé)
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 |