¿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 pixeles mediante 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 segmentación de instancias y segmentación panóptica.

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados 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! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. 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 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.

Mixture of Experts | 12 de diciembre, episodio 85

Decodificación de 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 revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

¿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 machine learning (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 el 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 machine learning, como la propagación inversa y el descenso de gradiente.

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

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

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 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 está compuesto por 5.000 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 tradicional de redes neuronales convolucionales (CNN) 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: Una innovación importante introducida por U-Net en las FCN son las conexiones de omisión, usadas 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 utilizan segmentación semántica para identificar automóviles, edificios, animales y otros objetos para que se puedan aplicar los filtros o efectos elegidos.

Soluciones relacionadas
IBM Maximo Visual Inspection

Libere el poder de la visión artificial sin código para la automatización de inspecciones visuales.

Explore Maximo Visual Inspection
Consultoría y servicios de inteligencia artificial (IA)

Los servicios de IA de IBM Consulting ayudan a reinventar la forma en que las empresas trabajan con IA para la transformación.

Explore los servicios de inteligencia artificial
Soluciones de inteligencia artificial

Ponga a trabajar la IA en su negocio con la experiencia en IA líder del sector y la cartera de soluciones de IBM a su lado.

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 inspección y control de calidad. Libere el poder de la visión artificial sin código para la automatización de la inspección visual.

Explore Maximo Visual Inspection Haga un recorrido del producto
Notas de pie de página

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