# Superresolución

Se conoce como superresolución al conjunto de técnicas y algoritmos diseñados para aumentar la resolución espacial de una imagen, normalmente a partir de una secuencia de imágenes de más baja resolución. Se diferencian de las técnicas tradicionales de escalado de imagen en que estas últimas solo utilizan una imagen para el aumento de resolución, centrando su objetivo en mantener los bordes afilados, sin la aparición de nuevos detalles. En cambio, en la superresolución se trata de fusionar la información de varias imágenes tomadas a partir de una misma escena, para poder representar detalles que en un principio no son apreciables en las imágenes originales.

## Base teórica

La captura de una imagen de una escena del mundo real sigue los siguientes pasos:
* Muestreo: transformación del sistema continuo de la escena real a un sistema discreto ideal y sin aliasing.
* Transformación geométrica: aplicación de una serie de transformaciones, como traslación, rotación o combamiento, debido a la posición y al sistema de lentes de la cámara, que determinan, idealmente, que detalles de la escena llegan a cada zona del sensor.
* Desenfoque: debido al sistema de lentes o al movimiento existente en la escena durante el tiempo de integración, que determina como los detalles se emborronan alrededor del sensor.
* Submuestreo o decimado: finalmente, el sensor solo integra el número de píxeles de los que dispone.
Durante el proceso de captura, los detalles de la escena son integrados por los diferentes píxeles del sensor, de manera que en cada captura cada píxel recoge una información diferente. Por ello, la superresolución se basa en tratar de encontrar la relación entre que píxeles de diferentes captura se han muestreado los distintos detalles de la escena, para poder crear un nuevo entramado de píxeles con más información.
Así pues, el objetivo, aunque inalcanzable, de la superresolución consiste en regenerar la escena continua del mundo real que ha generado una serie de imágenes. En cambio, lo que se espera es poder regenerar una escena discretizada intermedia con mayor resolución.

## El modelo de observación

El modelo simple de generación de una imagen a partir de una escena del mundo real es el siguiente:
   $y=Mx+E$
Idealmente en esta ecuación, $y$ representa la imagen obtenida, $M$ es la proyección de la escena y $x$ es la propia escena del mundo real. Sin embargo, como se ha comentado anteriormente, el objetivo es regenerar una imagen $x$, por lo que esta pasa a ser una imagen y $M$ una transformación. $E$ representa el ruido inherente a cualquier proceso de captura.
Existen muchas maneras de modelar la transformación $M$, dependiendo del número de parámetros que se quieran representar. La matriz más simple consiste en incluir únicamente el operador de decimación, que disminuye la cantidad de píxeles y la transformación geométrica. La transformación geométrica puede a su vez modelarse con distintos grados de complejidad, utilizando únicamente desde transformaciones isométricas a transformaciones afines o incluso homografías. A continuación se pueden añadir los modelos de desenfoque, como la función de dispersión puntual (PSF por sus siglas en inglés) del sensor, el desenfoque debido a la óptica y el debido al movimiento durante la captura. Un por ejemplo de matriz de transformación:
* $M=DAHF$
Siendo los parámetros:
* $F$ = Transformación geométrica
* $H$ = PSF
* $A$ = Muestreo de Color
* $D$ = Submuestreo
El error $E$ también se puede modelar de diversas formas, la forma típica es mediante una función gaussiana de media cero y una varianza determinada. Hay casos en los que incluso se modela una corrección fotométrica de las imágenes, añadiendo un parámetro aditivo, $Lb$, y otro multiplicativo, $La$, al sistema:
* $y=LaMx+Lb+E$

## Un problema inverso

Así pues, se ha visto que el problema de la superresolución es un problema inverso, pues se trata de regenerar los datos que han generado una serie de observaciones. Este tipo de problemas se caracterizan porque no poseen una solución única, por lo que muchas de las técnicas que se verán a continuación necesitan realizar algunas asunciones para poder lograr una solución correcta.

## Tipos de superresolución

La superresolución se puede obtener mediante diversas técnicas, que van desde las más intuitivas en el dominio espacial hasta técnicas que se basan en analizar el espectro de frecuencias.

### En dos pasos: interpolación más enfoque

Esta primera técnica es la más sencilla de comprender intuitivamente. Se basa en la suposición anterior de que los detalles cada vez en uno o varios píxeles determinados del sensor, por lo que la estrategia consiste en estimar la transformación existente entre cada imagen de baja resolución con la de alta resolución a reconstruir, superponiendo los píxeles de baja resolución sobre la rejilla de la nueva imagen. Posteriormente se aplica una interpolación no uniforme de manera que se obtiene la imagen de superresolución, normalmente borrosa, y a la que finalmente se le aplica un filtro de enfocado.

### En el dominio de la frecuencia

Esta técnica trata de explotar el aliasing existente en cada una de las imágenes de baja resolución para reconstruir la imagen de alta resolución. Se basa en los siguientes tres principios de la transformada de Fourier:
* La propiedad de desplazamiento.
* La relación del aliasing entre la transformada continua de la imagen de alta resolución y la transformada discreta de las imágenes de baja resolución.
* Asunción de que la imagen de alta resolución está limitada a una banda.
Estas tres propiedades permiten formular un sistema de ecuaciones que relaciona los coeficientes con aliasing de la transformada discreta de Fourier de las imágenes de baja resolución con una muestra de la transformada continua de la imagen de alta resolución desconocida.
La principal ventaja que presentan estos métodos es la simplicidad de trabajar en el dominio de la frecuencia. Además, se prestan de forma sencilla a la paralelización de los cálculos. Sin embargo, es esa misma simplicidad la que reduce el número de grados de libertad que pueden tener las imágenes de entrada, limitándolos a movimientos globales y a un emborronamiento lineal.

### Reconstrucción regularizada

La siguiente aproximación se basa en tratar de reconstruir la imagen de alta resolución utilizando el modelo de generación. Consiste en definir una función de coste a partir del error del modelo de generación y calcular que valores minimizan dicha función. Típicamente esta función de coste se define utilizando una norma entre las imágenes de baja resolución y las imágenes generadas, utilizando el modelo, a partir de la de alta resolución calculada. Idealmente, las imágenes disponibles y las generadas a partir del modelo son iguales, por lo que esta norma es 0:
   $\sum {\left\|{y-Mx}\right\|^{2}}=0$
La reconstrucción regularizada se puede resolver utilizando un método determinista iterativo o un método estocástico. Un ejemplo de método determinista es utilizar como función de coste a minimizar el lagrangiano de:
   $F=\sum {\left\|{y-Mx}\right\|^{2}}+\alpha \left\|{Cx}\right\|^{2}$
En la que el primer término de la ecuación es el error entre las imágenes disponibles y las generadas, mientras que el segundo término es una penalización o regularización que se introduce en función de las necesidades de cada problema. $C$ es un operador que se aplica a la imagen regenerada, que determina estas necesidades, mientras que $\alpha$ se utiliza para determinar el grado de penalización. Típicamente se trata de evitar la aparición de altas frecuencias en la imagen regenerada, por lo que $C$ será un filtro paso-alto. Por otro lado, valores grandes de a tienden a producir imágenes más suaves. Normalmente cuando se dispone de un conjunto reducido de imágenes, el ruido tiene un mayor impacto en la información, por lo que se combinará el operador $C$ con un valor grande de $\alpha$. Sin embargo, a medida que se disponen más imágenes el ruido tiene a tener menos importancia, por lo que en esos casos se debe optar por valores pequeños de $\alpha$. Con esta función de coste, el objetivo es encontrar una estimación de $x$, ${\hat {x}}$, que la minimice. Iterativamente existen varias maneras de minimizar esa función, siendo una de las más sencillas el siguiente sistema:
   $[\sum {M^{t}}M+\alpha C^{t}C]{\hat {x}}=\sum {M^{t}y}$
Que conduce a la siguiente iteración:
   ${\hat {x}}^{n+1}={\hat {x}}^{n}+\gamma [\sum {M^{t}(y-M{\hat {x}}^{n})}-\alpha C^{t}C{\hat {x}}^{n}]$
Para resolver este tipo de sistemas se debe disponer de una estimación inicial de ${\hat {x}}$, además de los parámetros de generación. En esta ecuación $M^{t}$ no representa la matriz traspuesta de la matriz de transformación $M$, sino la matriz de la transformación inversa de $y$ a $x$. Además, $\gamma$ representa un parámetro de convergencia que debe elegirse, en principio, a partir del problema que resolver. Los métodos estocásticos no se basan en un modelo determinista, sino en modelos probabilísticos. Debido a esto, el modelo de generación expuesto pasa a expresarse en función de la probabilidad de que una imagen de baja resolución se haya generado a partir de una serie de parámetros de registro y una imagen de alta resolución. Probabilidad de que se genere:
   $p(y|x,M)$
Una vez conocida esta ecuación, es posible calcular la imagen $x$ que proporciona el mayor valor para esta probabilidad, en un problema conocido como de máximum likelihood, ML. Sin embargo, un enfoque que proporciona mejores resultados es el de máximum a posteriori, MAP, que utiliza el teorema de Bayes. Para ello es necesario disponer también de la probabilidad de que exista una escena o imagen de alta resolución, y la probabilidad de que se genere una imagen a baja resolución a partir del modelo, sin importar a partir de que escena: Probabilidad de una imagen $x$:
   $p(x)$
Probabilidad de una imagen $y$:
   $p(y|M)$
Aplicando el teorema de Bayes:
   $p(x|y,M)={\frac {p(x)*\prod {p(y|x,M)}}{p(y|M)}}$
El objetivo ahora sigue siendo obtener la $x$ estimada que proporciona una mayor probabilidad al conjunto de ecuaciones. El enfoque es similar al modelo determinista, ya que se reduce a minimizar una función de error entre las imágenes disponibles y las imágenes generadas, con una forma similar a:
   $F=\sum {\left\|{y-Mx}\right\|^{2}+\alpha \left\|{p(x)}\right\|^{2}}$
Dependiendo del modelo de generación y del error, el conjunto de ecuaciones. Utilizando el modelo de Pickup 2008, que asume un error gaussiano y que el error entre las imágenes disponibles y las generadas a partir del modelo se define mediante la norma L2, se puede expresar como:
   $p(y|x,M)=({\frac {\beta }{2*\pi }})^{\frac {n}{2}}*exp({\frac {\beta }{2}}\left\|{y-Mx}\right\|^{2})$
La probabilidad de que se de una escena o imagen de alta resolución la proporciona la siguiente ecuación:
   $p(x)={\frac {1}{Zx}}*exp(-{\frac {v}{2}}*prior(x))$
Que simplemente se compone de una constante de normalización Zx y un prior, similar a la regularización del modelo determinista, que penaliza la aparición de bordes en la imagen. v es la fuerza del prior. Su función objetivo a minimizar, tomando logaritmos e ignorando las incógnitas que no dependen de la imagen x a partir de la ecuación obtenida con el teorema de Bayes queda así:
   $F=\beta \left\|{y-Mx}\right\|^{2}+\alpha *prior(x)$
En la que $\beta$ representa la varianza con que se ha modelado el error y $\alpha$ indica el grado de fuerza del prior. Otros estudios llegan a otras ecuaciones partiendo de otras asunciones.

### Proyección sobre conjuntos convexos

Esta técnica en utilizar la proyección sobre conjuntos convexos (PCOS por sus siglas en inglés). Se basa en asumir que la solución para cada problema individual de superresolución, es decir, la obtenida a partir de una única imagen de baja resolución, forma parte de un conjunto convexo. A partir de una estimación inicial, esta se puede proyectar utilizando un operador de proyección sobre dicho conjunto de soluciones. Siguiendo esta aproximación, la solución al problema global de superresolución formará parte de la intersección, si es que intersecan, de cada conjunto de soluciones individuales. Idealmente se debe disponer de un operador de proyección que proyecte la estimación inicial sobre esta intersección, que sin embargo es muy difícil de obtener en la práctica. Por este motivo, se opta por calcular el operador de proyección de cada uno de los conjuntos individuales, e ir proyectando iterativamente sobre ellos, lo que conduce a obtener la solución al problema global. La ecuación presenta la siguiente forma iterativa:
   $x_{n+1}=\prod {P}*x_{n}$
Cabe destacar además que hay estudios que han logrado unir en un solo método las soluciones estocásticas MAP, mencionadas anteriormente, con la PCOS.

### Proyección iterativa hacia atrás

Esta técnica consiste en iterativamente modificar la estimación de la imagen de superresolución, reproyectando a partir de esta las imágenes de baja resolución. A partir de una estimación inicial, utilizando el modelo de generación, el que genera la imagen de baja resolución a partir de una de alta, y el modelo inverso, que genera la de alta a partir de la de baja resolución, se va calculando iterativamente una nueva estimación a partir del error existente entre la imagen de baja resolución y la regenerada. Este método se expresa en la siguiente ecuación:
   $x_{n+1}=x_{n}+M^{-1}(y_{n}-y)$

## Aspectos computacionales

La dimensión tanto de las imágenes de baja resolución como de la de alta resolución es elevada, pudiendo llegar a los cientos de miles, por lo que la superresolución requiere de elevados recursos computacionales tanto espacial como temporalmente. Para tratar de disminuir tiempo de proceso, hoy en día se utilizan precondicionadores para los optimizadores que se encargan de minimizar la función objetivo, de manera que la búsqueda de la solución sea cuanto más dirigida mejor. Por otro lado, para disminuir la carga espacial y a su vez también el procesamiento, hay estudios que optan por aplicar directamente los modelos de generación, en lugar de construir las matrices de transformación.

## Propuestas a considerar en el futuro

En este artículo se han expuesto diferentes técnicas de superresolución. Aunque cada una posee ventajas y desventajas sobre las demás, las que mejores resultados proporcionan son las que se basan en la reconstrucción regularizada mediante procesos estocásticos, por lo que los futuros desarrollos deberían seguir esa vía de trabajo. De todas formas, nunca está demás seguir la investigación sobre el resto de técnicas, pues como se ha dicho, sería posible explotar mediante ellas características no presentes en las otras. Por otro lado, el principal problema que posee la superresolución es la determinación de los distintos parámetros de los modelos de generación, tanto del movimiento y relación entre imágenes, como del propio sistema de captura, como por ejemplo la determinación de la PSF. En este caso, cuando la PSF se estima a partir de las propias imágenes disponibles, se le conoce como superresolución ciega. Tradicionalmente se ha considerado la superresolución como dos problemas separados: por un lado el registro de imágenes, para determinar las correspondencias, seguido de la reconstrucción de la imagen de alta resolución. Actualmente hay enfoques que tratan estos dos problemas de forma iterativa, de manera que a partir de un registro y una reconstrucción iniciales, se van mejorando ambos alternativamente. La determinación de unos buenos regularizadores o priores sobre las imágenes es un tema no resuelto. Entre los que existen y se utilizan hoy en día, la elección de uno u otro depende tanto de los datos que se posean y de los resultados que se quieran obtener, además de que normalmente deben de ser ajustados mediante parámetros. Una vía de investigación consiste en tratar de determinar algún tipo de prior o regularizados universal, con el menor número de parámetros posible. Por último, hay estudios dedicados a la superresolución en color. Un enfoque sencillo para abordar este problema es tratar los canales de color por separado, para luego unirlos todos en una sola imagen. Sin embargo, una manera más realista de atacar este problema consiste en añadir al modelo de generación la decimación debida al filtrado por color que se da en las cámaras.
* Datos: Q957423