¿Qué es la segmentación semántica?

Autor

Mesh Flinders

Staff Writer

IBM Think

¿Qué es la segmentación semántica?

La segmentación semántica es una tarea de visión artificial que asigna una etiqueta de clase a los píxeles mediante un algoritmo 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 segmentación de instancias y segmentación panóptica.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

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.

Mixture of Experts | 12 de diciembre, episodio 85

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

¿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 las computadoras para reconocer contextos importantes en imágenes digitales como panoramas, 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.

Conjuntos de datos para 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.

Existen 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 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 datos de Pascal VOC incluye 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 está compuesto por 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 tradicional de las redes neuronales (CNN) se compone de capas convolucionales y capas planas que emiten etiquetas únicas, los modelos FCN sustituyen algunas de esas capas planas por 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 y submuestreo: a medida que la red reúne más capas convolucionales, el tamaño de la imagen se reduce, lo que resulta 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 crítica 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 de uso 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 características 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 relacionadas
IBM Maximo Visual Inspection

Aproveche todo el potencial de la visión artificial no-code para la automatización de la inspección visual.

Explore Maximo Visual Inspection
Servicios y consultoría de inteligencia artificial (IA)

Los servicios de IA de IBM Consulting ayudan a reinventar la manera de trabajar de las empresas usando IA para la transformación.

Explore los servicios de inteligencia artificial
Soluciones de inteligencia artificial

Ponga la IA al servicio de su negocio con la experiencia líder del sector y el portfolio de soluciones de IBM.

Explore las soluciones de IA
Dé el siguiente paso

IBM Maximo Visual Inspection pone el poder de las capacidades de IA de visión artificial en manos de sus equipos de control de calidad e inspección. Libere el poder de la visión artificial no-code para la automatización de la inspección visual.

Explore Maximo Visual Inspection Realice un recorrido por el producto
Notas a pie de página

1“Practical Machine Learning for Computer Vision”.  Lakshmanan, Valliappa, Gorner, Martin and Gillard, Ryan, O’Reilly Media. Julio de 2021.