En casos de regresi´on, donde el objetivo es obtener im´agenes de buena resoluci´on, existe un problema. Las arquitecturas CNN suelen contener una parte que deteriora progresivamente la resoluci´on de las im´agenes que se le introducen a trav´es de una serie de operaciones realizadas en sus capas de convoluci´on y pooling, d´andole a las neuronas de mayor nivel un gran campo receptivo [71], a cambio de capturar informaci´on m´as global. Se propone una arquitectura completamente convolucional, donde el campo receptivo es uno de los aspectos claves ya que no trabajaremos con una red completamente conectada.
Figura 20: Ejemplo Arquitectura U-net.[20]
Se comenzar´a introduciendo las redes “U-Net”. Tal como se observa en la Figura 20, consiste en una parte de contracci´on o encoder (parte izquierda de la imagen) y una de expansi´on o decoder(parte derecha de la imagen). El camino de contracci´on tiene una arquitectura t´ıpica de red convolucional constituida por la constante aplicaci´on de 2 convoluciones 3x3, cada una de ellas seguida por una funci´on de activaci´on ReLU y un “Max pooling”de 2x2 para la disminuci´on de la resoluci´on. En el camino de la expansi´on, en cada paso se realiza un “Upsampling” del mapa de caracter´ısticas, seguido de una convoluci´on 2x2 que reduce a la mitad el n´umero de canales de caracter´ısticas. El resultado se concatena con la parte equivalente de la parte de contracci´on de la red y se pasan por dos convoluciones 3x3 y una ReLU. En la capa final se utiliza una convoluci´on 1x1 para convertir cada vector de caracter´ısticas de 64 componentes en el n´umero deseado de canales de salida.
caracter´ısticas es incrementada y en la parte de expansi´on se combinan estas caracter´ısticas con la informaci´on espacial para generar caracter´ısticas de alta resoluci´on. Debido a que el problema bajo estudio requiere una tarea m´as compleja se hace necesario el uso de una arquitectura m´as profunda para obtener mejores resultados y para ello se utiliza la primera parte de la red (encoder) como una ResNet.
Las arquitecturas ResNet introducen las capas de salto. Estas capas pasan 2 o m´as convolu- ciones y son sumadas a su salida con el mapa de caracter´ısticas de entrada de cada bloque, incluyendo la normalizaci´on tras cada convoluci´on. Mediante estas redes se pueden crear arqui- tecturas de mayor profundidad sin los problemas de degradaci´on comentados anteriormente y, adem´as, obtener largos campos receptivos. Una vez introducida una imagen a la red, el resultado de la ´ultima capa convolucional son 2048 mapas de caracter´ısticas de resoluci´on espacial 10x8 p´ıxeles (tras remover la ´ultima capa de pooling).
Figura 21: (a)Arquitectura de la red. (b) Bloques ”bottleneck”. (c) Significado de los blo- ques empleados en la red.
El modelo propuesto para esta red en la parte Decoder utiliza “Residual Up-convolutions” y genera una imagen de salida final de 160x128 p´ıxeles. Estas convoluciones surgen como soluciones a la gran cantidad de memoria que ser´ıa necesaria en esta red si se utilizara una red completamente conectada, que necesita m´as pesos y obtiene peores resultados en la precisi´on de las im´agenes generadas. Por ´ultimo, la arquitectura Resnet es combinada con la parte decoder para lograr que mediante sus conexiones laterales se pueda incrementar la precisi´on manteniendo la arquitectura inicial propuesta para una red UNet.
En la Figura 21 se observa la arquitectura de la red propuesta (a). La primera parte (la que va hacia abajo) de la arquitectura se basa en la ResNet-50, los n´umeros que se encuentran a la izquierda de las capas representados mediante xN hacen referencia al n´umero N de veces que dicho bloque ResNet (bottleneck) se repite, por lo que se observa que queda una red bastante profunda con el fin de aprender unos mapas de caracter´ısticas muy complejos. La segunda parte gu´ıa a la red a aprender el “Upscaling” a trav´es de una secuencia de capas de convoluciones y “Unpooling”. Finalmente se generaparte la pre la figuradicci´on tras pasar por una capa convolucional. La parte (b) de la figura 21 hace referencia a los bloques ”bottleneck”que ayudan a ahorrar espacio de memoria al realizar una convoluci´on 1x1, que reduzcan el n´umero de canales de la entrada antes de realizar las convoluciones 3x3, y luego utilizan otra convoluci´on 1x1 para recuperar el tama˜no original.
Adicionalmente en esta red se introduce un nuevo concepto referente a los bloques Up- Projection. Estos son aquellas capas que realizan la operaci´on inversa al “Pooling” aumentan- do la resoluci´on espacial de los mapas de caracter´ısticas. Se basa en implementar un n´ucleo 2x2 para mapear las entradas. Estas capas son seguidas de una convoluci´on 5x5 de forma que sea aplicada a m´as una un elemento distinto de cero en cada ubicaci´on y luego se le aplica una funci´on ReLU de activaci´on. Este bloque se observa en la figura previa como “Up-convolutional blocks”.
Las operaciones Up-Convolution originales presentan una serie de problemas dependiendo del campo de aplicaci´on. En este trabajo y para esta red se propone el uso de las Fast Up- Convolutions. Estas surgen como una alternativa para hacer m´as eficientes las operaciones de los bloques “Up-convolution” y as´ı, reducir el tiempo de entrenamiento de toda la red. Con esta mejora, se logra reducir el tiempo alrededor de un 15 %. Tras la operaci´on de “Unpooling” se obtiene un mapa que en su mayor´ıa est´a formado por ceros, por lo que la capa 5x5 de convoluci´on que le sigue trabaja con casi en su totalidad con ceros, lo que se evita con esta modificaci´on. Los detalles de esta operaci´on se pueden consultar en [72].
La funci´on de p´erdidas utilizada es Mean square error (MSE) [73], que simboliza la media de la diferencia entre los p´ıxeles de las im´agenes. Un MSE alto simboliza una mayor diferencia entre la imagen original y la imagen estimada. Sin embargo, es muy importante prestar atenci´on a
los bordes. La f´ormula para el c´alculo del MSE es:
M SE= 1
N
X
iXj(Eij −Oij)2 (1)
Donde N significa el tama˜no de la imagen, E es la imagen predicha y O la imagen original. Es ´
util utilizar esta funci´on ya que realiza una comparaci´on p´ıxel a p´ıxel de la imagen predicha con la imagen original, por lo que permite examinar detalladamente diferencias de valores de p´ıxel entre ambas.