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

La segmentación semántica es una tarea de visión artificial que asigna una etiqueta de clase a píxeles utilizando un algoritmo de aprendizaje profundo (DL). Es una de las tres subcategorías en el proceso general de segmentación de imágenes que ayuda a las computadoras a comprender la información visual. La segmentación semántica identifica colecciones de píxeles y las clasifica de acuerdo con 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 integral de análisis de imágenes 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 instancia 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 o instancia individual 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 implican ambos tipos de información: realizan segmentación semántica y detectan y segmentan instancias de objetos individuales, brindando un análisis más completo de la imagen al asignar a cada píxel una etiqueta semántica y (cuando corresponda) 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 las máquinas a distinguir las diferentes clases de objetos y regiones de fondo de una imagen. Con el auge de la inteligencia artificial (IA) y el aprendizaje automático (ML), la segmentación de imágenes y la creación de mapas de segmentación juegan un papel importante en el entrenamiento de las computadoras para reconocer un 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 las máquinas interpretar 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 fundamental: 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 (sin 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ágenes.1

Con el creciente éxito de los algoritmos de aprendizaje profundo para ayudar a las máquinas a interpretar imágenes como datos, las máquinas son cada vez mejores en la identificación de objetos. Si bien la tarea de clasificación de imágenes ayuda a la máquina a comprender qué información contiene una imagen, la segmentación semántica permite a la máquina 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 de segmentación semántica 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 color 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, otra para el suelo y otra para el cielo de 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 aprendizaje profundo (DL) requieren que un modelo se entrene en grandes conjuntos de datos previamente etiquetados y anotados por expertos humanos, ajustando sus pesos y sesgos mediante técnicas de aprendizaje automático como la propagación inversa y el descenso de gradiente.

Los métodos de DL han llegado a reemplazar otros algoritmos de aprendizaje automático "tradicionales", como Support Vector Machines (SVM) y Random Forest. Aunque las redes neuronales profundas requieren más tiempo, datos y recursos computacionales para capacitarse, superaron a otros métodos y rápidamente se convirtieron en el enfoque elegido después de que las primeras innovaciones resultaron exitosas.

 

El uso de conjuntos de datos el entrenamiento

La tarea de clasificar los datos de imagen con precisión requiere conjuntos de datos que consistan en valores de píxeles que representan 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 que se utilizan para el aprendizaje automático.

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 uno. Por ejemplo, imagine un problema de segmentación en el que se enseña a la visión artificial 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 visión artificial del automóvil debe estar entrenada para reconocerlos a todos de manera consistente o, de lo contrario, es posible que no siempre le indique al automóvil que frene. Además, el entrenamiento también debe ser extremadamente exacto y preciso, de lo contrario, podría frenar constantemente después de clasificar de manera errónea imágenes inocuas como objetos de preocupación.

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

Clases de objetos visuales de Pascal (Pascal VOC): el conjunto de datos VOC de Pascal 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, incluso la detección, segmentación y subtítulos de imágenes.

Cityscapes: el popular conjunto de datos de paisajes urbanos 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 robusta para que funcionen correctamente. Estos son algunos modelos de segmentación semántica ampliamente utilizados.

Redes completamente convolucionales (FCN)

Una red completamente convolucional (FCN) es una arquitectura de red neuronal de última generación, que se utiliza para la segmentación semántica y que depende de varias capas conectadas y convolucionales. 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 la convolución, la agrupación o el muestreo hace que las redes FCN sean más fáciles de entrenar.

  • Aumento y disminución del muestreo: a medida que la red reúne más capas convolucionales, se reduce el tamaño de la imagen, lo que da como resultado menos información espacial, así como información a nivel de píxeles, un proceso necesario conocido como reducción de muestreo. Al final de este proceso, los ingenieros de datos realizan la optimización de las imágenes al expandir o aumentar el muestreo, y llevar al mapa de características que se ha creado a la forma de la imagen de entrada.
  • Max-pooling: es otra herramienta fundamental en el proceso de extraer información de regiones de una imagen y analizarlas. Max-pooling elige el elemento más grande en una región que se está analizando para obtener como resultado un mapa que contenga las características más destacadas del mapa de características anterior.

U-Nets

La arquitectura U-Net es una modificación de la arquitectura FCN original que se presentó en 2015 y logra mejores resultados de forma consistente. Consta de dos partes, un codificador y un decodificador. Mientras que el codificador apila capas convolucionales que constantemente reducen el muestreo de la imagen para extraer información a partir de ella, el decodificador reconstruye las características de la imagen utilizando 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.

  • Skip-connections: es una innovación importante introducida por U-Net en las FCN; la omisión de conexiones se utilizan para conectar la salida de una capa convolucional a otra que no es adyacente. Este proceso de omisión de conexiones reduce la pérdida de datos durante la reducción del muestreo y permite una salida de mayor resolución. Para cada capa convolucional se aumenta el muestreo 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

El modelo de segmentación semántica DeepLab fue desarrollado por Google 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 aumentar el muestreo 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 características se extrae a través de un algoritmo de campo aleatorio condicional totalmente conectado (CRF) para capturar y utilizar más detalles para la función de pérdida de píxeles, lo que da como resultado una máscara de segmentación más clara y precisa.

Pyramid Scene Parsing Network (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 la de sus predecesores. Al igual que los algoritmos anteriores, la arquitectura PSPnet emplea el enfoque de codificador-decodificador, pero donde DeepLab aplicaba escalado para realizar sus cálculos a nivel de píxeles, PSPnet agrega una nueva capa de agrupación piramidal para lograr sus resultados. La agrupación de múltiples escalas de PSPnet le permite analizar una ventana más amplia de información de la imagen que otros modelos.

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

Los automóviles autónomos utilizan la segmentación semántica para ver el mundo que los rodea y reaccionar en tiempo real. La segmentación semántica separa lo que el automóvil ve en regiones visuales categorizadas, como carriles en una carretera, otros automóviles e intersecciones. El conocimiento proporcionado al automóvil mediante 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 que cruza la calle u otro automóvil que frena de forma repentina.

Diagnósticos médicos

Muchos procedimientos médicos comunes, como tomografías computarizadas, radiografías y resonancias magnéticas, dependen del análisis de imágenes. Aunque en el pasado esta tarea solía recaer en un profesional de la medicina, hoy en día los modelos de segmentación de imágenes médicas logran resultados similares. Al analizar la imagen y dibujar límites exactos alrededor de los diversos objetos, la IA que cuenta con segmentación semántica puede ayudar a detectar anomalías e incluso sugerir posibles diagnósticos.

Agricultura

Los agricultores utilizan IA, automatización y segmentación semántica para ayudar a detectar la existencia de plagas en sus cultivos e incluso automatizar la pulverización de pesticidas. La visión artificial puede decirle al granjero qué partes del campo están potencialmente afectadas por la plaga, o en riesgo de estarlo, y un sistema automatizado puede tomar medidas para eliminar la plaga.

Fotografía

La segmentación semántica se utiliza con frecuencia para permitir que las cámaras cambien entre el modo vertical y horizontal, agreguen o eliminen un filtro o creen un efecto. Todos los filtros y funciones populares en aplicaciones como Instagram y TikTok usan segmentación semántica para identificar automóviles, edificios, animales, entre otros objetos, para que se puedan 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 un papel fundamental en el procesamiento de imágenes para las cargas de trabajo de IA. IBM® aprovecha varias herramientas y tecnologías clave de código abierto de IA y las combina con innovaciones de investigación de IBM para permitir flujos de trabajo de IA sólidos y eficientes para la empresa moderna.

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

Recursos relacionados IBM ayuda 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 controlar fácilmente sus datos estructurados y no estructurados.

IBM® watsonx.data: un almacén de datos abierto, híbrido y 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.

AI in computer vision market outlook (2021-2022)

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

IA, aprendizaje automático, aprendizaje profundo y redes neuronales: ¿cuál es la diferencia?

Obtenga más información sobre las diferencias entre los términos clave utilizados en la enseñanza de las computadoras para que aprendan a comprender y procesar la información visual.

Dé 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 de pie de página

1“Practical Machine Learning for Computer Vision” (enlace externo a ibm.com), Lakshmanan, Valliappa, Gorner, Martin y Gillard, Ryan, O'Reilly Media, julio de 2021