¿Qué es la segmentación semántica?
Explore IBM® watsonx.data
Un hombre sentado ante un escritorio de ordenador con una imagen entre el escritorio y los servidores y flechas que los conectan

La segmentación semántica es una tarea de computer vision que asigna una etiqueta de clase a los píxeles utilizando un algoritmo de deep learning (DL).Es una de las tres subcategorías del proceso general de segmentación de imágenes que ayuda a los ordenadores a comprender la información visual.La segmentación semántica identifica colecciones de píxeles y las clasifica según diversas características.Las otras dos subcategorías de segmentación de imágenes son la segmentación de instancias y la segmentación panóptica.

Segmentación de imágenes

La segmentación de imágenes es un proceso de análisis de imágenes de extremo a extremo que divide una imagen digital en varios segmentos y clasifica la información contenida en cada región. Los tres tipos de tareas de segmentación de imágenes (segmentación semántica, de instancias y panóptica) asignan etiquetas a píxeles individuales de la imagen para marcar los límites y formas específicos de diferentes objetos y regiones de la imagen, clasificándolos mediante el uso de información como el color, el contraste, la ubicación dentro de la imagen y otros atributos.

Mientras que la segmentación semántica etiqueta cada píxel contenido en una imagen por su clase semántica, la segmentación de instancias y la segmentación panóptica se utilizan para diferentes tareas de clasificación.Los modelos de segmentación de instancias se centran únicamente en las clases semánticas contenidas en una imagen que se pueden contar: entidades y objetos como personas, animales, árboles, automóviles o bocas de incendio.Detecta cualquier objeto individual, o instancia, y luego genera una máscara de segmentación y una etiqueta de identificación específica para cada uno.Los modelos de segmentación panóptica conllevan ambos tipos de información: realizan una segmentación semántica y detectan y segmentan instancias de objetos individuales, proporcionando un análisis más completo de la imagen al asignar a cada píxel tanto una etiqueta semántica como (cuando proceda) un identificador de instancia único.

Haga un recorrido por IBM watsonx.data

Vea cómo puede escalar las cargas de trabajo de IA, para todos sus datos, en cualquier lugar.

Contenido relacionado

Suscríbase al boletín de IBM

¿Por qué es importante la segmentación semántica de imágenes?

Las tareas de segmentación semántica ayudan a los equipos a distinguir las diferentes clases de objetos y regiones de fondo de una imagen. Con el auge de la inteligencia artificial (IA) y el machine learning (ML), la segmentación de imágenes y la creación de mapas de segmentación desempeñan un papel importante en el entrenamiento de ordenadores para reconocer contexto importante en imágenes digitales como paisajes, fotos de personas, imágenes médicas y mucho más.

Los modelos de aprendizaje de segmentación de imágenes permiten a los equipos interpretar la información visual de manera similar al cerebro humano.Si bien los modelos de segmentación de imágenes comparten ciertos usos con los modelos de detección de objetos, difieren en un aspecto crucial: identifican diferentes entidades contenidas en una imagen a nivel de píxel, en lugar de aproximar esa información con un cuadro delimitador.Básicamente, mientras que un modelo de clasificación de imágenes puede determinar lo que contiene una imagen (pero no realizar ninguna localización) y un modelo de detección de objetos puede determinar en qué parte de una imagen se encuentra el objeto, para determinar las formas y los límites específicos de las entidades de la imagen se requiere un modelo de segmentación de imágenes1.

Con el creciente éxito de los algoritmos de deep learning para ayudar a los equipos a interpretar imágenes como datos, los equipos son cada vez mejores en la identificación de objetos. Aunque la tarea de clasificación de imágenes ayuda al equipo a entender qué información contiene una imagen, la segmentación semántica permite al equipo identificar las ubicaciones precisas de diferentes tipos de información visual, así como dónde comienza y termina.

¿Cómo funciona la segmentación semántica? 

Los modelos semánticos de segmentación crean un mapa de segmentación de una imagen de entrada. Un mapa de segmentación es, básicamente, una reconstrucción de la imagen original en la que cada píxel ha sido codificado por su clase semántica para crear máscaras de segmentación. Una máscara de segmentación es simplemente una parte de la imagen que se ha diferenciado de otras regiones de la imagen. Por ejemplo, un mapa de segmentación de un árbol en un campo vacío probablemente contendría tres máscaras de segmentación: una para el árbol, una para el suelo y otra para el cielo en el fondo.

Para ello, los modelos de segmentación semántica utilizan redes neuronales complejas para agrupar con precisión los píxeles relacionados en máscaras de segmentación y reconocer correctamente la clase semántica del mundo real para cada grupo de píxeles (o segmento).Estos métodos de deep learning (DL) requieren que un modelo se entrene en grandes conjuntos de datos previamente etiquetados anotados por expertos humanos, ajustando sus ponderaciones y sesgos mediante técnicas de machine learning como la retropropagación y el descenso del gradiente.

Los métodos de DL han llegado a reemplazar a otros algoritmos de machine learning "tradicionales", como las máquinas de vectores de soporte (SVM) y el bosque aleatorio. Aunque las redes neuronales profundas requieren más tiempo, datos y recursos informáticos para entrenarse, superan a otros métodos y se convirtieron rápidamente en el enfoque elegido después de que las primeras innovaciones demostraran su éxito.

 

El uso de conjuntos de datos para el entrenamiento

La tarea de clasificar con precisión los datos de la imagen requiere conjuntos de datos que consten de valores de píxel que representen máscaras para diferentes objetos o etiquetas de clase contenidas en una imagen. Normalmente, debido a la complejidad de los datos de entrenamiento involucrados en la segmentación de imágenes, estos tipos de conjuntos de datos son más grandes y complejos que otros conjuntos de datos de machine learning.

Hay muchos conjuntos de datos de segmentación de imágenes de código abierto disponibles, que abarcan una amplia variedad de clases semánticas con miles de ejemplos y anotaciones detalladas para cada una. Por ejemplo, imagine un problema de segmentación en el que se enseña a la computer vision en un automóvil sin conductor a reconocer todos los distintos objetos ante los que tendrá que frenar, como peatones, bicicletas y otros automóviles. La computer vision del coche debe estar entrenada para reconocerlos todos sistemáticamente o, de lo contrario, no siempre le indicará que frene; su entrenamiento también debe ser extremadamente exacto y preciso o, de lo contrario, podría frenar constantemente tras clasificar erróneamente visuales inocuos como objetos preocupantes.

Estos son algunos de los conjuntos de datos de código abierto más populares utilizados en la segmentación semántica y de imágenes:

Clases de objetos visuales de Pascal (Pascal VOC): el conjunto de Pascal VOC consta de muchas clases de objetos diferentes, cuadros delimitadores y mapas de segmentación sólidos.

MS COCO: MS COCO contiene alrededor de 330.000 imágenes y anotaciones para muchas tareas, como la detección, la segmentación y el subtitulado de imágenes.

Cityscapes: el popular conjunto de datos de cityscapes interpreta datos de entornos urbanos y se compone de 5000 imágenes con 20.000 anotaciones y 30 etiquetas de clase.

 

Modelos de segmentación semántica

Los modelos entrenados exigen una arquitectura sólida para funcionar correctamente. Estos son algunos modelos de segmentación semántica ampliamente utilizados.

Redes totalmente convolucionales (FCN)

Una red totalmente convolucional (FCN) es una arquitectura de red neuronal de última generación utilizada para la segmentación semántica que depende de varias capas convolucionales conectadas. Mientras que la arquitectura CNN tradicional se compone de capas convolucionales y capas planas que generan etiquetas individuales, los modelos FCN reemplazan algunas de esas capas planas con bloques convolucionales 1:1 que pueden extraer más información sobre la imagen. Evitar el uso de capas planas y densas a favor de las capas de convolución, agrupamiento o sobremuestreo hace que las redes FCN sean más fáciles de entrenar.

  • Sobremuestreo submuestreo: a medida que la red reúne más capas convolucionales, el tamaño de la imagen se reduce, lo que se traduce en menos información espacial e información a nivel de píxeles, un proceso necesario conocido como submuestreo.Al final de este proceso, los ingenieros de datos optimizan la imagen expandiendo (o sobremuestreando) el mapa de características que se ha creado para devolverlo a la forma de la imagen de entrada.
  • Max-pooling: el max-pooling es otra herramienta crucial en el proceso de extraer información de las regiones de una imagen y analizarlas.El max-pooling elige el elemento más grande de una región analizada para que su salida pueda dar como resultado un mapa de características que contenga los rasgos más destacados del mapa de características anterior.

U-Nets

La arquitectura U-Net es una modificación de la arquitectura original de FCN que se introdujo en 2015 y logra de forma constante mejores resultados. Consta de dos partes, un codificador y un decodificador. Mientras el codificador apila capas convolucionales que reducen constantemente la resolución de la imagen para extraer información de ella, el decodificador reconstruye las características de la imagen mediante el proceso de deconvolución. La arquitectura U-Net se utiliza principalmente en el campo médico para identificar tumores cancerosos y no cancerosos en los pulmones y el cerebro.

  • Conexiones de salto: una innovación importante introducida por U-Net en las FCN se conoce como conexiones de salto, que se utilizan para conectar la salida de una capa convolucional a otra que no es adyacente.Este proceso de conexiones de salto reduce la pérdida de datos durante el submuestreo y permite una salida de mayor resolución.Cada capa convolucional se sobremuestrea de forma independiente y se combina con las características de otras capas hasta que el resultado final representa con precisión la imagen analizada.

DeepLab

Google desarrolló el modelo de segmentación semántica de DeepLab en 2015 para mejorar aún más la arquitectura del FCN original y ofrecer resultados aún más precisos. Si bien las pilas de capas en un modelo FCN reducen significativamente la resolución de la imagen, la arquitectura de DeepLab utiliza un proceso llamado convolución dilatada para el sobremuestreo de los datos. Con el proceso de convolución dilatada, los kernels de convolución pueden eliminar información de una imagen y dejar espacios entre los parámetros del kernel.

El enfoque de DeepLab para la convolución dilatada extrae los datos del campo de visión más amplio mientras mantiene la misma resolución. A continuación, el espacio de entidades se extrae a través de un algoritmo de campo aleatorio condicional (CRF) completamente conectado para capturar y utilizar más detalles para la función de pérdida de píxeles, lo que genera una máscara de segmentación más clara y precisa.

Red de análisis piramidal de escenas (PSPNet)

En 2017, se introdujo un nuevo algoritmo de segmentación para la segmentación de imágenes. PSPNet implementa un módulo de análisis piramidal que recopila conjuntos de datos de imágenes contextuales con una tasa de precisión mayor que sus predecesores. Al igual que sus predecesoras, la arquitectura PSPNet emplea el enfoque codificador-decodificador, pero donde DeepLab aplicaba el escalado ascendente para hacer sus cálculos a nivel de píxel, PSPNet añade una nueva capa de agrupación piramidal para lograr sus resultados. La agrupación multiescala de PSPNet le permite analizar una ventana más amplia de información de la imagen que otros modelos.

Casos prácticos de segmentación semántica
Vehículos autónomos

Los coches autónomos utilizan la segmentación semántica para ver el mundo que les rodea y reaccionar a él en tiempo real. La segmentación semántica separa lo que ve el coche en regiones visuales categorizadas como carriles en una carretera, otros coches e intersecciones. El conocimiento proporcionado al coche por segmentación semántica le permite navegar de forma segura y llegar a su destino, así como tomar medidas importantes en respuesta a eventos inesperados como un peatón cruzando la carretera u otro coche que frena de repente.

Diagnósticos médicos

Muchos procedimientos médicos comunes, como tomografías computarizadas, rayos X y resonancias magnéticas, se basan en el análisis de imágenes. Si bien en el pasado esta tarea normalmente recaía en un profesional médico, hoy en día, los modelos de segmentación de imágenes médicas están logrando resultados similares. Al analizar la imagen y trazar límites exactos alrededor de los distintos objetos que contiene, la IA equipada con segmentación semántica puede ayudar a detectar anomalías e incluso sugerir posibles diagnósticos.

Agricultura

Los agricultores están utilizando la IA, la automatización y la segmentación semántica para ayudar a detectar plagas en sus cultivos e incluso automatizar la pulverización de pesticidas. La computer vision puede decirle al agricultor qué partes de un campo están potencialmente infectadas o en riesgo, y un sistema automatizado puede tomar medidas para eliminar una plaga.

Fotografía

La segmentación semántica se utiliza con frecuencia para permitir a las cámaras cambiar entre el modo retrato y paisaje, añadir o eliminar un filtro o crear un efecto. Todos los filtros y funciones populares de aplicaciones como Instagram y TikTok utilizan la segmentación semántica para identificar coches, edificios, animales y otros objetos para poder aplicar los filtros o efectos elegidos.

Soluciones de segmentación semántica
Datos e IA IBM® watsonx.data

La segmentación semántica y la segmentación de imágenes desempeñan funciones fundamentales en el procesamiento de imágenes para cargas de trabajo de IA. IBM® watsonx.data aprovecha varias herramientas y tecnologías clave de código abierto de IA y las combina con las innovaciones de investigación de IBM para habilitar flujos de trabajo de IA sólidos y eficientes para la empresa moderna.

Más información sobre IBM® watsonx.data

Recursos relacionados IBM ayudará a las empresas a escalar las cargas de trabajo de IA

Obtenga más información sobre IBM® watsonx.data, un almacén de datos que ayuda a las empresas a unificar y gobernar fácilmente sus datos estructurados y no estructurados.

IBM® watsonx.data: Un almacén de datos abierto, híbrido, gobernado

Descubra cómo IBM® watsonx.data ayuda a las empresas a abordar los desafíos del complejo panorama de datos actual y a escalar la IA para satisfacer sus necesidades.

Perspectivas del mercado de la IA en computer vision (2021-2022)

Descubra más sobre cómo la IA ayuda a organizar la información y crear resultados en entornos informáticos.

IA vs. machine learning vs. deep learning vs. redes neuronales: ¿cuál es la diferencia?

Obtenga más información sobre las diferencias entre los términos clave para enseñar a los ordenadores a comprender y procesar la información visual.

De el siguiente paso

Obtenga las capacidades que necesita con IBM® watsonx.data, un almacén de datos abierto, híbrido y gobernado para escalar cargas de trabajo de IA, para todos sus datos, en cualquier lugar.

Descubra IBM® watsonx.data
Notas a pie de página

1“Practical Machine Learning for Computer Vision” [Machine learning práctico para computer vision] (enlace externo a ibm.com),Lakshmanan, Valliappa, Gorner, Martin y Gillard, Ryan, O'Reilly Media, julio de 2021