Objetivo 2

MODELO DISCRETO DEL CASSI CON APERTURAS CODIFICADAS BINARIAS

El sistema de muestreo compresivo CASSI de única captación, ilustrado en la figura \ref{fig:CASSI_3D_binary} es una de las arquitecturas de este tipo más usadas en la adquisición compresa de imágenes hiperespectrales \cite{Arguello2013}, \cite{ArguelloColored2014} , \cite{arguello2011code}, \cite{RUEDA2014}, \cite{RUEDACHACON2013}. Su modelo matemático se describe en la ecuación \eqref{eq:1}, donde \(T(x,y)\) modula la la escena espacio-espectral \(f_{0}(x,y,\lambda)\) , \((x,y)\) son las dimensiones espaciales y \(\lambda\) representa la dimensión espectral. El campo codificado resultante \(f_{1}(x,y,\lambda)\), es modificado por el elemento dispersor resultando en:

\[\begin{aligned} \label{eq:1} \begin{split} f_{2}(x,y,\lambda)= \iint T(x',y') f_{0}(x',y',\lambda)\quad \times h(x-x'-\alpha\lambda,y-y') dx' dy', \end{split}\end{aligned}\]

donde \(T(x',y')\) representa la función de transmisión de la apertura codificada, \(h(x-x'-\alpha\lambda,y-y')\) es la respuesta al impulso óptico del sistema y \(\alpha \lambda\) es la dispersión inducida por el elemento dispersivo asumiendo dispersión lineal. Las medidas comprimidas son captadas cuando el campo \(f_{2}(x,y,\lambda)\) se integra en el sensor. La densidad espectral en frente del detector está dada por \(g(x,y) = \int_{{\Lambda}} f_{2}(x,y,\lambda)d\lambda\). Cuando la respuesta óptica al impulso del sistema se asume como lineal e ideal, la resultante espectral densidad captada por el sensor es dada por: \[g(x,y) = \int f_{0}(x + \alpha \lambda ,y,\lambda)T(x + \alpha \lambda ,y)d\lambda. \label{eq:2}\] La apertura codificada \(T(x,y)\) puede ser representada como un arreglo pixelado espacialmente. Asumiendo que el píxel de la apertura codificada tiene tamaño \(\Delta_{t}\) y \(t_{n',m'}\) representa un valor binario 0 (bloqueo) y 1 (desbloqueo), el código de apertura puede ser expresado como,

\[T(x,y) = \sum_{\substack{n',m'}} t_{n',m'} \text{rect}\left(\dfrac{x}{\bigtriangleup_{t}}-m',\dfrac{y}{\bigtriangleup_{t}}-n'\right). \label{eq:3}\]

donde \(\text{rect[.]}\) es la función rectangular. Similarmente, la escena espacio\( - \)espectral se representa mediante \(F_{n',m',k}\) tal que \(n' \in \lbrace 0,...,N-1 \rbrace\) es el índice en \(x\), \(m' \in \lbrace 0,...,N-1 \rbrace\) es el índice en \(y\), \(k \in \lbrace 0,...,L-1 \rbrace\) es el índice en la longitud de onda \(\lambda\). Las medidas compresivas en el detector pueden ser representadas como:

\[G_{n,m} = \sum^{L-1}_{k=0} F_{(n-k),m,k}T_{(n-k),m} + \omega_{n,m}, \label{eq:4}\]

donde \(G_{n,m}\) es la intensidad en la \((n,m)^{esimo}\) posición del detector \(\mathbf{G}\) con dimensiones \((N+L-1) \times N\), e indices \(n \in \lbrace 0,...,(N+L-1) \rbrace\), \(m \in \lbrace 0,...N-1 \rbrace\), el cubo espectral \(\mathbf{F}\) tiene tamaño \(N \times N \times L\), \((n-k)\) está definido entre \(1 \leq (n-k) \leq N\), \(T_{n,m}\) es la \((n,m)^{esimo}\) valor en el modulador especial y \(\omega\) representa el ruido del sistema.

Sistema CASSI con apertura codificada binaria, donde d y d' son las distancias al plano imagen.

Sistema CASSI con apertura codificada binaria, donde \(d\) y \(d'\) son las distancias al plano imagen.

\label{fig:CASSI_3D_binary}

MODELO DISCRETO DEL CASSI CON APERTURAS CODIFICADAS EN ESCALA DE GRISES.

En esta investigación se reemplazaron las tradicionales aperturas codificadas binarias mostradas en la figura \ref{fig:Binary} por aperturas codificas en escala de grises, como las mostradas en la figura \ref{fig:Grayscale}, las cuales modulan la luz a lo largo de las coordenadas espaciales. Esta modificación en la arquitectura CASSI se realiza no solo para mejorar la calidad de la reconstrucción, sino también para combinar el nivel de detalle de modulación espacial de la luz, con la capacidad de identificar en el sensor las medidas saturadas y así reducir el número de pixeles saturados en la siguiente captación. La codificación del sistema la realiza la apertura codificada en escala de grises representada por \(\hat{T}(n,m)\) la cual codifica la fuente espacio-espectral \(f_{0}(x,y,\lambda)\), resultando el campo codificado \(f_{1}(x,y,\lambda)\). Este campo codificado difiere del que se obtiene utilizando la apertura codificada binaria, en que la apertura codificada en escala de grises atenúa las longitudes de onda, en lugar de bloquear o dejar pasar completamente el espectro en una posición espacial específica \((n,m)\). Las entradas de la apertura codificada en escala de grises pueden representarse como \(\hat{T}(n,m)\), las cuales varían en el rango de \(\lbrace 0,...,l-1 \rbrace\), siendo \(l\) el número de niveles de grises del modulador espacial. De esta forma la ecuación \ref{eq:4} puede ser reescrita como, \[G_{n,m} = \sum^{L-1}_{k=0} F_{(n-k),m,k}{\hat{T}_{(n-k),m}} + \omega_{n,m}. \label{eq:5}\]

0.4 Apertura codificada binaria aleatoria con dos niveles únicos de transmitancia 0 (negro) y 1 (blanco). Apertura codificada aleatoria en escala de grises con valores de intensidad de gris en el intervalo [0, 1].

\label{fig:Binary}

0.4 Apertura codificada binaria aleatoria con dos niveles únicos de transmitancia 0 (negro) y 1 (blanco). Apertura codificada aleatoria en escala de grises con valores de intensidad de gris en el intervalo [0, 1].

\label{fig:Grayscale}

\label{fig:Apertures}

La figura \ref{cassigray1} muestra el esquema de la arquitectura CASSI usando aperturas codificadas en escala de grises

Sistema CASSI con apertura codificada en escala de grises, d y d' corresponde a las distancias al plano imagen

Sistema CASSI con apertura codificada en escala de grises, \(d\) y \(d'\) corresponde a las distancias al plano imagen

\label{cassigray1}

ESTIMACIÓN ADAPTATIVA DE APERTURAS CODIFICADAS EN ESCALA DE GRISES

Con el fin de reducir la saturación en el sensor a partir de las medidas comprimidas, se diseñó un filtro adaptativo. Dicho filtro penaliza adaptativamente las entradas del código de apertura, de tal manera que la imagen de entrada es atenuada antes de ser integrada por el detector, (ver figura \ref{fig:CASSI_grayscale_adaptive}). En consecuencia, estos códigos de apertura no mostrarán valores binarios. Formalmente, sea \(\mathbf{V}^{i}\) una matriz de pesos cuyas entradas \(V^{i}_{n,m}\) miden cuantas veces una entrada del código de apertura afecta un píxel saturado en el sensor. En particular las entradas de \(\mathbf{V}^{i}\) pueden ser escritas como:

\[V_{n,m}^{i} = \sum_{\ell=n-(L-1)}^{n} u[G_{\ell, m}^{i} - s] + 1, \label{eq:6}\]

Arquitectura CASSI con un sistema adaptativo que actualiza las apertura codificada en escala de grises entre captaciones, d y d' son las distancias al plano imagen.

Arquitectura CASSI con un sistema adaptativo que actualiza las apertura codificada en escala de grises entre captaciones, \(d\) y \(d'\) son las distancias al plano imagen.

\label{fig:CASSI_grayscale_adaptive}

donde \(u[.]\) es la función escalón unitario, \(G_{\ell, m}^{i}\) es el \((\ell, m)^{esimo}\) píxel de la \(i^{esima}\) medidas captada, \(s=2^{b}-1\) representa el nivel de saturación del sensor, el cual depende del número de bits \((b)\) del sensor. El valor \(+ 1\) es agregado en la ecuación \ref{eq:6}, para denotar que dicho píxel no contribuyó a saturación en el sensor cuando \(u[G_{\ell, m}^{i} - s] = 0\). De esta manera \(V_{n,m}^{i} = 1\) atenúa únicamente, las entradas del código de apertura que contribuyen a la saturación en el sensor. Note que la ecuación \ref{eq:6} puede ser fácilmente calculada en un computador en tiempo real debido a que \(V_{n,m}^{i}\) es un contador calculado en tiempo real a partir de las medidas comprimidas \(\mathbf{G}\) con \(V_{n,m}^{i} \in \lbrace 1,..,\ell +1 \rbrace\). Basado en la matriz de pesos, una función de penalización heuristica se genera asumiendo que la atenuación en el píxel del modulador espacial es inversamente proporcional a la matriz de pesos \(\mathbf{V}\). Esta función puede ser vista como una matriz de atenuación \(\mathbf{W}\) cuyas entradas \(W_{n,m}^{i}\) están dadas por,

\[\label{eq:7} {W_{n,m}^{i}}= \left(\dfrac{1}{V_{n,m}^{i}}\right) \cdot \left(\dfrac{1}{V_{n,m}^{i-1}}\right),\]

donde \(\mathbf{V}^{0}\) y \(\mathbf{V}^{1}\) se asumen como matrices con todas sus posiciones en uno. Note que la matriz de atenuación \(\mathbf{W}^{i}\) toma en cuenta las matrices de pesos anteriores como medida de memoria en el filtro adaptativo para considerar la información a partir de adquisiciones anteriores. Dadas \(K\) aperturas codificadas generadas aleatoreamente \(\mathbf{T}^{1}, \ldots, \mathbf{T}^{K}\), las aperturas codificadas en escala de grises \(\mathbf{\hat{T}}^{1}, \ldots, \mathbf{\hat{T}}^K\) son generadas de acuerdo a,

\[\label{eq:8} \mathbf{\hat{T}}^{i+1} = \mathbf{T}^{i+1} \circ {\mathbf{W}}^{i},\]

donde \(\mathbf{A}\) \(\circ\) \(\mathbf{B}\) es el producto Hadamard entre matrices \(\mathbf{A}\) y \(\mathbf{B}\). Note que \(\mathbf{\hat{T}}^1 = \mathbf{T}^{1}\), la primera apertura codificada en escala de grises permanece como la original, debido a que el filtro adaptativo necesita realimentación para calcular la nueva apertura codificada en escala de grises, es decir, la realimentación ocurre después de la primera captación.

PROCESO DE RECONSTRUCCIÓN

La teoría del muestreo compresivo puede ser usada para recuperar una señal espacio espectral \(\mathbf{F} \in \mathbb{R}^{N \times N \times L}\) o su representación como vector \( \mathit{\mathbf{f}} \in \mathbb{R}^{N \cdot N \cdot L}\). Sea \(\boldsymbol{\theta}\) una representación \(S-escasa\) de \(\mathit{\mathbf{f}}\) en alguna base \(\boldsymbol{\Psi}\) tal que \(\mathit{\mathbf{f}} = \boldsymbol{\Psi} \boldsymbol{\theta}\) puede ser aproximada por una combinación lineal de \(S\) vectores de \(\boldsymbol{\Psi}\), siendo \(S \ll (N \cdot N \cdot L)\). De esta manera, \(\mathit{\mathbf{f}}\) puede ser reconstruida a partir de \(d\) proyecciones aleatorias con alta probabilidad cuando \(d \gtrsim S \log(N \cdot N \cdot L) \ll (N \cdot N \cdot L)\). En CASSI, las medidas proyectadas pueden ser representadas de forma matricial como \(\mathbf{y} = \mathbf{H} \mathit{\mathbf{f}}\), donde \(\mathbf{H}\) es la matriz de muestreo compresivo, de tamaño \(N(N+L-1) \times (N \cdot N \cdot L)\), cuya estructura está determinada por los códigos de apertura y el elemento dispersivo. Similarmente, cuando múltiples captaciones son realizadas con el sistema CASSI, estas se pueden representar como \(\mathbf{y}^{\ell}=\mathbf{H}^{\ell}\mathit{\mathbf{f}}\), donde \(\mathbf{H}^{\ell}\) representa el efecto de la \(\ell^{ésimo}\) apertura codificada en escala de grises[23], [24]. Si \(\mathit{K}\) captaciones son realizas, entonces el conjunto de medidas compresivas utilizando \(\mathit{K}\) códigos de apertura distintos es ensamblado como \(\mathbf{y}=[(\mathbf{y}^{0})^{\mathit{T}},...,(\mathbf{y}^{K-1})^{\mathit{T}}]^{\mathit{T}}\). Utilizando la teoría de muestreo compresivo, las múltiples proyecciones del CASSI pueden ser representadas alternativamente como \(\mathbf{y}=\mathbf{H}\boldsymbol{\Psi}\boldsymbol{\theta}\), tal que la matriz \(\mathbf{A} = \mathbf{H}\boldsymbol{\Psi}\) es la matriz de muestreo compresivo.

El cubo de datos reconstruido puede ser obtenido resolviendo el problema de minimización de la ecuación (\ref{eq:88})

\[\label{eq:88} \mathit{\mathbf{f}} = \mathbf{\Psi}(\text{arg}\min\limits_{\theta} |\mathbf{y}-\mathbf{H} \mathbf{\Psi} \mathbf{\theta}|_{2}+ | \mathbf{\theta} |_{1}),\]

donde \(\mathbf{H} = [(\mathbf{H}^{0})^{T},...,(\mathbf{H}^{K-1})^{T}]^{T}\),\(\boldsymbol{\theta}\) es la representación S-escasa de \(\mathit{\mathbf{f}}\) sobre la base de representación \(\boldsymbol\Psi\) y \(\tau\) es una constante de regularización. Las reconstrucciones son realizadas utilizando la teoría muestreo compresivo, empleando el algoritmo de reconstrucción GPSR (del inglés, Gradient Projection for Sparse Reconstruction) \cite{Figueiredo07gradientprojection}. La base de representación \(\boldsymbol{\Psi}\) es normalmente asumida como el producto Kronecker de dos bases \(\boldsymbol{\Psi} = \boldsymbol{\Psi}_{1}\otimes\boldsymbol{\Psi}_{2}\), donde \(\boldsymbol{\Psi}_{1}\) es la transformada Wavelet 2D Symmlet 8, la cual es usada para realizar compresión espacial, y \(\boldsymbol{\Psi}_{2}\) es la transformada discreta de coseno (DCT), la cual es usada para realizar compresión espectral.