6 votos

Bases en comprimidos de detección (reconstrucción de la señal)

He estado posteando este tipo de pregunta en cruz validado, pero puesto que éste ocupa casi en su totalidad con las matemáticas, voy a publicar aquí.

En la reconstrucción de la señal utilizando detección comprimido, queremos una señal $f$ de la muestra para obtener un menor % de señal (comprimido) $b$:

$$b = \phi f$$

However, $f$ can also be expressed by a linear combination of basis functions $\Psi$ and its coefficients $c$:

$$f = \Psi c$$

So the first equation and second equation together produce:

$$b = \phi \Psi c$$

Furthermore, we also want to promote the sparsity of $c$. This is done by solving the following optimization problem:

$$\text{min } ||c||_{l_{1}} \text{ subject to } b = \phi \Psi c$$

where $||c|| _{l_{1}}$ is the $l_{1}$-norm.

I think I understand this part but I'd like to know more about the bases $\Psi$. How are they chosen? How are they implemented in an algorithm? Right now I'm trying to understand a couple of examples that use the following $\Psi$ and $\Phi$:

1.

D=dct(eye(n,n)); % \Psi
A=D(perm,:); % \Phi \Psi

where dct is the discrete cosine transform, n is the dimension of the original signal and perm are the first numbers of a list of randomly generated numbers:

r1 = permutation(arange(1, n))
perm = r1[0:m]

2.

Atest = zeros((nx, ny)).reshape(1, nx*ny)
Adelta = zeros((k, nx*ny))
for i, j in enumerate(r1k):
    Atest[0,j] = 1
    Adelta[i, :] = dct(Atest)
    Atest[0, j] = 0

here nx and ny are the dimensions of the original signal, r1k is also permutation (similar to perm). Adelta is produced by choosing a point in a matrix Atest, transform it using dct and adding the result as a row in matrix Atest.

In these pieces of code, I know A and Adelta represent $\Phi \Psi$ but I don't really understand why. I'd appreciate a few comments about this.

By the way, if you want to take a look at the full example, here is one using MATLAB and this one in Python. This example is also related to my other question in Cross Validated, so if you want to contribute to that also, you are more than welcome, although it deals with an implementation issue which may not be interesting enough.

UPDATE:

An additional question: How should we deal with the actual reconstruction. According to the second equations $f = \Psi c$, once we know $c$, an approximation of $f$ is found simply by calculating $\Psi c $. However, what I see in practice is actually the direct application of a DCT to the coefficients $c$. ¿Por qué?

Gracias

2voto

Navid Puntos 21

No voy a entrar en los detalles de su código (que no es tan legible como debe ser), yo más bien dar una descripción abstracta: $\phi$ es la matriz que representa la forma en que se muestra la señal de $f$. Por ejemplo, si usted está haciendo submuestreo, es decir, que sólo muestra un subconjunto de las entradas de $f$, $\phi$ es la matriz identidad con filas eliminadas. Por otro lado $\Psi$ representa la base de que usted elija para expandir su señal de $f$. Por ejemplo, si usted sabe que $f$ es una serie de tiempo que contiene sólo un par de frecuencias, entonces usted puede tomar $\Psi$ a ser Discreta de Fourier (o discreta del coseno) de la matriz y, a continuación, intenta resolver por $c$. Tenga en cuenta que $c$ será escasa, con un valor distinto de cero las entradas asociadas a las distintas frecuencias.

0voto

user33383 Puntos 11

Para tomar el caso 1, usted sabe que $A=\Phi\Psi$. La DCT de la matriz, $D$$\Psi$. El valor de $\Phi$ está implícita en la selección aleatoria de filas en la línea A = D(perm,:);. Esto es equivalente a multiplicar D por fila-matriz de selección: A = P * D. Para dar un ejemplo concreto, decir que D es una matriz de 5x5 y quieres hacer la 2x5 matriz A que se compone de las filas 4 y 2 D. Entonces

$$ P= \left[ \begin{array}{ccccc} 0 & 0 & 0 & 1 & 0\\ 0 & 1 & 0 & 0 & 0\\ \end{array} \right] $$

Los siguientes son buen material de fondo sobre los aspectos teóricos del problema:

La incertidumbre de los Principios y de la Señal de la Recuperación

De manera óptima Escasa Representación en General Nonorthogonal Diccionarios

Dispersión e Incoherencia en la Compresión de Muestreo

La descodificación por parte de Programación Lineal

La incertidumbre de los Principios e Ideales de Descomposición Atómica

0voto

RobC Puntos 1

Te dicen "pero me gustaría saber más acerca de las bases de $\Psi$. ¿Cómo son escogidos? ¿Cómo se implementa un algoritmo? "

$\Psi$ es elegido de manera que $c$ es escasa. Si $\Psi$ es igual a la identidad, entonces la señal es escasa en la base canónica.

Imaginemos que la señal es escasa en la base canónica (aka $\Psi =\mathbf{I}$), entonces la diferencia entre un simple problema de muestreo y a la compresión de detección de un problema es la diferencia entre el $\Phi$ la identidad y una aceptable a la compresión de detección de medición de la matriz.

¿Cómo es implementado en el algoritmo? $\Psi$ es una matriz compuesta de columnas de la versión discretizada de cada una de las funciones de la base o simplemente una subrutina.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X