Guía de tareas interactiva de segmentación de imágenes

La tarea Segmentador de imágenes interactivo de MediaPipe te permite dividir una imagen en dos regiones: un objeto seleccionado y todo lo demás. La tarea toma una ubicación en una imagen, estima los límites de un objeto en esa ubicación y muestra datos de imagen que definen el área del objeto. Puedes usar esta tarea para seleccionar de manera interactiva un objeto de una imagen y usar el resultado a fin de aplicar efectos a la imagen, como superposiciones de color que destacan el objeto o desenfocar el fondo a su alrededor. Esta tarea funciona con datos de imagen mediante un modelo de aprendizaje automático (AA), y puedes usarla en imágenes individuales, archivos de video o una transmisión de video continua.

Probar

Comenzar

Comienza a utilizar esta tarea siguiendo una de estas guías de implementación para la plataforma de destino. En estas guías específicas de la plataforma, se explica la implementación básica de esta tarea, incluidos un modelo recomendado y un ejemplo de código con las opciones de configuración recomendadas:

Detalles de la tarea

En esta sección, se describen las capacidades, entradas, salidas y opciones de configuración de esta tarea.

Funciones

  • Procesamiento de imágenes de entrada: El procesamiento incluye la rotación de imágenes, el cambio de tamaño, la normalización y la conversión del espacio de color.
Entradas de tareas Resultados de la tarea
  • Coordenadas de lugares de interés para un objeto en una imagen
  • Archivo de imagen que se procesará
El Segmentador de imágenes interactivo genera datos segmentados de imágenes, que pueden incluir uno de los siguientes elementos o ambos, según las opciones de configuración que definas:
  • CATEGORY_MASK: Es una lista que contiene una máscara segmentada como una imagen de formato uint8. Cada valor de píxel indica si es parte del objeto ubicado en el área de interés.
  • CONFIDENCE_MASK: Es una lista de canales que contienen una máscara segmentada con valores de píxeles en formato float32. Cada valor de píxel indica el nivel de confianza de que es parte del objeto ubicado en el área de interés.

Opciones de configuración

Esta tarea incluye las siguientes opciones de configuración:

Nombre de la opción Descripción Rango de valores Valor predeterminado
output_category_mask Si se configura en True, el resultado incluye una máscara de segmentación como una imagen uint8, en la que cada valor de píxel indica si el píxel es parte del objeto ubicado en el área de interés. {True, False} False
output_confidence_masks Si se configura como True, el resultado incluye una máscara de segmentación como una imagen de valor flotante, en la que cada valor flotante representa la confianza de que el píxel es parte del objeto ubicado en el área de interés. {True, False} True
display_names_locale Configura el idioma de las etiquetas que se usarán para los nombres visibles proporcionados en los metadatos del modelo de la tarea, si están disponibles. El valor predeterminado es en para inglés. Puedes agregar etiquetas localizadas a los metadatos de un modelo personalizado con la API de Metadata Writer de TensorFlow Lite Código de configuración regional en

ajustables

El Segmentador de imágenes interactivo se puede usar con más de un modelo de AA. Comienza con el modelo predeterminado y recomendado para la plataforma de destino cuando comiences a desarrollar con esta tarea. Por lo general, los otros modelos disponibles ofrecen compensaciones entre el rendimiento, la precisión, la resolución y los requisitos de recursos y, en algunos casos, incluyen características adicionales.

Este modelo identifica segmentos a partir de coordenadas de imagen específicas para un área de interés. El modelo usa una red neuronal convolucional, similar a la arquitectura de MobileNetV3, con un decodificador personalizado.

Nombre del modelo Forma de entrada Tipo de cuantización Tarjeta de modelo Versiones
MagicTouch 512 x 512 x 4 Ninguna (float32) info Más reciente

Comparativas de tareas

Estas son las comparativas de tareas para toda la canalización basadas en los modelos previamente entrenados anteriores. El resultado de latencia es la latencia promedio en el Pixel 6 usando CPU / GPU.

Nombre del modelo Latencia de la CPU Latencia de GPU
MagicTouch 130.11ms 67.25ms