Una Introducción a la Superresolución mediante Aprendizaje Profundo

Una discusión elaborada sobre los diversos Componentes, Funciones de Pérdida y Métricas utilizadas para la Superresolución mediante Aprendizaje Profundo.

Foto de Jeremy Thomas en Unsplash

Introducción

La súper resolución es el proceso de recuperar una imagen de Alta Resolución (HR) de una Resolución Baja (LR) dada imagen. Una imagen puede tener una «resolución más baja» debido a una resolución espacial más pequeña (es decir, tamaño) o debido a un resultado de degradación (como el desenfoque). Podemos relacionar las imágenes HR y LR a través de la siguiente ecuación: LR = degradation(HR)

Una imagen de baja resolución conservada además de su versión de alta resolución. (Foto de Jarrad Horne en Unsplash)

Claramente, al aplicar una función de degradación, obtenemos la imagen LR de la imagen HR. Pero, ¿podemos hacer lo inverso? En el caso ideal, sí! Si conocemos la función de degradación exacta, aplicando su inversa a la imagen de LR, podemos recuperar la imagen de HR.

Pero, ahí radica el problema. Por lo general, no conocemos de antemano la función de degradación. La estimación directa de la función de degradación inversa es un problema mal planteado. A pesar de esto, las técnicas de aprendizaje profundo han demostrado ser efectivas para la Súper Resolución.

Este blog se centra principalmente en proporcionar una introducción a la realización de Superresolución mediante el Aprendizaje Profundo mediante el uso de métodos de entrenamiento supervisado. También se discuten algunas funciones y métricas de pérdida importantes. Gran parte del contenido se deriva de esta revisión de literatura a la que el lector puede hacer referencia.

Métodos supervisados

Como se mencionó anteriormente, el aprendizaje profundo se puede utilizar para estimar la imagen de Alta Resolución (HR) dada una imagen de baja Resolución (LR). Al usar la imagen de RRHH como objetivo (o verdad de fondo) y la imagen de RRHH como entrada, podemos tratar esto como un problema de aprendizaje supervisado.

En esta sección, agrupamos varios enfoques de aprendizaje profundo de la manera en que se organizan las capas de convolución. Antes de pasar a los grupos, se presenta un manual sobre la preparación de datos y los tipos de circunvoluciones. Las funciones de pérdida utilizadas para optimizar el modelo se presentan por separado hacia el final de este blog.

Preparación de los datos

Un método sencillo para obtener datos de RL es degradar los datos de RH. Esto se hace a menudo difuminando o añadiendo ruido. Las imágenes de menor resolución espacial también se pueden escalar mediante un método clásico de muestreo ascendente, como la interpolación bilineal o bicúbica. También se pueden introducir artefactos de cuantización y JPEG para degradar la imagen.

Degradantes una imagen de alta resolución para obtener una versión de baja resolución de la misma. (Foto de Jarrad Horne en Unsplash)

Una cosa importante a tener en cuenta es que se recomienda almacenar la imagen de HR en un formato sin comprimir (o comprimido sin pérdidas). Esto es para evitar la degradación de la calidad de la imagen de HR debido a la compresión con pérdida, que puede dar un rendimiento subóptimo.

Tipos de circunvoluciones

Además de las Circunvoluciones 2D clásicas, se pueden usar varias variantes interesantes en redes para obtener mejores resultados. Las circunvoluciones dilatadas (atrasadas) pueden proporcionar un campo de visión más eficaz, por lo tanto, utilizando información que está separada por una gran distancia. Las conexiones de salto, la Agrupación de Pirámides Espaciales y los Bloques Densos motivan la combinación de características de bajo y alto nivel para mejorar el rendimiento.

Estrategias de diseño de redes. (Fuente)

La imagen de arriba menciona una serie de estrategias de diseño de redes. Puede consultar este documento para obtener más información. Para obtener una introducción sobre los diferentes tipos de circunvoluciones que se usan comúnmente en el aprendizaje profundo, puede consultar este blog.

Grupo 1-Muestreo previo

En este método, las imágenes de baja resolución se interpolan primero para obtener una imagen de alta resolución «gruesa». Ahora, los CNN se utilizan para aprender una asignación de extremo a extremo de las imágenes interpoladas de baja resolución a las imágenes de alta resolución. La intuición fue que puede ser más fácil primero muestrear las imágenes de baja resolución utilizando métodos tradicionales (como la interpolación bilineal) y luego refinar la resultante que aprender un mapeo directo de un espacio de baja dimensión a un espacio de alta dimensión.

Una red de muestreo previo típica. (Fuente)

Puede consultar la página 5 de este documento para ver algunos modelos que utilizan esta técnica. La ventaja es que, dado que el muestreo ascendente se maneja por métodos tradicionales, la CNN solo necesita aprender a refinar la imagen gruesa, que es más simple. Además, dado que no estamos usando circunvoluciones transpuestas aquí, los artefactos de tablero de ajedrez tal vez se eludan. Sin embargo, la desventaja es que los métodos predefinidos de muestreo ascendente pueden amplificar el ruido y causar confusión.

Grupo 2-Muestreo posterior

En este caso, las imágenes de baja resolución se pasan a los CNNs como tales. El muestreo ascendente se realiza en la última capa utilizando una capa aprendible.

Una red típica de muestreo posterior. (Fuente)

La ventaja de este método es que la extracción de características se realiza en el espacio dimensional inferior (antes del muestreo) y, por lo tanto, la complejidad computacional se reduce. Además, mediante el uso de una capa de muestreo ascendente que se puede aprender, el modelo se puede entrenar de extremo a extremo.

Grupo 3— Muestreo ascendente progresivo

En el grupo anterior, a pesar de que la complejidad computacional se redujo, solo se utilizó una única convolución de muestreo ascendente. Esto hace que el proceso de aprendizaje sea más difícil para los factores de escala grandes. Para abordar este inconveniente, se adoptó un marco de muestreo ascendente progresivo en obras como la Red de Pirámide SR de Laplacia (LapSRN) y SR Progresiva (ProSR). En este caso, los modelos utilizan una cascada de CNN para reconstruir progresivamente imágenes de alta resolución con factores de escala más pequeños en cada paso.

Una red típica de muestreo ascendente progresivo. (Fuente)

Al descomponer una tarea difícil en tareas más simples, la dificultad de aprendizaje se reduce en gran medida y se puede obtener un mejor rendimiento. Además, se pueden integrar estrategias de aprendizaje como el aprendizaje del currículo para reducir aún más la dificultad de aprendizaje y mejorar el rendimiento final.

Grupo 4-Muestreo iterativo Ascendente y descendente

Otra arquitectura de modelo popular es la estructura de reloj de arena (o U-Net). Algunas variantes, como la red de reloj de arena apilada, utilizan varias estructuras de reloj de arena en serie, alternando efectivamente entre el proceso de muestreo ascendente y descendente.

Una típica red iterativa de muestreo ascendente y descendente. (Fuente)

Los modelos bajo este marco pueden extraer mejor las relaciones profundas entre los pares de imágenes LR-HR y, por lo tanto, proporcionar resultados de reconstrucción de mayor calidad.

Funciones de pérdida

Las funciones de pérdida se utilizan para medir la diferencia entre la imagen de alta resolución generada y la imagen de alta Resolución de verdad de tierra. Esta diferencia (error) se utiliza para optimizar el modelo de aprendizaje supervisado. Existen varias clases de funciones de pérdida, cada una de las cuales penaliza un aspecto diferente de la imagen generada.

A menudo, se utiliza más de una función de pérdida para ponderar y resumir los errores obtenidos de cada función de pérdida individualmente. Esto permite que el modelo se centre en aspectos aportados por múltiples funciones de pérdida simultáneamente.

total_loss = weight_1 * loss_1 + weight_ 2 * loss_2 + weight_3 * loss_3

En esta sección exploraremos algunas clases populares de funciones de pérdida utilizadas para entrenar a los modelos.

Pérdida de píxeles

La pérdida en píxeles es la clase más simple de funciones de pérdida en la que cada píxel de la imagen generada se compara directamente con cada píxel de la imagen de verdad en tierra. Se utilizan funciones de pérdida populares, como la pérdida L1 o L2, o variantes avanzadas, como la pérdida L1 suave.

Parcela de Suave L1 Pérdida. (Fuente)

La métrica PSNR (discutida a continuación) está altamente correlacionada con la diferencia en píxeles, y por lo tanto minimizar la pérdida de píxeles maximiza directamente el valor de la métrica PSNR (lo que indica un buen rendimiento). Sin embargo, la pérdida de píxeles no tiene en cuenta la calidad de la imagen y el modelo a menudo produce resultados perceptiblemente insatisfactorios (a menudo carecen de detalles de alta frecuencia).

Pérdida de contenido

Esta pérdida evalúa la calidad de la imagen en función de su calidad perceptiva. Una forma interesante de hacer esto es comparando las características de alto nivel de la imagen generada y la imagen de la verdad del terreno. Podemos obtener estas características de alto nivel pasando ambas imágenes a través de una red de clasificación de imágenes previamente entrenada (como una red VGG o una red ResNet).

Pérdida de contenido entre una imagen de verdad en tierra y una imagen generada. (Fuente)

La ecuación anterior calcula la pérdida de contenido entre una imagen de verdad en tierra y una imagen generada, dada una red preentrenada (Φ) y una capa (l) de esta red preentrenada en la que se calcula la pérdida. Esta pérdida fomenta que la imagen generada sea perceptiblemente similar a la imagen de la verdad del terreno. Por esta razón, también se conoce como Pérdida Perceptiva.

Pérdida de textura

Para permitir que la imagen generada tenga el mismo estilo(textura, color, contraste, etc.) como imagen de la verdad del suelo, se usa pérdida de textura (o pérdida de reconstrucción de estilo). La textura de una imagen, según lo descrito por Gatys et. al, se define como la correlación entre diferentes canales de entidades. Los canales de entidades se obtienen generalmente de un mapa de entidades extraído utilizando una red de clasificación de imágenes (Φ) preentrenada.

calcular la Matriz de Gram. (Fuente)

La correlación entre los mapas de entidades está representada por la matriz Gram (G), que es el producto interno entre los mapas de entidades vectorizados i y j en la capa l(se muestra arriba). Una vez calculada la matriz de gramos para ambas imágenes, calcular la pérdida de textura es sencillo, como se muestra a continuación:

Calcular la Pérdida de textura. (Fuente)

Al usar esta pérdida, el modelo está motivado para crear texturas realistas y resultados visualmente más satisfactorios.

Pérdida de Variación total

La pérdida de Variación total (TV) se utiliza para suprimir el ruido en las imágenes generadas. Toma la suma de las diferencias absolutas entre píxeles vecinos y mide cuánto ruido hay en la imagen. Para una imagen generada, la pérdida de TV se calcula como se muestra a continuación:

Pérdida de variación total utilizada en una imagen de alta resolución generada. (Fuente)

Aquí, i,j,k itera sobre la altura, el ancho y los canales respectivamente.

Pérdida de Adversarios

Las redes de Adversarios Generativos (GANs) se han utilizado cada vez más para varias aplicaciones basadas en imágenes, incluida la Súper Resolución. Los GANs suelen consistir en un sistema de dos redes neuronales, el Generador y el Discriminador, que se enfrentan entre sí.

Dado un conjunto de muestras objetivo, el Generador intenta producir muestras que pueden engañar al Discriminador haciéndole creer que son reales. El discriminador intenta resolver muestras reales (objetivo) a partir de muestras falsas (generadas). Usando este enfoque de entrenamiento iterativo, eventualmente terminamos con un generador que es realmente bueno para generar muestras similares a las muestras objetivo. La siguiente imagen muestra la estructura de un GAN típico.

GANs en acción. (Fuente)

Se introdujeron avances en la arquitectura básica de GAN para mejorar el rendimiento. Por ejemplo, Park et. al. se utilizó un discriminador de nivel de funciones para capturar atributos potenciales más significativos de imágenes reales de alta resolución. Puedes consultar este blog para obtener una encuesta más elaborada sobre los avances en GANs.

Normalmente, los modelos entrenados con pérdida de adversarios tienen una mejor calidad perceptiva a pesar de que podrían perder en PSNR en comparación con los entrenados en pérdida de píxeles. Un inconveniente menor es que el proceso de entrenamiento de GANs es un poco difícil e inestable. Sin embargo, se trabaja activamente en métodos para estabilizar el entrenamiento de GAN.

Métricas

Una gran pregunta es ¿cómo podemos evaluar cuantitativamente el rendimiento de nuestro modelo. Se utilizan varias técnicas (o métricas) de Evaluación de la Calidad de Imagen (IQA) para las mismas. Estas métricas se pueden clasificar en dos categorías: métricas subjetivas y métricas objetivas.

Las métricas subjetivas se basan en la evaluación perceptiva del observador humano, mientras que las métricas objetivas se basan en modelos computacionales que intentan evaluar la calidad de la imagen. Las métricas subjetivas a menudo son más «perceptualmente precisas», sin embargo, algunas de estas métricas son inconvenientes, requieren mucho tiempo o son costosas de calcular. Otro problema es que estas dos categorías de métricas pueden no ser coherentes entre sí. Por lo tanto, los investigadores a menudo muestran los resultados utilizando métricas de ambas categorías.

En esta sección, exploraremos brevemente un par de métricas ampliamente utilizadas para evaluar el rendimiento de nuestro modelo de súper resolución.

PSNR

La relación Señal-ruido de pico (PSNR) es una métrica objetiva comúnmente utilizada para medir la calidad de reconstrucción de una transformación con pérdida. PSNR es inversamente proporcional al logaritmo del Error Cuadrado Medio (MSE) entre la imagen de verdad de tierra y la imagen generada.

Cálculo de la RNPS. (Fuente)

En la fórmula anterior, L es el valor máximo de píxeles posible (para imágenes RGB de 8 bits, es 255). Como era de esperar, dado que PSNR solo se preocupa por la diferencia entre los valores de píxeles, no representa tan bien la calidad perceptiva.

SSIM

La similitud estructural (SSIM) es una métrica subjetiva utilizada para medir la similitud estructural entre imágenes, basada en tres comparaciones relativamente independientes, a saber, luminancia, contraste y estructura. De manera abstracta, la fórmula SSIM se puede mostrar como un producto ponderado de la comparación de luminancia, contraste y estructura calculada de forma independiente.

SSIM es un producto ponderado de comparaciones como se describe anteriormente. (Fuente)

En la fórmula anterior, alfa, beta y gamma son los pesos de las funciones de comparación de luminancia, contraste y estructura, respectivamente. La representación de uso común de la fórmula SSIM es la siguiente:

Representación de uso común de la fórmula SSIM. (Fuente)

En la fórmula anterior μ(I)representa la media de una imagen en particular, σ(I)representa la desviación estándar de una imagen en particular,σ(I,I’)representa la covarianza entre las dos imágenes, y C1, C2 son constantes conjunto para evitar la inestabilidad. Por brevedad, el significado de los términos y la derivación exacta no se explica en este blog y el lector interesado puede consultar la Sección 2.3.2 de este documento.

Debido a la posible distribución desigual de las características o distorsiones estadísticas de la imagen, evaluar la calidad de la imagen localmente es más confiable que aplicarla globalmente. El SSIM medio (MSSIM), que divide la imagen en varias ventanas y promedia el SSIM obtenido en cada ventana, es uno de esos métodos para evaluar la calidad localmente.

En cualquier caso, dado que el SSIM evalúa la calidad de la reconstrucción desde la perspectiva del Sistema Visual Humano, cumple mejor con los requisitos de la evaluación perceptiva.

Otras puntuaciones IQA

Sin explicación, a continuación se enumeran algunos otros métodos para evaluar la calidad de la imagen. El lector interesado puede consultar este artículo para más detalles.

  • Puntuación de Opinión media (MOS)
  • Evaluación basada en tareas
  • Criterio de Fidelidad de la información (IFC)
  • Fidelidad de la Información Visual (VIF)

Conclusión

Este artículo de blog cubrió algunos materiales y procedimientos introductorios para entrenar modelos de aprendizaje profundo para la Súper Resolución. De hecho, existen técnicas más avanzadas introducidas por la investigación de vanguardia que pueden producir un mejor rendimiento. Además, la investigación de vías como la súper resolución no supervisada, mejores técnicas de normalización y mejores métricas representativas podría avanzar en gran medida en este campo. Se anima al lector interesado a experimentar con sus ideas innovadoras participando en desafíos como el Desafío PIRM.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada.