Segmentación semántica y U-Net
Rubén Rodríguez Abril
En este artículo analizaremos la técnica de Segmentación Semántica, en la que se colorea de un mismo color los píxeles pertenecientes a un mismo tipo de objeto. Son muy utilizadas en el ámbito médico o en los vehículos autónomos. U-Net es una de sus redes más conocidas.
Segmentación Semántica
La Segmentación Semántica es un conjunto de técnicas que permiten crear regiones dentro de una imagen y atribuir significado semántico a cada una de ellas. La imagen de un paisaje puede ser subdividida en árboles, ríos, nubes, y cada una de ellas coloreada de un color uniforme. A cada pixel se le atribuye el color correspondiente al tipo de objeto de que se trate.
Aunque para la segmentación de imágenes se usan múltiples tipos de software, en este artículo nos centraremos en los sistemas de aprendizaje profundo, y particularmente, de las redes neuronales convolucionales. El lector recordará que en los sistemas de reconocimiento visual, las capas de convolución servían para extraer información relativa a patrones visuales, y que cuanto más se avanzaba hacia la salida, de mayor nivel eran los rasgos capturados. Las capas del final eran las que capturaban el contenido semántico y conceptual de la imagen.
Comprender una imagen
Dan Ciresan y su equipo propusieron en el año 2012 un sistema de Segmentación Semántica, basado en la división de la imagen original en celdillas. Dichas celdillas servían como entrada a una red neuronal convolucional, que las clasificaba por su contenido. En la capa de salida, neuronas clasificadoras dotadas de una función softmax, determinaban a qué tipo de objeto pertenecía la celdilla en cuestión. Sin embargo, el método contenía una limitación muy grande, y es que a menudo, el contenido semántico de una imagen es global. ¿Cómo distinguimos, a pequeña escala, la placa metálica de un edificio de la placa metálica perteneciente un coche? A menudo, la única manera de conseguirlo es “reduciendo el zoom” y teniendo una visión global, de conjunto, que reconozca a los objetos particulares como partes integrantes de un todo.
Ejemplo de una imagen original superpuesta al mapa creados tras aplicarle la técnica de Segmentación Semántica. Cada píxel de la imagen se le asocia a un concepto y un color: gato marrón, vegetación verde, piedra amarillo…
Arquitectura en forma de U
Dos trabajos del año 2015, Ronneberger et al y Long et al, crearon un sistema capaz de combinar la información semántica (que es de naturaleza global) con el los detalles locales de la imagen. El sistema se denomina su arquitectura en forma de U. En él, la entrada de la red es la imagen a clasificar, y la salida es su mapa de segmentación.
La red tiene una parte descendente y otra ascendente. La primera de ellas consta de capas de convolución combinadas con otras disminución de resolución (downsampling, también llamadas de agrupación o pooling), y se encarga de extraer la significación semántica tanto de la imagen como de las diferentes partes de la misma. La segunda fase, ascendente, se encarga de construir el mapa de segmentación semántica y se compone de capas de convolución e incremento de resolución (upsampling). La convolución puede operar en dos sentidos: si viene acompañada de una disminución de resolución (downsampling, pooling), se utiliza para extraer rasgos de la imagen inicial. Si por el contrario viene seguida de incrementos de resolución (upsampling), entonces su efecto es el de añadir rasgos, estructuras, a la imagen de que se trate.
En la imagen se reproduce una arquitectura en forma de U perfectamente simétrica. Las franjas negras representas capas formadas por operaciones de convolución, con un kernel de 3×3, stride de 1, padding valid y una función rectificadora. Las franjas azules señalizan capas de reducción de resolución (en la fase descendente) y las magentas, de incremento de las mismas (en la fase ascendente). Los números indican el número de mapas en cada capa, y la resolución de dichos mapas.
La irreversibilidad de la reducción de resolución
La convolución es, pues, una operación inversa de sí misma, y es la base fundamental de todos los sistemas de procesamiento de imagen (y a menudo también de sonido y texto) en el ámbito del aprendizaje profundo. Dado que es una operación reversible, su aplicación no supone pérdida de información alguna. Dentro de las redes que estamos describiendo, la información se pierde cuando se aplica la función rectificadora y, sobre todo, cuando se aplican procedimientos de disminución de resolución. En el primero de los casos (unidades ReLU), la información desaparece si los valores de entrada son negativos, ya que en ese caso el rectificador los anula, y todos los bits se ponen a cero. En el segundo caso, la desaparición de información es proporcional a la reducción del número de píxeles. Por ejemplo, si aplicamos una reducción de 2×2, el número total de bits de información se divide por cuatro.
Incremento de entropía
La mengua de información equivale al aumento de entropía, una variable que en el ámbito digital, puede ser definida como la cantidad de información no compresible presente en un sistema. El aumento de la entropía supone la irreversibilidad de un proceso, ya que no es posible recuperar la información perdida. Se dice que un proceso es adiabático cuando durante el mismo la entropía permanece estable. La convolución es un proceso adiabático, y por lo tanto, computacionalmente reversible. La aplicación de la función rectificador y la disminución de resolución no lo son. Cada vez que un chip se deshace de bits de información, se produce una disipación térmica descrita por la siguiente ecuación (ecuación de Boltzmann):
donde dQ es el incremento de calor, medido en julios, k es la constante de Boltzmann, N el número de bits perdidos y T la temperatura de la GPU.
La pérdida irreversible de información a lo largo de la fase descendente provoca que durante la fase ascendente la red ya no sea capaz de reconstruir con fidelidad las siluetas originales.
Conexiones intermedias
Para soslayar este inconveniente, los autores de los dos trabajos citados idearon una suerte de conexiones intermedias o atajos (skip connections), que permitían a capas convolucionales de la fase descendente comunicarse directamente con capas del mismo nivel de la fase ascendente.
Arquitectura de la red U-Net, propuesta por Ronneberger et al. en el año 2015. Se describen las conexiones intermedias entre las capas, que permiten la transferencia de información geométrica entre las fases descendente y ascendente antes de que esta se pierda en las regiones inferiores del diagrama. Puede decirse que en las flechas grises, hay un mayor predominio de la información de contenido geométrico.
La introducción de conexiones intermedias resultó, en ambos trabajos, en la mejora sustancial en la precisión de los mapas de segmentación obtenidos. De nuevo, mostramos las imágenes del trabajo de Long et al.:
Las imágenes del centro se obtuvieron tras la introducción de conexiones intermedias, y suponen, como el propio lector puede comprobar, un progreso respecto del resultado de la derecha.
Función de pérdida
La capa de salida de la red es la encargada de elaborar el mapa de segmentación. Se trata de una capa convolucional compuesta de N mapas de características (canales), donde N es el número de clases diferentes. Cada mapa señala la posibilidad de que un píxel determinado pertenezca a su correspondiente categoría semántica. Una operación de convolución 1×1 reduce el número de canales de los 64 de la penúltima capa a tan sólo N en la salida. Las neuronas de diferentes canales asociadas a un mismo píxel están vinculadas entre sí mediante una función softmax. La función de pérdida es la entropía cruzada, calculada para cada píxel. La suma de la función de pérdida de todos los píxeles se denomina energía. Y su gradiente es el que se retropropaga a capas anteriores.
Conclusión
Las técnicas de segmentación semántica, cuyas bases se esbozan en este artículo, han sido perfeccionadas a lo largo de estos últimos cinco años. Y en la actualidad tienen una gran aplicación en diferentes ámbitos tecnológicos como la medicina, los drones autónomos o los coches sin conductor.
Por este motivo, los trabajos de Long et al. y Ronneberger et al.. constituyeron, a nuestro juicio, un hito, un jalón, en la larga historia de los sistemas de reconocimiento visual que comenzaron con el perceptrón de Rosenblatt -primer sistema en utilizar neuronas artificiales para reconocer imágenes- y fueron seguidos por el Neocognitrón de Fukushima, LeNet de Yann LeCun, o AlexNet, entre otros muchos sistemas que por razones de espacio no podemos citar aquí.
En la siguiente sección analizaremos el proceso inverso al del reconocimiento visual: el de la síntesis de imágenes a partir de mapas de segmentación, esbozos o simple ruido de fondo.
Lecturas recomendadas
– Ronnenberger, O. et al. (2015) U-Net: Convolutional Networks for Biomedical Image Segmentation.
– Long, J. et als. (2015) Fully Convolutional Networks for Semantic Segmentation.