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

Imágenes en paralelo que muestran una fotografía de una silla en una imagen y, luego, la misma imagen con la silla destacada para indicar que el modelo la detectó

La tarea del 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 forma interactiva un objeto en una imagen y usar el resultado para aplicar efectos a la imagen, como superposiciones de color que destaquen el objeto o desenfoquen el fondo a su alrededor. Esta tarea opera en datos de imagen con un modelo de aprendizaje automático (AA) y puedes usarla en imágenes individuales, archivos de video o una transmisión de video continua.

Pruébala.

Comenzar

Para comenzar a usar esta tarea, sigue una de estas guías de implementación para tu plataforma de destino. En estas guías específicas de la plataforma, se explica una implementación básica de esta tarea, incluido 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, las entradas, las salidas y las 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 de espacios de color.
Entradas de tareas Resultados de las tareas
  • Coordenadas del punto de interés de un objeto en una imagen
  • Archivo de imagen que se procesará
El Segmentador de imágenes interactivo genera datos de imágenes segmentadas, que pueden incluir uno o ambos de los siguientes elementos, según las opciones de configuración que establezcas:
  • CATEGORY_MASK: Es una lista que contiene una máscara segmentada como una imagen en formato uint8. Cada valor de píxel indica si forma parte del objeto que se encuentra en el área de interés.
  • CONFIDENCE_MASK: Es una lista de canales que contiene una máscara segmentada con valores de píxeles en formato float32. Cada valor de píxel indica el nivel de confianza de que forma parte del objeto ubicado en el área de interés.

Opciones de configuración

Esta tarea tiene las siguientes opciones de configuración:

Nombre de la opción Descripción Rango de valores Valor predeterminado
output_category_mask Si se establece 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 forma parte del objeto ubicado en el área de interés. {True, False} False
output_confidence_masks Si se establece en True, el resultado incluye una máscara de segmentación como una imagen de valor de punto flotante, en la que cada valor de punto 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 Establece 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 el 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

Modelos

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 tu plataforma de destino cuando comiences a desarrollar con esta tarea. Los otros modelos disponibles suelen establecer compensaciones entre el rendimiento, la precisión, la resolución y los requisitos de recursos, y, en algunos casos, incluyen funciones adicionales.

Este modelo identifica segmentos dados las coordenadas de la imagen para un área de interés. El modelo usa una red neuronal convolucional, similar a una 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 Ninguno (float32) info Más reciente

Comparativas de tareas

Estas son las comparativas de tareas de toda la canalización según los modelos previamente entrenados anteriores. El resultado de la latencia es la latencia promedio en el Pixel 6 con CPU o GPU.

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